タグ

ブックマーク / d.hatena.ne.jp (40)

  • RubyでPythonのdecoratorを実装する。 - このブログは証明できない。

    こちらのスライド。RubyRubyを拡張する。つまりメタプログラミングの話。 Extending Ruby with Ruby // Speaker Deck メタプログラミングを使って他の言語の機能を実装しようという内容になってる。 Python: Function decorators Scala: Partial application Haskell: Lazy evaluation 今回は、この中でPythonのdecoratorを実装するというのをピックアップ。 githubにソースコードがあがってて、スライド中では未解決になってた問題がすでに解決されている。 michaelfairley/method_decorators ここから載せるコードは、githubの方じゃなくてスライド中のコードに一部手を入れたものになってる。ひとつのメソッドに複数のdecoratorを指定でき

    walf443
    walf443 2012/07/23
  • HTML5 Web Database仕様を、Gearsを使って実装しました。 - IT-Walker on hatena

    HTML5 Web Databaseを、Gearsを使って実装しました。 どうせなら、Web Database以外のAPIもGearsで実装するようなプロジェクトにしてはどうかと思い、新しくGoogle Codeにプロジェクトも作成しました。その名もです。ルフィにカッコよく必殺技コールしてもらいたいです。 一番の利点は、Gearsがインストールされていればどこでも動くことです。Gearsは、Internet Explorer6+、Firefox 1.5+、Safari3.1.1+、Chrome1.0+あたりで動きます(残念ながら、Firefox3.5にはまだ未対応)。IE6で、HTML5のWebアプリ用APIが使えたら結構素敵じゃないですか? Gearsは2年くらい前にGoogleがリリースしたオープンソースプロダクトで、ブラウザプラグインとして動作し、ブラウザに対して様々な機能を付け加え

    HTML5 Web Database仕様を、Gearsを使って実装しました。 - IT-Walker on hatena
  • シェルのプロンプトにgit「ブランチ」を表示するやつ - while (”im mirrored”);

    git function prompt-git-head-name() { local git_dir="$(git rev-parse --git-dir 2>/dev/null)" if [ -z "$git_dir" ]; then return 1 fi local head_name='' local additional_info='' if [ -d "$git_dir/rebase-apply" ]; then if [ -f "$git_dir/rebase-apply/rebasing" ]; then additional_info="REBASE" elif [ -f "$git_dir/rebase-apply/applying" ]; then additional_info="AM" else additional_info="AM/REBASE" fi he

    walf443
    walf443 2009/01/18
    たぶん使わないけど参考までに。
  • RubyでWSSE認証をするためには - ユーウツな雨がふりつづいても雪がハートを曇らせてもドアの中で待っていた君に魔法をかけたいのさ

    どうしてもmixi APIを使ってみたくて、RubyForge: WSSE for Atompub: Project Inforubyforgeにwsseっていうそのままなのが上がってたのでこれをつかってみました。$ gem install wssegemでいれます。== SYNOPSIS: http = Net::HTTP.start(site, 80)response = http.get('/atom', {'X-WSSE' => WSSE::header('name', 'password')}) (code sample of usage)使い方は、header関数にnameとpasswordを渡すだけです。def header(username, password) nonce = Array.new(10){ rand(0x100000000) }.pack('I*') no

    walf443
    walf443 2008/08/27
    wsse
  • URLを埋め込みコンテンツに変換するoEmbedの仕様 - Codin’ In The Free World

    http://oembed.com/ eEmbedというのは、あるリソースのURL(例えばFlickrの特定の写真のページのURL)を サードパーティ上で、写真自体の埋め込みに変換したいときに、 埋め込みに必要なパラメータを取得するためのプロトコルみたいです。 mixiのデコリンク機能がイメージとして近いかもしれません。 http://alpha.mixi.co.jp/blog/?p=38 宮川さんが既にPerl Moduleにしてますね。 http://search.cpan.org/~miyagawa/Web-oEmbed-0.01/ 仕様を適当に訳したので載せておきます。 Spec oEmbedは、サードパーティのサイトのURLを埋め込み表現するためのフォーマットです。 これによって、ユーザーがそのリソースへのリンクをポストしたときに、 リソースをパースすること無しに、 写真や動画の

  • T105でXen - u-ichiのにっき

    自宅の共用アプリ鯖がスペック不足に陥り、代替として導入したT105でいろいろと爆弾を踏んだ気がするので、行った作業をメモ。 完全に走り書きです。 時系列 Debian系列で抵抗 DebianをネットワークインストールさせようとするがT105のNICドライバ BroaccomのNetXtremeがEtchカーネルには入っておらず、インストール出来ず 仕方がないのでUbuntuに逃げて、いつものようにapt-get install ubuntu-xen-server。その後、再起動した後にapt-get updateするとATA周りのエラーが大量に出て強制的に再起動がかかる。 エラーメッセージがあまりにも一瞬過ぎて、大事な部分が読み取れなかったが、頑張って写真を撮ってみて、該当のエラーを検索してみたらOracleVMのドキュメントに同様の記述があり。設定方法を探してみたところ、grubでカーネ

    walf443
    walf443 2008/06/10
    T105 on Xen。自分は最初の方は同じ道のりをたどってCentOS5でDom-0、Dom-Uをやるというのに落ち着きました
  • Datastore に泣いたアナタに捧ぐ(前編) - Google App Engine - 暗号、数学、時々プログラミング

    Google App Engine | 07:49 | 最近少しずつ当ブログにリンクを張って頂けるようになってきた。色々な人に読んでもらえるならば当然そっちの方が嬉しいワケで、実にアリガタイことだと思う。「まとめサイト」とかに入れて頂くと、これまで気づいて頂けなかったような人達にも読んでもらえるチャンスも広がるワケで。これがきっかけで何か面白いアプリが世の中に出るような事になるのであれば、これ以上に嬉しいことはない。そして、ここまできたらGoogle Japanよりも先に全ての日語訳を完成させてやろうかしらん、なんて思ったり思わなかったり。(ただ正直なコトを言うと、これから先はリファレンス系の話が頻繁に出てくるので、いくら"超"訳するにしても全くのPython初心者が読んで理解出来る内容になるのかなー?って不安もある。翻訳完了より先にPython特別訓練が開始される可能性あるカモ。な

    walf443
    walf443 2008/04/19
  • atomutil - RubyでAtomPubを操作するパッケージをリリースしました - Codin’ In The Free World

    PerlのXML::Atom, XML::Atom::Service, XML::Atom::Ext::Threading, AtompubをRubyにportingしてみました。 atompubというネームスペースは既に確保されてた(ネームスペースだけ8月に確保されてて、具体的なファイルやリポジトリは何も無い…)ので atomutilという名前にしておきました。 RubyForge RDoc gem install atomutil まだDocumentやTestが足りず、非常にバギーだと思いますが、試してみたい方はどうぞ。 使い方はPerlのものとほぼ一緒です。詳しくは上のリンクからRDocを参照して下さい。 entry = Atom::Entry.new entry.title = 'My Entry' entry.summary = 'Summary' entry.updated

  • 日記的な

    日記的な

    walf443
    walf443 2007/07/31
  • @IT のフィードに含まれる entry の permalink がおもしろい - woremacxの日記

    各 entry の base64 っぽいエンコードされる permalink が Filter::TruePermalink で解決できないので、なんでだろうと思って User-Agent いじって調べてみたよ!Plagger だと、404 らっちゃって、記事自体存在しないことになってるみたいだよ!Plagger 好かれてるよ!ぜったい Plagger 好かれてるよ!他の User-Agent だと、permalink が META タグで帰ってくるよ!解決法としては、Filter::TruePermalink で 404 らって && rssad.jp な場合、Mozilla としてアクセスして META タグから拾ってくるよう fallback すればいいよねきっと。もしくは、rssad.jp なら、強制 Mozilla でいいよねきっと。きっと既出なんだろうけど、このエントリ書い

  • TheSchwartz::Worker な Plagger をいっぱい動かす!! - woremacxの日記

    Plagger4 月の末に PlaggerLDR にもどった とか言ってたけど、1 時間おきに Plagger まわしてたら、何重にも起動してひどいことになっていて、対策考えるのまんどくさくなってやめてた。1 時間かかっても巡回が終わらない原因は CPU の限界とかではなくて、相手の鯖の反応待ちの積み重ねなので、Plagger を平行動作させればウマーになるのではないかということで、TheSchwartz とくっつけてみることにした。フィード 1 個ごとに Job を 1 個発生させている。また、フィードごとに色々初期化すると重くなる原因なので、最初に読み込んだら読み直さずにずっと使い続けるようにした。Plagger のロード済みの config を書き換える部分は、昔 Catalyst + Plagger で遊んだときのコードそのまんまでうまくいった。eft_worker.pl #!/u

  • http://d.hatena.ne.jp/mikihoshi/20070413/1176476392

  • http://d.hatena.ne.jp/mikihoshi/20070312/1173709865

  • kajidaiの日記 - 新しいプログラミング言語を習得するための15の方法

    ↓で紹介されてた新しいプログラミング言語を習得するための15の方法についてhttp://forums.programming-designs.com/viewtopic.php?pid=3482I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time. Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep p

  • tail -fしているファイルをmvしてもそのまま読み込み続ける事が出来るのはなぜか - 技術メモ帳

    せっかく教えていただいたので tail -f しているファイルをmvしても そのまま読み込み続ける事が出来るのはなぜなのかを調べてみた。 『詳解UNIXプログラミング(Advanced Programming in UNIX Environment)』 の CHAPTER.4 の 4.14 ファイルシステム に この件に関連する情報が記載されている。 コレを参考にボクの解釈した結果をまとめてみた。 間違っている箇所がありましたら 気軽にご指摘していただけますようよろしくお願い致します。 まず、事の発端から。 ボクのこの一文。 http://d.hatena.ne.jp/lurker/20070228/1172595016 そうそう、tail で思い出したが、GNUのtailはデフォルトで (たぶん/詳しくは知らない)inode番号を見ているため tail -f した状態で そのログファイル

    walf443
    walf443 2007/03/07
  • 漢のzshに乗り換えた時にアッーってなるコト - 技術メモ帳

    男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文

    walf443
    walf443 2007/02/19
  • urekatのスカンク日記3 - open-uriをPOST対応させる

    http://lingr.g.hatena.ne.jp/urekat/ http://ssktkr.com/lingrjs/ JavaScriptのLingrクライアントを作る過程でおもろいのができた。 open-uri-post.rb require "open-uri" require "net/http" module Net class HTTPRequest self.class_eval{ attr_reader :postdata def initialize(path, initheader = nil) klass = initheader["postdata"] ? HTTP::Post : HTTP::Get if initheader @postdata = initheader.delete("postdata") super klass::METHOD, kla

    walf443
    walf443 2007/02/19
  • 技術メモ帳 - 単語抽出するちょっとしたテクニック

    shell のちょっとしたテクニック - odz buffer odzさんのところで単語の出現頻度を調べるためのワンライナーが紹介されている。 単語抽出についてはいくつかやり方があるので紹介する。 特に egrep -o は非常に実用的。 もちろん、この話はリンク先において主題ではない。 俺のただの自己満足。 tr -cs で単語抽出 $ tr -cs 'a-zA-Z' '\n' < ./.zshrc 上記コマンドで、a-zA-Zのみで構成される文字列を抽出できる。 -c オプションで、'a-zA-Z' の補集合(以外)を '\n' に変換し、 -s オプションで、最後の引数で指定される要素の重複を除去している。すなわち '\n' の連続を除去している。 grep -o で単語抽出 grepには、( -o、--only-matching ) オプションというのがある。 これは、指定された正

    walf443
    walf443 2007/01/31
  • 高原芳浩のKeep-Alive - ソフトウェア開発会社を作ろうという小資本理系学生向けのメモ

    私は8年前の8月、23歳で会社作ったのだが、経営なんて興味なかったんで会社を作るとき知らなくてはいけない事を後から知った。それでまぁいろんな人に迷惑をかけているわけだから、やっぱり普通にプログラム書けるだけで起業しちゃだめだよね(反省)参考になるか判らないけどとりあえずメモ。資金今はいくらでもいいらしいけど昔は有限会社つくるのに300万円必要だった。でも資金の2割は現物出資できたのでパソコンを出資して240万円。結局、自分はこのうち180万円を出資した。良く考えたら自分の収入源がディノだけなので今に至るまで自分の投下資は180万円のみ。もちろん、役員報酬→増資を繰り返すことで名目上もっと出資した事になっているのだが。設立登記最近は司法書士に頼むとネット経由で登記して割安らしい。無理せず専門家に頼もう。売上計上は納品基準。売上予測受注と開発期間を元に基準に売上を予測する。この予測は傾向

  • zshのzptyを使って端末が必要な処理を自動化する - 技術メモ帳

    zsh のモジュールに zpty というのがあるのを最近発見した。 どうもコレを利用すれば指定したコマンドを 仮想端末上で実行することが出来るらしい。 具体的にどういったことが出来るようになるのかというと、 端末が必要なプログラムを自動化することが出来る。 たとえば、パスワード入力処理などだ。 パスワード文字列を標準入力から読み込ませようとしても、 大抵のプログラムでは入力できない。 なぜかというと、多くのプログラムにおいてパスワード入力処理は 端末から読み込むように作られているからだ。 zpty を利用すればそういったたぐいのものをすべて自動化できる。 いわゆる、expect というコマンドで実現していたことが zsh だけで出来るのだ。 今回は、簡単に試すことが出来るサンプルとして、 su コマンドのパスワード入力を zpty を使って自動化してみる。 まず、zsh に標準添付されてい

    walf443
    walf443 2006/11/09