Ruby5 Episode #514を聞いていたら、RubyからJavaScriptに変換するOpalというGemが紹介されてました。
CoffeeScriptのRuby版といった位置づけでしょうか。面白い試み。
Try Opal in your browserのページで、ブラウザ上でOpalを動かすこともできます。
いずれRailsに載る日が来るかも?
Ruby5 Episode #514を聞いていたら、RubyからJavaScriptに変換するOpalというGemが紹介されてました。
CoffeeScriptのRuby版といった位置づけでしょうか。面白い試み。
Try Opal in your browserのページで、ブラウザ上でOpalを動かすこともできます。
いずれRailsに載る日が来るかも?
Rubyのコードがコーディング規約にあっているかどうかチェックしてくれるツールとして有名なRuboCop。チェックだけなの?簡単なものなら修正してくれたらいいのに...と思っていたところ、そんなオプションが有ることを最近知りました。
詳細は、RuboCopのWikiページを読んで欲しいのですが、-aオプションを付けるだけ。自動修正してくれるものは先ほどのWikiページの下の方にかかれています。結構たくさんありますね。
ただ、-aオプションでは全部の自動修正が行われます。例えば、文字列を"(二重引用符)から'(引用符)に変換だけしたいときどうすればいいんだろう...とツイートしたら、ありがたいことに教えていただきました。
@miyohide rubocop -a --only Style/StringLiterals で文字列リテラルの auto correct だけ実行できますよー
— Yuji Nakayama (@nkym37) 2014, 12月 3
やり方は-aのあとに、--onlyとつけて、変換する名前をつけるだけ。
今日も一つ勉強になりました。
@bash0C7さんのブログエントリ「仕事で公にしていいことは公開された場所で議論をしていきたいが」を読んで色々と思ったことを書いたものです。全然まとまっていないので、個人的なメモ。
そもそも、「公にしていいこと」とは何か。例えば所属員の給与とか査定情報とかは「公にしてはいけないこと」の代表かなと思う。「公にしていいこと」とは、「誰が現在、どのようなタスクを持っているか」とか、「こんな仕事の話があるんだけど...」とか。
世の中、いろんな人がいるわけで「俺は今の仕事のことしか知りたくない」といった自分オンリーな人もいれば、「周りの人がどのようなタスクをこなしているのか」といった極力情報を公にすることを求める人もいます。
個人的には後者依りな考え方をする人だし、後者のほうがメリットが大きいと考えているんだけど、自分が興味ないことについて永遠と話聞かされても辛いよなとは思います。
情報を公にするメリットで思い当たるのは、
の点だと思っています。
権威者ができると、どうしてもその人に向けての仕事をするようになるので、無用な権威者は作りたくないなという思いがあります。
一方でデメリットは、
な点が思いつきました。
ノイズの許容量については人それぞれなので、「スルー力が足りないだけ」って言うのは集団で働く会社って組織の中ではあまり解になっていないです。もうちょっと良い方向の解決案がある気がします。
ノイズに対する許容量はトレーニングによって増やせると思っているので、一気に情報を流すんじゃなくて、徐々に流していくって形を取っています。今のところ、定期的に時間をとってみんなの話を聞くって場を開催。
本当は、もっとカジュアルにやりたんだけど、「うるさい」っていう人もいたり、脱線しまくって本論を忘れたりするし。
2014年11月13日(木)-14日(金)で開催されたRubyWorld Conference 2014に参加し、喋ってきました。発表者として参加するのは2年連続、カンファレンスに出るのは4年連続。年間イベントの一つとなっています。
喋る事になったのは、上司の軽い「ゆー、喋っちゃいなよ」という軽い一言から。採択されたら旅費も出してくれるし、ちょうどいいかと思い応募資料を書きつつ、関係各位にOKを取り、応募資料を提出。ありがたいことに採択されました。
RubyWorld Conferenceという場は半分以上がスーツな人なので、その人向けに話すことを前提にすると良いのかなと思っています。例えば、RubyGemsの詳細な使い方を説明してもあまり響かず、それよりかは「Rubyを使ってこんなシステムを作りました」という事例紹介のほうが響くような気がします。ただ、Rubyをつかうことは既に当たり前の状態になってきているので、そこからどうやって独自性を出すかがポイントになるような気がします。
で、発表募集要項を見ると開発事例以外にも教育とか研究とかの話題があります。ちょうど私が所属しているOSS推進フォーラムアプリケーション部会にて、ベンチマークをやっていてJRubyでやった例はあんまり無いかなぁと思ったのでそのネタで応募することにしました。
発表時間は25分、質疑応答は5分という枠なのですが、しゃべろうと思うと結構資料から話す内容は削る必要があります。発表においては、JRubyにおけるPassenger、Warbler、Pumaの3つを取り上げましたが、実際のところは、Javaアプリケーションを載せたベンチマークだったり、CRubyにおけるPumaのベンチマークも取りました。後、Ruby Benchmark Suiteの結果についても色々と語ることがあったのですが、時間の都合上カット。
それでも、本番は全然時間が足りず、28分ぐらい喋ってしまいました。後半はかなり早口で置いてきぼりにしたかなぁと思ったりしています。Pumaが早いってことが伝わったからいいのかな?ここらへんは再考の余地がありそうです。
で、実況ツイート業で名前が売れた自分にとって、今回も自分の発表を自動実況ツイートしようとしたのですが、何故かうまく動かず。エラーも吐かずにツイートしてないってなんで〜と発表中に思いましたが、修正する時間なんて当然ないわけなので、とりあえず突き進みました。う〜む、残念だった。
JRubyに関してはあまり実績データがなく、この設定で大丈夫かいな?と思うところが多数ありました。今でも設定に自信はないのですが、まぁ動いているし(^_^;)
あと、JRubyの問題でメモリリークの問題があり、単調増加的にメモリ使用量が増えることが長い間存在していました。この問題はJRuby 1.7.15で解決したのですが、解決してなかったらJRubyのデメリットが強調されるので、大変助かりました。こういうのはやった人だけが分かる話。
ありがたいことに、発表が終わってから色々とご指摘を頂きました。発表資料とかデータの公開についてはこの記事を書いている2014年11月24日時点で準備を進めていますので、今しばらくお待ち下さい(SIerの面倒くさいところの一つですm(_ _)m)。後は、RubyWorld Conferenceのページで公開されるかも。。。ここらへんはどうなるんだろうなぁ。
なお、メールとかでよろしければ、個別に送信しますので、Twitter(@miyohide)やメールなどでご連絡ください。
来年も喋ることができたらいいなぁと思っていますが、はてさて。なにせ松江にタダでいけるし。機会があれば。
50回目のYokohama.rbを2014/11/8(土)に開催しました。
普段は20名も入ればいっぱいな神奈川地区センターの和室でやるのですが、今回は50回という記念すべき会ということもあって、 @1syo さんによる発案でLT大会をやることになりました。
LT大会のテーマは自分を変えた一冊。というわけで、このエントリーでは上がった本を記していきます。私が読んだ本については一言コメントを。
Webにあるゲリラ的雇用面接のすすめを読んでもいいかな。このJoel on Softwareは読み始めると時間があっという間に過ぎてしまう。
ポインタが分からないときに読んで目からうろこだったなぁ。
エキスパートCプログラミング―知られざるCの深層 (Ascii books)
これは未読。
アジャイルとは何かということを知った一冊。
ジョジョの奇妙な冒険 30~39巻(第5部)セット (集英社文庫―コミック版)
ジョジョは読むべきかなぁ。未読。
普通の奴らの上を行け!
未読。
メタプログラミングの楽しさを知った一冊。洋書だと第2版が出てますね。買ったのに積読中orz
Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)
もう一冊Ruby系のレシピブックがあるけど、何か言語を身につけるときはレシピブックをひと通りやればいいかなと思ってます。
Lean Analytics: Use Data to Build a Better Startup Faster (Lean Series)
何かの機会で読んだ。訳書がほしい。
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)
すみません、未読。
学生の頃に読んだ。丸善本店に行くと必ず平積みになっている名著。何回読み返しても良い。
読んだような気がする。あんまり覚えてない。
会社の研修でもらった。デザインパターンを知った一冊。
未読。タイトルだけで読みたくなる。
いつぞやのRubyKaigiでサインもらった。これでRailsを使えるようになった気がする。
マネー・ボール〔完全版〕 (ハヤカワ・ノンフィクション文庫)
映画で見た。本は未読。
1回読んだけど、さっぱりってな感じ。もしドラのほうが私にはあっているような。今読むと違った読み方ができるかな。
もし高校野球の女子マネージャーがドラッカーの『マネジメント』を読んだら
もしドラ。ストーリーに突っ込んでは負け。
Yコンビネーター シリコンバレー最強のスタートアップ養成スクール
積ん読中。
未読。C拡張のことが書いてあるらしい。
JavaWorldは昔、Java技術者だった頃よく読んだなぁ。
レシピブックは写経してこそ真価を発揮する。
XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法
XP。最近のプログラミング手法のベースとなっている本だと思う。
@1syoさん
@tyabeさん
@chezouさん
@masa_iwasakiさんのブログ
Yokohama.rb 第50回LT 〜自分を変えた一冊〜 · sleep rand(1.year)
@joker1007さん
reveal.js - The HTML Presentation Framework
@muryoimplさん
思いの外、IT系以外の本が出てきてびっくりしました。教養ってものになるのかな。
残念ながら絶版になった本もありますが、「この本は必ず読んでおけ!」ってな扱いではなくその本を読んでその人が何を感じ取ったかが重要だったかなと思います。
『Everyday Rails RSpecによるRailsテスト入門』という電子書籍をひと通り読み終わりました。ページ数は約150枚(PDFにて)程度ですので、ぱらぱら〜とひととおり見るのでしたら数日で読み終わることでしょう。
Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]
今回は、週1回2時間ほどのペースで写経しつつ読み進めたのでだいたい半年ぐらいかかりました。
Railsアプリのテスト入門書として最適かなと思います。値段も20$程度ですし、バージョンアップ対応も随時実施されています。こういう技術書においてバージョンアップ対応というのは大変ありがたく、「同じようにプログラムを写経したのに動かない!」という問題が避けるというメリットがあります。
1.イントロダクションの『対象となる読者』にも書かれているように、Railsアプリは1〜2個程度書いたことがあるんだけど、テストは書いたことがないという人向けです。テストへの取り組み方に対して著者自身の考えを明記している(1.イントロダクションの「私が考えるテストの原則」)があり、それへの反対意見があることも承知のうえで書かれていることが印象に残りました。
本書の写経は他の本と比べると特徴的です。ゼロから構築するのではなく、すでにあるアプリケーションに対してコード(今回はテストコード)を追加するという形になります。この形は結構新鮮で、テストを書くことに本の目的を絞った取り組みとして素晴らしいアイディアかと思います。
ただ、一度はアプリケーション自身を動かしてみると良いと思います。本書内でも記述はあるのですが、実際にブラウザで操作してみることで、どのようなアプリケーションなのかを実感するためです。いきなりテストを書くというのはちょっとイメージしづらいかなぁと。
本書のGitHubのページにテストコードが書かれていますが、写経自身については自らの手でやったほうが良いです。テストが書けるようになるためにはある程度量をこなさないと行けないと(私は)考えています。折角の機会なので、経験を積むという意味でやってみると良いかなと。
なお、私は自分のタイミングでコミットすべく、「01_untested」ブランチをexportして、git initしました。こんな感じです。
mkdir ~/rspec_rails_4_export git clone https://github.com/everydayrails/rspec_rails_4.git cd rspec_rails_4 git checkout -b untested origin/01_untested git archive untested | tar -x -C ~/rspec_rails_4_export cd ~/rspec_rails_4_export git init
「3.モデルスペック」から「5.コントローラスペックの基礎」ぐらいまではサクサクと読み進められますが、それ以降は内容が省略されすぎていたり、逆に細かすぎる印象を受けました。
例えば「7.コントローラスペックのクリーンアップ」の「contacts_controller_spec.rb」のアウトラインを見せる部分は必要?と感じました。一方で、DatabaseCleanerの説明にはより詳しいものがほしいなと思いました(鍵マークとしてリンク先があるのですが、本文中で語って欲しかった)。
翻訳はこなれていますので、かなり読みやすいかと思います。1点、説明が長文に及んでいる部分において、行間が詰まっている感じがしました。適宜、1行ぐらい空行があってもよいかなと感じたりします。
翻訳者の伊藤淳一さんが、Twitterをさーちされているのか本書のことを話題に出すとmentionを頂くことが多々ありました。これに甘えてはいけないなぁと思いながら、ちょっぴり期待してた麺もあります(^_^;)
また、繰り返しになりますが、バージョンアップ対応も地味に嬉しいサポートです。これがあるお陰で周りや初学者にも安心してオススメできます。
本書の末尾に書いてありましたが、「Rails 4 Test prescriptions: Build a Healthy Codebase」にチャレンジしてみようかなと思います。積ん読の消化が必要ですが。
ひょっとするとブラックフライデー(サイバーマンデー?)でセールがあるかも。それがあるまではちょっと買うのを控えようかな。
先日会社で受験したTOEIC IP試験で700点をGetしました。まぐれかもしれませんが、結構頑張ったことなので、エントリとしてあげておきます。
3年前にTOEICを受けた時は400点だったので、3年で300点あげました。進みは遅いので、即効性のあるものではありません。「来月までに何点上げないといけない」という人には向かないかなと。
単語を知らないとヒアリングもリーディングも点数は取れないので、まずは単語力をあげることが必要と考えました。私がやっているのはiKnowです。
一日1時間程度問題をこなし、例文を音読します。大体移動時間でやるので、音読というよりかは声にならない感じで口を動かすって感じになります。
単語は1回やっておしまいというわけではなく、繰り返しやります。学習プログレスのリセット機能を利用して、終わったコースを何度も解き直しています。
文法は、Forestが有名かと思いますが、英語を何年も離れていた人がこれを読むのはかなり辛いです。
TOEICの文法は中学校でならったものぐらいしかでないと言われていますので、まずは足場を固めるようにしましょう。私は、「新TOEICテスト中学英文法で600点!」を読みました。
TOEICは形式が決まったペーパー試験ですので、ルールがたくさんあります。問題がどのように出題されるか、どの文章が読まれてどの文章が読まれないか、時間配分などさまざまです。古い本で書かれているテクニックが現在は使えないもの(リスニング中にリーティングの問題を読んだり回答をしたりすること)などがあります。
私は、実際の試験を受けてみて、自分の立ち位置を知るようにしました。大体3回ぐらい受験すると慣れるかなと思います。
試験問題もある程度定番化されています。そのため、TOEIC対策本をやると定番化された問題パターンとその回答パターンを身につけることができるかと思います。
本は様々なものがありますが、「究極のゼミ」シリーズが私にはマッチしました。これを何回も繰り返して解いています。
TOEIC(R)テスト 究極のゼミ Part 2 & 1 (CD・DL特典付) (TOEICテスト 究極シリーズ)
TOEIC(R)テスト 究極のゼミ Part 3 & 4 (CD・DL特典付) (TOEICテスト 究極シリーズ)
DL特典付 TOEIC(R)テスト 究極のゼミ Part 5 & 6 (TOEICテスト 究極シリーズ)
TOEIC(R)テスト 究極のゼミ Part 7 (別冊模試・DL特典付) (TOEICテスト 究極シリーズ)
4冊あるので、2周目に入るころには問題と答えを覚えているというのはあまりありません。
ESL Podcastを聞いています。遅めのペース->各文の解説->ノーマルスピードの順で英語を読み上げてくれて、20分ぐらいの番組。本文が公開されているものを中心に聞きながら音読をやっています。時間があったら和訳も。
意味がわからないまま聞き流すことは時間の無駄なので、本文が公開されていないEnglish Cafeは聞いていません。
今年4月から始めたのですが、「攻略!英語リスニング」をやっています。教材はAmazonでKindle化されていて、CDもiTunesでオーディオブックとして販売されているので、いつでも始めることができます。
ただ、この電子書籍やiTunesで販売されているオーディオブックはちょっと使いにくいです。ページ送りが重かったり、特定トラックの呼び出しができなかったり・・・。ちょっと試してみて、我慢できなければ本やCDを買うという運用をするとよいでしょう。
この教材のいいところは長めの英文とシャドーイングやリピート&クックアップという訓練ができるということ。もちろん、一人でもできるのですが、音声教材から「では、やってみましょう。」と言われるとサボらずにやれる気がします。
勉強をしたということをログに残してSNSに公開しています。使っているツールはStudyplus。Twitterとかと連動して、記録を公開すると勉強していないことのプレッシャをかけることができます。
いろいろな教材をやっていますが、全体的にやっているのは音読です。リスニングとリーディングだけのTOEIC試験に発音は問われないので、音読は無駄ではないかと思っていましたが、「攻略!英語リスニング」で言われている「口に出せる英語は聞き取れる」を心情に実践しています。
移動中など、声に出せない状況もたくさんありますが、そのときでもなんとなく口を動かすと意味があるような気がします。