#なごやこわい に囲まれながら1年間でやったこと
勉強し始めてとか以前にまとめたけど、個人的にはこの1年間はとても刺激的でとても楽しかったです。
次の1年が色あせないためにもちょっと備忘録しておこうかと。
名古屋エンジニア以外との影響についても書いておきます。
はじめに
僕は2011/09から名古屋市のとある会社で働き始めました。それまでは東京で4年ほどプログラマーとして働いていました。今も憧れ続けているid:bleis-tift (@bleis) さんに誘ってもらって転職しました。
詳細はこちらに書きました。
- > 【名古屋へ転職します - うさぎ組】
そして、名古屋で働いて約1年たちました。ちょっぴり変わっていて、とっても刺激的な毎日を送りました。
これはその備忘録です。僕が名古屋にきてから何を学んだのか。名古屋だから学べた事もそうでない事もあると思うけど。僕の大切な思い出です。
テスト
なんかいろいろやりました。やっています。
内定をもらった直後くらいから本格的に勉強しはじめました。
いろいろやっていますが、中途半端もたくさんあります。でもやっています。
基本的には【ソフトウェアテストを勉強しはじめて10ヵ月でやったこと - うさぎ組】です。ここではリンク先のエントリに無い事を追記します。
Nagoya.Testing というテストプロセス入門ハンズオン勉強会を3度やりました。午前中にセッション、午後からテスト計画 〜 実施結果報告(実施結果報告まで出来なくてもよい)というイベントです。
詳細は「Nagoya.Testing」「#NagoyaTesting」をググってみてください。
テストの書籍をあらたに購入するというのはこの半年ほとんどなかった気がしています。
どちらかというと「○○のテストをしたいので、○○が何かを基礎から知りたい!」ということのほうが多いです。
それで今は業務的にパーサー、DBなどを勉強しています。独自DSLをテストする方法とか、DBのテストを効率的にすすめるためのフレームワークとかツールを試したり、作ってもらったり。今はマイグレーションツールを設計したりしています。
ところで、ソフトウェアテストは仕様書をつくる前の段階があるのをご存知でしょうか?
テストにも設計があります。なので、ソフトウェアテストにもプロセスを定義できます。そして、テストコミュニティではテストアーキテクチャという概念も定義されてきました。
僕もテストアーキテクチャとかテストモデリングの作成をどんどん試していますが、いろいろ変わり過ぎてよくわからなくなってきている時期ですw
NGT -> よくわからないもの -> NGT -> よくわからないもの -> NGT -> よくわからないもの -> NGT -> よくわからないもの というループです。(NGTは電通大のにしさんが提案しているテストアーキテクチャをメインにしたテスト手法です)
それでも少しずつ見えてきたので楽しいですね。
テストで今興味をもっていることは、UXと実装とテストの関係、テストの品質、テストの特性、などです。それ、どんなことよ?って思われた方はTwitterとかでリプライもらえると「ふわっと」ですがお話しませうw (つまり、しっかりとブログに書けるほどの何かを自分の中で確立できていません。
参考書籍
ビューティフルテスティング ―ソフトウェアテストの美しい実践 (THEORY/IN/PRACTICE)
- 作者: Tim Riley,Adam Goucher,大西建児(監訳),児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/10/27
- メディア: 大型本
- 購入: 2人 クリック: 281回
- この商品を含むブログ (22件) を見る
- 作者: Cem Kaner,James Bach,Bret Pettichord,テスト技術者交流会
- 出版社/メーカー: 日経BP社
- 発売日: 2003/04/22
- メディア: 単行本
- 購入: 15人 クリック: 246回
- この商品を含むブログ (49件) を見る
- 作者: ボーリスバイザー,Boris Beizer,小野間彰,山浦恒央
- 出版社/メーカー: 日経BP社
- 発売日: 1994/02/26
- メディア: 単行本
- 購入: 6人 クリック: 85回
- この商品を含むブログ (19件) を見る
Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
- 作者: Steve Freeman,Nat Pryce
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2009/10/12
- メディア: ペーパーバック
- 購入: 3人 クリック: 76回
- この商品を含むブログ (32件) を見る
Making Software ―エビデンスが変えるソフトウェア開発
- 作者: Andy Oram,Greg Wilson,久野禎子,久野靖
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/09/24
- メディア: 大型本
- 購入: 1人 クリック: 132回
- この商品を含むブログ (17件) を見る
実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects’Archive ソフトウェア開発の実践)
- 作者: Janet Gregory,Lisa Crispin,榊原彰,増田聡,山腰直樹,石橋正章
- 出版社/メーカー: 翔泳社
- 発売日: 2009/11/28
- メディア: 大型本
- 購入: 3人 クリック: 142回
- この商品を含むブログ (52件) を見る
Software Testing ManiaX
参考Web
JaSST の過去講演資料 -> JaSSTソフトウェアテストシンポジウム
@goyoki -> 千里霧中
Google のテストに関するブログ -> Google Testing Blog
森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ
Android 2.2
会社に入って1monthくらいたったらやることになりました。なんかすごく大変でした。
参考書籍は結局買わなかったですね。あればよかったんでしょうけど、「体系的日本語書籍」が見つからなくって自分には難しかったです。(僕自身の傾向から言うと体系的な書籍のほうが学習効率がいい
現状のAndroid4.xとかも楽しそうだなーって思っていてやりたいです。
Androidアプリも3ヶ月くらいだけやっただけなので、なんかこう、優れた何かというのは言えないです。(他でも言えないけど。
このときに調べたりしたFWは
- Robolectric
- NativeDriver
- SpringAndroid
- SimpleFramework
使っていたツールは
- IntelliJ IDEA (12からはGUIデザインもできる!(当時は10.5とか11だった
- Gradle (Androidアプリのビルドできます
- PowerShell (manifestファイルをビルド時に書き換えるスクリプトとして
当時の知識で話す事はできるけど、最新だといろいろ事情が異なるんだろうなぁと思います。
Webで参考になったのは結局本家サイトでした。あとそれの日本語訳。
C#
命名規則がJavaと違うのでチグハグしてしまったり、時間がなくって弊社ライブラリで提供しているEitherとかOptionとか使えなかったりとかいう経験をしました。
いまなら最初からEitherとかOptionを使える気がします。
NUnitがVSと統合されていない(JUnit + IDEのようではない)現実に驚いたのが懐かしいです。
調べものは基本的にMSDNだったり、@bleisさんのブログだったり、@htid46に質問したりだったり。
ちょっとかぶりますが、C# をやっていて感じたのは、C# 自体は素晴らしいのですけど、Java/Groovyと比較すると、エコシステム(ツールとか)が貧弱でそこの文化で戸惑う事が多いです。
もっとC# に詳しくならないとなーと思いつつ、書く機会が少ないのでどうしても後回しに。。。
参考書籍
C#ショートコードプログラミング (MSDNプログラミングシリーズ)
- 作者: 川俣晶
- 出版社/メーカー: 日経BP社
- 発売日: 2011/01/13
- メディア: 単行本
- 購入: 2人 クリック: 72回
- この商品を含むブログ (12件) を見る
プログラミング.NET FRAMEWORK 第3版 (Microsoft Press)
- 作者: Jeffrey Richter,藤原雄介
- 出版社/メーカー: 日経BP社
- 発売日: 2011/02/03
- メディア: 単行本
- 購入: 10人 クリック: 500回
- この商品を含むブログ (20件) を見る
.NETのクラスライブラリ設計 (Microsoft.net Development Series)
- 作者: Krzysztof Cwalina,Bard Abrams,藤原雄介
- 出版社/メーカー: 日経BP社
- 発売日: 2009/12/23
- メディア: 単行本
- 購入: 10人 クリック: 603回
- この商品を含むブログ (35件) を見る
F#
たぶん会社で僕が一番か二番に触っている言語。職場的な意味では僕がテストエンジニアっていうのが大きいかもしれませんが。
F# は書いていてすごく楽しいです。僕が静的型付け関数型を仕事で使った初めての言語ですね。
ある日会社についたら@maeda_ に「実践F#」を渡されて@otfに「F# (O′Reilly)」を渡されて「じゃあ、よろしく」とF# をやることになった朝が懐かしいです。。。
これらの書籍を読みつつ、F# MVP たちのブログを読む。というのが勉強のスタイルでした。
いま困っているのはNaturalSpecの体系的ドキュメントがほしい。というところです。あとFParsecも。
F# はC# に輪をかけてエコシステムが残念ですが、まだ若い言語なのでこれからに期待しています。なんというか、僕はハッカーではないので、エコシステムがちょっと弱いだけですぐにくじけます。これを愛がないとか言われればそうかもしれないけれど。
面白いのは、名古屋ではF# は少数派なイメージがありますが、どうなのでしょうかね。弊社の共通言語はF# かBNFなので、世の中にF# プログラマーがたくさんいるように錯覚します。
参考書籍
- 作者: 荒井省三:いげ太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/01/07
- メディア: 大型本
- 購入: 6人 クリック: 264回
- この商品を含むブログ (26件) を見る
- 作者: Chris Smith,頃末和義,鈴木幸敏
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/08/26
- メディア: 大型本
- 購入: 4人 クリック: 47回
- この商品を含むブログ (19件) を見る
Ruby
僕がF#と1,2を争うくらいに使っている言語。テストでですけどね。
Rubyはどうやっておぼえたのであったろうか。。。たしか、CoffeeScriptをちょっと調査したあとにRubyに手をつけ始めたらすんなりできました。
CoffeeScriptはGroovyと似ているのですんなりはいれました。
@maeda_曰く「Groovyができる->CoffeeScirptができる->Rubyができる。だからきょんくん大丈夫」とか言われて「この忍者は何を言っているんだろう。。。」って思っていたけどある程度手順を踏めばその通りでした。でも、彼がそのとき言ったのは「すぐにできる」って意味だったと思うのでやっぱりおかしいと思い直しました。
そのうち基礎からやりたいですね。Ruby基礎勉強会もいいと思いますし、JRubyの実装を調べるのも楽しそうだなーとか。
InvokeDynamic!(ちが
Rubyはなんだかんだで公式ドキュメントを一番読んでいる気がします。素晴らしいのはドキュメントがirbとかで見れるところですね。
参考Web
参考書籍
- 作者: Jay Fields,Shane Harvie,Martin Fowler,Kent Beck,長尾高弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/02/27
- メディア: 大型本
- 購入: 9人 クリック: 321回
- この商品を含むブログ (48件) を見る
Git
会社ではGitを強制されているので、使っています。未だにcheckoutとupdateを混同するレベルのhg脳です。
でも、SCMBootCampをやっているおかげでかいろいろ話を聞けたり、資料もあったりするので簡単なコード共有には困っていません。
bleis-hook便利です。
Gitで困ったらProGit読めばなんとかなるじゃんねー。くらいの勢いです。Gitはコマンド体系がダメなので、予想しないコマンドオプションがあって、ある意味で驚きの発見があります。(白目
参考書籍
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/19
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (158件) を見る
- 作者: Jon Loeliger,吉藤英明(監訳),本間雅洋,渡邉健太郎,浜本階生
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/02/19
- メディア: 大型本
- 購入: 7人 クリック: 287回
- この商品を含むブログ (44件) を見る
OCaml
OCamlのこと書籍でさらっと読んだくらいしか知らなかったのにある日突然1ヶ月後にLTすることになった。というなんとも不思議な付き合いの言語です。
OCamlはとても綺麗に書けるし、個人的にとても好きです。Macで使っている分には。
F# 2.0とOCaml3.xはある程度シンタックスが似ているので、どちらかをやっているともう一方をまぁなんとなく覚え易い気がします。あくまで気がする程度です。(OCamlをあまり知らない状況で1ヶ月で多相ヴァリアントの話をするって大変だった。。。という闇の記憶。。。
ちなみに今設計しているDBマイグレーションツールはOCamlでつくりたいなーって考えています。(Windows対応とか知らん!
OCamlはわからないことがあっても、@mzp さんがサクサク教えてくださるのでとても勉強になります。なんかOCamlの基礎的なところはわからないのですが、名古屋にはガリグ先生がいらっしゃったり、ITPLというこわい会社があったり。。。
前に名古屋に引っ越したばかり(まだ関数型言語を仕事で触る前)のころ、ある勉強会に『関数型言語初心者』として行った時、Coqという言語の解説になり
某「○○。。。ってあるけど、きょんくんわかりますか?」
きょん「すいません。わからないです。」
某「きょんくんは、HaskellとOCamlどっちわかる?」
きょん「。。。!?」
僕がこの一年で得た印象は「名古屋の公用語はOCaml」ということでした。
参考書籍
プログラミングの基礎 (Computer Science Library)
- 作者: 浅井健一
- 出版社/メーカー: サイエンス社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 17人 クリック: 409回
- この商品を含むブログ (109件) を見る
プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~
- 作者: 五十嵐淳
- 出版社/メーカー: 技術評論社
- 発売日: 2007/11/29
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 169回
- この商品を含むブログ (50件) を見る
Groovy
会社では僕がちょっとしたスクリプトとして使っています。ローカルでTDDするときの第一歩としてXMLとかJSONを返すHTTPサーバーをちょこっと書いたりが多いです。
プライベートではいろいろ書いていますが、最近はGroovyのソースコードリーディングが多いです。すこーしずつ詳しくなってきました。
TDDイベントで僕がGroovyユーザーを増やしているのは、Groovyがかわいいからという理由は2割くらいで、食わず嫌いせずにいろいろやってみようぜ!しかもJavaユーザーなら簡単に使える!っていう感じです。Groovyの言語仕様が素晴らしいとはあまり思っていないというか、便利なやつだなーくらいに思っていて、下手したらPHPの二の舞になりそうでちょっとビクビクしていますw
でもでも、ASTとかメタプログラミングとかすごいなーと思う機能もあるし、独自にMOPを実装していたりとか勉強になります。
参考書籍
- 作者: 関谷和愛,上原潤二,須江信洋,中野靖治
- 出版社/メーカー: 技術評論社
- 発売日: 2011/07/06
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 392回
- この商品を含むブログ (155件) を見る
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る
- 作者: Andres Almiray,Danno Ferrin,James Shingler
- 出版社/メーカー: Manning Pubns Co
- 発売日: 2012/06/28
- メディア: ペーパーバック
- クリック: 8回
- この商品を含むブログ (19件) を見る
アジャイル
アジャイル開発にこだわっているわけじゃないんですけど、アジャイル開発たのしそうなので勉強しています。そのうちScrumBootCampにも参加したり、いろんなことに挑戦したいです。
要求、タスク、テスト、バグ、リリース、ソフトウェアをうまく連携したいよなーって思い描きながらいろんなことを思考実験する日々です。
小さいものであれば会社でちょこっと試したりしています。
アジャイルはマインドだーっていう話はよく聞きますし、僕も聞かれたらそう答えることが多いですが、自分達が『ソフトウェア開発者として』幸せになれる手助けになっているんじゃないかなーって思っています。
たぶん、「仕事内容によって積極的に幸せになろうとする」ことに興味がない人にはアジャイルは向かないんじゃないかなーって思います。
アジャイルで今興味があるのは、クリティカルなプロジェクトでのアジャイルにやる手法ってどんなことができるんだろうっていうところですね。なので、Chromeの検索は最近はmedicalがよく入りますw
参考Web
Agile UX
http://ryuzee.com
AndersRamsay.com | 126 Thoughts on Designing User Experiences
Social Change! 株式会社ソニックガーデン SonicGarden 代表 倉貫義人のブログ
参考書籍
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~
- 作者: Mike Cohn,マイクコーン,安井力,角谷信太郎
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2009/01/29
- メディア: 単行本(ソフトカバー)
- 購入: 74人 クリック: 764回
- この商品を含むブログ (223件) を見る
アジャイルソフトウェアエンジニアリング (マイクロソフト関連書)
- 作者: Sam Guckenheimer,Neno Loje,日本マイクロソフト監訳,TFSUG監訳,トップスタジオ
- 出版社/メーカー: 日経BP社
- 発売日: 2012/05/24
- メディア: 単行本
- クリック: 14回
- この商品を含むブログ (10件) を見る
実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects’Archive ソフトウェア開発の実践)
- 作者: Janet Gregory,Lisa Crispin,榊原彰,増田聡,山腰直樹,石橋正章
- 出版社/メーカー: 翔泳社
- 発売日: 2009/11/28
- メディア: 大型本
- 購入: 3人 クリック: 142回
- この商品を含むブログ (52件) を見る
勉強会
次の勉強会をやりました。
詳細はぐぐってください><
もし、開催してほしい勉強会があればご連絡ください。お金とか時期とか都合がつけばぜひぜひ協力させてください。
- Nagoya.Testing1
- Nagoya.Testing in Tokyo
- Nagoya.Testing in Yushima
- SCMBootCamp in Tokyo 2
- SCMBootCamp in Nagoya
- SCMBootCamp in Tokyo 3
- StartupGroovy
- 継続的デリバリー読書会 #CDStudy
- Cafe.Testing (@rika0618 が主催していて、僕は講師
- TDD in Action
発表もいろいろやりましたー。もう数えきれないですーw
(そのうち、いくつが無茶ぶりで発表させられたのか。。。