a = 10 # main に変数`a`を定義する。
f1 = -> { a * 2 } # クロージャは変数`a`を包む。`a`の参照するオブジェクト「`10`」を包むのではない
a = 100 # 変数`a`の参照するオブジェクトを変更
p f1.() #=> 200 # クロージャ実行時に`a`が参照するオブジェクト「`100`」を評価
クロージャがいつ変数を評価するかメモメモ。それにしてもここ丁寧にまとめてくださってます。
2017/04/23
クロージャがいつ変数を評価するか
2015/09/13
2015/05/24
2015/05/05
2014/06/13
2014/04/24
すごくありがちなRailsサイトの高速化
すごくありがちなRailsサイトの高速化 @ デジタネイティブ
面白そうなgemを紹介してくれてます。動かしながらLoadを見るだけで結構体感的にわかるものなんですねぇ。駄目な方法のcountをそのまま使ってました....
面白そうなgemを紹介してくれてます。動かしながらLoadを見るだけで結構体感的にわかるものなんですねぇ。駄目な方法のcountをそのまま使ってました....
2014/04/20
Rails4で変わったところに関するリンク集
- Ruby on Rails 4.0 勉強会資料 @ slideshare
- 動的なファインダメソッドは非推奨なのか。それにしてもマルチスレッドが駄目だからNode.jsが産まれたんだと思うんだけど、うーん…。
2014/03/30
2014/03/28
2014/02/23
bundlerに関するリンク集
bundler/setupをコードの中に書いておくべきか、bundle execごしに呼び出すべきか悩み中。Rubyの師匠が欲しい…。
- gem管理の新標準ツール"Bundler"のTips
- bundlerの概略をわかりやすく書いてくれています。cronからの使い方は今は本家に丁寧に書いてくれてますね。
2014/02/19
レースコンディションとトランザクション分離レベルの話し
Rails におけるレースコンディションの例とその回避方法 @ Slow Dance
勉強させて頂いた。ActiveRecordを最初に見た印象は「不思議ちゃん」でした。なんで動くの?ラッピングしすぎでしょ的な。でもこの辺まで考え始めるとインタフェースが統一されているってのが凄く重要だと思うんですよね。ロックが必要な場合と必要でない場合が当然あるわけで、いろんな書き方されるとソースを追うのがすげー大変。ActiveRecordはそのへんの情報が比較的上位のレベルで統一してわかるのがいいなぁと思います。
勉強させて頂いた。ActiveRecordを最初に見た印象は「不思議ちゃん」でした。なんで動くの?ラッピングしすぎでしょ的な。でもこの辺まで考え始めるとインタフェースが統一されているってのが凄く重要だと思うんですよね。ロックが必要な場合と必要でない場合が当然あるわけで、いろんな書き方されるとソースを追うのがすげー大変。ActiveRecordはそのへんの情報が比較的上位のレベルで統一してわかるのがいいなぁと思います。
2014/02/16
アラウンドエイリアスに関するリンク集
Rubyの黒魔術には極力手を出さないようにしていたのですが、テストコードを書くときに初めてそのありがたさが身にしみました。出合った状況は以下のもの。メソッドaが内部でメソッドbを呼び出しており、メソッドbが外部サイトの状況により例外を投げることがあるとする。このとき、メソッドbの各種状況によるメソッドaのテストパターンを書こうと思ったのですが、テストのときメソッドbを再定義できると便利だなぁと(このアプローチが正しいかどうかは悩み中)。で、いろいろ検索してるとアラウンドエイリアスという手法(?)らしいですね。このへんの用語を知ってるかどうかでヒット率が全然ちげーのでメモメモ。
- aliasによるメソッドの再定義は危険なのでUnboundMethodかextendを使おう @ rubikitch
- aliasを安易に使うのは避けたほうがいいのか。なるほど。
- rails の alias_method_chain が素晴らしすぎる @ sasata299's blog
- 再定義するときの名前に困ったのですが、alias_method_chainの命名規則に習おうかなぁと思ったり
2014/01/30
Rakeに関するリンク集
例によってぼちぼちとメモしていきます。
- Rake @ idesaku
- Rakeを基本から学ぶのにいい。まず読むのにいい感じ。こういうドキュメントって長期に渡って愛されるんですよね。
2013/12/28
Railsのコマンドに関するリンク集
例によってぼちぼちとメモしていきます。
- rake db:resetとrake db:migrate:resetの違い @ memo.yomukaku.net
- なるほどなるほど
2013/11/23
Railsの複数同時更新に関するリンク集
- Ruby on Railsで絞り込み用に複数のチェックボックスを作成する方法 @ もっとクールにプログラミング
- OpenStruct使うのかぁ。なるほど。
- Rails – 行ごとにチェックボックスを作成する方法 @ Tamrable
- 全く同じ処理探してたんで助かりました。
メモメモ。
2013/11/19
Rails TextHelperリンク集
ぼちぼち書いていきます。
- ビューについて @ railsdoc
- もう元祖と言っていいぐらいリファレンスが便利
- Rails TextHelperまとめ @ Qiita
- excerptなんてのがあるのかw
- http://fujishinko.nengu.jp/python/rails_text.html
- いろいろ書いてくれてます。
- link_to_ifで条件がfalseの時、表示を消す方法 @ IwazerReport
- 一歩進んだlink_to_if
2013/11/14
Test::Unitに関するリンク集
見る人いるかわかりませんが、初心者(僕)はきちんとfixturesが読まれたかphpMyAdmin等で確認するのが重要だと思いました。
- test @ railsdoc
- 本家
- Rails の Test::Unit で setup を定義する 3 つの方法 @ passingloop
- setupで共通部分をどうやって書いていけばいいかの指針になりました。
- Rake タスクで任意のファイルを複数指定する for Rails Test @ しのぶら!!!
- 開発中ってテスト項目を選びたいんですよね。
- Testの注意点 @ k10i - Rails note
- 1つのメソッドを選んでテストをしたいときのやり方。開発中ってマジさくっとテスト終わって欲しい...
- Rails テストに関する便利だけど見過ごされがちな 2 つの rake タスク @ passingloopの日記
- こんなことできんのか。すげー。
- Test::Unit::Assertions @ rubydoc
- assertいろいろ
- テストfixtureの中にerbを書いて動的に生成する @ 日々此妄想
- Ruby業界ってこういう黒魔術的なのほんと多いですよねぇ....といいつつ、このDRYは便利いい。使わせて頂こう。
- test_helper.rb の setup() とかteardown()とか @ 同じにやっても動かない
- 共通部分はここに書きましょうって話
- RailsでDBからFixtureを作成する @ TechRacho
- 今はテストデータをfixturesに書いて結果をphpMyAdminで見るという手法を取っていますが、逆もありなんかなぁ。FactoryGirlも気になります。
RSpecに移ることにしました!!情報量が違いすぎる!!
2013/11/09
RubyのFiberを非同期I/Oに使うNeverBlockとRevactor
RubyのFiberを非同期I/Oに使うNeverBlockとRevactor
自作のクローラが遅いんで、落ち着いたらこのへん調べてみよう。
自作のクローラが遅いんで、落ち着いたらこのへん調べてみよう。
登録:
投稿 (Atom)