サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
libkazz.hatenadiary.org
Time 型の表示は to_s よりも to_s(:db) の方が分かりやすいので良く使うのですが、Time と TimeWithZone で動きが違うことに気がつかず、とてもはまりました。 具体的にはこの違い... > Time.now.yesterday.to_s(:db) #=> "2012-04-03 03:02:39" > 1.days.ago.to_s(:db) #=> "2012-04-02 18:02:48" 上(Time.now.yesterday)はTimeクラス、下(1.days.ago)は TimeWithZoneクラスです。 ソースを読んでみると、TimeWithZone.to_sは :db が指定されたとき UTC の時間を返します。Time.to_s(:db)はJSTのまま返すので9時間の違いがうまれてしまうのです。 :db 以外は 同じです(正確にはフォーマ
Cとか触れないのでポインタとか知らなくても良い、そもそもプログラミングの教育なんて新人研修でのJavaぐらい。たぶんそういう人多いと思う(自分含め)。そんな人でも perlとかrubyとか、適当に書いても(むしろ適当に書いているうちは)意外と動いてしまう。 動いてしまうから、基本的なところは押さえずに進んでしまったのだけど、最近(前から?)当たり前のように、しょっちゅうはまる。はまるところは、たいてい変数がいつの間にか破壊されていて、しかも基本的なことを理解できていないからソース読んでいるだけだと、原因がよくわからない。あまりによくわからないから、1から作り直してみたら、動いてしまって、そのまま迷宮入りなんてことも。 ということで、良くはまる基本的なところを、おさらいしてみた。 rubyの変数はオブジェクトの参照 つまり、その通りで、当たり前かもしれないけど、おさらいということで、ちゃんと
Perl5.8でdecodeが失敗する。 find_encoding('utf8')->decode($data); とすると、こんなメッセージ出す。 Cannot decode string with wide characters. 入力データ($data)はUTF8の文字列。 guess_encoding($data, qw/shiftjis utf8 ascii/)->name #=> utf8 解決方法はhttp://lab.z-nix.jp/mt/archives/2005/10/ にあった。アリガト!(´▽`)。 で、結局ソリューションは??と聞きたくなるのですが、ようは UTF-8 のフラグが立ちまくっているので、 その状態ではEncodeできませんよということだ。つまり UTF-8 のフラグを降ろせば先程のエラーは出なくなるはず。UTF-8 フラグについては延々と書かれ
DevLOVE 2009 FUSIONのセッション動画を公開するために苦戦したのでメモ。 結局のところコーデックとかビットレートとかフレームレートとかよくわからないので設定には自信ありませんが、これでYouTubeで再生するところまでできました。 YouTubeの推奨値はこちら http://www.google.com/support/youtube/bin/answer.py?hl=jp&answer=132460 最初のころは、こんな感じでやってましたが、これはだと画質が荒くなります。 #!/bin/bash title="DevLOVE_2009_FUSION_○○さん" input=/Volumes/091214_2331/20091212160545.mpg output=/Users/takemo/$title offset=55 #頭だし秒数 last=6600 #動画最後
デバッグのためにscript/consoleのなかで最小限の処理だけ実行したいときがあるけど、そんなときfixtureを読み込む方法は知っておくべき。 require 'active_record/fixtures' Fixtures.create_fixtures('db/fixtures', "libraries") # create_fixtures(dir, fixture) user = User.new user.library = Library.find(1) user.save! fixtureの読み込みはconsoleを一度exitしないと再度実行できないのはなんでだろ。
最近、後輩が作った2つのrailsアプリのコードを読む機会があった。 そこで気がついたこと ビジネスロジックといわれるものはmodelに書くようにする(全部、controllerに実装してあると1アクションがながくなって読みづらい) 複雑なif文はメソッドにして(わかりやすい名前にしてmodelに実装してほしい) コードの量が増えてきたら定期的にリファクタリングしてDRYに保って 一般的なコーディングルールには従おう(たとえばインデントをあけるとか、 = の前後は1つ空白を入れるとか) HTMLもRubyコードと同じように見やすく(HTMLこそ構造化を意識してくれ。HAMLでかけるぐらいに!) 画面数が2つ以上あるなら共通デザインをlayoutで共通化して 一般的な機能をシンプルに実装できかったとしても、良く調べてみればRailsのすてきな機能できっとシンプルにすることができます 様によく
このページを最初にブックマークしてみませんか?
『libkazz.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く