Skip to content
muryoimpl edited this page Jan 1, 2012 · 1 revision

第12回 Ruby/Rails勉強会@関西 (運営: Ruby関西 )

懇親会

  • 日時
    • 2006 年 10 月 7 日 (土) 18:00~(予定)
  • 場所
  • 会費
    • およそ社会人:学生 = 2:1 の比率でご負担ください。前回は 3500 円、2000 円でした。
  • 締切
    • 2006 年 10 月 6 日 (金) 17:00 まで

プログラム

  • 「Ruby リファレンスマニュアル刷新計画」by 青木峰郎さん

    • セッション概要
      • Ruby プログラミングにリファレンスマニュアルは欠かせません。現状のリファレンスマニュアルのどこに問題があり、なぜ刷新が必要なのか、刷新計画の骨太な方針について述べます。
    • プロフィール
      • ふつうの文系プログラマ。専攻は哲学っぽい何か。主著は『Ruby ソースコード完全解説』『Ruby レシピブック』、『ふつうの Linux プログラミング』、『ふつうの Haskell プログラミング』。
  • 「about nadoka」by 西山和広さん

    • セッション概要
      • IRCクライアントサーバプログラム(IRC Client Proxy)のnadoka について話します。使い方とかプラグイン(bot)の作り方とか。
    • プロフィール
      • Rubyist Magazine で標準添付ライブラリ紹介の連載を書いていたり、編集をしていたりします。
    • 発表資料
  • 「小波ゼミ卒研ネタから」by ゼミ生のみなさん

    • プロフィール(京都女子大現代社会学部 小波ゼミ)
      • 自然科学系,社会科学系のシミュレーションを中心としたプログラムを書いています。使っている言語は主に Java と Ruby。オブジェクト指向はマルチエージェント指向とも言えるからです。
      • メインの活動場所は小波研究室の大テーブルで,おしゃべりの合間にソースを書いているようです。春夏には合宿でプログラミングの特訓をやっています。
  • Ruby 初級者向けレッスン第9回「Rubyで学ぼうテスト駆動開発」by かずひこさん・コウザイさん・サカイさん

    • セッション概要
      • 今回のレッスンでは、XP(エクストリーム・プログラミング)のプラクティスの一つである「テスト」に焦点をあて、Rubyでのテストの書き方や、テスト駆動開発の流れについてご紹介します。
    • プロフィール(かずひこ)
      • グラフィック・デザイナーからオープンソース・プログラマーに転向してもう 2 年。Ruby に出会わなかったら、プログラマーになることはなかったと思います。コウザイさんには、河井寛次郎さんとかハチミツとか刀剣とか鳥とかフランス語とかについて、教えてもらっています。
    • プロフィール(コウザイ)
      • 小波ゼミ4回生のコウザイです。Rubyとは大学の授業で出会いました。日々お勉強です。
      • 出身は香川県。1日3食うどんでもどんと来い!な胃袋を持っております。
    • プロフィール(サカイ)
      • 小波ゼミ3回生のサカイです。
      • Rubyは使うというより、使われているかんじです。
      • 小心者ですが、やりたいことは大事ばかりです。
    • 配布資料
    • 演習の解答
    • 前半のペアプロの台本?

レポート

  • 「Ruby リファレンスマニュアル刷新計画」by 青木峰郎さん(氏久さん)

    • 自己紹介
      • 知ってる人も多いと信じたい
      • 哲学のような何かを勉強中
      • 文系大学生なのでまわりはコンピュータの素人ばっか
        • 一人だけコンピュータ使える人がいると便利屋がわりに使われてるらしい
        • 「wordとかexcelが使える人なんですね」
        • 「ノートPCをネットワークにつなげてほしい」by先生
      • ruby暦そろそろ9年
        • 1998年ぐらいからはじめた
      • 書いてメンテしてるもの
        • net/http, net/smtp, ...
          • 「評判悪いものばっかり」
        • TMail: railsに知らないうちにいれられてた
          • 同じ名前だと思ってたら、よくよくみてみたら自分のライブラリだった
        • ReFe : コマンドラインで使えるドキュメント
        • ReVIEW: 本の執筆支援。未公開
          • いつ発表するかは未定
      • RHGは分厚くて高い
        • Ruby本体インタプリタのソースコード見て解説
        • 「役に立ちますよ。買ってください」
      • また本をかいてる。二冊
      • 「Rubyist Magazine出張版」
        • 一冊まるまる添削スペシャル。無残に添削しました。
        • コラム書きたい人は言ってくれたら入れます
      • 「ふつうのコンパイラ」
        • ふつうシリーズ第三弾
        • 普通といいつつぜんぜん普通じゃない
        • 「ものすごく普通じゃない」
          • パースからリンクまで全部やる
          • Windows/Linux両対応
          • 64bit対応
          • これはひどい
    • (なりゆきで)リファレンス刷新計画を担当
      • リーダーに正式に就任したわけじゃないけどリーダーみたいなことをやってる
      • Rubyリファレンスマニュアル
        • 「ご存知じゃないかた」「いませんね」
      • 組込みライブラリと標準添付ライブラリがメイン
        • (require不必要か必要かの違い)
        • Ruby言語仕様・文法
      • Rubyリファレンスマニュアル刷新計画とは
        • 構想5年
        • 製作一ヶ月(これからもがんばっていきます)
        • 名前はまだない
        • 「まだない、という名前ではない」
          • 一応考えたけど、詳細は青木の日記参照
        • Rubyの すごい
        • リファレンスマニュアル
        • すごれんすマニュアル
        • 「ネタがわかった人はやばい」
      • ROR:
        • リファレンスマニュアルを
        • おもいっきり
        • リファインしちゃうぞ計画
      • どんな名前にするかは
        • 今日、酒の勢いで決める予定
        • YARVのささださん曰く「名前なんてなくていいじゃん」
          • しかしやっぱり名前重要
      • なぜ刷新しなければいけないのか?
      • 10の不満
      • 1
        • Ruby言語仕様がかきかけ
          • 私がかきはじめた
          • 文法のページに文法と関係ないことががちゃがちゃ書いてあった
          • 気に食わないから書いた
          • みんなは文法でいいじゃん
          • 反応が芳しくない
          • そのまま放置
        • 標準添付ライブラリが全部カバーされてない
          • メソッド名しか書いてないとか
          • クラスがごっそり抜けてるとか
          • あまつさえファイルがないとか
        • C APIリファレンスは見ることすらできない
          • 拡張ライブラリ用
          • Rubyリファレンスマニュアルとは別システム
          • そのシステムがとまってしまってる
          • データも救出できない
        1. 全体の統一感がない
        • 語尾
          • ひどいときはひとつのメソッド内で違う
          • 文法、言語使用の違いがよくわからない
          • ひとつにまとめたい
          • 途中になってるんで、このさい一気にやってしまいたい
        • FAQとRubyの落とし穴の違いがよくわからない
          • どっちもはまりどころを解説してるものなので一緒
          • 二つある必要はない
          • FAQはリファレンスマニュアルとは違うところからもってきてる
          • Rubyの落とし穴はメソッドごとに書いてたのを独立させたものが結構ある
          • 由来が違う
          • 読んでる人にはどうでもいいので、やっぱりまとめたい
        1. 文章の質が不揃い
        • 実例を見て説明します
        • 特殊変数のスタンダードイン
        • 対応とるのが面倒
        • 「ruby1.8 feature」← どこまでを指してるのかよくわからない
        • この段落をさしてるのか、このあと全部をさしてるのか
        • 内容を見ると、次の段落だけにかかってるぽい。それがよくわからない
        • 第三段落
        • stdout, stderrはdefout, deferrの別名
        • defout, deferrはobsoluteになりました
        • 直後に書くとかよくわかんない
        • 「あ、そか。わかった」「というふうに勘違いしてしまうくらいよくわかんない」
        • あまりにひどい
        • こういうのが随所に見られる
        • (ここでためいき)
        1. 複数のRubyバージョンの記述が混在して読みにくい
        • 全部一緒に書いてる
        • 「1.8.5でどうなってるか」を知りたいとかができない
        • 1.7とか1.9のような開発版の仕様を知らせてもしょうがない。安定版でいい
        • ぜんぜん考えられず全部書かれてるのでよみづらい
        1. デザインが気に入らない
        • 背景の灰色が気に食わない
          • DOSには愛着ないので白地に黒でいい
          • '赤が目に痛い'
          • Rubyのカラーであることはわかってるんだけど
        • タイトルの丸文字フォントが気に食わない
          • なんか目立つ!
        • ようするにぜんぶ嫌
      • ここで写真
        • 不満ばっかりだとつらいので半分のところに心の和む写真をお見せしましょう。イタリア旅行のときの写真サンマルコ広場です。広場が水でつかっちゃうらしい。水溜りの中から写真を取ってきました。もっかいいきたいです。
      • それはさておき
        1. メソッド検索がヘボい
        • ただのテキスト検索。メソッド検索ではない
        • 「したいでしょ?」返事なし
        • 「したいよね、うん」
        • クラスの継承関係を意識した検索がしたい
        • Rubyでよべるんだからリファレンスでもよびたい
        • ArrayはEnumerableをinclude
        • ArrayのmapはEnumerable#mapであるべき
        1. メソッドの追加は置き換えに対処できない
        • この機能はリファレンスマニュアルでは地獄
        • jcodeライブラリではStringのメソッドを置き換えて日本語対応にしてる
          • trとか
        • ppライブラリはObjectやHashにメソッドを追加
        • yamlライブラリも各種クラスにto_yaml
          • 評判が悪い
          • 「私も嫌い」
          • yというメソッドが追加される
          • わけのわかんないメソッド
          • 「あれはちょっといかがなもんかと思いますねぇ」
        1. 形式がページごとにバラバラ
        • これが非常に嫌
        • メソッドシグネチャがバラバラ
          • defの書き方、呼び出すときの書き方、レシーバを使う書き方、全部書く書き方
          • 最近かいたのがself+(other)という文法にすらなってないわけのわからない書き方
          • 変な書き方が年々増えてきている
          • ReFeで5通り解析しなきゃならない。やってられない
        • 標準添付ライブラリの文章がばらばら
          • ライブラリごとのページ
          • クラスごとのページ
          • CVSレポジトリにリンク
          • 英語のドキュメントにリンクはってるだけ。ひどい
          • 「これは私のもある」
          • 「あんまりいうと自分にはねかえってくる」
        1. コンテンツの自動生成が難しい
        • クラスツリー
          • いま全部手で書いてる
          • 自動生成できるはず
        • クラスのメソッド一覧
          • 手で書いてる。「やってらんない」
        • ライブラリのクラス一覧
          • そもそもいまはちゃんとできてない
          • 自動判別できるはず。自動生成したい。けどできてない
          • なぜ自動生成できない?
        • RWikiを拡張しないといけない
          • ・記述形式が統一されていないので信頼性のあるメタデータが得られない
        1. ドキュメントのファイルを直接いじれない
        • これ最強
        • RWiki経由でドキュメントをいじらなければならない
          • 汎用のWikiエンジン
        • バックエンドにCVSがいるらしいが、そっちには直接アクセスできない
        • 結局300個近いファイルを手で開いて手で編集
          • 「そんなのやってられるか!(怒)」
      • RWikiステ
      • 当然
    • 目標
      • ようやく不満たらたらタイムがおわった
      • これまでに述べた問題すべて解決(当然)
      • Ruby 1.8.6リリースと同時
        • 「1.9.1でも・・・いいかな」
      • (出版品質)
        • そのまま出版社に渡して出版できるレベル
        • これはむずかしい
    • 解決策
      1. RWiki捨て
      2. 統合・再編成
      3. 文章の質改善
    • 新システム BitClust
      • ドキュメントのファイルはSubversionで管理
      • どんなライブラリにも対応できるファイル構成
        • ライブラリといってもいろいろ。クラス一個だけとか
        • メソッドちょっとだけとかjcode, ppみたく既存メソッド置き換えとか
        • English.rbは変数に別名つけるだけ
        • どれでも対応できるうよなファイル構成
        • なってるんですよ。疑わないでくださいね
      • メタデータをきっちりとれる厳格なフォーマット
      • 複数のRubyバージョンに対するドキュメントを文法レベルで記述可能
        • ここからここまでが1.8.0以降の話です、など
      • Wikiではないのでウェブ編集不可能(マイナス)
        • 気軽に書き込めるのはよくないことも
        • 一段落だけ付け加えてそのまま、とか
        • 前後のつながりのないドキュメントになる
        • Wikiはちょっとなあ
        • 制限ではなくて、仕様です
      • 実物
      • メソッド単体のページもある
        • 全部のページを動的生成
      • 計画の現状
        • C APIは名前空間がフラットだからすぐに移行できる
      • リファレンス以外はぜんぜんやってない
      • 見た目
        • 人間は見た目にだまされる
        • かっこいいだけで新しいじゃんと思って移行してくれる
      • 人材募集!
        • rubyわかる人・日本語わかる・人
      • 人に読ませる日本語が書ける人は特に厚遇(こきつかう)
    • まとめ
      • いまのリファレンスマニュアルはよくない
      • 新しいマニュアルはすごい
      • プロジェクト参加お待ちします
        • あと4分
        • まだスライドがある
    • <裏>
      • なぜ刷新しなければならないのか
      • 常になんかやってないとコミュニティが腐る
      • Railsは騒がしいけどRubyやってるの?て感じ
      • なぜ段階的改善ではなくぜんめんっしんなのか -「でかいことやったほうがおもしろいからだ!」
    • 質疑応答
      • 質問 「デザインとの分離はきちんとできていますか?」
        • 回答 「はい。」
        • 「HTML 4.0のstrictじゃなくてtransitional使ってる」
        • ここで逆に青木さんからみんなに質問:
        • 「XHTMLにするとなにかいいことがありますか?」
        • 「brにスラッシュついただけじゃん」
      • 質問「積極的にかかわってるメンバーは何名?」
        • 回答「4人か5人」
        • 担当はまだ分けてない
        • 変換が終わってから担当決めなおし
      • 質問「オールドユーザとしてはinfoファイルが好きです。info提供しますか?」
        • 回答「infoは積極的に嫌いなんですよ
        • 「めんどくさいじゃないですか」
        • 「もう別に 僕が使わないんなら生成するのはやぶさかじゃない」
        • 「windowsのhtml helpは生成するつもり」
        • 「html2infoとかあるといい」
        • 「逆はあるんだけど」
        • 「誰かが作ってくれたらいい」
  • 「about nadoka」by 西山和広さん(かめださん)

    • nadokaとは?
      • ささださん作IRC Client Server Program
      • サーバとクライアントの間にnadoka
    • 利点
      • バックログ
      • チャンネルやオペレータ権限維持
      • 各種bot
    • nadokaの使いかた
    • 最低限の設定
      • Client_server_pass
      • Nick
    • nadoka plugin
      • Plugins_dirの中に置く
      • 拡張子がnb
      • Rubyでかく
    • 添付plugin
    • ここでデモ
      • googlebotでgoogle検索したり
    • 自動応答系bot
    • on_privmsgを定義
    • send_noticeで発言
      • bot同士のループを避ける
    • 自動発言系bot
      • on_timerを定義
    • bot作成時のTips
      • nadoka reloadでnbを再読み込み
        • HUPシグナルでもnbを再読み込み
      • /nadoka statusで状態表示
      • @logger.slogでbotから
    • bot作製上の注意点
      • 文字コード
        • IRCnetではJISコード
        • SKCODEに併せて変換
    • Excess Flood
      • 短時間に大量に発言は市内
      • どうしても必要ならゆっくり発言する
    • initialize
      • initializeは定義してはいけない
      • 必要ならbot_initializeを定義
    • マルチスレッド
      • マルチスレッド対策が必要です。
    • まとめ
      • nadokaはIRC用プロキシのようなもの
    • 参考リンク nadokaさんと遊ぼう http://www.atdot.net/nadoka/nadoka.ja.html
    • 感想
      • nadokaを使う上でのTipsなど、実践的かつ大変興味深いお話でした。時間が押していたためか、わりと駆け足でのプレゼンテーションという印象です。ですがログの内容がいいかげんかつ適当なのは私の力不足以外のなにものでもないことははっきりさせておきます。ほんとすみません、すみません。(かめだ)
  • Ruby 初級者向けレッスン第9回「Rubyで学ぼうテスト駆動開発」by かずひこさん・コウザイさん・サカイさん(カピバラさん)

    • 前回と同様、今回も前半と後半の二部構成でした。今回は、小波先生のゼミの三回生のサカイさんが加わってパワーアップしています。
    • 前半
      • コウザイさんとサカイさんが「テーマの解説と演習の紹介」として、ペアプログラミングでテスト駆動開発を実演してくださいました。かずひこさんは、それを優しく見守っていらっしゃいました。
    • 後半
      • 後半はグループレッスンです。各グループのリーダーさんが仕切って、ひたすら「スタッククラスを作る」という演習を進めていきます。皆さん、仲良く進めている感じでした。
        私のグループでは、二組に分かれて演習を進めていきました。その様子は家庭教師と生徒さながら。リーダーのあゆさんは、二組の進み具合を見ながら適宜アドバイスをしてくださいました。私はダメダメドライバだったのですが、手を動かしながら教えてもらうと、よくわかるように思います。
    • さいごに
      • 各グループで作った演習の答えの発表はせずに、最後にかずひこさんがまとめを言って終わりました。皆さん、お疲れ様でした! あと、なんとかずひこさんとコウザイさんが冬にInternet Week 2006でRuby on Railsのチュートリアルをするそうです。おめでとうございます!!
    • 感想
      • 私はあゆさんとよしださんに手取り足取り、ものすごくゆっくり教えていただきました。同じグループのもう一つの組の方はスムーズに進んでいるのに、私は理解も打つスピードも何もかもが遅かったので、心苦しいことこの上ありませんでした。もう、ほんとにいっぱいいっぱいだったんです・・・。でも、一つ一つ丁寧に教えていただいたので、少しわかるようになったと思います。楽しかったです。あゆさん、よしださん、本当にありがとうございました!

反応リンク集

Clone this wiki locally