ctagsを使ってみた

学生時代にC言語をいじっていた頃は、ctagsを使っていたように思うのですが、C言語限定だと何故か思い込んでいて、Rubyでctagsが使えるとは思っていませんでした。

というわけで、インストールして使ってみたまでのメモです。

インストール

Mac OSX MountainLion 10.8には、ctagsがインストールされていないので、Homebrewを使ってインストールします。

brew install ctags

Homebrewではsudoを付けずにインストールできます。sudoつけると

Error: Cowardly refusing to `sudo brew install'

とエラーがでます。sudo抜きで実行しましょう。

インストール後のファイルは

/usr/local/Cellar/ctags/5.8/

以下にはいるので、aliasを使ってctagsコマンドのパスを上書きしておきます。下の例は.zshrcの例

alias ctags='/usr/local/Cellar/ctags/5.8/bin/ctags'

後は、

source ~/.zshrc

で設定ファイルを読み込ませておけばよいでしょう。

タグファイルを作る

RailsのRootディレクトリに入って

ctags -R

と打つだけです。「tags」というファイルが作られます。

Vimでの参照の仕方

Vimでは、

  • Ctrl + ] で変数、定義元に移動
  • Ctrl + t で呼び出し元に戻る

ことでで操作ができます。

東京Ruby会議10に行ってきた

1月13日と14日に開催された東京Ruby会議10に行って来ました。

一人頭15分で、1時間に3本+休憩15分の講演ペース。これは聞き手もかなりの体力勝負。

また、実況ツイート見習いとして、バッテリーとネットワークの確保が何よりも重要。今回はWiMAXの電波が届かなかったこともあり、ネットワークはテザリングで確保。実況するマシンは、ちょっとしたチャレンジでiPad + ワイヤレスキーボードで。

発表振り返り

全体的に、コードをゴリゴリと見せる発表は少なかった印象。15分という発表時間が影響しているのでしょうか、個人的には理解しやすかったのですが、コードを見たいっていう人にはちょっと物足りなかったような気もします。

個人的に気になったのは、

の発表。あとでスライドを見返してみよう。

蓮尾さんの発表にあるペアプロの身近な問題点に対するお手軽かつユニークな解決方法は興味深く、また、とみたさんの発表にあったエンコーディングの各種ハマりポイントは気をつけるポイントとして非常に実践的。
西川さんの発表は、分散ビルドに対して「なんだか怖そうだなぁ」と思っていた思いを覆してくれたり、鳥井さんは「Webアプリってすごいもの書かないとなぁ」と思っていた考えを50人のクローズな環境でも問題ないんだと思わせてくれたり。
曽我部さんはmrubyの具体的適用と今後の方向性について勉強させていただき、前島さんは、今、ブログを書くモチベーションを与えてくれました。

二日目は大雪で14時で終了。本当にこの判断は英断で、その後続々と止まる電車。気温はぐんぐん下がり、一歩遅れていたらと思うとゾッっとします。

残念

実は、1月14日は私の誕生日で、コミュニティアピールの場で「今日は私の誕生日です。」と言おうと思っていたのですが、それが流れてしまいました。それがちょっと残念といえば残念です。が、しょうがないですね。

第28回 Yokohama.rb に行ってきた

毎月お馴染みの Yokohama.rb です。

レシピブック

いつものようにRubyレシピブック読書会を実施。

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

これ、Ruby2.0が出たら新しい版が出るんだろうか。

話した内容は、

  • 「082 有効なメールアドレスか調べる」
  • 「261 RSSを扱う」
  • 「076 いろいろなテキストフォーマットを解析する」 の一部

の3つ。

正規表現を駆使するってイメージなんだけど、RubyだとGemがそこそこあるのでそれを活用していけばちょっとは楽になるかなと。

また、正規表現を読むときには、「Regexper」を利用するとちょっとは見やすくなる・・・かな?JavaScript用って書いてあるけど、まぁ、大体はRubyでも一緒なので自分的にはこれがいいかなと。

また、正規表現のテストには「Rubular」が便利。ちょっとしたものならWebで正規表現のテストができるのがいいですね。

東京Ruby会議10 コミュニティアピール

翌日から二日に行われる東京Ruby会議10内でのコミュニティアピールというセッションでYokohama.rbの宣伝をすることになり、その発表練習を。

1コミュニティにつき5分ということなので、ちょっとしたLT。特色とか、去年やったこととか、その他いろいろ盛り込んで話をしたつもりなんだけどまだ1分ほど余るって感じ。

喋りをゆっくりして、スライド一枚追加して、あとは発表練習を重ねようかなと。

Togetter

いつものようにTogetterです。最近、あまりつぶやけてない。う〜ん。ちょっとやり方を考えようか。

第27回 Yokokhama.rb に行ってきた

毎月恒例、Yokohama.rb に行って来ました。月一開催ですが、早いもので第27回です。

今回は、年末で色々イベントもあったことから出席者も少なく8人ほど。

それでもスイーツが用意されているあたり、 Yokohama.rb は素晴らしい集まりです。

Rubyレシピブック読書会

定例イベントであるRubyレシピブック読書会は今回も開催。

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

今回は「レシピ077 「,」で区切られたデータ(CSV)を処理する」から「レシピ080 HTMLを処理する」まで。新しい発見も多く、

ということで盛り上がりました。

個人的には、pryで実行するrubyのコードをそのままエディタで記述して処理できるeditというコマンドの存在を知ったことです。

今までなんとなくgem入れるのが面倒だった(単にgem installするだけなのに!)こともあってirbでちまちまやってましたが、これかはpryですね(遅すぎ(^_^;)。

Ruby Gold合格報告

レシピブック読書会のあとは、 @igrep さんによる Ruby Gold受験・合格報告として、難しかった問題をみんなで解いてみました。

うわさどおり、難しい試験だということで、@igrep さんは次の本を読んで勉強されたようです。

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Ruby公式資格教科書 Ruby技術者認定試験 Silver/Gold対応 (EXPERT EXPASS)

Buのリファクタリング

また、Yokohama.rb の出席管理システム Bu のリファクタリング案を @1syo さんが発表。まずは、レガシーコード改善ガイドにしたがって、Request Specを書いてみようというところから始まりました。

レガシーコード改善ガイド (Object Oriented SELECTION)

レガシーコード改善ガイド (Object Oriented SELECTION)

  • 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義
  • 出版社/メーカー: 翔泳社
  • 発売日: 2009/07/14
  • メディア: 大型本
  • 購入: 45人 クリック: 673回
  • この商品を含むブログ (141件) を見る

まとめ

いつものようにTogetterのまとめです。

RubyWorld Conference 2012に行ってきた(二日目)

はじめに

RubyWorld Conference2012の二日目です。

色々電波が飛ぶ

Daveだったり @kakutani さんだったり朝っぱらから色々電波が飛んだ午前中のセッション。いわゆるスーツ族の人たちはぽか〜んって感じだったと思います。が、@kakutaniさんがお話されていたフィードバックについては、これからRuby/Railsの継続的成長には欠かせないものかなと思っています。

フィードバック

企業で持っているRubyRailsに関するノウハウってなかなか外に出せなくて、それは変に硬いセキュリティ規約だったり、心理的な抵抗だったり、コミュニティを知らないってことだったりいろんな要因があるんだろうけど、そこをつなげることが出来ればよくね?と漠然と考えています。

と思ってなんとなくRubyアソシエーションのページ見たら弊社の名前が・・・。そっか。サポートか。

午後は普通のシステム開発

午後は普通のシステム開発のお話。Rubyの文化を知らないで言語だけを変えてもダメって話がすごく印象的でした。Daveも午前中にデザインパターンの話を例にして文化のことを言っていたように思います。

文化

ただ、この文化ってものは実際に触って入ってみないとわからなくて、なかなか難しいものです。見える例で言えばRubyをやっている人は殆どがMacを使っているというのが文化でしょうが、やっぱり難しいですね。

設備とかそのへん

RubyWorld Conferenceは入場料無料。無料無線LANの提供もあるし、USTREAM中継もある。電源提供スペースもあって設備としては十分。同時通訳の提供もあって英語セッションもたぶん大丈夫。

唯一の難点は席スペースがちょっと狭いってことでしょうか。これはしょうがないですね。

タイムスケジュールも講演を詰め込みすぎることなく適当な休憩時間を挟んでいる。個人的にはちょうどいい感じでした。

総じてカンファレンスとしては素晴らしい質の高さ。みんな、年に1度は松江に行くといいよ。平日ってところがきついけど。

まとめではないまとめ

数あるカンファレンスの中でも独自の色を出しているRubyWorld Conference。ビジネスとしてのRubyの生かし方ってことでここで新しくビジネスが生まれるといいなぁと思うのですがはてさて。配りまくった名刺でも、コミュニティでも #rubyfriends でもいいと思うので。

いつものようにTogetter

いつものようにTogetterです。

RubyWorld Conference 2012に行ってきた(一日目)

はじめに

私が所属している会社がスポンサーになっていることもあって業務として参加してきました。去年は「Yokohama.rbから参りました〜」ということでいろんな方向に物議を醸しだしたようなのですが、今年は所属会社名で質問。違いといえばそんなモノです。

会場であるくにびきメッセに向かう途中のくにびき大橋にはRubyWorld Conferenceののぼりを大量に立てており、島根県・松江市の力の入れようが感じ取れる二日間。

セッション

セッションは、Matzのキーノートからスタート。主に会場に来ていた高専生に対して内なる衝動に従ってどんどんチャレンジすべしというメッセージを送っていました。
ただ、QAにて「60過ぎてからプログラミングを始めようと考えているのだが」という質問に対してMatzが「遅いとかそういう事はない。」と答えられていたので、高校生向けメッセージとくくるんではなく、会場にいた全員に対するメッセージと思います。

午後からは公募で集まった講演が続々と。Rubyの適用事例としてRuby on Railsが多い中、mrubyを使って独自の無線アクセスポイントを作ってしまったSiemensのDanielの話や、Rubyで作られたメールパッケージソフトに於いて発生したメモリ使用量問題の解決方法を説明されてました。

雑感

RubyKaigiなどでは物凄くテクニカルな一面と物凄くスピリチュアルな面に偏るような感じがあるように感じています。あるツールを適用したときの成果、開発したGemの利点、Rubyはなぜ楽しいのかの理由を与えるようなもの。それらはそれで聞いていて楽しく即時的な効果が得られます。

一方でRubyWorld Conferenceは、特別のツール、Gemなどには焦点を当てず、システム開発という流れを全体的に通してお話されることが多いように思います。このような場は珍しく、RubyWorld Conferenceは数あるRubyのカンファレンスでも価値があるなと感じています。

レセプション(懇親会)


レセプションでは講演された方を中心にお声がけをさせていただき色々質問。ビジネス寄りとコミュニティ寄りとで立ち位置が難しいですが、今回は業務として出席していることもあってビジネス寄りとしてレセプションに参加。日本流ビジネスの伝統として名刺交換させていただきましたが、「#rubyworldで一番ツイートしているアカウントの中の人です」という紹介のほうが覚えてもらえたかな。名刺を集めることが目的ではなく、この後に繋げることが重要だと思っているので、質問なりTwitterなりで何らかしら、相手の印象にのこるようなことをすることが松江に来ることの意味の一つと思っています。

というわけで、一日目が終了。

Togetter

いつものようにTogetterでつぶやきをまとめてみました。

第24回 Yokohama.rbに行ってきました

毎月恒例ですね。第24回 Yokohama.rbに行って来ました。

今回は男ばっかり約30名。いつもの常連さんはもちろん、初参加の方も3名いらして大いに盛り上がりました。

自己紹介では、@hokkai7goさんが最近転職されたことが発表。ほんとYokohama.rbに参加すると人生が好転するってジンクスはまだまだ有効そうです。

Rubyレシピブック読書会

恒例のRubyレシピブック読書会。今回は、「レシピ53 文字列をエスケープする/エスケープを外す」からスタート。

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

単に本に書かれていることを読んでおしまいってわけではなく、「こうやって見たらどうなるんだろう」という脱線が面白いRubyレシピブック読書会。今回は、

  • gsubメソッドの第二引数を取るものとブロックを取るものの違い
  • String#dumpの使い道
  • chopって使わないよねぇ・・・
  • String#[]=の非破壊的なメソッドは?

といったことが話題になり、今回も充実した読書会となりました。

今回はレシピ56まで進みました。進みはちょっとゆっくりですが、一つ一つのレシピが濃いのでしょうがないですね。

後半はもくもく

レシピブック読書会が終わったあとは、各自モクモク。次週が札幌Ruby会議なので、そのLTの準備をされている方もいらっしゃいました。

私は溜まっていたRailsCastsをちょっとだけ消化。1回10分ぐらいなんだけど、なかなか消化できていないなぁ。日と時間を決めてちゃんと消化しないとなぁ。

いつものまとめ

いつものようにTogetterによるまとめです。