タグ

ブックマーク / amachang.hatenablog.com (20)

  • dtrace を使ったシステムコールのトレース - IT戦記

    dtrace とは Mac OS X Leopard から導入された、プログラムを書き換えることなくプログラムの情報を監視(トレース)できる便利ツールです。 使い方 たとえば、 vim という名前のプロセスからシステムコール stat, open, stat64 されたときに第一引数(ファイル名)を監視するには以下のようにします。 $ sudo dtrace -n "syscall::open:entry, syscall::stat:entry, syscall::stat64:entry / execname == \"vim\" / { trace(copyinstr(arg0)) } " 説明 まず、 -n というのは「probe」の「name」を指定して dtrace する!という意味です。 $ sudo dtrace [-n [[[ provider: ] module: ]

    dtrace を使ったシステムコールのトレース - IT戦記
  • getComputedStyle について調べてたら深みにハマったのでメモ - IT戦記

    getComputedStyle とは!? ある要素にどんなスタイルが当たっているかを計算してくれる。便利な関数。 使いかたはめっちゃ簡単! var style = getComputedStyle(element, ''); alert(style.fontSize); // 14px alert(style.color); // rgb(0, 0, 0) ちなみに第二引数は疑似要素の style を取りたい場合に使います。通常は空文字列でいい。 でも、 getComputedStyle はこのままでは IE, Safari では動かない。 Safari では window(グローバル領域) に getComputedStyle は定義されてなくて、 document.defaultView だけに getComputedStyle が定義されている。 ちなみに、 Firefox, Op

    getComputedStyle について調べてたら深みにハマったのでメモ - IT戦記
  • フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記

    みなさん、こんにちは お元気ですか?僕は元気です。 さて 最近よく、「いいね!」ボタンや「ミクシィチェック」ボタンによって、ウェブページを紹介し合う文化が少しずつ定着してきたなーと思います。 そんな中で、今後重要になってくるんじゃないかと思われる OGP (Open Graph Protocol)と言われる仕様があります。今日はそのことについて書いてみたいと思います。 OGP? おーじーぴー??とはなんでしょうか。 OGP とは 簡単に言うと「このウェブページは何のことを書いているか」という情報を、プログラムから読める形で HTML に付加する記述方法のことです。 まあ、普通のウェブページは人間が読めばだいたい何のことが書いてあるか分かりますよね。 ですが、プログラムは人間ほど頭が良くないので、そのウェブページ内の文章だけではそのページが何のことについて書かれているページなのか正確に識別す

    フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記
  • for 文と無名関数のイディオム - IT戦記

    id:cho45 がチョロっと書いたコードが話題になっている 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech このような書き方は、自分もたまにする。 というわけで、この書き方をする利点を以下の順に解説して見る。 単純な for 文の問題点 with 文を使った解決方法と、その微妙な問題点 無名関数を使った解決方法 単純な for 文の問題点 まずは、以下の HTML に対して <ul> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ul> 以下の JavaScript を実行して var list = document.querySelectorAll('ul > li'); for (var i = 0, len = list.length; i < len; i++) { var node = list[i]; v

    for 文と無名関数のイディオム - IT戦記
  • Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記

    はじめに みなさま、こんにちは!年末の忙しい時期ですが、お元気ですか? 僕はなんとか元気です>< 使っていた PC を壊してしまったので Windows7 搭載マシンを買ってきましたので、購入から初期設定、便利なアプリのインストールまでここにメモしておきたいと思います! 購入まで と言うことでまず購入までにやったことをまとめてみたいと思います 価格.com で調べる まずは、価格.comを使って、以下の条件で良さそうなパソコンを探してみます。 8 万円以下の価格 それなりのグラフィックボード(最近 Minecraft っていうゲームをやってるので) それなりのメモリ(メモリ安いので) それなりの CPU USB 3.0 (データ移行のときにハードディスクを USB 3.0 でつなぎたいので) ディスクアクセス速度は、ある程度遅くても良い(RAM ディスクで頑張る戦略) 買うパソコンを決める

    Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記
  • ブラウザでお絵描きプログラミング! Processing.js 登場! - IT戦記

    はじめに 今日、 jQuery の作者として有名な John Resig さんが Processing.js という JavaScript のライブラリを公開しました。 John Resig - Processing.js このライブラリを使うと、比較的簡単に以下のようなグラフィックスやアニメーションを書くことができるようになります。 というわけで、公開されたばかりのこのライブラリを簡単な使い方から詳しい使い方までとことん掘り下げてみたいと思います。 Processing.js 概要 まず、 Processing.js とは何かという話をします。 Processing.js とは、ブラウザで Processing というプログラミング言語を実行する JavaScript のライブラリです。 では、 Processing とはどのようなプログラミング言語なのでしょうか。 Processing

    ブラウザでお絵描きプログラミング! Processing.js 登場! - IT戦記
  • JavaScript の配列と連想配列の違い - IT戦記

    id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h

    JavaScript の配列と連想配列の違い - IT戦記
  • アイデアひとつで何かを実現するサイト! READYFOR? をリリースしました!

    READYFOR? というサイトをリリースしました! みなさん、お久しぶりです!元気ですか?僕は元気です>< 最近、 READYFOR? という日初のクラウドファンディングサービスをリリースしました! ですので、今日はそのサービスの紹介と、新しい資金集めの形である「クラウドファンディング」というものを紹介したいと思います! クラウドファンディングって何? クラウドファンディングとは、簡単にいうと ウェブ版、「マネーの虎」 のような仕組みです! つまり、何か「やりたいこと」がある人(実行者)がそのアイデアを披露して、それに賛同した人(支援者)に必要なお金を支援して貰うという仕組み、それをウェブや SNS と連携してやっちゃおうじゃないか!というのがクラウドファンディングサービスです。 クラウドファンディングを使うと、誰でも「こういうモノを作りたい!」というアイデアさえあれば、それを世の中に

    アイデアひとつで何かを実現するサイト! READYFOR? をリリースしました!
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
  • (function(){})() と function(){}() - IT戦記

    自分用メモ // JavaScript でクロージャを書くときこう書く事が多い (function() {})() // 何故なら // function() {}() // と書くと // function() {} が式ではなく、文として解釈されてしまうからだ。 // 文として解釈されないためには、文の途中(最初以外)に function と書いてやる必要がある // なので、まず開きカッコを書いてやる。 ( // の後に function() {} // と書いてやると function は式になる ) // 正確には、カッコの対は The Grouping Operator という演算子である。 // カッコ以外にも var a = // のように代入演算子のあとでもいい function() {} // つまり、以下のような記述も可能である。 var b = function()

    (function(){})() と function(){}() - IT戦記
  • 親友へ。ブログを書こう。 - IT戦記

    はじめに ガイアックスに入社する前からの数少ない親友でプログラマの y が人生の岐路に立っているようなので、エントリーを書いてみることにした。 y とは mixi の足跡がきっかけで知り合って、もうすぐ丸二年の付き合いになる。人生の 10 % の時間をインターネットでつながっていたということになる。 あのときから見たら、自分も y も随分変わったんだろうなあ。普段は考えたりしないけど、しみじみとあのときのことを思い出してみた。 そして、 y にももっと web で色んなものを公開して欲しいなと思った。どんなささいなことでもいい。完成度なんてなくていい。二次情報でもいい。技術のことでなくてもいい。 y へ。そして、ブログを書いたことがないすべての人へ。 ブログを書こう 誤解のないように言っておきますが、書くべき!という感じではなく、イイヨーイイヨー書いたほうがイイヨー的な意味です。 ブログを

    親友へ。ブログを書こう。 - IT戦記
  • IT アンカンファレンスをやってみたい! - IT戦記

    アンカンファレンスをやろう! みなさんは、アンカンファレンスというイベントのスタイルをご存知でしょうか。 先月、 id:AKIMOTO と「北陸で IT 系のイベントをやりたいね。」という話になり、「それなら、アンカンファレンスがいいよ」という話になりました。 アンカンファレンス?アンカンファレンスってなんでしょうか。 僕も知らなかったのですが、調べてみたところ、とっても面白そうでした。 なので、是非北陸で「IT 系でアンカンファレンス的なイベント」をやってみようということになったのです。 ↑突然、語りだす id:AKIMOTO のイメージ写真 じゃあ、アンカンファレンスって実際どんな感じのイベントになるの? では、シミュレーションもかねてイベントにいったつもりで書いてみます。 実際にイベントに行ったつもりで読んでくださいね>< レッツ、シミュレーション!! 会場に到着 まず、会場に到着す

    IT アンカンファレンスをやってみたい! - IT戦記
  • 配列を結合したり、配列を初期化したり - IT戦記

    既出かもー 配列の結合 var array1 = [1, 2, 3]; var array2 = [4, 5, 6]; [].push.apply(array1, array2); alert(array1); // [1, 2, 3, 4, 5, 6] 3文目で空配列を使ってるのは書くのが短いからってだけ。 配列の初期化 function hoge() { var args = []; [].push.apply(args, arguments); alert(args); }; hoge(1, 2, 3); // [1, 2, 3]

    配列を結合したり、配列を初期化したり - IT戦記
  • 実名も捨てたもんじゃない - IT戦記

    実名匿名論争が話題ですね 勝間和代のクロストーク - 毎日新聞 ネットで実名を出せない理由:Geekなぺーじ 実名推進派は人の気持ちがわからない人が多い。 : ひろゆき@オープンSNS 404 Blog Not Found:匿名発言者は、自分の気持ちがわからない人が多い 匿名推進派は誰が自分を守ってるのかわかってない人が多い - 狐の王国 で たぶん、実名か匿名かってのはネットの利用の仕方とリアルでの人のつながりに大きく依存するんと思います。 実際は、多くの人はネットでは匿名でいたほうが得だと思います。 でも、 僕は今まで実名を公開していて良かったと思うことってけっこうありましたよ! たとえば、 出身校の先生が「あいつ、最近がんばってるみたいね」と噂しているのを間接的に聞いた 出身校の修学旅行にゲストとして呼ばれた 名刺交換したとき*1に自分の名前を知っている人がいて、話が弾んだ リアルで

    実名も捨てたもんじゃない - IT戦記
  • お手軽 Deferred を作ってみた - IT戦記

    昨日 id:cho45 たちと飲んで deferred のメリットを教えてもらいました>< で、僕も色々考えて自家製を作ってみました。 自家製 deferred 用関数 var defer = function(f) { var fs = []; if (f) fs.push(f); var deferred = function(f) { if (f) fs.push(f); setTimeout(function() { while (fs.length) { var f = fs.shift()(); if (f && f.isdeferred) { setTimeout(arguments.callee, 0); break; } } }, 0); return function(f) { if (f) fs.push(f); return arguments.callee; }

    お手軽 Deferred を作ってみた - IT戦記
    kadoppe
    kadoppe 2008/08/05
    defferedというプログラミングテクニックをjavascriptで
  • わーい \(^o^)/ JS で書ける IRC ボットライブラリできたよー - IT戦記

    どうしても IRC ボットを JavaScript で作りたくて Rhino を勉強したよ!>< で できたよー\(^o^)/ ダウンロード (CodeRepos だよ) http://svn.coderepos.org/share/lang/java/jsbot/org/coderepos/botchang/Botchang.java 使い方 まずここから js.jar (Rhino) を拾ってくる -> http://www.mozilla-japan.org/rhino/download.html 次に pircbot.jar (PircBot) を拾ってくる -> PircBot - Java IRC Bot Framework (Java IRC API for Bots) 次に これ を org/coderepos/botchang/ ってディレクトリに入れて javac でコ

    わーい \(^o^)/ JS で書ける IRC ボットライブラリできたよー - IT戦記
    kadoppe
    kadoppe 2008/08/05
    JavaScriptでIRCボットプログラムを作成するためのライブラリ
  • proctools が MacPorts でインストールできるようになってた - IT戦記

    proctools を入れると $ pkill firefoxのように、 プロセス名で kill できるようになって便利です。 MacPorts でインストール出来るようになってたので $ sudo port install proctoolsとやるだけで、使えるようになります。 でも、その前に sync をやらないと、ダメかもしれません。 $ sudo port syncMacPorts++ proctools++ SeeAlso MacPorts http://www.macports.org/ proctools http://sourceforge.net/projects/proctools

    proctools が MacPorts でインストールできるようになってた - IT戦記
    kadoppe
    kadoppe 2008/08/04
    プロセス名でkillができるようになるツール。MacPortsでインストール可能
  • おめでとー - IT戦記

    おめでとーo(^ヮ^)o

    おめでとー - IT戦記
    kadoppe
    kadoppe 2008/08/04
    うちの研究室チームが優勝!おめでとー!
  • gihyo.jp で Imagine Cup の連載が始まりました - IT戦記

    Imagine Cup を全部見に行ってくる! という企画を今やっていて、そこで見てきたものを gihyo.jp のほうに乗せていきます^^ 世界の学生のレベルを見て圧倒されてこようと思っています! 今は二つの記事が上がっています。 #1 世界の学生が集うITコンテストImagine Cup:IT戦士 amachangの 突撃!!Imagine Cup 2008|gihyo.jp … 技術評論社 #2 激戦!Imagine Cup 2008 日大会 in 名古屋:IT戦士 amachangの 突撃!!Imagine Cup 2008|gihyo.jp … 技術評論社 もし、良かったら読んでみてください!

    gihyo.jp で Imagine Cup の連載が始まりました - IT戦記
    kadoppe
    kadoppe 2008/08/04
    Imagine Cup 2008
  • 1