大江戸 ruby 会議 04 参加した話
イントロ
タイトルの通り。行ってきました。
他の人もまとめてらっしゃるので、そちらのほうがわかりやすいです。
ここでは自分のメモを見ながら、もう一度頭のなかで再現する意味を込めて、書いてみました。
あ、全部書いてるので、めちゃくちゃ長いです。
それとまとめの粒度に差がありますし、内容の精度も保証できませぬので、ご了承ください(私の脳味噌スペック的な問題で)
他の方のまとめ
大江戸Ruby会議04参加しました! スライド・リンクまとめ - 酒と泪とRubyとRailsと
大江戸 Ruby 会議04 に参加しました - Programming log - Shindo200
1."legacy" to the "edge".
Hiroshi Shibata さん
写真共有・保存サービス 30days Album の脱レガシー化の話
一年前
今
やったこと(一部抜粋)
- github workflow 導入
- version up の際に kage で動作確認
- rails 2.3 で、ほぼ 3.0 とほぼ挙動が同じにようにして update を進めていった
- rails 2.3 で delayed_job
- 今まではdeploy が怖かった
- 金曜に deploy しない、などのバットノウハウ
- kyototycoon は遅かったので書き換えた
- memcachd に(?)
- DB より遅かった
まとめ
- こまめに jump しましょうという話
- 技術的負債を一年貯めると、そこから脱却するのに二年かかるかもしれない
- そうならないように、日々少しづつやっていくしかない
2. "Infrataster - Infra Testing Framework"
Ryota Arai さんから、Infrataster の話。
- infrataster
- インフラを「味見する」の意味
- server の外側から、振る舞いをテストするもの
問題
- test 書いたけど動かないケースがある
- そもそもそうならないようにテストしたいよね
- 例えば「この url にアクセスした時、200 が返ってくる」のようなテストを書きたい
- それ infrataster で!
使い方
- github に書いてあるはず...
特徴
- capybara を使ったテストも書ける
- 途中で request の header を書き換えている
- mysql_query も投げられる
- mysql の user がいるかどうかをチェックできたり...
まとめ
- infrataster を使うと、テスト書いたけど動かないというケースは起こりえない!
疑問
- dog-fooding って何?
- 犬の餌?
3. Random Ruby Tips
Winston Teo さんから「30 random ruby and rails tips」
知らなかったこと
- classにto_proc メソッドを定義して、&クラス名 でプロックを呼び出せる
- source_locatonメソッド
- メソッドの実装の箇所を返すメソッド
- (reflection されている時どうなる?)
- ruby -run -e httpd . -p 8080 でサーバーが立ち上がる
- hhpd が無いとダメ
- rake notes でコメントを表示できる
- ただし comment を書くときは大文字から
疑問
- Openurl::Buffer.send :remove_const StringMax したら、全部 Tempfile に書きだすよ! っていう Tips があったけど、デンジャラスすぎる...
4. Nobody Knows Nobu
Zachary Scott さんから Nobu さんの話
- アメリカンジョークが入ってた
- 喩え話的な話
- (英語聴きとるのに必死で、ジョークまでついていけてない)
5. 私は如何にして異国でエンジニアとして生き抜いてきたか
Leonard Chin さん
- 外国で働きたい
- いいことたくさんある
- けどやった人は中々いない
- 2つの問題
- 言語
- 足りない
- 学校に行った
- 試験、資格を取った(あくまでマイルストーン)
- 練習すればできる
- 就業
- 色々あるけど comunity 最強
- 言語
- 生き抜くためには
- 文化を学ぶ
- encounter(出会う)
- embranse(受け入れる、enjoy する)
- study(学ぶ)
- 生きている英語を学ぶ
- オススメは reddit
- 文化を学ぶ
疑問
- モチベーションの原点が気になる
6. 画像を壊すこと、OSS 活動をすること、その他
Shimpei Makimoto さん
- 画像を破壊することをやってる人
- (詳しい破壊の仕方は発表されてなかった)
- makimoto/glitched_string
- 文字列を破壊するメソッド
- OSS の活動
- @hsbt に煽られた
感想
- 謎に記憶に残ってる
7.RubyVM読んでみた
Kawamotoさん
まとめ
- なるほど、わからん 状態
- ruby のコア部分に対する勉強不足が原因
- C わからん
- メモリ確保とか、そのあたりの知識も不足している
- ret が並んでいると、どう便利なの? という根本的なところがわかってない...
- ruby のコア部分に対する勉強不足が原因
感想
いい声- わからなすぎてモチベーションが上がった
- ついに C の荒波に揉まれる時がきたか... という意味で
- タイミング的に丁度いい
- 最近業務やプライベートでも ruby の実装以外も読めないと、きつくなってきたなぁと思い始めていたので。
8. Ebi & Aaron Patterson
@ebitwin さん
- communitiy
- conference
- keep ruby alive
最初の映像やばい。
まとめ
続いて Aaron Pattersonさん
AdquateRecord の話
- humanity
- don't want new feature
- static な部分を cache させ、より高速化
benchmark
- 70% fewer
- trade memory for speed
9. 1年かけてgemを1つ作りました
Kunihiko Itoさんが作成した rgitlog の話
- rails のアプリケーションで git の commit log を表示できるようにするもの
- 実演あり
- 実際に commit が反映されるところまで、ライブコーディング
感想
- ライブコーディング盛り上がる
10. RFC7159
Shyouhei Urabe さん
資料はこちら
Deeper look at RFC7159 the JSON // Speaker Deck
- JSON が RFC7159 で新しく変わった
- テスト沢山書いた
- 遅すぎて実用には耐えないもの
- strict だけど遅い
- ライブラリを使うのが現実的
- ただバグはある
まとめ
- JSON の文字として "\uD800" を含めないようにしたほうが、皆幸せになれる
- RFC7159 では valid だけれど、これを無視したほうが、parser の処理が早くなるから
11. bundler の話(タイトル忘れた)
Terence Lee さん。Heroku の中の人らしい。
- チームの紹介
- bundler 高速化
- not cacheable → cacheable
- more memory
- Marshal.load(File.read(gem.gz))(うろ覚え)
- large query
- mysql のクエリがとんでもなく複雑
- 5 分に一個の gem が誕生している
- run for volunteer
感想
- 英語ェ...
- Marshal.load(File.read(gem.gz)) なんてできるのか...?
- メモに書いてあったけど、今見ると胡散臭い
- 後で bundler の実装追っかける
- gz ファイルを Marshal 化して、それを load する(?) ってアイディアすごい
- これが本当にできれば確かに早そう
- cache の面でも通信の面でも
- 妄想ひろがリング
- bundler の API サーバーについて
- run for volunteer
疑問
- volunteer って言っているけど、OSS って言ってしまえば volunteer な気もする
- OSS と volunteer の
- どういう意図で「volunteer」って単語を使ったのだろうか?
12. Object Bouquet ~ 幸せの花束・RValue のきらめきを添えて ~
sasada家がペアプロして作った作品 「object_bouquet」の発表
object_bouquetとは
- object の関連性をブラウザで表示してくれるもの
- 特異クラスの話
- 正しくはメタクラスというらしい
- ruby under a microscope という本の紹介
- ruby の内部実装をざっくりと解説した書籍らしい
感想
13. Another language you should learn
Ken Nishimura さん
モチベーション
英語で interview したかった
- 英語で interview しないとジャーナリストとして生き残れない、という危機感
30際の時に休職しサンフランシスコの語学学校に行った
- 元々 toeic で 900 点くらいだった
- けど根本がわかってないと気づいた
- freiends というドラマを1000時間見た
- 1年後、日本人には無理だと報告した
- Tens of millions of words
- 言語学的に構造が違いすぎる
- 帰国後も勉強を続ける
悩んだこと
- 実際にどれだけうまくなっても、インタビューできるのか、わからなかった
- 前例が無かった。先生もわからない。
- 続けてると 5 年後くらいにうまくなるよ、という指標が欲しかった
まとめ
- 始める。遅すぎることはない
- 文化を学ぶ
- 動機を持つ
- 圧倒されない
- プロセス自体を楽しむ
感想
- 「実は英語でインタビューは取れるようになった」という結果がすごい
- それでもまだまだ、らしい
14. mruby hacking guide
Yuki Kurihara さん
- php に危機を感じた
- ruby conference に行ってみた
- asakusa.rb に参加
- みんな好き勝手やっている
- 自分も好きなことやってる
- mruby は cruby と違って blue ocean
- mruby のパフォーマンス改善の話(実際送った pull request など)
- String
- cruby の実装を真似ているらしい
- Hash
- Matz に先を越された
- String
感想
- わかりやすい
- C がよくわかっていない自分でも、なんとなく理解できた
- ノリが好きだ
15. Hacking Home
@amatsuda さん
一戸建て建てた時の話とソフトウェア開発との対比的な。
- 不動産運用
- 家賃とかは適当
- 値切られることを見越した家賃設定になっている
- 17 年ほどで原資回収できれば、かなり良い物件
- 会的信用は ggられる(フリーランスだと)
- インターネットでプレゼンスがあると、若干有利になる
- 借金ができる
- ウォーターフォールとアジャイル
感想
- 話聞きすぎてメモほとんど無し
- まとめた内容、大体プレゼンに書いてあった
- (後でプレゼン資料見ればいいやってなった)
- 見れるかどうかわからないけど
- 17 年で原資回収って長い
- 17 年間、線形に価値が下がっていけばよいが... とか考えてしまう
- さらに 17 年間安定した住居者がいれば
- そのリターンは、「安定していて、まとまった収入」という大きい物
- 大家さんって、ほとんど何もしなくてもいいんじゃね?って考えると、尚更魅力的
- 何事もトレードオフ
- 17 年間、線形に価値が下がっていけばよいが... とか考えてしまう
Ruby会議でSQLの話をするのは間違っているだろうか
Minero Aoki さん
- 並列DB, RedShift を触っている
- mapreduce 追悼
分散処理する → 分散処理マジムリ(めんどい)
並列DBとは
- 複数の DB を一つの DB として扱える
- 型がある
- shared nothing 型
- 複数台の DB に被ったレコードが無い
- (データが被る)型
- 複数台の DB に被ったレコードがある
- shared nothing 型
特徴
- node を増やせば線形に早くなる
- 標準 SQL 使える
- client からは 1 台見える
- open source はほぼない
- 1983 年から実はある(Tera data)
まとめ
最後
なげぇ...
間違ってるところがあれば、随時直していきます。