タグ

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

  • 例えば 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 (移転しました)
  • さいきんの 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
  • はてな退職しました - 2nd life (移転しました)

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

    はてな退職しました - 2nd life (移転しました)
  • Flash CS3 のコンポーネントを Flex SDK (Flex Builder) で使う - 2nd life (移転しました)

    Flash CS3 には、ボタン、チェックボックス、その他様々なコンポーネントが含まれています。Flex のコンポーネントは利用すると Flash のサイズが超肥大化してしまうため、シンプルなコンポーネントを使いたい場合、Flex SDK 等からも Flash CS3 のコンポーネントを使えると楽になるのですが、やり方が載ってません。適当に Flash CS3 の *.swc をコピーしても catalog.xml にのってないよとかでエラーになってしまいます。 というわけで調べてみたら我らがコリン・ムックが moockblog: How to Use Flash CS3's V3 Components in Flex Builder でやり方を書いていたので紹介。一番簡単な Flash のコンポーネントを含む swc を作るには Flash CS3 を起動し、利用するコンポーネントをドラ

    Flash CS3 のコンポーネントを Flex SDK (Flex Builder) で使う - 2nd life (移転しました)
    lyokato
    lyokato 2009/10/24
  • Studying AS3 namespace - 2nd life (移転しました)

    先日行われた FxUG@関西の勉強会で、AS3 namespace についての発表を行った際の資料です。カスタム namespace の基的な使い方は理解しておくといろんな場面で活用できると思います。みんなもっと namespace まくろう!!! namespace 基的な namespace as3 namespace カスタム namespace namespace 応用と実践 namespace を利用したライブラリ 基的な namespace public private protected internal ご存じの通り、基的な namespace 上三つは、Java とほぼ同じ internal namespace デフォルト namespace 宣言無しで書くと、internal となる function myFunction():void { }internal

    Studying AS3 namespace - 2nd life (移転しました)
  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
    lyokato
    lyokato 2008/08/29
    atomutil bugfixしときました
  • 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 (移転しました)
  • ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)

    三日前から Flex2 SDK で ActionScript3 を始めました secondlife です。こんにちわ。AS3 は言語仕様的には ECMAScript と Java をあわせた感じで普通な書き方で OOP できるのでうーん、と頭をひねることはあまりないのですが、他のところでいろいろはまりまくってます。 で、原始的な解決方法として trace() を使ったプリントデバッグを行っているのですが、スクリプト言語に慣れきった体ではコンパイル時間が遅くて死にそうです。たとえばこんな HelloWorld.as package { import flash.display.Sprite; public class HelloWorld extends Sprite { public function HelloWorld() { trace("Hello World!"); } } }を

    ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)
  • 川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 登録まで
  • vim でのオススメ plugin

    最近 .vimrcを貼り付けるのが流行ってるみたいなので自分も.vimrcを貼り付け、るわけでなくオススメの plugin を紹介してみようかと。 Align.vim http://www.vim.org/scripts/script.php?script_id=294 痒いところに手が届く整形ぷらぎん。 options = { width => 100, height => 50, background => nil, } なソースを範囲選択して :'<,'>Align => すると options = { width => 100, height => 50, background => nil, } のように整形してくれます。 Allargs.vim すべてのバッファでコマンドを実行。例えば開いてるバッファのすべての文字列を置換したければ、 :Allargs %s/perl/ruby

    vim でのオススメ plugin
    lyokato
    lyokato 2006/02/04
  • bloglinesの未読数をグラフ化する

    bloglinesの自分の未読数は http://rpc.bloglines.com/update?ver=1&user=mailaddress@example.com で解るので、そのページをスクレイピングし、mrtgにわせてグラフ化してみました。こんな感じ。 あまり常時bloglinesを読んでるわけではなく、たまったらガーッと読むことが多いので、週間グラフではノコギリ型になってますね。またPCの前に居る時と居ない時が一目瞭然に、、p−q。 人に公表するのはちょっとアレですが、自分でこそこそとグラフ化して見る分には結構面白いと思います。ちなみに使ってるmrtg.cfgはこんな感じ。簡単にできるので、mrtgを動かせる鯖を持ってる人はやってみてはどうでしょうか。 Language: eucjp HtmlDir: /home/gorou/var/mrtg/bloglines/html I

    lyokato
    lyokato 2005/11/15
  • MySQL 文字コードの自動変換を回避するオプション - 2nd life (移転しました)

    http://www.mysql.gr.jp/mysqlml/mysql/msg/9530 で話題になっていたように、 ver. 4.1以降、クライアント/サーバー間でキャラクターセットが自動的に 変換されるようになったことに伴い、多くの方が文字化けといった問題に 悩まされていたかと思います。 この点については開発側に改善を要求してきましたが、4.1.15にて "--skip-character-set-client-handshake" というオプションが導入されました。 http://dev.mysql.com/doc/refman/4.1/en/news-4-1-15.html このオプションを指定することにより、クライアントのキャラクターセットが サーバー側のキャラクターセットに合わせて自動的に設定され、 自動変換が発生しないようになります。特にver. 4.0から移行する際に、

    MySQL 文字コードの自動変換を回避するオプション - 2nd life (移転しました)
  • 川o・-・)<2nd life - Visitors, a fast web log analyzer

    http://www.hping.org/visitors/ 高速なapache log analyzer。公式には No installation required, can process up to 150,000 lines of log entries per second in fast computers (20MB/s with my log files average length). と、一秒で150,000行さばけるとうたっている。うちの環境で実際に10万行ほどのログをわせたところ1秒ちょいと非常に高速にさばけた。出力ではhtml(サンプル)だけならずテキスト(サンプル)も選べる。 ログアナライザとして必要な機能は一通りそろってるし、Googleからの検索キーワードも表示できてGood。日語検索ワードだとeuc-jpやsjisやutf-8だったりするのでnkfをか

    川o・-・)<2nd life - Visitors, a fast web log analyzer
  • 1