表題の通り、先日開催されたYAPC::Asia Tokyo 2014 に参加してきました!
...とはいっても、息子のお迎え&旦那が休日出勤(ナイスタイミングorz)ということで両日とも夕方までの参加になってしまいましたが。
初めてこのようなイベントに参加させていただきました。
イベントの雰囲気はフランクな感じで、技術カンファレンスといえど、楽しく参加することができました。
Beginners向けのセッションも多くて、そこまでIT業界に精通していなくともとても理解しやすいものが多く、
刺激を受けて意欲を掻き立てられるようなイベントでした。
今回参加したセッションで特に印象に残ったものをピックアップして感想書かせてもらいます。
インフラエンジニア(狭義)は死んだ
ちょっとタイトルだけじゃびっくりしちゃいますが、、、
「インフラエンジニアだってコード読み書き出来たほうがいいよね。」
「担当領域を決めてそれしかやらないのはよくないよね」
っていう話でした。
例えば既存のツールを使って何かをする場合に、自分でちょっとコード書けてカスタマイズ出来れば、
自分のやりたいことが、より便利に/楽に実現できる。
これは私がプログラミングに惹かれている理由の1つで、
目の前で動いているものはコードが読めればわからないことなんてない(...はず!)で、
それが出来れば、自分のやりたいことだって自分で実現できる。と思っています。
まぁ...実際に仕事をしているとそんなに単純ではないですけどね。
また、このセッションを通じて「コードだけ読み書きできるプログラマーも死ぬの?」とも考えました。
一般にいう「要件定義などの上流行程」が出来るかどうかの話ではなくて、
「アプリの起動の仕組みとか、プログラムがどう動いているのか?(メモリの話等)」をわかっているかどうかの話です。
最近、私自身が仕事をする上で感じ始めている課題で、
パフォーマンス関係の仕事を少しずつさせてもらうようになったので感じたことかもしれません。
細かい部分は知らなくてもコードさえ書ければ動くものは作れてしまうのですが、
より良いものを作ろうと思った時には、きっとわかっていなければいけないことは少なくないと思います。
何か専門/得意分野を持って仕事を出来るようにしなけえればいけないけど、
必要最低限の幅広い知識を身につけないといけないなぁ、と今回のセッションを通じて改めて強く感じました。
ライブコーディング 2014
これは個人的に1番楽しみにしていたセッションです。
ペアプロとかしたことなかったし、
他の人はどうやって実装していくのだろう??という疑問がずっとありましたので。
今回TwitterのOAuth機能を実装したりして、たまたま私も少し前同じものを作っていたので
理解もしやすく面白かったです。
ただ私が実装した時は、何かしらの事情でCPANモジュール(Net::Twitter)を使わなかったのですが、
それを使うとすごく楽に実装出来て、わかってはいましたが少し複雑でした。。。
(TwitterはAPIのバージョン古くてsignature計算する部分特に面倒でしたし。)
コーディング中には、いろいろ問題が起こりハマってたりもしていて、すごく親近感を覚えましたですw
凄かったのは、モジュールの使い方をPODでなく直コード読みで理解しちゃうところ!!
これには本当にすごいなーと思いました。
あとコーディングにはあまり関係ないかもしれませんが、
今回は作るものはアーキテクチャの部分や仕様が最初から定まっていたので
問題は起こりながらも作業の流れはスムーズだったと思いました。
逆に最初に作るものがはっきり定まっていれば、それだけ開発はスムーズに進むのだという印象でした。
実際はそうもいかない部分が多く、なかなか進まないのですが、
最初の仕様を決める部分に時間をかけることが大事なのだなぁとか思ってました。
ちょっと細かい部分の感想ですが、
○細かい単位でのコミット
○Viewである程度アプリの挙動が確認出来るようにしてから機能実装していったり、
○エラーが起こった時に原因を特定するために怪しい部分コメントアウトしてみたり
○リビジョン戻して確認して、コミットログ参考にしたり...(Git!)
ここらへんはおよそ自分もすることで、
私の仕事の仕方に大きな問題もなさそうだと安心したりもしました。
Perl Mongersのためのstrace入門
「Webアプリの挙動をシステムコールで見てみよう」
を実践されていました。
簡単なアプリを作成して、
起動時はどういう状態なのか、リクエスト発行した時はどうなっているのか等をデモされていました。
これがちょっと前の話に関わると思っていて、
こういう細かい部分の挙動まで常に意識することは難しくても、わかっていればより良いアプリを作ることが出来るのになと思いました。
特にパフォーマンスを意識する場合には大事なことだと思いました。
実際にリリース後にパフォーマンスが劣化し、システムコールを解析して問題を解決する、という事例も紹介していただきました。
実際に自分でも一度試してみたいなと思っています。
他も以下のセッションに参加させていただきましたが、どれも大変面白いお話でした。
○WHERE狙いのキー、ORDER BY狙いのキー
○突然ITインフラを任された人のための…監視設計入門
○ほんとにあったスキーマの話 「ソーシャルゲーム」
○Perl For (Non?) Perl Mongers
○Changing the tires on a moving car: a case study in upgrading legacy architecture
○Mobile Application Development for Perl Mongers [ninjinkun x gfx]
○Perlの静的解析入門とPerlリファクタリングツールApp::PRTのご紹介
今後もこのようなイベントに参加できればいいなと思いました。
とりあえず、来年もYAPCには参加するぞ!とい思っています。
1 コメント:
Write コメントこちらもよくまとまってますね。 http://somat.hatenablog.com/entry/2014/09/01/022332
Reply