blog.handlena.me

コード書いたりゲームしたり

  • Test::mysqldのインストールに詰まったら

    cpanmでTest::mysqldのインストールをするときに詰まったのでメモ。 mysqldその他がみつからない macportsで入れたmysqlを使っていたが、これだとcpanmからTest::mysqldをインストールするときに(というかテストをするときに)必要なものがいろいろと見つけられない模様。 たとえばこんなエラーが出る。 FATAL ERROR: Could not find mysqld The following directories were searched: /opt/local/lib/mysql5/libexec /opt/local/lib/mysql5/sbin /opt/local/lib/mysql5/bin バイナリ版のmysqlを入れる macportsを使わずにmysqlをいれる。 ここからdmgをダウンロード http://dev.mysql.com/downloads/mirror.php?id=394788#mirrors その後 .zshrc にPATHを設定。 export PATH=/usr/local/mysql/bin:$PATH export PATH=/usr/local/mysql/scripts:$PATH これでTest::mysqldのインストールができる。

  • cpanmでarkをインストールするまで

    まっさらな状態からcpanmでarkをインストールするまでの手順。本当になにも入っていない状態から入れたので、これだけやれば充分なはず。 ※ぼくはまともにperlを触ったことありません。なのでまっさらなのです :-p ※バージョンはこれを書いている時点のもの。 環境 Mac OSX 10.6.4 zsh 4.3.10 いれるもの perlbrew 0.10 perl 5.12.1 cpanm 1.0015 ark 0.10 手順 perlbrewのインストール $ curl -LO http://xrl.us/perlbrew $ chmod +x perlbrew $ ./perlbrew install $ ~/perl5/perlbrew/bin/perlbrew init その後~/.zshrcに以下を追記。 source ~/perl5/perlbrew/etc/bashrc cpanmのインストール $ wget --no-check-certificate http://cpanmin.us $ chmod +x cpanm $ ./cpanm --self-upgrade perlのインストール $ perlbrew install perl-5.12.1 --as=5.12.1 $ perlbrew switch 5.12.1 arkとそれに必要なモジュールのインストール $ cpanm Module::Install $ cpanm Test::Base $ cpanm Text::MicroTemplate::Extended $ cpanm Module::Install::AuthorTests $ cpanm Module::Install::Repository $ cpanm MouseX::Foreign $ cpanm Template $ cpanm http://github.

    Read more…
  • ファイル名を再帰的に取得する関数

    ディレクトリを再帰的に調べて、ファイルのパスを配列に突っ込んで返す関数。 シンボリックリンクなんかでループしたときの時の処理が必要かも。

  • lessの表示を色づけする

    source-hiligihteを使うと、lessの出力結果を色づけできる。 http://www.gnu.org/software/src-highlite/ (ドキュメント) http://git.savannah.gnu.org/cgit/src-highlite.git (ソース) boostが必要なので、まずはboostをインストール。 http://www.boost.org/ macならportで入る。 sudo port install boost source-hilighteのソースディレクトリで、 ./configure make sudo make install 環境変数のLESSOPENとLESSを設定する。zshなら、.zshrcに export LESSOPEN="|/usr/local/bin/src-hilite-lesspipe.sh %s" export LESS=' -R ' これで対応するファイル形式の出力結果が色づけ表示される。

  • 鎌倉⇔みなとみらい

    日曜、人が集まらなくて海遊びが中止になってしまったので、久しぶりに自転車で遠出してみた。 より大きな地図で 自転車 鎌倉⇔みなとみらい 2010/06/20 を表示 サイコンが壊れてしまっているので、走行距離はGoogle Maps頼み。往復でだいたい45kmらしい。片道2時間弱で到着。 いい加減ガタがきているので、新しい自転車がほしい…。

  • SunSpiderまとめ

    1回ずつしか計ってないので、正確ではないです。 Macbook Pro C2D 2.53 GHz上で実行。 ブラウザ 合計タイム SunSpiderリンク Safari 5.0 346.8ms link Opera 10.6 beta 376.8ms link Chrome 6.0.437.3 dev 385.2ms link Opera 10.5 428.4ms link Firefox 3.6.3 930.0ms link Opera 10.10 6220.2ms link

  • iPadを触ってみた感想

    会社の開発用iPadを、休日に人がいないのをいいことに独り占めして触ってみた、その感想。 いいところ 画面が大きいのはすごくいい 最初は「iPad?でかいiPhoneだろw」みたいに思ってましたが、この「でかい」ということに文字どおり大きな意味があると思います。 単純に大きいことで視認性も上がりますし、操作もしやすくなりますし。iPhoneであった、小さすぎて操作がうまくいかなくてイライラすること(文字入力位置の選択とか)はほとんどないです。 iPadを使った後にiPhoneを使うとiPad nanoなんじゃないかと錯覚します。 思ったよりも小さい 上ででかいと書きましたが、想像していたよりも小さかったです。だいたいA4サイズのMacBookをふたまわりくらい小さくした感じですね。 動作がサクサク ブラウジングとか、めちゃくちゃ速いです。回線速度にもよると思いますが、ほとんどストレスは感じないです。 ブラウジングが快適 普通にブラウジングする分には、iPadあれば充分です。 JSバリバリのページ(Chrome Experimentsとか)を動かすのはちょっときついですが、普通のページを見る分には何の問題もありません。 わるいところ フリック入力ができない フリック入力は、片手入力する際には相当効率的な入力方法だと思います。横向きならフルキーボード、縦向きならフリック、といった切り替えができるといいですね。 やっぱり指紋は目立つ 大きいだけに、目立ちます。このサイズだとノングレアな保護シートを貼るのも大変そうですし・・・。 Safariでメインのスクロール以外はできない これはiPhoneでも一緒ですが、インラインフレームや長くなったテキストエリアなどのスクロールができません。早く改善されないかな…。 「あいぱっど」と入力しても変換されない ちょっと残念。 おわり 触ってると、なかなか楽しいです。でも、購入はもう少し先かな・・・。 同じくA4プロセッサが載っているらしい新型iPhoneも楽しみですね。こっちは買う気満々です。 そういえば はてなダイアリーの編集ページ、リニューアルしてたんですね。最近書いてなかったので気づいてませんでした。 おわり2 ご多分に漏れず、この記事もiPadで書きました。

  • linum-modeの余計な余白をなくす方法

    自分の環境(MacOSX 10.6、Emacs23、linum-mode 0.9x)でlinum-modeを有効にすると、 余計な余白が入る。 ターミナルで起動すると症状は出ない。 これを解消するために、linum-mode.elの160行目を次のように書き換えた。 ; (setq width (max width (length str))) (setq width (max width (/ (length str) 2))) そうするとこうなる。 行番号がはみ出して見切れてしまう場合は、 .emacsにlinum-formatに適当な値を設定する。 (setq linum-format "%4d") この方法だとターミナルで起動したときに行番号が表示されなくなってしまうが、 おそらくターミナルで使うことはないのでこれでよしとする。 2010/05/16 1:09 追記 余計な余白が入る理由は、どうやらフォント設定による模様。 フォント設定を、 (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 '("M+2VM+IPAG circle" . "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'mule-unicode-0100-24ff '("M+2VM+IPAG circle" . "iso10646-1")) (setq face-font-rescale-alist '(("^-apple-hiragino.*" . 1.3) (".*osaka-bold.*" . 1.2) (".*osaka-medium.*" . 1.

    Read more…
  • OperaからGoogle Bookmarksに追加するショートカットをつくる

    Google Bookmarkにさっと追加できるBookmarklet - Going My Wayと Opera 「B」キーで「はてブに追加」する方法 - SEO Knowledgeをドッキング。 以下の内容をショートカットに追加します。 Go to page, "javascript:setTimeout(function(){window.open('http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title), '_blank', 'width=740,height=450,resizable=1,scrollbars=0');}, 10);undefined;" 10.02.17 01:00 追記 Googleが提供しているブックマークレットがありました。 こっちを再利用した方がよさげです。 Go to page, "javascript:(function(){var a=window,b=document,c=encodeURIComponent,d=a.open('http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk='+c(b.location)+'&title='+c(b.title),'bkmk_popup','left='+((a.screenX||a.screenLeft)+10)+',top='+((a.screenY||a.screenTop)+10)+',height=420px,width=550px,resizable=1,alwaysRaised=1');a.setTimeout(function(){d.focus()},300)})();"追記ここまで。 はてなブックマークの例に倣って「b」に設定しました。 widthとheightをいじると開かれるウィンドウのサイズが変わるので, 環境・好みに合わせて適当にいじってみてください。

  • 同期と非同期と,TCPとUDP

    boost::asio使ってたらよくわかっていない自分に気がついたのでメモ。 同期通信(Synchronous I/O) 入出力処理を行った際,処理が完了するまで待つ。 完了するまでそのスレッドの処理は止まったまま。 非同期通信(Asynchronous I/O),非ブロックI/O(non-blocking I/O) 入出力処理を行った際,処理が完了するまで待たない。 入出力を行うとすぐさま次の処理に移る。 TCP パケット送信後に送信先から受信完了の通知が返る。 通知を受け取るまでは次のパケットを送らない。 通知が来ない,あるいは「失敗した」という通知が来た場合にはパケットを再送する。 UDP パケットを送信しても受信完了の通知は返らない。 パケットの再送も行わない。 パケットの到着は保証されない。 パケット到着順が前後する可能性がある。