タグ

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

  • Re: Podcast ep2: 2013/02/19 ゲスト: Kenn Ejima - 2nd life (移転しました)

    miyagawa さんの podcast が毎回面白い、Web っ子ならあーそれそうだよね〜的な相づちを頭の中でうちつつにやにやと聴いてしまう。しかしそれだけだとなんか言い足りない気分、なんか言いたい!と言うわけで、今回の江島さんとの podcast の話題に勝手に乗っかかってみます試み。 http://podcast.bulknews.net/post/43535683799/podcast-ep2-2013-02-19-kenn-ejima マシン環境のセットアップの話し 開発環境をどう整えどう保つか。これはエンジニアそこそこいる会社だと必ず考える話で。マシンセットアップの初期化コストを減らし、その後どう継続するか。 miyagawa さんが言う、うちの会社というのは弊社(クックパッド)のことで、エンジニアの開発環境 OS は MacMac の上にとりわけ仮想環境の Linux

    Re: Podcast ep2: 2013/02/19 ゲスト: Kenn Ejima - 2nd life (移転しました)
    satoship
    satoship 2013/02/24
  • 大江戸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 (移転しました)
    satoship
    satoship 2013/02/03
  • 料理を支える技術 2012 - SapporoRubyKaigi 2012 で発表してきました - 2nd life (移転しました)

    してきました。主な内容は Rails 2.3 -> 3.0 へ、cookpad という巨大なサービスでの Rails をどうアップグレードするかという話がメインです。 こう機会を逃してエントリーがどんどん書きにくくなっていった(日記はその日のうちに書きましょう)んですが、はてダが SpeakerDeck に対応した記念に! あと、SapporoRubyKaigi から帰ってきた翌週、Rails 3.0 -> 3.2 へのバージョンアップもこっそりと行いました。 ピークタイム終わった!ヘーシャもレーィルズ3.2にバージョンアップしましたご協力いただいたみなさん朝からお疲れ様でした!!!!1— セコンさん (@hotchpotch) 9月 19, 2012

    料理を支える技術 2012 - SapporoRubyKaigi 2012 で発表してきました - 2nd life (移転しました)
    satoship
    satoship 2012/09/25
  • rails.vim まとめ - 2nd life (移転しました)

    id:higepon に『rails.el も rails.vim も知らなかったよ!もっと早く知ってたら生産性が三倍になっていたのに!(一部誇張』と云われたので、rails.vim について ひげぽん OSとか作っちゃうかMona- - rails.el まとめ に沿った形で簡単に紹介したいと思います。 インストール 通常のインストール http://www.vim.org/scripts/script.php?script_id=1567 から rails.zip をダウンロードし、~/.vim/ 以下に展開します svn からのインストール vba (vim のパッケージングシステム)を使うので vim7 以上限定の方法ですが svn co http://svn.tpope.net/rails/vim/railsvim/ railsvim cd railsvim rake rails

    rails.vim まとめ - 2nd life (移転しました)
    satoship
    satoship 2011/03/09
  • zsh + screen で端末に表示されてる文字列を補完する - 川o・-・)<2nd life:

    以前に入力したコマンドの履歴を覚えていて補完してくれるshellはあるが、 端末に表示されている文字列を補完してくれるshellは無いだろうか。 表示されている文字列を補完してくれるshellが欲しい とvimrc diaryに書かれてたのでzsh + screenで端末に表示されてる文字列を補完する方法を。.zshrcなどに # dabbrev HARDCOPYFILE=$HOME/tmp/screen-hardcopy touch $HARDCOPYFILE dabbrev-complete () { local reply lines=80 # 80行分 screen -X eval "hardcopy -h $HARDCOPYFILE" reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines)) compadd -

    zsh + screen で端末に表示されてる文字列を補完する - 川o・-・)<2nd life:
    satoship
    satoship 2011/02/16
  • watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)

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

    watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)
    satoship
    satoship 2011/01/24
  • 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
    satoship
    satoship 2011/01/02
  • mysqlar ActiveRecordを使った対話型のMySQLクライアント - 2nd life (移転しました)

    通常mysqlのデータをコンソールで調べたい場合はmysqlコマンドを使って調べます。しかしActiveRecord依存症な人(含む自分)な人は簡単なSQLをど忘れしたり、ああRubyのあのメソッドつかえば簡単に計算ができるのに、とか思ったり思わなかったり。 またちょっと値を弄って、計算してinsertやupdateを行うときなんかもmysqlコマンドからSQL発行する形だとやりにくかったりします。 そのため今までは簡単なActiveRecordを使ったスクリプトを書いたんですが、実際はコネクションの設定がほとんどで、プログラムのコアはほんの1〜数行だったりします。 そこでどうせならirb使って対話型にmysqlを使えるようにするクライアントを書いてみました。 mysqlar -unobody -ppassword -t wiki など、mysqlコマンドのように立ち上げることができます。

    mysqlar ActiveRecordを使った対話型のMySQLクライアント - 2nd life (移転しました)
  • github に gem を公開する - 2nd life (移転しました)

    http://github.com/ 最近一部で話題沸騰の githubgithubRails で作られたアプリケーションでは、自分が知りうる限り一番の完成度と使いやすさを誇るんじゃないか、と思っています。 ソースコードツリーの見やすさ、(g)zipでくれ機能、各種 git の情報へのアクセスしやすさ、最初に git レポジトリを作ったとき表示されるチュートリアルと云った基的なことはもちろんですが、オープンソースプロジェクト・コミュニティを加速させるであろう、分散レポジトリを利用した様々な機能がすばらしいですね。 誰かが公開してるレポジトリを fork ボタン一つで自分のレポジトリにクローンし、いろいろ変更を加え、大に取り込んで欲しいなぁ、と思ったら pull request。大のコミッタは気に入れば pull で取り込めばよいし、もし気に入らなかったとしても、変更者がそのフ

    github に gem を公開する - 2nd life (移転しました)
  • gist.github.com で GreaseMonkey Script を管理しよう - 川o・-・)<2nd life

    http://gist.github.com/ 最近 github にまた新しいサービス、gistが誕生しました。これはよくあるソースコードを web にペーストして参照できるサービスの git 版、と云ったところです。 gist の良いところは、まず git を知らなくても使えるところが上げられます。普通のペーストサービスと同じで、ソースコードを適当にはっつければOKで簡単です。編集ももちろん web 上からでき、インターフェイスから編集を行うと、git の履歴としてサーバサイドに保存されます。また、匿名による作成・編集も可能です。(匿名による編集は cookie が切れるまでっぽいですが) そして、git と同じく、github にログインしてれば、gist で誰かが貼り付けたソースコードを fork でき、自分の権限の元編集操作が可能になります。ので、誰かが貼り付けたコードを for

    gist.github.com で GreaseMonkey Script を管理しよう - 川o・-・)<2nd life
  • 昔話 - 川o・-・)<2nd life

    昔話でもしようか。 自分は6年前はプログラミングが全くできなかった。プログラム書ける人は一部の天才だと思っていた。プログラミングができないことに劣等感を覚えた自分は、Linux が使えると格好いいんじゃと思い、Debian で自宅サーバを構築し、アンテナ*1や tDiary で日記サイトを運営したり始めた。 そんなとき、id:antipop と出会った*2。島に住んで、特にITもなにも関係ない仕事をしていた彼が、全く知識が無いところから勉強し Linux で自宅サーバを動かし、php + postgres で blog っぽいシステムを日々バージョンアップさせ、Button Maker for Japanese などのツールを作っていくのを blog 経由でリアルタイムで見ていて、プログラミングもやれば誰でもできるんじゃないかと感じ、自分の日記ツールが tDiary ということもあって、R

    昔話 - 川o・-・)<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 登録まで
  • RDoc をインクリメンタルサーチする greasemonkey スクリプト - 2nd life (移転しました)

    http://rails2u.com/misc/rdocincsearch.user.js 今現在、ruby ライブラリのドキュメントは rdoc で生成するのが一般的です。その中のドキュメント生成の方法の一つのフォーマットに html があり、ライブラリドキュメントの Web の公開形式といえば rdoc が生成した html がスタンダードな感じです。また rubygems をインストールすると使える、ローカルで httpd(webrick) を起動してライブラリドキュメントを閲覧できる gem_server も rdoc の html を利用して表示しています。 しかし、rdoc の出力する html は検索ができないので、たくさんのメソッドから必要なメソッドを探すのに苦労します。そんなわけで rdoc を JavaScript でインクリメンタルサーチできるようにする grease

    RDoc をインクリメンタルサーチする greasemonkey スクリプト - 2nd life (移転しました)
  • JSProxy - AS3 から意識せずに JS を操作 - 川o・-・)<2nd life

    http://github.com/hotchpotch/as3rails2u/tree/master/src/com/rails2u/bridge/JSProxy.as AS3 から HTML の特定要素の内容を取得したり JS のメソッドを引数つけて呼び出したり、値をセットしたりがめんどくさくなってきたので作ってみました。 JSProxy.proxy もしくは new JSProxy() で JSProxy のインスタンスを作り、適当にプロパティを呼び出していって(この時点ではスタックにどういう処理を行うかを書いてるだけ)、最後JSを当に叩いて値を取得やメソッド呼び出しを行いたいときは、プロパティの頭に $ をつけます。 // アラート関数を実行 JSProxy.proxy.$alert('foo'); // body の文を取得 var body:String = JSProxy

    JSProxy - AS3 から意識せずに JS を操作 - 川o・-・)<2nd life
  • Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life

    最近、自分が作る Web アプリケーションで、日語圏に限らず使ってもらえそうな物は最初から一応国際化(というか英語対応)して作るようにしています。国際化対応しておくと、はてブに限らず、del.icio.us や digg で取り上げられたりして、いろいろな人に使えてもらって嬉しいし海外からも adsense 収入gです。del.icio.us のトップや /popular/ からのリファラは、はてブトップ or 人気エントリーからのリファラとそんなに変わらないぐらいなのですが、digg からのアクセスはその十数倍あって驚きでした。 で、題の国際化の方法なのですが、favicon2dots や polaroizeぐらいの小粒なアプリケーションなら、ほんの数分〜十数分作業時間を増やすだけで対応できてしまうので、その方法のご紹介を。 ruby-gettext 武藤さん作の ruby-gett

    Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<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 (移転しました)
  • はてなダイアラー2006 - 2nd life (移転しました)

    アルファブロガー2006 - アルファブロガー-ニュース で、アルファブロガー2006 というのが発表されていたので、2006年に人気の記事を書いたはてなダイアラーをはてブの合計数順で集計して*1みました。 10011 id:fromdusktildawn 分裂勘違い君劇場 9091 id:finalvent finalventの日記 8627 id:naoya naoyaのはてなダイアリー 8209 id:umedamochio My Life Between Silicon Valley and Japan 7370 id:essa アンカテ(Uncategorizable Blog) 6081 id:ululun 煩悩是道場 6040 id:kanose ARTIFACT@ハテナ系 5681 id:starocker sta la sta 5499 id:jkondo jkondoの

    はてなダイアラー2006 - 2nd life (移転しました)
  • 川o・-・)<2nd life - Rails pluginの作り方

    Rails 0.14からpluginの仕組みが導入され、今までは「libにライブラリを置いて、config/enviroment.rbに〜を記述して云々」という面倒な方法が、vender/plugins以下にファイルを配置するだけで、Rails体の拡張が簡単に可能になりました。その作り方をRailsでRESTを簡単に実現するpluginを題材に説明します。 まずは配置するファイルですが、 vender/plugins/プラグイン名/init.rb # 必須 vender/plugins/プラグイン名/lib/* # pluginで利用するライブラリ ディレクトリは$LOAD_PATHに追加される。必須ではない となります。順序としてはconfig/enviroment.rbが読み込まれた後に、init.rbがevalで実行されます。 ではvender/plugins/restmode/i

    川o・-・)<2nd life - Rails pluginの作り方
  • はてなマップの prototype.js による Object.prototype 汚染の弊害

    以前からprototype.jsでObject.prototypeが汚染されてしまうのは問題になっていた。詳しくはノゾキ日記やアルファニート2.0の人がまとめている。先日はてなマップが正常に動かなくなったときいて、そういやはてマってprototype.jsつかってるからそのせいじゃないかな、と思って昼間検証したところ(有休バンザイ!)ドンピシャだった。 で、Rails追っかけやprototype.js追っかけの人は知ってると思うんだけど、最近のprototype.js(prototype.js 1.4.0_preからかな?)ではこのObject.prototype汚染がマズイと思ったのか、Object.prototype拡張がなくなった。そのため、継承は以前では ExtendKlass.prototype = (new Klass).extend({}); と書かれていたのが、 Exten

    はてなマップの prototype.js による Object.prototype 汚染の弊害
  • 川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ

    Ruby on Rails 1.0 までは AWDwR を読んで使い方が解ってる人も多いと思うのですが、1.1 以降でどんな詳細な機能が加わったのかはあまり知られてません。 そのために ActiveSupport の CHANGELOG を淡々と読んでまとめてみました。間違ってる可能性もあるのでそういう箇所があったらご指摘下さい。 Add CachingTools::HashCaching to simplify the creation of nested, autofilling hashes. [Nicholas Seckar] CachingTools::HashCaching という Hash を利用したシンプルなキャッシュ機能のモジュールが加わりました。このモジュールを利用したいクラスで extend して hash_cache :methodnameとすると、そのメソッドが

    川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ