タグ

ブックマーク / wota.jp (45)

  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

    tokada
    tokada 2010/04/28
  • http://wota.jp/ac/?date=20100226

    tokada
    tokada 2010/03/02
  • ヽ( ・∀・)ノくまくまー(2010-01-03)

    ● [Ruby] chawan chasen (形態素解析システム)を Ruby から使うには、yu-yan 作の gyokuro ライブラリが便利でずっと愛用していたのだが、最近の UTF-8 な chasen だと相性が悪いみたい。困ってても仕方ないので、とりあえず自作。chasen の受け皿として chawan と命名。 http://github.com/maiha/chawan インストール

  • fixture replacement 決定戦 - ヽ( ・∀・)ノくまくまー(2009-12-22)

    めも FGはdefineの仮引数周りが無駄 (blueprintで改善) FGはinstanceをフラットに管理しすぎ FGのsequence(next)はイケてる FGはAR前提 Machinistは定義がイケてるが、名前がダサイ(make_unsaved) Machinistはメソッド名が衝突しそう(makeはアカン) Machinistはinstanceをクラス毎に分類できるが、Shamレベルまで落ちるとフラットになる片手落ち感 Daddyの使えなさは異常 FGの継承はどうやるの?(-> :parent) FG.blueprint は :parent を理解してくれない 試行錯誤 Factory.sequence :login do |i| "login#{i}" end Factory.define(:user) do |user| user.login {Factory.next

  • JRuby はじめました - ヽ( ・∀・)ノくまくまー(2009-06-30)

    1.8 のスレッドは? green thread (ユーザレベルスレッド) 1.9 でなんか変わったの? native thread (カーネルスレッド)になった おぉ、マルチコアの恩恵を受けて高速化!? いや、並行実行はしない どういうこと? 各スレッドを順番に少しずつ実行するけど、同時には実行しない え?じゃ、速度は... 1コアでも32コアCPUでも一緒 ちょw。それって1.8でも一緒じゃん。何で並行実行しないの? Rubyから使うCの拡張ライブラリを全部、並行処理に対応させる必要があるから それは大変そうだな。連絡付かない作者もいるだろうし 1.9 では動かなくなるライブラリがあるのを避けるために、native にしたけど並行化はしなかった 確かに、正しい選択だ。で、当は? 作業コストが大変だから(笑) ちょww。あれ?じゃあ green thread のままでも良かったんじゃね

  • ヽ( ・∀・)ノくまくまー(2009-04-08)

    やはりテストの話題になって stubとmockの違いを1行で! 今のテストフレームワークのお薦めは? RRが熱いよ!(英語ぽく書くのが目的じゃない、rubyぽいdslが必要なんだ!) mock で should_receive でガチガチにサブオブジェクトに介入してくる人って何なの! duck type の考え方からしても、何をやるかは相手に任せるベッキー mock は探針であるべきだ stub しか使わないよね ごめん、俺、最近は実データ派に戻ってきたんだ(Fixtureラブ) Fixture はシナリオ別に使い分けるのが面倒じゃない? そこで FactoryGirl ですよ 何が嬉しいの? テストデータを ruby コードで動的に書きたいときがある それって、もし fixture を簡単に切り替えられる機能があれば不要じゃね? 動的なら YAML でゴリゴリ書く方法もあるし 切り替え、

  • ヽ( ・∀・)ノくまくまー(2009-03-30)

    ● [テスト] should change に見る UnitTest と RSpec の違い Yugui さんに Proc#should change が便利だと教わった。 Spec::Matchers::Change Spec::Matchers::Change を使うと、一連のコード(proc)実行時に変化したこと(仕様)を簡単に記述することができる。 should change(receiver, message, &block) should change(receiver, message, &block).by(value) should change(receiver, message, &block).from(old).to(new) should_not change(receiver, message, &block)

  • [Rails] Metal, Metalの戦闘力 - ヽ( ・∀・)ノくまくまー(2008-12-16)

    ● [Rails] Metal Rails edge に Metal という新しい機能が追加された。これは Rack を用いた高速な Controller であり、Rails の色んな機能は捨ててでも、兎に角、単純で速いレスポンスがどうしても必要だ!という局面ではもの凄い助けになるだろう。 http://github.com/rails/rails/commit/8c3a54366435eebc2c8aa63b63e1349ce74a7b38 作成 場所は app/metal。metal ジェネレータが用意されているので、controller と同じ感覚で使える。既存のコントローラ(top1)と速度比較をするので、こちらの名前はtop2にしてみる。 従来のコントローラ的思想でいけば top2_metal.rb が作成されそうなものだが、そうはなっていない。この辺あたりに Merb 臭が少し

    tokada
    tokada 2008/12/17
    "Rails edgeにMetalという新しい機能が追加された。これはRackを用いた高速なControllerであり、Railsの色んな機能は捨ててでも、兎に角、単純で速いレスポンスがどうしても必要だ!という局面ではもの凄い助けになるだろう。"
  • ヽ( ・∀・)ノくまくまー(2008-11-15)

    map.resources に :only, :except オプションが追加 ルーティング数の爆発を抑えるために制限オプションが追加された。 map.resources :posts, :only => [:index, :show] do |post| post.resources :comments, :except => [:update, :destroy] end

    tokada
    tokada 2008/11/16
  • 2.2 に上げるときのトラブルを淡々と記録する

    ● [Rails] 2.2 に上げるときのトラブルを淡々と記録する 2.1 に上げている間に空気読まずに 2.2 (RC)が出たので追従する 910個溜まったら自費出版する

    tokada
    tokada 2008/11/02
  • Rails2.2 RC1 が出たので、淡々と変更点を追って見る ー ヽ( ・∀・)ノくまくまー(2008-10-25)

    ● [Rails] Rails2.2 の ActiveSupport まとめ Rails2.2 RC1 が出たので、淡々と変更点を追って見る。

    tokada
    tokada 2008/10/25
  • ヽ( ・∀・)ノくまくまー(2008-08-04)

    ● 沖縄移住しますた これからの Rails は、東京でも松江でもなく、沖縄です!(by 新庄) というスローガンを掲げて、テンションのみで引越。家の場所は那覇市のおもろまち。具体的な場所は GoogleMap でピンポイントに指してるので(下図参照)、沖縄に来ることがあれば是非尋ねて来て欲しい。事前連絡も不要。家のチャイムをいきなり鳴らしてくれ。いつ何時、私は誰の挑戦でも受ける! 家の場所→

  • ヽ( ・∀・)ノくまくまー(2005-06-17)

    ● FastCGI でエラー 開発時のWebサーバは WEBrick ("ruby script/server" で起動される)で、かなり反応が早い。この速度に慣れたまま Apache で動かすと、生cgiの起動コストに起因するあまりの遅さに愕然としてしまう。よってFastCGIを試してみたのだが、以下のような謎のエラーが大量に発生してしまう。 [Fri Jun 17 08:58:28 2005] [warn] FastCGI: (dynamic) server "/home/package/sites/rails/keitai/public/dispatch.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600

  • Rails勉強会@東京

    Adapters Yahoo UI! (.12+) jQuery (1.1+) Prototype (1.5+) / Scriptaculous (1.7+) Prepare install wget http://www.yui-ext.com/deploy/ext-1.0-alpha3.zip unzip ext-1.0-alpha3.zip ln -s ext-1.0-alpha3 public/ext

    tokada
    tokada 2008/01/29
    json = users.map(&:to_ext_tree_node).to_json
  • 優しい Merb の育て方

    ● [Rails][Merb] Merb とは? Merb (Mongrel + Erb) は MVC ベースな Ruby の Web フレームワークである。簡単に言うと、軽量な ActionPack クローンである。Rails のテーマが「規約とDRY」ならば、Merbのテーマは「疑わしきものは入れない」であり、Rails の各機能を取り込みつつも、小さくて単純で簡単で軽量、そして高速であることを目指している。 特徴 コアはシンプルに (必要な機能はプラグインとして追加させる) thread safe cgi.rb を使っていない 高速な ERb エンジンである Erubis を標準装備 Rails に似ている (機能、ファイル配置) 大体3倍くらい速い (Rails Mongrel との比較) チートシート (Rails との比較) 基的に Rails である。app 以下のディレク

    tokada
    tokada 2008/01/06
  • ヽ( ・∀・)ノくまくまー(2007-12-27)

    ● [Rails] Ext plugin is updated added two methods. ext_scaffold ext_tree http://wota.jp/svn/rails/plugins/branches/stable/ext ● ext_scaffold This method is same as 'ext_paginate :edit=>true', but it now recognizes 'create' and 'destroy' actions. (special thanks to zorio!) app/controllers/kid_controller.rb Create action click 'Add' button an empty record is created! edit it as you like Create actio

    tokada
    tokada 2007/12/28
  • ヽ( ・∀・)ノくまくまー(2007-12-16) 「Ruby 1.9について」(ささだ)

    ● 「Ruby 1.9について」(ささだ) 変更:Hash が内部的には全て OrderedHash になる マジで!?こういうときに apt で10秒後には速攻で試せるのが Debian の魅力だ。 (nksk)<~>% irb1.8 irb(main):001:0> {:a=>1,:b=>2}.keys => [:b, :a] (nksk)<~>% irb1.9 irb(main):001:0> {:a=>1,:b=>2}.keys => [:a, :b] ほんまやー!1.9 は全く興味がなかったけど、これだけのために今すぐ使いたいレベルになりました。これから自分用の小物は全部1.9で書きます。はい。 当は誰もが昔から切望していた機能だけれど、「Ordered 用途が不要な人にとっては、無駄なメモリ消費」という主張で見送られてきたらしい。しかし今回、1.9に伴ってObject周りのメ

    tokada
    tokada 2007/12/17
  • http://wota.jp/ac/?date=20071214

    tokada
    tokada 2007/12/15
  • [Rails] development 環境って要らなくね?な件 - ヽ( ・∀・)ノくまくまー(2007-12-11)

    ● [Rails] development 環境って要らなくね?な件 development 環境の Dependencies が便利すぐる でも時々 XXX is not missing constant YYY とか発生しちゃう Dependencies の黒魔術部分なので再現性も低く、原因究明も困難だ というか開発時にのみ起きる不具合を必死に追うのも生産性的に問題がある そもそも development 環境は Ajax の1アクセス毎に再読み込みをするので非効率だ いっそ production 環境で開発したらどうよ でもコードを修正する度に手作業でサーバを再起動させるのは面倒 autotest みたいに自動でやってくれたら嬉しい それだ!autotest のテスト実行部分をフックして再起動させればいい autotest はライブラリと実行部分が同じファイルで不可分 (しょぼーん)

    tokada
    tokada 2007/12/12
    autoreaper 完成
  • ヽ( ・∀・)ノくまくまー(2007-06-05)

    ● 1. 一戸建てタイプ そのアプリ用に専用のマシンを準備できるケース。例えば、アクセス数が少ないβリリース時などは mongrel を直接80ポートで運用することもあるだろう。そして、負荷の増加、またはマルチコアを活かすという次の段階で、cluster 化した mongrel を扱う必要に迫られた場合、このタイプになる。この場合、フロントの仕事はバック(Rails)への割り振りだけだが、そのためにわざわざ Apache2 を持ち出すのは仰々しいと感じるかもしれない。そんな人にお奨めしたいのが Pound サーバだ。いきなり Apache から話が逸れてしまうが、このケースだとリアルでお奨めである。 Pound + mongrel Pound はリバースプロキシ用のWebサーバであり、特化しているだけあって、必要最低限かつ直感的で簡単な設定で済むため、敷居が低いのが魅力だ。それでいて、デジ

    tokada
    tokada 2007/12/03