タグ

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

  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)

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

    さいきんの Rails サービスを高速化をしてみた - 2nd life (移転しました)
  • 第一回ももクロハッカソンに参加して Acme::MomoiroClover リリースしました - 2nd life (移転しました)

    最近はかなこ推しになりつつある、週末エンジニアの secondlife ですこんにちは。 9/4(日)にももいろ週末エンジニアの方々と都内某所で、第一回ももクロハッカソンを開き参加し、Perl ライブラリの Acme::MomoiroClover を作りました。 https://github.com/hotchpotch/perl-acme-momoiroclover http://search.cpan.org/~tateno/Acme-MomoiroClover/ 何故今更 Acme::MomoiroClover を作ったかと云うと、今までに日アイドルの Acme シリーズは二つ、Acme::MorningMusume と Acme::AKB48 があります。その Acme が存在するアイドル2ユニットに共通していえることの一つに、どちらも紅白歌合戦に参加したことがあることが言えま

    第一回ももクロハッカソンに参加して Acme::MomoiroClover リリースしました - 2nd life (移転しました)
    dbfireball
    dbfireball 2011/09/05
    「日本の Acme::アイドル が作られたのユニットは100%紅白出場しているため、ももクロちゃんの今の目標である紅白歌合戦出場をほんの少しでもサポートできたらと思い」
  • rubygems-test で rubygems インストール時にテストを行う - 2nd life (移転しました)

    Ruby のパッケージングマネージャの rubygems と Perl の CPAN と比較して、rubygems の残念なところの一つに『インストール時にテストを行わない』ことが挙げられます。rubygems は gem install package で一発で入れられる事は便利なんですが、インストール時にテストが行われないため、実際にその環境で正しい挙動をするとは限りません。また、rubygems で入れたパッケージのテスト方法もコマンド一発で簡単にできるわけではないのでめんどくさかったりします。なにより問題なのが、インストール時にテストが行われないため『開発者がテストをさぼりがち』になってしまいます*1。 最近 rubygems でも CPAN と同じように、インストール時にテスト可能なパッケージはテストを行い、失敗したら基的にインストールできない(設定で変えられます)仕組みを持っ

    rubygems-test で rubygems インストール時にテストを行う - 2nd life (移転しました)
  • 大江戸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 (移転しました)
  • さいきんの 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
  • watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)

    みなさま、いかがお過ごしでしょうか。以前人のことをオサーンオサーン云いまくっていたけどその当時のオサーン年齢のもうすぐ三十路になります secondlife ですこんばんわ。言葉のしっぺ返しが痛い今日この頃です。 さて、若かりし頃には合わなかったけど今使ってみるとしっくり来る物もありますね。その一つが AutoTest(ZenTest) です。ファイルが更新したらこける / SyntaxError になると解っていてもテストが走りFFF、自分のテストサイクルでテストが実行できないのが我慢できませんでしたが、久しぶりに使ってみるとそんなのは気にならず、いちいちテスト実行しなくてよくなってとても気持ちがよい感じです。 しかしながら ZenTest に含まれる AutoTest はレールが敷かれているテスト環境では利用しやすいけど、ちょっと道を踏み外すと結構テストを実行するのがめんどくさいです。

    watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)
  • 2008-07-19 - 川o・-・)<2nd life Uffy externalinterface external interface

    日の OSC Kansaia 2008 で開かれた Shibuya.js in Kyoto で、JavaScript と ActionScript の連携について話しました。関西のカンファレンスでの発表は初めてでしたが、楽しかったです。スピーカの皆さん、参加された皆さん、どうもありがとうございましたー。 以下発表資料です。 JS <-> AS JavaScript と ActionScript の連携 自己紹介 はてなエンジニア 舘野 祐一 (id:secondlife) http://tako3.com/http://rails2u.com/ Ruby, ActionScript3, JavaScript JS と AS JS だけでよくない? AS だけでよくない? 相互に補完しあえる関係 両方使えると、様々なメリットが JavaScript -> ActionScript cros

    2008-07-19 - 川o・-・)<2nd life Uffy externalinterface external interface
  • 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 (移転しました)
  • xrea + rails + mysql + typo

    http://gorou.s62.xrea.com/typo/ railsとtypo(railsで書かれてるweblogシステム)がxrea上であっさり動いて拍子抜け*1。スクリプト言語のフレームワークがxreaなどの広く使われてるサーバで簡単に設置できる意義は大きいよ。なんか作って公開するとき、シェルやらroot権があるサーバで動かせる人なんて一握りだろうしなー。 んでxreaでtypo(というかrailsアプリ全般)を動かす方法メモ。まず同梱の.htaccessがdispatch.fcgi用なのでdispatch.cgiへと変更。dispatch.cgiの1行目のパスを実際のrubyパスに変更(#!/usr/bin/env rubyでいいような気がする)。次にdatabase.ymlの中身をxreaのmysqlのユーザ、パスワード、DB名に変更。RAILS_ROOT/vender以下に

    xrea + rails + mysql + typo
  • 川o・-・)<2nd life - web2.0なアプリケーションで使えるアイコン

    http://www.famfamfam.com/lab/icons/ 自分でwebアプリケーションを作ってる場合、外観がどうしても疎かになりがちです。CSSでの見栄えならそこそこ頑張ればいけるのですが、あとちょっとインパクトが欲しい、そういうときに小型のアイコンが欲しい!といつも思ってしまいます。で、時たまそれっぽいアイコンを探してたのですが、有料なライセンスだったり、デザイン的にいまいちぱっとしなくて、これだ!という物がありませんでした。 上記famfamfam.comではそんなweb2.0なwebアプリケーションに似合うアイコンを合計すると1000個ぐらい、FreeもしくはCCライセンス帰属 2.5 で公開しています。今度から作るWebアプリケーションで効果的に使っていこうと思います。 あ、他にライセンスが緩くて素敵なアイコンを公開しているサイトを知っている方がいましたら教えて下さい

    川o・-・)<2nd life - web2.0なアプリケーションで使えるアイコン
    dbfireball
    dbfireball 2007/11/02
    画像アイコン
  • 日記の本文のメロディーを再生してみよう! - 2nd life (移転しました)

    日リリースされたMML記法ですが、実は適当な文章を入れるだけでもメロディーを再生しちゃうことが出来ます。ポイントは アルファベットがたくさんある方が良い ; とかが適当に文章にあると複数の音が鳴ったりする 一行目に t240 と入れておくとテンポが速くなって良いことが多い あたりでしょうか。さてみなさんも自分の日記文のメロディーを楽しんでみてはいかがでしょうか。ちなみに↓のは自分の昔の日記、vim7の新機能 Omni completionのメロディです。なんかおもしろーい。 t240 vim7の新機能 Omni completion これヤバス!eclipseなどでおなじみのインテリジェンスな補完を提供する機能みたい。詳しくは:h new-omni-completion で。今のところCとXHTMLCSSしか用意されてないんで、htmlで早速使ってみた。機能はこんな感じ。 after

    日記の本文のメロディーを再生してみよう! - 2nd life (移転しました)
  • JS でモーションタイポグラフィー - 2nd life (移転しました)

    http://svn.coderepos.org/share/lang/javascript/jstweener/trunk/examples/mtypo_bezier.html http://svn.coderepos.org/share/lang/javascript/jstweener/trunk/examples/mtypo.html JSTweener の機能追加と同時に、もちょっとサンプルになんか作ってみようかな、ということでモーションタイポグラフィーで遊んでみました。思ったよりは重くなかった感じです。半透明にすると重くなるかな、と思いきやどのブラウザでも割と普通に。 でも JS だと一文字一文字の横幅を正確に求めることができず(IEでできるのかな)、破壊的な動きなら出来るんですけど、あらかじめレンダリングされるであろう場所に文字を吸着とかかなり難しそうな感。 JSTweene

    JS でモーションタイポグラフィー - 2nd life (移転しました)
  • JSTweener - JavaScript でモーショントゥイーンするライブラリ - 2nd life (移転しました)

    http://coderepos.org/share/wiki/JSTweener http://svn.coderepos.org/share/lang/javascript/jstweener/trunk/examples/ JS でモーショントィーンするのに、JSTween というライブラリがあるのですが、一つ一つのモーションで setTimeout(func, 0) で回しててるため増えれば増えるほど重くなったり、style 設定が結構面倒だったり、一度に複数プロパティ登録ができなかったりしたので、自分でライブラリを作ってみました。ひっつき☆スターを JSTweener で動かしたら体感で全然速くなりました。 コード例ですが、ひっつきスターでのトゥイーン処理は JSTweener.addTween(el.style, { time: tm, transitions: 'easeOu

    JSTweener - JavaScript でモーショントゥイーンするライブラリ - 2nd life (移転しました)
  • ActionScript3 で JSONP を扱うライブラリ - 2nd life (移転しました)

    AS3 で JSONP を扱えるライブラリがぱっと探した感じ無かったので作りました。 http://svn.rails2u.com/as3rails2u/trunk/src/com/rails2u/net/JSONPLoader.as URLLoader とほとんど同じ感じに使えます。たとえばはてなブックマークの JSONP なら // ブラウザで表示しているドメインのセキュリティ許可 // swf のドメインが同じなら必要なし JSONPLoader.allowCurrentDomain(); var loader:JSONPLoader = new JSONPLoader(); loader.addEventListener(Event.COMPLETE, function(e:Event):void { log(e.target.data); // target.data に JSO

    ActionScript3 で JSONP を扱うライブラリ - 2nd life (移転しました)
  • はて☆すた OP - 2nd life (移転しました)

    ※スペックが低いマシンや一部ブラウザだと固まったり落ちる可能性があります javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://rails2u.com/misc/hatesuta.js";document.body.appendChild(s)})();を適当なページでアドレスバーに入れて実行!すると…。スターつきの blog のトップページなんかだと最後にカウンターも出てカウンターとしても使えるよ☆ ソースは CodeRepos で公開してます。MIT ライセンスとしてご自由にどうぞ。 http://coderepos.org/share/browser/lang/actionscript/hatesuta

    はて☆すた OP - 2nd life (移転しました)
  • crossdomain.xml と CSRF 脆弱性について - 2nd life (移転しました)

    crossdomain.xml を安易に設置すると CSRF 脆弱性を引き起こす可能性があります。というのも、ここ数が月、それなりの数の crossdomain.xml による CSRF 脆弱性を発見し(現在、それらのサイトでは対策がなされています)、まだまだ Web プログラマに脆弱性を引き起こす可能性がある、という考え方が浸透してないんじゃないか、と思ったので。 先月、Life is beautiful: ウェブサービスAPIにおける『成りすまし問題』に関する一考察にも crossdomain.xml について書かれてたのですが、その後もいくつかのサービスで crossdomain.xml を許可ドメインすべてにしているサービスがあったので、注意喚起としてエントリーに書き起こします。 自分も一年半ぐらい前は、crossdomain.xml を許可ドメインすべて ('*') にして設置し

    crossdomain.xml と CSRF 脆弱性について - 2nd life (移転しました)
  • Rails の日本語化には ActiveHeart を使わない方がいいヨ - 2nd life (移転しました)

    http://d.hatena.ne.jp/moro/20070615/1181876061 先日の RubyKaigi で、id:moro さんに「新人に Rails でアプリを試しに作ってみて、とお願いすると ActiveHeart 使って日語化しちゃうんですよ。困ります!訴えてやる!!!*1」と云われました。 現在日語化/国際化をきちんと行いたいなら Ruby-GetText を使うべき*2ですし、モバイル対応なら jpmobile を使うべきです。 というわけで、ActiveHeart の svn のコードに obsolete だから Ruby-GetText もしくは jpmobile 使ってねというメッセージを表示するようにしてコミットしました。 *1:全然違う言い回しだったけど *2:5秒でとりあえず日語表示したい時は ActiveHeart のほうが簡単なのですが、き

    Rails の日本語化には ActiveHeart を使わない方がいいヨ - 2nd life (移転しました)
  • 川o・-・)<2nd life - モテる Ruby! - Ruby会議 2007

    先日の Ruby 会議、参加者・スピーカ・スタッフの皆さんお疲れ様でした。非常に楽しめたイベントで、企画運営などさまざまなことを行ってくださったスタッフの方々にはほんと感謝です。 また久しぶりに Rubyist な方々といろいろ話ができて楽しかったです。人見知りなので、話しかけてくださった方々、ありがとうございます:D というわけで、以下発表資料。 モテる Ruby! 舘野祐一 ( id:secondlife ) 自己紹介 舘野祐一 id:secondlife 株式会社はてなエンジニア Shibuya.js 企画・運営 自己紹介 好きなの Ruby が好き vim が好き アイドr Ruby はモテ? Ruby は昨年から世間で大ブレイク でも Ruby を使えてもモテる気配がしない… Ruby の集まりはほぼ男性ばかり マーティン・ファウラー曰く 「Rubyコミュニティでは、女性を一切見