タグ

ブックマーク / secondlife.hatenablog.jp (20)

  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

    先日のももクロハッカソンで出会った wantedly を作ってる仲さんが と言ってたので、面白そうなので wantedly を速くしてみました。 wantedly ちなみにデータが数百万オーダーもなさそうなのに、どのページもログインすると2-5秒ぐらいかかっていたので、確実に速くできそうだなぁという感覚はやる前からありました。 アプリケーションサイドのチューニング 初心者*1にありがちな問題として SQL に適切にインデックス張ってない キャッシュすべき場所をキャッシュしていない 無駄なデータを引きすぎてる ことがよくあります。ので順に実装を見ていきました。 SQLに適切なインデックスを張ってない 張ってありました!びっくり!\(^o^)/ キャッシュすべき場所をキャッシュしていない Facebook API を利用したアプリケーションなんですが、ユーザのデータの取得を毎回馬鹿正直に HT

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
    t-wada
    t-wada 2011/09/20
    heroku を使ったサービスのパフォーマンスチューニングとしても非常に参考になる
  • 大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)

    日大江戸*1で行われた大江戸Ruby会議01で、高速なテストサイクルを回すにはという内容で発表してきました。 大江戸Ruby会議01 高速なテストサイクルを回すには View more presentations from hotchpotch テストを速くするには二パターンあり、一つは単体実行時の速度・フィードバックの高速化、もう一つはすべてのテスト実行時の高速化があると思っていて、それらについての話です。ぎゅっとまとめると、前半の単体実行時の速度・フィードバック高速化には spork / prefetch-rspec / autotest / watchr を使おうという話と、後半は REE / parallel_tests による高速化・並列実行、remote spec によるリモートマシンでの分散テストについての話です。 特にオレオレプロジェクトの prefetch-rspec

    大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)
    t-wada
    t-wada 2011/04/11
    この講演は凄かった。最終的にトータル1分を切ったところなどは感動すら覚えた。俺もまだまだ頑張ろう。
  • さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life

    日行われた Shibuya.js の発表資料をアップしました。 さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 View more presentations from hotchpotch JS のテスティングフレームワークのおおざっぱな説明や JavaScript テストにおける問題、それについての解決方法の一つ、CUI でのテスト、Envjs、エンドツーエンドテストにおける JS / Ajax のテスト、終わりにちらっと Phantomjs の話があります。 スライドの最後にあるように、やはりまだコレだ!という JS のテスティングフレームワークは存在しなく、今後 JS のテストは『僕らが書きたいテスト』をどれだけ簡単に書ける・書く手法が確立されるかによって流行廃りは決まってくるんじゃないかなぁ、と思ってます。そのうちの一つがスライ

    さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life
    t-wada
    t-wada 2011/03/09
    JavaScript のテストの「いま」をとらえた発表でした
  • プログラマが知る97のきのことに寄稿しました・クックパッドに入社(してま)した - 2nd life (移転しました)

    12/18 にオライリーから発売される、97きのこことプログラマが知る97のきのことに、"快適な環境を追求する" というエッセイを一寄稿しました。みなさん、良かったら手に取ってみてください。 プログラマが知るべき97のこと 作者: 和田卓人,Kevlin Henney,夏目大出版社/メーカー: オライリージャパン発売日: 2010/12/18メディア: 単行(ソフトカバー)購入: 58人 クリック: 2,086回この商品を含むブログ (325件) を見る あ、今更間漂う報告ですが、2010年8月からクックパッド株式会社で働いてます。なんか報告のタイミングがずれていまさら感が漂いますが…。 クックパッドでは "快適な環境を追求する" ということで開発基盤チームに所属してます。開発基盤チームでは全員が利用するライブラリの開発から、サービスをより良くするにはどういった(ソフトウェア・プロセ

    プログラマが知る97のきのことに寄稿しました・クックパッドに入社(してま)した - 2nd life (移転しました)
    t-wada
    t-wada 2010/12/13
    97きのこ本への寄稿、とても感謝しています。クックパッドは何度か遊びにいきましたが、エンジニアにとってやりがいのありそうな会社だと思いました。
  • はてな退職しました - 2nd life (移転しました)

    7/16 が最終出社日*1となり、はてな退職しました。はてなブックマークでのチュートリアル機能がはてなでの最後の仕事となりました。 はてなに入ってからを振り返ってみると2006年1月にはてなに15番目の社員として入社し、4年7ヶ月はてなのメンバーと一緒に働いてきました。当時はまだ誰も辞めていなかったため、過去はてなで働いた人すべて一緒に仕事をしてきたことになります。入社時はまだオフィスが東京にあり、毎日全員が朝会でディスカッション、時には数時間も熱く語るというエキサイティングな職場だったのがとても印象的でした。 当時は当に自由な環境でいろいろな事を試行錯誤していた日々でした。入社約2ヶ月で、会社のフレームワークに DI の概念を実装したころで Perl もう無理と投げ出して Perl を書かない仕事ばっかりやっていたのも今となっては良い(?)思い出です。今だったらあり得ないですねほんと

    はてな退職しました - 2nd life (移転しました)
    t-wada
    t-wada 2010/07/20
    おつかれさまでした!
  • はてなモノリス開発話 - 川o・-・)<2nd life

    日、はてなモノリスという Android / iPhone3GS 向けの簡単にモノのバーコードをスキャンして投稿(Twitter にも同時投稿できます)というサービスを作りました。是非対応端末をお使いの方は利用してみてくださいね。概要だけきいてもうーん、という感じですが実際に使ってみると簡単にモノのバーコードが認識できお気楽に投稿できるのは楽しいです! http://mono.hatena.ne.jp/ 約一ヶ月ほど専念して開発したんですが、その話でも。 開発の経緯 最近僕ははてなブックマークのディレクターと、はてなAndroid 開発周りを担当しています。とあるミーティングで今後 Android をどう展開していくか、という話を id:jkondo, id:naoya, id:cho45 と僕で行いました。Android の開発おもしろーい、と個人的に強く思ってることもあり And

    t-wada
    t-wada 2010/04/05
    なるほど "iPhone OS も Android もブラウザが WebKit なので、ほぼ同じ JS, CSS が利用できるため、完全にビューはサーバ任せにしています。WebKit に特化した JS や CSS3 が利用できるために開発自体はだいぶ楽になりました"
  • AS3 アプリケーションの国際化 - 川o・-・)<2nd life

    という内容で、Coolin Moock さんを囲むの会で as3gettext の発表してきました。アウェイな発表が出来て良かったです(ぇー)。コリンさんは日語もうまく(ギザとかテラとか使えるレベル)、ジョークを交えながらトークしてくれて面白かったです。まだ普段あまり会えなかった ASer の方々と懇談会などでお話しできて楽しかったです。ありがとうございました。 AS3 アプリケーションの国際化 と時間があったらその他… 自己紹介 舘野祐一 id:secondlife はてなエンジニア ActionScript3 JavaScript Ruby Shibuya.js 開いてます ActionScript と自分 AS 歴 AS3 から Flash に入って約一年 開発環境 Flex2/Flex3 SDK + rascut + vim ActionScript と仕事 JS/AS のブリッ

    AS3 アプリケーションの国際化 - 川o・-・)<2nd life
  • はてなハイク お絵描き機能の話 - 2nd life (移転しました)

    さてさて、日リリースされたはてなハイクですが、実は一昨日にはお絵描き機能がありませんでした。リリース日の前日の朝、id:jkondo がすっごくニコニコしながら(ニコニコしてるときは大抵なにかしてもらいたいときだ!騙されるな!)ねーねーと声をかけてきました。 「jkondo: シンプルなお絵描き機能があったら絶対面白いねん!実現出来ないかなぁ(ニコニコ)。」 突然!しかもリリースは明日ですよシャチョー!でもこんなシチュはエンジニアなら燃え(萌え)ますよね。Ruby など LL を弄ってる(今回はAS3だけど)と、出来るだけ短い期間でどれだけの物を作れるかというのは熱くなれる瞬間です。はてなは作ったら即座にサービスに反映してくれるので、自分の思想と合った物なら作るモチベーションもぐんぐん上がります。 というわけでミニマムな機能だけ最低限実装することにして、サーバサイドは Fotolife

    はてなハイク お絵描き機能の話 - 2nd life (移転しました)
    t-wada
    t-wada 2007/12/30
    jkondoの台詞に萌えた(社長的な意味で)
  • 川o・-・)<2nd life - RubyGems パッケージの作り方 - rubyforge 登録まで

    語の解説で RubyGems パッケージの作り方や rubyforge 登録までの一連の方法が書いてあるところを見かけたことがないため、エントリーにしてみます。なれると割と簡単です。 優しい RubyGems パッケージの作り方 newgem コマンドでのひな形作成 http://drnicwilliams.com/2006/10/11/generating-new-gems/ perl には module-starter など、CPAN モジュールのひな形を作ってくれる便利なユーティリティがありますが、gem でそれにあたるのが newgem というパッケージです。 使い方は簡単で、 # gem install newgemで newgem をインストールしてから newgem コマンドを実行するだけで以下のようにひな形を作ってくれます。 $ newgem packagename c

    川o・-・)<2nd life - RubyGems パッケージの作り方 - rubyforge 登録まで
    t-wada
    t-wada 2006/11/06
    "日本語の解説で RubyGems パッケージの作り方や rubyforge 登録までの一連の方法が書いてあるところを見かけたことがないため、エントリーにしてみます。なれると割と簡単です。"
  • perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)

    http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.15/eg/perlsh 最近 perl を勉強中で、ちょくちょく挙動に関する疑問が出てきます。ですが Ruby における irb のようなインタラクティブシェルが無い(と思っていた)ため、挙動をちょくちょく調べるのに、エディタ開いてソース書いたりしていてめんどくさい!と思ってたりします。 しかし今日 id:hideoki が挙動チェックでなにやら便利そうな対話型のシェルを使っており、それが perlsh というインタラクティブなシェルでした。 $ perlsh # 起動 main[10]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[11]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 のように対話的に実行でき、返

    perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)
    t-wada
    t-wada 2006/10/27
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
    t-wada
    t-wada 2006/10/10
  • TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)

    RakuAPI - 楽天市場 非公式ウェブサービス という楽天の非公式 API のライブラリを作るのが流行みたいなので作ってみました。ただそれだけでは面白くないので、最近自分が TDD でライブラリ作るときの方法も軽くご紹介します。 まずはインターフェイスの構想 何はともあれ、どんなインターフェイスを定義して、どんな結果が返ってくるのかがイメージできないとライブラリは作りにくいです。というわけでざっくり最初に構想を練ります。 RakuAPI の場合は WebAPI がシンプルに使えて良い感じなので、構想を練るのに考え込む、というのはありませんでした。 そんなんで、RakuAPI.new でインスタンスを取得して、search メソッドで第一引数に検索文字列、第二引数はオプションでジャンルやプライスを渡せるように、結果は配列にStruct が格納されてる感じにしよう。と考えました。 テストを

    TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)
    t-wada
    t-wada 2006/09/27
  • 川o・-・)<2nd life - Developer Enviroments Conference の発表資料

    9/8 に開かれた DEcon で windows enviroments and vim という内容で発表してきました。主に自分が使ってる windows の開発に便利なツールと、vim についてプレゼンしてきました。時間大幅に押してしまいましてスイマセン…。 また、スピーカと参加者のみなさん、お疲れ様でした。他の方の開発環境やポリシーが聴けて大変参考になりました。あとカンジマン(id:tnx)には毎度の事ながら様々な準備お疲れ様でした。 自分のプレゼンには自作のはてな記法つかったプレゼンツールを使ったのですが、よくよく考えるとそれをエントリーに貼り付ければいいじゃん!ということに気づいたので、以下に発表資料を貼り付けておきます。 windows environments and vim secondlife 発表内容 windows での環境 どんなツールがあると便利か vim vim

    川o・-・)<2nd life - Developer Enviroments Conference の発表資料
    t-wada
    t-wada 2006/09/15
  • Apache のドキュメントを htmlhelp で - 2nd life (移転しました)

    http://rails2u.com/htmlhelp/httpd-docs-2.0.58.ja.chm http://rails2u.com/htmlhelp/httpd-docs-2.2.2.ja.chm windows 使いには htmlhelp 大好きな人がわりといると思います。かく言う私も htmlhelp 大好きで、rubyhtmlhelp が無かったらたぶん ruby 書けませんし、ruby 自体覚えていなかっただろう、というぐらい依存度が高いです。で、この htmlhelp が結構いろいろなアプケーションで存在してたりします(参考: はてなダイアリー - 大西日記 - HTML Helpを使おう)。 で、今まであったらいいなと思ったのが Apache の htmlhelp。Apache の設定を弄ってたりするとき、わざわざ Web 上のドキュメントを参照するのは結構面

    Apache のドキュメントを htmlhelp で - 2nd life (移転しました)
    t-wada
    t-wada 2006/08/22
    "HTML Help Workshop でリコンパイルしてみるとうまくいった。 (略) 各種 mod_うんちゃら のモジュールやディレクティブなどがインクリメンタルに検索できてかなり便利になりました。特にディレクティブが速攻引ける"
  • 日本 Ruby カンファレンス 2006 発表資料 - 2nd life (移転しました)

    週末は Ruby カンファレンス 2006 にお越しの皆さん、スピーカ、スタッフの皆さん、お疲れ様でした!かなり面白い Ruby のイベントになりましたね!特に裏方のスタッフの皆さんの働きで、スピーカとしてもとても発表しやすかったですし、一参加者としても様々なところに配慮が行き届いているなぁ、と感じとても良かったです。 http://rails2u.com/misc/rubyka2006/ というわけで、自分の発表資料、「Perl の会社で使われる Ruby の利用法とは!?」 を公開します。中身ははてなのこんなところで Ruby がつかわれてるぞー、というのと dRuby 最高、というお話しです。二日目は咳さんの dRuby 話(資料: http://www.druby.org/dRubyAgain.pdf )もあり、これから dRuby が流行りまくる予感が! dRubyによる分散・W

    日本 Ruby カンファレンス 2006 発表資料 - 2nd life (移転しました)
  • 川o・-・)<2nd life - rlwrap - readline ラッパー

    http://utopia.knoware.nl/~hlub/rlwrap/ 今の今まで知らなかったんですが、rlwrap という readline ラッパーがかなり便利ちっくです。 これを使うと Readline によるコマンドライン入力に対応してないようなプログラムでも対応させてしまうことが可能です。 例えば ruby インタプリタを引数無しで起動して、カーソルキーの↑や←や ^H を押すと $ ruby ^[[A^[[D^Hなことになってしまうのですが、この rlwrap でラップして起動すると $ rlwrap rubyカーソルキーや ^H はもちろん、↑や C-p によるヒストリーバック、C-r による入力履歴のインクリメンタルサーチまでできてしまいます。すげー。入力した履歴はデフォルトだと ~/.プログラム名_history, ruby なら ~/.ruby_history に

    川o・-・)<2nd life - rlwrap - readline ラッパー
    t-wada
    t-wada 2006/06/07
    スゴス
  • 川o・-・)<2nd life script.aculo.usのファイルサイズを軽減

    http://www.goodpic.com/mt/archives2/2006/02/ajax.html で紹介されてる通り、script.aculo.usは通常のロードではファイルサイズが100KBを超えます。しかし、それはフルでロードしたときの容量なのです。script.aculo.usはロードするパッケージを選ぶことができる*1ので必要な機能だけを選べば良いのです。例えば、たいていの場合はscript.aculo.usのeffects.jsだけしか使わなかったりするので <script src="/js/scriptaculous.js?load=effects" type="text/javascript"></script> とすればOK。これでファイルサイズは34KBに収まります。また、二つ以上のパッケージを選択したい場合は <script src="/js/scriptac

    川o・-・)<2nd life script.aculo.usのファイルサイズを軽減
    t-wada
    t-wada 2006/02/13
  • 川o・-・)<2nd life - オブLOVE夜会第2弾「イマドキのJavaScript」

    http://kakutani.com/20051222.html#p01 http://rails2u.com/misc/imadoki/ (資料、キーボードのs, wでプレゼン操作可能) でゲスト講師してきました。参加者の皆さん、セッティングマネージャ兼幹事1.0の角谷さん、お疲れ様でした。 というわけでJavaScript, Ajax, prototype.js そしてGiza(オレオレJavaScript Framework inspired by しょこたん)について放談ということで緩い感じにだらだらとお話しをしてきました。その中でとりわけGiza.Eventsについて関心を持たれた方が多かったようなので、Giza.Eventsについての説明をちょっと。 Giza.Eventsは主に三つの機能があります。 giza:a, giza:c などのgiza: 接頭辞つきの拡張属性を利用

    川o・-・)<2nd life - オブLOVE夜会第2弾「イマドキのJavaScript」
    t-wada
    t-wada 2006/01/26
    行きたかったな
  • 702円で腰リールGTD生活 - 2nd life (移転しました)

    先日のPofEAA読書会の呑み会で、でろんでろん(酔い加減バロメータ)のid:t-wadaさんが酔っぱらいながらも「メモメモ」と云い腰からシャキーンとリールにつながった単語帳を取り出してメモしていたのを見て、激しくカッコイイ!真似しなくちゃ!と思ったので今日渋谷のハンズ(文具売り場)で必要な物を買ってきましたyp! 結構通勤途中に思い浮かぶアイディアとかってあって、でもふとした拍子に忘れたりして悔しいことが時たまあります。そういうのを逃さないためにも実践してみます。最低限必要な物が700円前後で購入できるので、気になった人は真似まくらないと! 腰リールで始める携帯メモ生活とid:t-wada:20051021:1129869621 の記事が腰リールGTDを始めるに当たって大変参考になりました。

    702円で腰リールGTD生活 - 2nd life (移転しました)
    t-wada
    t-wada 2005/10/27
    702円で始められる腰リール。GJ!
  • webアプリケーションテストツール seleniumがヤバすぎる

    http://selenium.thoughtworks.com/index.html JavaScriptを使い実際のブラウザを介してテストするseleniumがヤバすぎる。便利すぎ。Web案件なんつーのはほんと最終フェイズになってもMVCで云うモデルに当たる部分が「仕様変更」の一言によって変更されることも多々あって、そんなときは各種testが書き直しになったりする。んで最終で時間がない状態じゃtest書き直せる訳もなく人海戦術で無理矢理なんとか仕上げる、つーのがいまのWeb案件の大概の末路の気がするんだけどそれはおいといて。 このseleniumを使えば、簡単な記述で人間が実際にブラウザを操作してテストしている部分の大半である画面遷移、フォームの入力、ヴァリデーションの正否がなどが行える。つまりインターフェイスの仕様が変わらなければ延々とテストし続けられるわけだ。最後の受け入れテストの

    webアプリケーションテストツール seleniumがヤバすぎる
  • 1