memocon プログラミングのメモや物欲日記、雑記等

注目2013年advent calendar

2013年12月01日 04時35分

2013年も残すところ12月のみとなって技術者達には恒例のadvent calendarの季節がやってきました。

去年はFuelPHPのadvent calendarに参加させてもらいましたが今年はまだどのadvent calendarにも参加いません。
ですが個人的な目標としてmy advent calendarとして25日までは毎日ブログを更新することを目標に頑張っていこうと思っています。(既にこの記事を2日に書いている時点でアウトな気がしますが細かいことは気にしない)

一発目としては今年注目しているadvent calendarのリンク集です。

advent calendarを作成するのに便利なサイトが複数できて選べるのは喜ばしいのですが探すのに手間取って見逃しては勿体ないのでその対応です。

TDD Boot Camp 横浜 3rdに参加してきたよ

2013年10月06日 02時20分

TDD Boot Camp 横浜 3rd に参加してきました。

最初に安井さん(@yattom)の基調講演。

TDDBC横浜3rd from yattom

その中のでこんな問がありました。

「なぜ、TDDをやろうと思ったのか?」

そう言われれば何故だ。
そもそも俺は何故こんな単語を知っている…今の俺の周りにはプログラマなんていないのに…

最近使ったフレームワークでユニットテストが当たり前のセットになっているからか?

いや、違う。

もっとミーハーでもっと情熱的な理由があったはず。

目の前のスライドの和田さん(@t_wada)の名前を見てふと1年前ぐらいの自分が思い出してきました。

色々とあって「俺ってプログラマに向いてないんじゃないか?」みたいな漠然とした悩みが大きかった時期です。

そんな時にTwitterのタイムラインでSQLアンチパターンという本が出版されるということを知り、SQLやテーブル設計に悩まされていた私は真っ先に飛びつきました。
そのSQLアンチパターンを監修したのが和田さんでした。

その関連でこのスライドを知りました。

愛せないコードを書くには人生はあまりにも短い from Takuto Wada

正直に言います。

このスライドを初めて見たときに泣きました。

このスライドが素晴らしいのは勿論なのですが、今思えばそれほどソースコードに引きずられ心が疲弊していたんだと思います。
それほど技術的負債が及ぼす人体への影響は大きいのです。

TDD、ソースコードの健康とともに自分の心の健康も取り戻せるスキル。
それは習得したいじゃありませんか。

長くなりましたがこれがTDDを知る流れ&参加の経緯です。

ペアプロの相手をしていただいた@comuttさんは常に仕事でTDDをされている方でした。
慣れない私にヒントを出すような形で進めていただき、導かれるように案を出したり手を動かしてレッドがグリーンになっていく様は本当に壮快でした。本当にありがとうございました。

一番記憶に残っているのはリファクタリングをしたらほぼ全てのテストが失敗して画面にFFFFFFFFと綺麗に並んだFと共に赤バンドが美しく表示されたことですね。
コードを変更して綺麗にしたけど動かなくなったということが一目で分かったし、修正後にまた全てのテストが成功してグリーンバンドが表示されたら綺麗にコードを変更しても動作は変更前と変わらないということが自信を持って言える。

このサイクルをもっと繰り返したい。
そんな衝動に駆られた体験でした。

そしてレビュー発表!、、、は他のグループが当選(?)されていました。
最初は初めて目の当たりにするリアルマサカリに面食らいましたが慣れるとその議論も楽しかったです。

そしてPHPerの少なさには驚きました。(4/31)
求人とか見ると絶対こんなに少ないとは思えないんだけどなぁ。
仕事では使うけど趣味では他の言語を使いたいって人が多いのか、ってことにしておこう。

惜しいのは帰る時間にひよって懇親会不参加だったことです。
TL見てると凄いカオスで楽しそうで悔しさ倍増。

余談&多少の自慢ですが勉強会で出版社が技術本から撤退して今は手に入りにくいというテスト駆動開発入門を持っていました。詰んでた自分が恥ずかしい。
TDDBCを機に熟読して実践していきます。TDDBCに参加してから読む本はまた別の味わいが出ることでしょう。

そしてSQLアンチパターンには和田さん&和田さんの父上のサインを頂いていたりしています。

写真 2013-10-06 1 07 01

素晴らしい勉強会を開くために尽力していただいたTDDBCのスタッフの方々、会場を提供していただいたatWare様、関わった全ての方々に感謝致します。ありがとうございました。

Laravelでアンテナサイトを作ったよ

2013年10月04日 11時46分

主に自分用なアンテナサイトを作りました。

Crossl Reader
http://www.crossl.net/reader/

Crossl Readerという名前です。

自分用ですが趣味が似てる人には役に立つと思うので是非Twitterアカウントをフォローしてもらえると嬉しいです。

https://twitter.com/CrosslReader

続きをみる

phpカンファレンスに参加してきた&公開資料まとめ

2013年09月17日 14時57分

去年は参加登録し忘れて行けなかったPHPカンファレンス

そんな悲しい思い出があったので今年は忘れずに参加登録して、以下のセッションに参加しました。

  • inside pixiv’s infrastructure

    RESTなAPI作っていろんな言語と連携できるように作成している。(外部には公開してませんよ)
    レスポンスのボトルネックを調べてみて既存フレームワーク(Silex)の初期化処理がネックだったから独自フレームワークを作成して運用してる。

  • ミッションクリティカル&ハイパフォーマンスシステムにおける技術統合と運用の勘所

    最終手段富豪的解決! 技術的に解決も限界があるのでハード的な解決も視野に…
    停止しない為にどこかのサーバが停止してもキャッシュなどで単サーバで動くように設計。
    Scalaは早い。(言語的にも視野を広く)

  • Composerを活用したモダンなCakePHPアプリの開発手法

    問題ない、既に導入している。

  • PHPerのためのデータサイエンス入門

    データ設計超重要。
    基本スキーマ、非正規化スキーマと段階を踏んでしっかり設計する。
    なんかここから良い所ってところでタイムオーバーしたような感じだったのが残念。

  • 15分で出来るPHPとJavaScript MVCフレームワークで作るプロトタイプ

    CanJS素晴らしいよと。
    この名前初めて知りました。

移動がめんどくさかったのでずっと2F小展示ホールにいましたが動かなすぎて腰が痛くなったので上のセッション聞いて早めに帰路につきました。
まぁ、目当てのセッション聞けたので満足です。

タイムライン&公開資料のまとめ

自分用の発表資料リンク集。
なるべくスライド優先でリンクしています。

続きをみる

Laravel4のartisanコマンド追加手順

2013年09月12日 12時36分

Laravel4のartisanにコマンド追加するときの手順。

テンプレ作成の為にコマンド実行

コンソールで以下のコマンド実行。

これでapp/commands/の下にFoo.phpが作成される。
コマンドの一覧に出るようにメンバ変数$nameと$descriptionを書き換える。

スタートアップにクラスを登録

app/start/artisan.phpにクラスを追加。

続きをみる