タグ

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

  • 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戦記
    satoship
    satoship 2012/08/17
  • Mac の launchctl ってなんだ? - IT戦記

    man lauchctl launchctl interfaces with launchd to load, unload daemons/agents and gen-erally generally erally control launchd. launchctl supports taking subcommands on the command line, interactively or even redirected from standard input. These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf to be read at the time launchd starts. API Reference: Mac OS X Manual Pages 頑張って訳す ikno

    Mac の launchctl ってなんだ? - IT戦記
    satoship
    satoship 2011/09/26
  • クックパッドに行ってきた! - IT戦記

    料理男子は好きですか? はじめに どうも、こんにちはあまちゃんです。 かわいい系男子の id:mirakui さんと id:secondlife さんに会いにクックパッドに行ってきました! とっても楽しかったので、ブログを書いておこうと思います。 まずは入り口 てくてく クックパッドに付いたよー! いい質感。かべかわいいよかべ! 入り口を進むと… じゃーん、これがクックパッドのキッチンやで! や、やるじゃねえか!べ、べつにくやしくなんてないんだからね! なんか、メオトカップとかあったりするのかなーなんてニヤニヤしていると… id:mirakui と id:secondlife が料理をしだした! しかし、このふたり絵になるなあ。萌え。 あ、クックパッドエプロンいいな!いいな!欲しいな!それ欲しいな!(くれないそうです) そして、完成! 手料理だー! わー!わー!すごい! しかもうまい! (

    クックパッドに行ってきた! - IT戦記
  • サイボウズで学んだこと - IT戦記

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

    サイボウズで学んだこと - IT戦記
  • Macbook (with Snow Leopard) 買った後にやったことまとめ - IT戦記

    購入編 会社にて amachang「秋だけに akky ですね。Macbook が欲しくなってきました」 akky(苦笑) amachang「新しい Macbook が欲しくなってきました」 akky(苦笑) amachang「買って来まーす」 akky(苦笑) Apple Store 銀座にて amachang「Macbook Pro の 13 inch のやつください」 店員「はい。 2 種類ありますが」 amachang「高いほうのやつください」 店員「キーボードは JIS と US どちらにいたすますか」 amachang「US ください」 店員「こちらでよろしいですか?」 amachang「JIS よりキー少ないのですね」 店員「はい。英数キー、かなキーなどがありません」 amachang「えっ」 店員「えっ」 amachang「JIS ください」 店員「かしこまりました」 am

    Macbook (with Snow Leopard) 買った後にやったことまとめ - IT戦記
    satoship
    satoship 2010/07/14
  • 動的スクリプトローディング(さんざん既出だと思うけど - IT戦記

    なんか、既出な予感もするんですけど 私製版を作ったので コード var load = function(src, check, next) { check = new Function('return !!(' + check + ')'); if (!check()) { var script = document.createElement('script') script.src = src; document.body.appendChild(script); setTimeout(function() { if (!check()) setTimeout(arguments.callee, 100); else next(); }, 100); } else next(); }; 考え方は、 このエントリ と同じです。 使い方 以下の場合 // 処理 1 // ← ここで jQu

    動的スクリプトローディング(さんざん既出だと思うけど - IT戦記
  • MediaQuery まとめ - IT戦記

    Media Query とは CSS3 から導入される Media Type を大幅に拡張する仕様です。 そもそも Media Type とは Media Type とは CSS 2 系に元々ある仕様で CSS を適用するメディア(パソコンの画面、テレビ、プリンタ用紙など)を指定するときに使います。 以下の例だと、 media 属性の中に記述されている all や screen や print が Media Type です。 <link rel="stylesheet" type="text/css" href="共通の.css" media="all" /> <link rel="stylesheet" type="text/css" href="パソコンの画面の.css" media="screen" /> <link rel="stylesheet" type="text/css"

    MediaQuery まとめ - IT戦記
    satoship
    satoship 2009/11/23
  • Firefox 拡張機能 keyconfig でプレゼン上手に! - IT戦記

    プレゼンのときに ブラウザの操作が全部テンキーで出来たらいいな。と思ったんです。 そんなときは・・・・・・。 keyconfig が便利すぎる! http://extensionroom.mozdev.org/more-info/keyconfig 設定方法は [ツール] [キーボードショートカットのカスタマイズ] [新しいキーを追加] ショートカット名と JavaScript のコードを書く たとえば タブ移動を数字キー 1-9 に以下のスクリプトを割り当てる gBrowser.mTabContainer.selectedIndex = +event.target.getAttribute('key') - 1; ブックマークレットを呼び出す ここで紹介されています。 http://www.goodpic.com/mt/archives2/2006/12/firefoxwebbookm.

    Firefox 拡張機能 keyconfig でプレゼン上手に! - IT戦記
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
  • インターネットで手に入れられても良さそうなのに手に入らない情報まとめ - IT戦記

    以下の質問の反応をまとめてみます。 役に立ちそうな情報で、インターネットで手に入れられても良さそ… - 人力検索はてな 質問の回答、はてブ、トラックバック、ダイアリーのほうについたはてブ、コメント、などを集計しています。 まとめ ニュースのその後 (id:jane) 雑誌の記事検索 (id:natumi0128) 「SPA!」「読売ウイークリー」「AERA」は出来る → http://news.nifty.com/cs/entame/showbizddetail/fuji-320080417006/1.htm (id:muddydixon) タバコの製品情報(電話でのユーザ登録が必要なため困難。不可能ではない)→ https://www.jtad.jp/members/login/ (id:n-styles) 新聞折込チラシ (id:n-styles) スーパーの特売情報 (id:n-st

    インターネットで手に入れられても良さそうなのに手に入らない情報まとめ - IT戦記
  • MacBook 買った後にやったことまとめ - IT戦記

    ここに少しずつ追記していきます。 購入 Apple Store 渋谷店で amachang「一番安い MacBook ください」 店員「はい、こちらの 129,800 円のでございますね」 amachang「メモリ 2GB に増設してください」 店員「はい、141,000円くらいになります」 amachang「VMWare Fusion もください」 店員「はい、いま Mac を買うとキャンペーンで安くなりますので、 8,900 円になります」 amachang「わー!やった!」 amachang「ゲスト OS として Windows XP を入れたいんですけど、売ってたりします?」 店員「売ってませんねー」 amachang「わかりましたー」 店員「では、お会計しますー」 : 店員「では、メモリお取り付けしますので、 40 分ほどお待ちください」 amachang「付けてくれるんですね」

    MacBook 買った後にやったことまとめ - IT戦記
  • local と my - IT戦記

    すっきりした>< - 宇宙行きたい このエントリの our 名前をスコープに限定. local 値をスコープに限定. my 名前と値の両方をスコープに限定 は、ものすごく分かりやすいし正しいと思うんですけど、たぶん昔の僕だったら理解出来なかったかもしれません>< our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 今でも local 宣言のあるスコープ内で関数呼出しがあると混乱するの僕なのです>< 追記 弾さんが反応してるので、追記 404 Blog Not Found:perl - myとourとscopeと えっと 僕の「ソース上のスコープ」という言葉が良くなかったです><ごめんなさい そういう意味で言ったわけではなくて、「ソース上の(なんらかの記述の位置で決まる範囲の

    local と my - IT戦記
  • JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記

    JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath

    JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記
  • Firebug に一行追記して右クリックで XPath をコピペ出来るようにする。 - IT戦記

    この XPath 使いたい>< って思うことよくありませんか? サイト見てて、あ、このボタンにグリモンであんな機能やこんな機能付けたい><!って思うこととかありますよね! そんなときに、いちいち要素の位置とか考えずに右クリックで XPath をコピペできたら嬉しいですよね>< ってことで 作ってみた イメージはこんな感じです。 これをクリックすると、右クリックされた要素の XPath がクリップボードにコピーされます。 この機能を Firebug に実装する手順 1. Firefox のプロファイルディレクトリに行く 環境 プロファイルディレクトリ WinVista C:\Users\[ユーザ名]\AppData\Roaming\Mozilla\Firefox\Profiles\[ランダムな文字].default\ WinXP C:\Documents and Settings\[ユーザ名

    Firebug に一行追記して右クリックで XPath をコピペ出来るようにする。 - IT戦記
    satoship
    satoship 2007/12/20
    すげえ
  • お手軽 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戦記
  • 話したい人のためのカンファレンス(または、 1000 人スピーカプロジェクト)と継続的な小規模カンファレンス - IT戦記

    「話したい人のためのカンファレンス」について 昨日、なんかボーっと自分の今までのことを考えて、突発的にこんなイベントを企画していました。 詳しい経緯についてはnishio さんが詳しく書いてますので興味があるかたはどうぞ。 という訳で、このカンファレンスを企画した。自分の考えをつらつらと書いてみます。 昔の自分がラッキーだったこと このプレゼンで話したことは、当に誰にでも出来ることだと思っていましたが、よくよく考えると僕が人と比べてラッキーだったことが一つだけあることに気が付きました。 それは、いいタイミングで「公園(講演)デビュー」する機会があったことです。 Shibuya.JS Technical Talk #1 の僕の「JavaScript の高速化」がそうであったように、前回の Shibuya.pm での yusukebe さんの「リビドー駆動開発」がそうであったように、 nis

    話したい人のためのカンファレンス(または、 1000 人スピーカプロジェクト)と継続的な小規模カンファレンス - IT戦記
    satoship
    satoship 2007/12/20
    「公園(講演)デビュー」
  • trac の css を書き換えるときに最初にやること - IT戦記

    まず、すべてのページが対応する CSS を読み込むように設定 $ vim /path/to/project/templates/site_css.cs<?cs each:rel = chrome.links ?> <?cs each:link = rel ?> <?cs if:link.type == "text/css" ?> @import url(<?cs var:chrome.href ?>/site<?cs var:string.slice(link.href, string.length(chrome.href) + string.length('/common'), string.length(link.href)) ?>); <?cs /if ?> <?cs /each ?> <?cs /each ?> 次に、全体に適用されている CSS を自分のプロジェクト用にも持ってく

    trac の css を書き換えるときに最初にやること - IT戦記
  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
  • HTML 用の XPath 機能テストを書いた - IT戦記

    こんな感じ ここでテストできます(DOM 3 XPath 対応ブラウザでしか動きません) XPath Functional Test テストしてみると Safari 3.0.3 Public Beta はバグが多い Opera と Firefox はかなり優秀 要素名は大文字? あと、特に気になった点として、 name 関数の復帰値が Firefox では大文字となって Opera, Safari は小文字となる。 なので、クロスブラウザ的には以下のように or で繋いであげないといけない。めんどくさいなあ // <p>hoge</p> var result = document.evaluate('//*[name() = "P" or name() = "p"]', document, null, 7, null);

    HTML 用の XPath 機能テストを書いた - IT戦記
  • オブジェクトをプリミティブに型変換するときに便利な関数 - IT戦記

    ふと、思った オブジェクトを作るときに、以下のように型変換用の関数を作っておけば、便利じゃないかと var Hoge = function() { /* ... */ }; Hoge.prototype.number = function() { /* Hoge オブジェクトを数値に変換するコード */ } Hoge.prototype.string = function() { /* Hoge オブジェクトを文字列に変換するコード */ } Hoge.prototype.boolean = function() { /* Hoge オブジェクトを真偽値に変換するコード */ } Hoge.prototype.object = function() { return this } 使う時はこんな感じ if (object[typeof any0]() == any0) { // 比較相手に

    オブジェクトをプリミティブに型変換するときに便利な関数 - IT戦記