Rails でfind_by_sql を使う場合に、大きいSQL だと次のようにSQL 中に関数を使ってしまうことがありました。 単純な例だとこんな感じ。 User.find_by_sql([<<-SQL, {:id => 1}]) SELECT * FROM users WHERE IF( :id, id = :id, 1 ) SQL でも、このようにIF …
欲しかったので作成。初elisp! (defun my-kill-all-buffer() (interactive) (yes-or-no-p "kill all buffer? ") (dolist (buf (buffer-list)) (unless (member (buffer-name) '("*scratch*" "*Messages*")) (kill-buffer buf)))) 動作確認 GNU Emacs 22.2.50…
先日大きめ(といっても500万行くらい)のテーブルにインデックス付きのカラムを追加しようとして痛い目にあったので調査。 大きめのテーブルにカラムやインデックスを追加するとどうなるか 今回は単純に、「ALTER TABLE 〜 」で追加しようとしました。追加す…
メモ。あるオブジェクトの集合があって、各オブジェクトの属性を集計したいとかそういう場合。 基本的に、Hash を使って、key-value 型でやればいい。 # -*- coding: utf-8 -*- if RUBY_VERSION < "1.8.7" require 'enumerator' end Club = Class.new do att…
ちょっと考える機会があったのでメモ。僕の仕事環境だと、Trac, SVN, IRC(, あとplagger) を中心に開発している。 これらを使っていて思うこと Trac と連動しているとタスク管理が楽だよねー!……違うよ!全然違うよ!それだけなんて勿体ない > ↑ぶっちゃけ最初…
ここ以前から分からなかったので調べてみました。 基本 class_eval Module で定義されている なので、クラスやモジュールにしか使えない irb(main):009:0> String.respond_to?(:class_eval) true irb(main):011:0> Enumerable.respond_to?(:module_eval) tru…
何故だ。MD5 の方が速いんじゃないの? ベンチマーク $ /usr/local/bin/ruby -v hash_bench.rb [~/tmp] ruby 1.8.5 (2006-08-25) [i686-darwin9.5.0] Rehearsal ---------------------------------------- MD5 4.070000 0.010000 4.080000 ( 4.102120) SHA1 1…
Amazon.co.jp: 実践ハイパフォーマンスMySQLを読んでいたら「クエリチューニング」の章(p. 101)でタイトルにある問題が取りあげられていたので考察。 MySQL のバージョンは「5.0.67」。 サンプルDB サンプルとして、よくある商品と注文のテーブルを使います…
まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるた…
rails で携帯アプリと言ったら定番のjpmobile の超軽量コピー。 できること キャリア判定 端末情報取得 ソース # porting from http://github.com/darashi/jpmobile/tree/0.0.3 class Mobile def self.carriers self.constants - %w[Base] end def self.crea…
最近考えていることがありました。それは、いわゆるギークな人やハッカーは人はどんな風に勉強してきて、今その高みにいるんだろうということです。Shut the fuck up and write some code. ってつっこまれそうな内容ですね(ノ∀`)でも考えてしまうわけです。…
id:hogelog さんが作成されたldr_view_entry_link.user.js(RSS消化を高速化 - 大学6年生のhogelog で紹介されてる) が便利。 僕もRubyNewsとかreddit.com 日本語版 のfeed を購読しているので、エントリー中のリンクをショートカットで開けたらな〜って思っ…
Rails でQR コードを出力する必要がありました。要求は以下の3点。 普通のビュー内でも使いたい Helper でQR コードAPI用のURL を生成して、それをimage_tag に渡せばおk QR コードだけポップアップする機能も欲しい Controller でsend_data + ビューでlink_…
今までEvernote を使って作業ログを残していたのですが、chalow の方がメリットがあったので、chalow を使ってみました! Evernote のいいところ シンクロできるのでどこでも使える クロスOS なクライアントソフトがある チェックボックスを挿入できて、Todo…
macports のmysql4 やmysql5 を普通にインストールすると、mysql クライアントから日本語を正しく入力できません。例えば、以下のようなクエリを入力すると、Return を押した時に日本語が見事に化けます。 SELECT name AS 名前 from users; さらに困ったこと…
昨日、はっまった ^^); ・・・ ActiveRecod.find(id) の id は文字列でも良いが、全てのAPIがそうなわけではない! - yuum3のお仕事日記と全く同じハマり方をしました。 form のselect はハマる 例として、商品を作成するフォーム。商品にはジャンルが指定で…
rails の2.x 系をまともに勉強していなかったので、調査しました。コピペの部分も多いですが、情報ソースと共に記述します。 あまり変更点がなかったマイナーアップデートは除外してあります。 1.2.4 2.0 からエラーになる構文に対する警告出力 1.2.4 で警告…
現在の環境 ruby 1.8.7 rubygems 1.3.1 rails 2.2.2 他のバージョンのrails はインストールしていない 試しにfreeze この状態で、1.2.6のrails アプリに対してfreeze を実行しようとする。 1. config/environment.rb の内容を書き換える(今回の例では1.2.6) …
あったらいいなーって思い、作ってみました。機能概要は以下の通りです。 機能 現在閲覧しているページをはてブしている「お気に入りユーザ」を表示する ついでに、自分がはてブしているかも表示する 導入するとこんな感じに、左下にお気に入りユーザのfavic…
ちょっと必要になって書いてみた。 リダイレクトを追うようにしている 例外の処理の仕方がまだまだ汚い fetch_title.rb require 'net/http' require 'net/https' require 'uri' require 'nkf' Net::HTTP.version_1_2 USER_AGENT = 'Mozilla/5.0 (Macintosh; …
あるテーブルのカラムがシステムのみによって編集される値で、ユーザから編集させたくない場合、そのvalidation が欲しいと思った。 例えば、はてなブックマークのエントリーのタイトルは、ユーザは編集できず、ページのtitle タグの内容で固定したいみたい…
最近、仕事に当てる時間が多くて、Blog が更新できてない・・・。はてダ初めて以来更新していない期間が一番長いです(⊃д⊂)更新が止まると、「最近勉強してないなぁ」っていう感じが押し寄せてきてしょんぼりします。 残業続きだったこともあり、仕事について…
なんか、リニューアルされたらMinibufferBookmarkCommand 経由ではてブできなくなった。「100%」とかでるけど、実際にはブックマークされない( ゚д゚) ブックマークレットだと、タグの[]を打つのが面倒なので、MinibufferBookmarkCommand を修正。一応動くよ…
今日昼頃テレビを見ていたらちょっと興味があるものがやっていた。「東大の研究室に所属するあるセルビアから来た人」の話。 日本の宗教に関して学んでいるという。「日本ではクリスマスを祝い、亡くなればお墓に入り等宗教がMix している」と言う。そして、…
読んでいたコードで面白いテクニックを使っていたのでメモ。 Rails のActiveRecord のfind 系メソッドは優秀だと思うけど、自分でSQL を書きたい時があると思います。そこで、find_by_sql を使うわけですが、その際、大規模なSQL を書く場合のTips です。 環…
昨日、ウェブキャリアさんが主催する月間524万人が利用する食のインフラ、「クックパッド」のものづくりセミナーに行ってきました。 クックパッドと言えばRails での大規模リニューアルがニュースになりました。また、大規模開発には向かないと言われたこと…
以下の動作が実際どのような動きをしているかメモ。 class User < ActiveRecord::Base belongs_to :club end User.column_names => ["id", "club_id" ....] user = User.find(:first) user.club => #
Windows のIME 関連のキーバインドって物凄い使いにくいですよね!EeePC とかでWin 使うと耐えられない。 IME のON/OFF を切り替えるキーの位置が遠すぎ IME のON/OFF がトグル 英字を入力しようとして「半角/全角キー」押したら実は元々IME OFF でまた押す…
ruby 1.8.7 からenumerator が組み込みで使えるようになった。enum_for がデフォルトで使える。 enum_for Enumerable に定義されているメソッドの多くはinclude 先のクラスのeach メソッドを使って実現されている。 例えばmap の実装は以下のようなイメージ…
growlnotify を使うと、毎回以下のような警告がでる。 growlnotify -m "test" 2008-11-09 03:56:17.817 growlnotify[727:10b] could not find local GrowlApplicationBridgePathway, falling back to NSDNC 動作には影響ないですが、毎回でてくるので調べて…