[ruby][sapporo][regionalrubykaigi]札幌Ruby会議02に行ってきた!
今回行くことにした目的はいくつかあって,その全てが達成できました.非常に有意義な,そして楽しい札幌でした!
んで,その目的というのが,
- jpmobile会議02の開催
- 前夜祭で開催できました!
- 参加者は2人でしたが
- 前夜祭で開催できました!
- 他の地域Ruby会議を見てみたい
- とりあえずTokyuRuby会議やったと言うことで,他の場所はどんな感じかを見てみたかった.
- 札幌は気合い入ってますね!
- とりあえずTokyuRuby会議やったと言うことで,他の場所はどんな感じかを見てみたかった.
- 地域Ruby会議の人といろいろ話す
- 他の地域の人たちといろいろ話したかったので.特に何をと言うわけじゃないですが,とにかく交流したかった.
- Ruby札幌の人たちと会いたかった.
- RubyKaigiの時ぐらいしかあって話できないので,この際だと思って,前夜祭から参加.名前とTwitterのアイコンの相関を覚えてもらえたでしょうか!
などなど.これが全て達成できましたー.スイーツタイムに紹介の時間を用意していただいた @snoozer05 さんには感謝!
前夜祭
- まあいろいろ大変でした(何が.
- エアっぽく万葉席にいましたが,なぜか女性率66.7%という場所に.
- 終わり際に @darashi さんと jpmobile 会議開催成功!
- 二郎的な肉チャーがあったらしいのですが,体調的&胃袋的&明日的にやめておきました.
オープニング
tDiary annual report 2009
- 柴田さん (@hsbt)
- Ruby とのつき合いは id:gotoken さんに応用数学で教えてもらってから
- tdiary.org
あれから一年...
- SapporoRubyKaigi01
- イントラネットで使うのはお勧め
知らないと損をする Smalltalk
「古い」のに「新しい」?
- 全てがオブジェクト
- ほぼ全てをメッセージング
3 < 4 ifTrue:[5] ifFalse:[6] ↓ (3<4).ifTrue:ifFalse:([5],[6])
「言語」ではなく「環境」?
- 他者との決定的な違い
- 利用者主体の斬新的成長が可能かどうか?
- 自然都市 vs 人工都市
- @eto さんの Wiki の本とか
「シンプル」なのに「難しい」?
- なぜ本から学べないか?
- 都市はツリーではない
- 全貌を把握することが難しい
- 都市はツリーではない
- Smalltalk の体験学習
- "内地では"
- 少人数のハンズオンがいいのではないか by @sumim さん
Ruby で PostgreSQL とお話する方法
- 石田さん
- PostreSQL 徹底入門 の著者
- pgpool II の develper
- プログラムからSQLを実行するということ
- クライアント/サーバ間のソケット通信
- 実際にどう接続するか
- 使い方
- 本(逆引)を読めばいいともう
- libpq なので libpg のリファレンスを読むといい
- "Rails とかやってみたかっただけ"
- copy
- サーバ側なら
- copy t1 from '/tmp/csv.data';
- クライアント側なら
- サーバ側なら
- "この変で力尽きたので終わります"
レシピに書かれていないこと
まとめ
- レシピは役に立つんです
Ruby における 2038 年問題の解決
- 田中 哲さん (akr さん)
概要
-
- Ruby 1.9.2 で Time クラスの制約が緩和
- 2038 年以降も表現可能
- 1901 年以前も表現可能
- マイクロ秒よりも細かい制度で表現可能
- 任意の時差を実現可能
- 不合理な制約を排してプログラミングしやすいようにしよう
- Ruby で時刻をあれこれすると問題になることがある
- 2038 年問題
- 1970-01-01 + 21億秒 までしか対応しない
- 2922 億年問題の解決はない
- OS にある 64bit 制約もない
- 1秒以下の表現に有理数を使える
- t.subsec で 1/3 秒などできる
- 任意の時差が可能
- + 2:30 とか
バックグラウンド
- 自然の話
- 自然科学では時間は一定ではない
- 人間の話
- 技術の話
- 32bit time_t の制約
- 64bit time_t のサポート状況などなど
- Design Decision
- Ruby 1.8 でできることは扱う
- 有理数を扱えるように
- 相対論やグレゴリオ暦以外はあきらめる
- 難しいが何とかしたい
- OS のサポート範囲外の時刻
- 複数のタイムゾーン
- 時差・閏秒の情報
- /usr/share/zoneinfo/Asia/Tokyo にある
- zoneinfo 問題
- ファイルとしてはデータがあるが,その格納形式は OS に依存
- zoneinfo を自前で持つ
- OS に依存しないで全てのタイムゾーンを安定して得られる
- でもメンテナンスが大変で,OS の zoneinfo と一貫しないかも
- なるべくなら OS の zoneinfo だけでなんとかやりたい
- 2038 年問題
- 複数タイムゾーン
- Ruby 1.9.2 の対応
- 時差の推測
- 時差が固定のタイムゾーン
- 複数のタイムゾーンが扱えるようになる.
- 夏時間の厄介さ
- 存在しない事項がある
- 夏時間を戻したときに同じ時間が発生することがある
まとめ
- 理不尽な制約をなるべくプログラマに見せない
- 容易なプログラミングの実現
Lightning Talks
「僕たちがSAMITを続ける理由」
- 人付き合いは一人ではできない
「冬の札幌で、心温まるおしゃべりを。」
- 泥臭いリッチな作業 -> ドロリッチ
View 層のキャッシュシステムにおける問題点とその解決策
- Fragment cache
- Proc を遅延評価に使ってしまう
- View から pull するのがいいよ!
「JRuby最新事情@札幌」
- "動物写真家といっしょ"
- "世界の @jugyo さんが提案されている"
スイーツ懇親会
「高アクセス数のWEBサイトをRuby on Railsで構築、運用するためのTips基礎編」
- "特に稲作農家"
- 最大 70 req/s
cache
- 変更がないコンテンツは page cache
- リンクの URL は .:format (.html) をつけること
- Action cache, fragment cache
- fragment cache 等には memcached
- Rails までアクセスさせたら負けだと思ってる
- htcacheclean を忘れずに
- BASIC認証はキャッシュが聞かない
- ブラウザのキャッシュを使う
- Cach-Control
- Expire
- Apache なら mod_expires
- 高トラフィックのサイトを考えるならスケーリングできるように
- Apache + mod_proxy_balancer を使っているらしい
DB/Storage
- View を使いましょう
- インデックスを春
- find_by_XXX ではなく find_by_sql
- DBのスケール
- Storage の I/O
- CPU 負荷が低くて Load Average が高い場合は I/O が問題
- パフォーマンスを上げた方がいい
- セッション
- Helper
- link_to をあまり利用しない
- Web サーバ
- mod_evasive
- 一定時間内の DoS っぽいアクセスを 503 にしてくれる
- mod_evasive
- Passenger の Pool サイズ
- メモリや CPU の空き具合で
- ブラウザのコネクション数制限
- コンテンツごとにザ部ドメインを分ける
- 80:20 の法則
- パフォーマンステストをしてからチューニングしましょう
- チューニングでコード変更する際は,テストが重要になる
- monit で監視して自動再起動するようにして,眠りましょう
「大学教員はレシピ先輩たりうるのか -- レシピ先輩製造機としての大学教員(仮)」
「GitHub と Jekyll でつくる静的 Web サイト」
- jpmobile 会議開催しました!
- "static な"
- "git clone でバックアップ"
- "dynamic な"
- Jekyll は便利そう
- Web 制作には非常に有効に働きそう
「Welcome to The Desert of The Real」
打ち上げ
- 掘っても掘っても無くならないという舟盛りらしいのだが,うちのテーブルは下敷きの昆布が見えてた
- 札幌のエースが隣にいたからと言う話.私は普通の寮しか食ってないですよ?
- 地域Ruby会議席になぜかいた.
- 札幌Ruby会議は地域Ruby会議じゃなくて,Copy of the RubyKaigi だと by @kakutani
- 他の地域Ruby会議はあのTokyuRuby会議しかしらないので,何とも言いにくいけど,しっかり運営されているよなーとは思った.
- TokyuRuby会議はいまのままで全然良いらしい.
- 「別に地域Ruby会議にしなくていいよ?ただ俺がRTしなくなるだけだからwww」 by @kakutani
2次会以降
感想
- Ruby に関わるものはみんな手作りなんだなーと言うのを,再認識しました.
- TokyuRuby会議やったときもそうでしたが,みんなが作り上げていくところに,オープンソース的な何かを感じました.
- とりあえず rvm と RubySpec はすぐさまインストールします.
- tdiary は早々に用意します!
- @takai さんはあれで全力だったのかどうかが疑問
- カリスマはどんなときもカリスマだよねと言うのを再認識
- @takai & @kakutani は夜のすすきのへと(((カラオケをしに)))消えていきました.
- いつも通り大人しくしていました.いつも通りでしたよね?
- 札幌は熱かった!
- 来年中には達人出版会から何か出せるぐらいにはなる.がんばる.