2012年2月26日日曜日

勉強会って怖くないよってお話をしてきた #study4bg

エンジニアライフのコラムニスト仲間であるあずKさんが主催されている勉強会、「勉強会初心者のための勉強会 #study4bg」にゲストスピーカーとして呼ばれたので行ってきた。

ATND
http://atnd.org/events/25214
公式サイト
https://sites.google.com/site/study4bg/home

会場はエンジニアライフでお世話になっているアイティメディアさんの会議室。
ここは2010年の9月に、エンジニアライフのオフ会でぼくがオフ会デビューをした思い出の場所である。その後の勉強会などの社外活動にのめり込むきっかけとなった会だったので、そういう場所で1年半後に、今度はぼくが勉強会初心者の皆さんに向けてお話をするということで、少し感慨深かった。

勉強会ではこういうお話をさせてもらった。


Ustはこちら

Togetterまとめ
http://togetter.com/li/263403

ゆかりんのーとのまとめ
https://yukar.in/note/ckFoD9

参加者の方のブログ or コラム
・するめご飯日記
http://show-surumegohan.blogspot.com/2012/02/blog-post_25.html
・ノート
http://mocha-cocoa.blogspot.com/2012/02/study4bg-2012.html
・zakiharaの日記
http://d.hatena.ne.jp/zakihaya/20120226/1330229570
・わはー↑
http://ermellino.org/design/2012/02/study4bg/
・It's Party Time!
http://el.jibun.atmarkit.co.jp/azk/2012/02/--2012---8414.html

30分のセッションということで難しかったが、皆さん真剣にお話を聴いてくださった。
笑いもそこそことれたし。

セッション後はみんなでLTの練習ということで、2分で自己紹介をするというワークショップを実施。
LTのお手本ということで、ゆうこりんLTを披露してきた。

今回、本当に勉強会が初参加、という方が何人もいらして、懇親会などで「来てよかったです!」と言っていただけたり、本当にやってよかったと思う。

懇親会でも話題になったが、最近はITだけでなく、法務の世界でLTの文化がはじまったりと勉強会文化の裾野が拡がっているようである。

ぼくも「自称勉強会エバンジェリスト」的な感じでそういう流れに関わっていけたらな、と思う。

今回の機会を与えてくださったすべてのみなさんに感謝。どうもありがとうございました。

2012年2月22日水曜日

Play 2.0-RC2 のSpecs2によるテストで、InMemoryDatabaseを参照する方法について

Play2.0での開発において、DBはサーバ上のOracleやMySQLなどに接続しているけれど、Modelのテストなどはサーバのデータに影響を与えたくないのでIn Memory Databaseに接続したい、という要望があるかと思います。

今日、それについて少し調べていたので、メモがてらまとめます。

Play2.0でテストを実装する場合、標準でSpecs2を使うかと思いますが、その場合にIn Memory Databaseに接続する際は、下記の記述をします。


import org.specs2.mutable._

class TestSample extends Specification {
      "connect InMemoryDatabase" in {
          running(FakeApplication(additionalConfiguration = inMemoryDatabase())) {
               1 must beEqualTo(1)
         }
      }
}
ここでのポイントは
additionalConfiguration = inMemoryDatabase()
です。

additionalConfigurationは、application.configから読み取った値を上書きしたり追記したりします。

ここで、Play2.0のinMemoryDatabaseの実装を見てみましょう。


 def inMemoryDatabase(name: String = "default"): Map[String, String] = {
     Map(
         ("db." + name + ".driver") -> "org.h2.Driver",
         ("db." + name + ".url") -> 
             ("jdbc:h2:mem:play-test-" + scala.util.Random.nextInt)
     )
 }
このように引数なしでinMemoryDatabaseを呼ぶことで、additionalConfigurationに対して"db.default.driver"と"db.default.url"の値をMapとして渡す形になり、テスト時のDBの参照先がIn Memory Databaseになるというわけです。

2012年2月20日月曜日

みんなで鍋食べて、ついでにLTとかしてきた。

今日は鍋食べてきました! 
http://atnd.org/events/24580

で、なんかみんなお店の予約時間の5時間も前に集まったもんだから、
焼肉とか忘年会とかの例によってついでに発表とかしてきました。

TDDのお話とか、開発のマネージメントについてのお話とか、Seleniumのお話とか、強いられてる話とか、QuickJunitとか、Spockとか、どれも楽しい話ばかりでした。

まとめ:
http://togetter.com/li/260584

ぼくも発表してきました。


いやー。楽しかったー。

2012年2月13日月曜日

ランニング初心者が2ヶ月ちょっとで10kmマラソンを完走したはなし

今日、神戸で開催された「神戸バレンタインラブラン」というマラソン大会の10kmコースを完走しました。

大阪マラソン、神戸マラソンのクォーターにエントリーしたものの落選し、せっかくなので一回くらい走りたいと思いエントリしたのが去年のこと。

それまで、まったく走っていなかったわけですが、2ヶ月ちょっとのトレーニングで、わりと余裕をもって10kmを完走できるくらいになりました。

最初は3km走っただけでゼエゼエいうし、足は死ぬほど痛いし、10kmなんて途方もないように感じていたのですが、継続というのは偉大なもので、たぶんペースさえ守れば今なら10km以上の距離も走れるような気がします。

下記の図が、ぼくが決意してから、今日の本番を含めた全ランニングの記録です。

回数にして22回、総距離は約130kmです。

だいたい週に1-2回のペースで、途中少しサボりながらも徐々に走る距離を増やしていき、10kmに到達した感じです。

当然人によって個人差はあるでしょうが、10kmくらいなら健康な人ならこのくらいのトレーニングで走れるようになると思います。たぶんですけど、その気になれば20kmいけるんじゃないでしょうか(笑

マラソンは、全力で走ったり、瞬発力を競うスポーツではなく、いかに自分のペースを一定に、長時間保つか、というスポーツです。

継続によって自分の能力が上がり、かつそれを持続するという観点で、肉体的な部分だけでなく、精神的な面でも得るものは大きいです。
途方もない目標でも、続けていればやれるようになる、という実感を得られた事実は、ぼくの自己啓発に対する考え方にも良い影響を与えてくれました。

最終的にはハーフマラソンを一回走って、あとは仮装して10km走る感じの大会のにぎやかしランナーあたりに転身しようかと考えています。

2012年1月27日金曜日

SIerからWeb系へ転職するためにぼくがしたことのすべて

2012年1月末をもって、今の会社を退職することになりました。

2006年に、それまで勤めていた会社の倒産をきっかけに入社し、5年半ほどお世話になりました。
ぼくの社会人キャリアの中ではいまのところ最も長く在籍した会社であり、エンジニアとして大切な多くの事を学ばせていただきました。

在職中にお世話になった皆様方、本当にいろいろとありがとうございました。そして今後ともよろしくお願いします。

今回のエントリーでは、ぼくが転職をするにあたって具体的にどういうことをし、そして成功したのか。そういったことを書こうと思います。

■SIerからWeb系へ

ぼくは今回、いわゆるSIerからいわゆるWeb系へ転職することになりました。厳密にいうと少し違う部分もあるので、「いわゆる」と表現しています。ただ、きのこる先生の記事でSIerとWebの定義を行なっている図でいうと、「左上」から「右下」の系統への転身となるので、おおざっぱな意味で「SIerからWeb」と言って差し支えないでしょう。

ぼくの転職活動も、この図にのっとった形での会社を志望し、活動を続けました。

■書類選考の通過ゼロ時代

昨年の夏ごろから、なんとなく転職活動をスタートさせました。
転職サイトに登録し、情報収集して気になった企業に職務経歴書を送ったりしていました。

このころから、いわゆるWeb系をターゲットにしていましたが、書類選考がまったく通りません。なんらかのアドバイスをもらおうと、転職エージェントに相談することにしました。

最初に面談を受けたエージェントには、「あなたではWeb系への転職はできません」とはっきりと言われました。ぼくの職務経歴書では、SIerに対してはリーチできるけれど、Web系での書類選考は通らない、というのです。

そのエージェントからは結局ぼくの要望に反して、SIerの求人ばかり紹介されました。
紹介していただいた求人は大手ばかりだったので、SIを志望するならそれはそれでよい転職ができていたかもしれません。しかしそれはぼくの希望ではありませんでした。

その後、エージェントを介さずに企業に直接書類を送ったりもしましたが、やはり面接までこぎつけた会社はゼロでした。

■ブログやコラムのURLを書いてみることに


あるとき、某大手検索サイトが関西に開発拠点を設けるため、大量のエンジニアを採用しようとしている、という求人を目にしました。

これほどの大量採用なら、チャンスがあるかもしれないと思い、エントリーをしてみたのですが、これまでと同じではどうせ書類選考に通るわけはないので、少し工夫をすることにしました。

よく、「Web系に行きたければコード書いてgithubにUpして、そのURLを会社に見せろ」というようなアドバイスを目にします。ぼくもそのアドバイスにしたがって、このブログや、エンジニアライフのコラムなどのURL、勉強会での登壇歴などを、職務経歴書の最後に自己PRとして記載してみたのです。

結局、そのエントリーも書類選考は通りませんでしたが、その会社の求人を担当しているというエージェントから「会いたい」と連絡を貰いました。

このエージェントからのアドバイスが、ぼくの転職に大きな転機を与えてくれました。

■書類選考通過率100%

エージェントからのアドバイスは次のようなものでした。

あなたの会社業務についての職務経歴でははっきりいってWeb系にリーチできない。しかし、自己PRに書いてあるような社外活動は大きなアピールポイントになる。
なので、最後にちょこっと書くのではなく、職務経歴書の先頭に、目立つように書きましょう。

このアドバイスにしたがって職務経歴書を書きなおし、紹介された求人にエントリーしてみました。

結果的に、その後2社に対してエントリーしたのですが、2社とも書類選考は通過しました。2社目で入社が決まったのでサンプル数は少ないですが、職務経歴書改良後の書類通過率は100%です。

勉強会や、コミュニティ活動に対するマインドが評価されたのでしょうか。

■ソーシャル転職


最近、ソーシャル転職という言葉をよく聞きます。
TwitterやFacebook、LinkedInなどのソーシャルメディアを利用して転職を行う、というもの。

ぼくも、こういったソーシャルな繋がりの人から、「弊社に来ませんか」と声をかけていただいたことが何度かあります。結局いろいろな理由があってソーシャル経由での転職には至りませんでしたが…。

しかし、今回の転職でも、こういうソーシャルな繋がりによって助けられた部分があります。

勉強会などをきっかけにTwitterなどで交流のある方や、エンジニアライフのコラムニスト仲間がたまたま転職先に勤めているという事が、エントリー後にわかりました。

そのおかげで、求人票にはあらわれない現場のお話や、そこで働く方のマインドなど、多くの情報を得ることができ、「この会社で働きたい」という気持ちを固める非常に強いきっかけとなったのです。

ぼくは今回の転職は会社に在籍しながらの活動だったので、いろいろな会社からお話を聞き、本当に納得できたところに入ろう、と考えていました。
その「納得」に至る部分において、SNSや勉強会でのつながりが大きな役割をはたしてくれました。

■不安もたくさんあるけど頑張る


長くなりましたが、以上がぼくの転職活動のすべてです。
同様の道をたどろうと悩んでいる方に、少しでもお役にたてれば幸いです。

SIerからWeb系という、すこし異なる世界への転身ですから、不安はたくさんあります。
ただ、こうして強い縁で巡り会えた会社ですから、貢献できるように精一杯がんばろうと思います。

2月から新しい職場での仕事となりますが、今後ともよろしくお願いします。

最後に、お約束のウィッシュリストを…|д゜)チラッ
http://www.amazon.co.jp/registry/wishlist/1BG8FLXXG4PWB

2012年1月22日日曜日

三谷幸喜の「90ミニッツ」を観てきたのでレビューっぽいことを書いてみる

部屋には二人の男。
彼らは人生を、そして
生き方を懸けた戦いに臨もうしている。
許された時間は、90分間 
    --公演パンフレットより--
シアター・ドラマシティで三谷幸喜作の舞台、『90ミニッツ』を観た。

三谷幸喜といえば喜劇の印象が強いが、今作は「倫理」をテーマとしていることもあって笑いは抑えめ。 90分間、暗転が一度もない、西村雅彦と近藤芳正の二人だけの会話劇である。

この二人の会話劇といえば、おなじく三谷幸喜作の『笑の大学』が素晴らしかったが、今作もたいへん素晴らしい作品だった。


ネタバレの無い程度にまずは簡単にあらすじを紹介しよう。
西村雅彦演じる医者のもとに、近藤芳正演じる「少年の父親」が訪ねてくる。
ある少年が交通事故にあい、手術を必要としているのだ。

医者はすべての準備を整え、あとは父親が承諾書にサインをするだけ。
ところが、父親はサインを拒否する。

手術には当然輸血が必要であり、少年は自らが生活する地域の古くからの慣習によって、輸血を禁じられているのだ。

少年の命が救えるリミットまで、90分。

人の命を救うという立場の医者と、自分たちの信念を貫こうとする父親との答えの見えない論理のぶつかり合いが展開されていく。

舞台上はいたってシンプル。白を貴重としたセットに、椅子が二脚置かれている。
舞台中央には天井から一筋の水が絶え間なく流れている。
会話劇の途中、二人が無言で見つめ合う場面などで、この水の流れる音が緊張感を演出する。また、この水の流れは少しずつ削られていく少年の命を暗喩している。
劇中、音楽や暗転は一度もなし。場面によってごくわずかに照明の強弱がつけられる。

『笑の大学』や『12人の優しい日本人』などをイメージすると、今回は少し物足りないかもしれない。かなり実験的な作品であったように思う。

ただ、映画へと仕事の軸足を移し、大河ドラマ以来、「人間」を描くことに重きを置いている三谷幸喜という作家の、ひとつの着地点であるように思った。

脚本にも彼特有の終演時の爽快感はなく、深く、沈み込むように物語が終わる。

賛否のある作品だと思うが、僕は面白かった。

数メートル四方に世界を切り取った「舞台」という箱庭で繰り広げられる二人のやりとりは、やはりライブでしか味わえない趣に満ちていたし、生の役者の演技から揺さぶられる感動も味わえたし。

2012年1月15日日曜日

二日酔いで皇居ランをしてみるなど

ふと、思い立ってこの土日は東京に遊びに行っていた。

せっかく行くので、皇居ランでもしてみようと思い、朝から走ることに。

朝7時に起きて、八重洲のホテルを出る。
前日、友人と午前2時くらいまで飲んでおり、やや二日酔い気味。

ホテルを出てまっすぐ歩くと、ちょうど二重橋のところに出たので、そこをスタート位置とすることに。とりあえず記念に写真を撮り、iPhoneのNIKE+ GPSを起動してランニング開始!!


皇居は一周約5km。今の僕の無理のないペースがだいたい7min/kmなので、35分で一周できる計算である。5kmならば練習でいつも走っている距離なので、多少二日酔いでも問題なかろう。

事前調査で、皇居ランは反時計回りに走るのがマナー、とのことだった。なるほど。だいたいみんな反時計回りに走っているので、僕もそれにあわせて走る。

実際に走ったコースと、記録はこんな感じ。


しかしそれにしても、ランナーが多い。
ランニング用ではない普通の歩道である。割りと狭い道を常に多くのランナーが走っており、互いに抜きつ抜かれつしながらであるので、ペースの維持が難しい。

また、思いの外高低差が激しい。


たかが5kmと甘くみていたが、いつもは河川敷のフラットなコースを走っているので、この高低差は正直ハードだった。特に後半、少し長い下り坂が続くので足への負担が大きい。

皇居ランは、東京の行政の中心地を走ることになるので、観光地感がすごい。
国会議事堂や警視庁、最高裁判所など、テレビなどでお馴染みの建物を眺めながら走るのはなかなかお上りさん的には楽しかった。

土地勘が無いので、コース取りを間違ったりしないか不安だったのだが、常に視界に数人見えているほどランナーが多いので、彼らの後ろをついていけば絶対に道を間違えることはない。

日常的に練習に使うコースとしては正直あの人の多さは微妙な気がしたが、観光気分で走るのにはいいコースだと思う。