邪魔だなーとか思いつつgrep通すなどして非表示にしてたけど、本家のissuesを漁っていたら二年ぐらい前から言われてるようで。
Served asset log messages are pretty annoying! :)
正解としては、config/initializers以下あたりに適当な名前で以下のコードを置けばいい。
# config/initializers/quiet_assets_log.rb
Rails::Rack::Logger.class_eval do
def call_with_quiet_assets(env)
previous_level = Rails.logger.level
Rails.logger.level = Logger::ERROR if env['PATH_INFO'].index("/assets/") == 0
call_without_quiet_assets(env).tap do
Rails.logger.level = previous_level
end
end
alias_method_chain :call, :quiet_assets
end
その後もクラスにしたりいろいろ試行錯誤されてるけど、開発でしか使わないしこんなもんで充分だよね、という話。
授業は無料、支払いは就職後に。プログラマー養成学校「Appアカデミー」 -
サンフランシスコのプログラミングを教える学校が導入した学費の仕組みが大きな注目を集めている。それは「仕事に就くまで、学費は支払わなくていい」というものだ。卒業して仕事を見つけた人は、初年度に稼ぐ年収の15%を学費として6ヶ月間ほど支払う契約になっている。
最近sublime text2を買い、モダンで動作が高速なvim環境を目指して徐々に移行してます。 一番の障害はキーボードから手を離さないと出来ない操作なので、それを無くす方向でプラグインなどを探してるんだけど、表題のようなことをするのに最適なpluginを見つけたので紹介。
ケースとして、表題のように指定した場所に新規ファイルを開く場合。 vimだと
:e some/directory/newfile.txt
ってやるとnewfile.txtの有無に関わらずそこでそういうファイルを開いてくれるんだけど、sublime text2のgoto anythingでは存在しないファイルは開けないので困っていたところ、noklesta / SublimeQuickFileCreatorというのを見つけた。
これをInstall Packageからインストールして、bindkeyに以下のように追加すると文字通りQuickにファイルが開けて便利です。
[
{ "keys": ["command+n"], "command": "quick_create_file" },
{ "keys": ["command+alt+n"], "command": "quick_create_directory" }
]
僕は標準のCommand+nの挙動は必要ないので上書きしてしまいました。 Command+alt+nにするとディレクトリも作れて便利です。
PHP Manualのsimplexmlの欄に書いてるけど
$xml = '<?xml version="1.0" ?>
<root>
<parent>
<child>MUSUKO</child>
</parent>
<attr foo="FOO" bar="BAR" />
</root>';
$array = json_decode(json_encode(simplexml_load_string($xml)), true);
var_dump($array);
東京Ruby Kaigi #10に絡んでCodeIQに出題されてたFizzBuzzコードゴルフの問題について。 当日聞いてた中で一番短かったのは68byteだったと思うけど、そこまでたどり着かずギブアップ。 誰か教えてください。。。
$*[0].to_i.upto($*[1].to_i){|i|i%3<1&&x=:Fizz;puts i%5<1?"#{x}Buzz":x||i}
ついでに、当日スタッフで参加してて他でもやりたいと思ったことを適当に
こんばんは。Python界にたまに遊びに行くsanojimaruです。 これは#kabepy Advent Calendarのポストなんですが、みなさま#kabepyをご存知でしょうか。
正式名称?はPythonボルダリング部です。Pythonの人が集まって定期的にボルダリングする会ですが、僕みたいに全然Pythonにコミットしてなくても快く受け入れてくれるとってもいい人たちなので、多分普通のボルダリング部です。
基本的にTwitterでハッシュタグ#kabepyで連絡を取り合って、月1〜2ぐらいでやってます。FacebookにもPythonボルダリング部というグループがあります。また、活動の際はconnpassにあるPythonボルダリング部で募集するので要チェックです。
そもそも僕もまだ数えられるほどしかやってないですが、楽しく体を動かせる点が素晴らしく魅力的です。最近お腹回りが気になってきてジムとか行ってみたけど、ガラスに映る自分の姿を見ながら同じ所を走り続けるなんて苦痛以外の何物でも無いです。その点、ボルダリングには難易度毎に課題という短いコースがいくつもあり、小さなスパンで達成感を味わいながら壁にチャレンジし、気づいたら全身筋肉痛になっているという素敵なフローが出来上がります。
ちなみに僕は初心者のボルダリング入門・上達法というサイトを少し眺めてから行きました。 あと、Pythonボルダリング部のテンプレートがすごく勉強になります。
日付が変わってしまったので手短に締めますと、#kabepyはこんな人にオススメです。
あと、Expert Pythonプログラミング読書会っていうイベントやってるので、#kabepyに興味があるけどいきなり初対面の人と壁登るのは不安という方はぜひご参加ください。
以前まではActionController::TestUploadedFileとかいう微妙なクラスだったのだけど、Rails3よりfixture_file_uploadというメソッドになったので打ちやすくなりましたねっていうだけ。使い方は変わってない。
# fixture_file_upload(path, mime_type = nil, binary = false)
let :uploaded_image { fixture_file_upload('/uploadedimage.png', 'image/png')
before { post :upload, {image_file: uploaded_image } }
日本向けアプリを作る場合、Railsのconfig/application.rbのconfig.timezoneは’Asia/Tokyo’にするわけですが、DateTime.parseの結果にはtimezoneが反映されないという問題。 結論として、DateTime.parseじゃなくてTime.to_datetimeを使えという話。 rails cで叩いてみるとこんな感じ。
# Rails 3.2.6
irb(main):001:0> DateTime.parse('2012-07-31')
=> Tue, 31 Jul 2012 00:00:00 +0000
irb(main):002:0> Time.parse('2012-07-31').to_datetime
=> Tue, 31 Jul 2012 00:00:00 +0900
ブログ毎日書く宣言を撤回せざるを得ないほど忙しかったわけですが。 以下のようにするとできますよと。
find . -name “*.php” | xargs -J% cp -f % ~/workspace/phpfiles
上記の例は、カレントディレクトリ以下にある.phpファイル全てを~/workspace/phpfilesにコピーするものです。 キモはxargsの-Jオプションで、これを使うと後に続く”%”はパイプからの入力で置換される。 execでも同じ事出来るけど、xargsの方が並列実行できるしより直感的なオプションですね。
“㈱”や”㈲”などの文字をCSVなどからShift_JISで取り込み、rubyでUTF-8に変換するときにUndefinedConversionでハマった。
"㈱".encode('UTF-8', 'Shift_JIS')
> "\x87\x8A" from Shift_JIS to UTF-8
> /User/sanojimaru/workspace/example/lib/string.rb:849:in `encode': "\x87\x8A" from Shift_JIS to UTF-8 (Encoding::UndefinedConversionError)
Shift_JISは一部の機種依存文字に対応していないので、CP932(Windows-31J)を使えば良い。
"㈱".encode('UTF-8', 'CP932')