tag:blogger.com,1999:blog-87077174774181875252024-03-09T06:42:29.956+09:00THAT'S MY WAYCatuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-8707717477418187525.post-72091795327301083252012-12-15T22:41:00.002+09:002012-12-15T22:43:10.320+09:00英語の勉強について最近、主に朝の通勤電車と休日に愚直に英語の勉強をしつつ、
2ヶ月1回のペースでTOEICを受け続けていたのですが(来月も受けます)。
「どういうふうに英語の勉強してるの?」と聞かれ、
「TOEICの問題集を読みまくる・聞きまくる」
「ダボス会議のCDを聞きまくる」
「中島聡さんや知人が紹介している英語の記事を読みまくる」
と答えたところ、
「TOEICの問題集解きまくるのは違うんじゃないの?目標スコアに到達したらやめちゃうわけ?」
と言われ、ハッとしました。
もし目標スコアが取れたとして、そこで勉強を止めればスキルは鈍ります。
それって全くもって価値がないなと思いました。
てか、TOEICの問題集ってつまらないし。
英語の記事だけじゃなくてCNNのニュースとか英語の小説読んだりとか、
実用性のある勉強法を取り入れようと思います。
指摘してくれた恩師に感謝です。
読みかけの英語版ネジ巻鳥クロニクルがぁぁぁぁ!Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com1tag:blogger.com,1999:blog-8707717477418187525.post-43626190967947110162012-12-02T00:50:00.002+09:002012-12-02T00:56:18.653+09:001年を振り返る12月になりました。 <BR>
あっという間の一年だったなと思います。 <BR>
今年は自分にとっては大きな転機となる一年でした。<BR>
<BR><BR>
年明けくらいから社内で業務外の時間を捻出して、 <BR>
業務のような業務でないような活動に参加して、 <BR>
自分で価値を信じられることをやって、 <BR>
思っていた以上に今の会社でできることって多いんだなって思って、<BR>
それがすごく楽しかったです。 <BR>
それから、今まで絡むことのなかった、社内の人たちと接することができたり、<BR>
プログラマの中島聡さんと会うことができたのも大きかったと思います。<BR>
特に中島さんを見たときに技術云々とはまったく別の精神論的なところで、<BR>
何かこうビビッと来るものを感じたのです。タマシイと言い換えてもいいかもしれません。<BR>
「君たちが野垂れ死んでもいいから10年後に今の会社をスゴイ会社にしろ」みたいな。<BR>
同じことを他の人が言っても「こいつは馬鹿か。ふざけるな」ときっと思うと思います。<BR>
<BR><BR>
もともと自分が何をやりたいのだろうと思ったときに<BR>
私は人と人とのコミュニケーションの在り方を変えるようなものを作りたいと<BR>
漠然と思っていました。その辺のヒントをくれたのはN.Y.に住んでいる、<BR>
中学校のときの友達だったりするのだけど。 <BR>
それはさておき、facebookやmixi(今は廃れていますが)のような世界観とは違っていて、<BR>
ハードが絡むんだよな。スマフォなのかな?みたいなところにどーんと来たのが、<BR>
業務外の活動でやった「それ」でした。 <BR>
ただ、業務外でやるにはヒト・モノ・カネに限界があると感じていました。<BR>
次第に業務として「それ」をやりたいと思うようになりました。 <BR>
<BR><BR>
そんなところに今の部署の公募が来て、<BR>
運よく比較的「それ」に近い今に至っています。<BR>
今の部署に来て良かったなと思うのは中島さんのような、<BR>
狂気に近い、タマシイを持った上司に出会えたことです。 <BR>
仕事もまったく知らないことばかりだし、毎週ボコボコ。でも、早く成長したい。<BR>
てか、自分に力がないと仕事が消えてなくなるかもしれないし、<BR>
自分の存在意義がない。<BR>
丸2ヶ月、何の成果も出ていないと焦るのですが、そこは給料泥棒と言われようが <BR>
ホームランを打つまで粘り強くやっていこうと思います。 <BR>
<BR><BR>
今の環境に移れて良かったなと思う一方で、人間の欲は際限がないなとも感じています。<BR>
今は今で以前にはなかった、新しい不満が出てくるんですよ。 <BR>
それは、個人的にはその方向性は間違っているのじゃないかと <BR>
思っていることに対して、<BR>
これが正しいっていう自分なりの考えというか道筋を示すことが出来ないことで、<BR>
もどかしい。<BR>
きっと道筋を示せたら示せたで、<BR>
それが納得がいかない理由でねじ伏せられるみたいなことがあれば<BR>
それはそれでもどかしく思いそうですが。 <BR>
(サラリーマンとして会社に勤めてるんだからそんなの日常茶飯事でしょとも我ながら思います・・・)
<BR><BR>
結局、そういうもどかしさをなくそうとして行き着く先とかって <BR>
30代のうちに社内企業して別会社化することなのかなって思ってます。 <BR>
<BR><BR>
社内企業して別会社化はあくまで手段なんだけど、<BR>
起業するぞくらいに自分がやっていることに対して信念や熱意を持たないと、<BR>
人と人とのコミュニケーションの在り方を変えるようなものって<BR>
作れないのかなって思うんです。<BR>
精進します。 <BR>
<BR><BR>
振り返りのつもりが所信表明みたいになってしまった。 Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-78622725138243073962012-09-16T00:13:00.003+09:002012-09-16T00:19:14.481+09:00XP祭り行ってやる気が出ましたXP祭り2012行ってきました。
http://xpjug.com/xp2012/
私が現在やっている仕事はデバドラソフトの開発で、
ウォータフォールのビッグバン結合による障害ドリブン開発なのですが、
今後のことを考えるとアジャイルな開発スタイルが必要だと強く感じ、
アジャイルの書籍は斜め読みしたことはあったのですが、
アジャイルとはどんなものかもっと知る必要があると思い、参加してきました。
新しい発見があり楽しかったです。
<br>
<br>
<br>
1.本を読んでやるのと実際にやるのは違う
<br>
<br>
スクラムのワークショップに参加して感じたことです。
ワークショップの内容はチームを組んで、
動物園を作ってほしいという要求に対して、
チームで要求からタスクにブレークダウンして折り紙を折るというものでした。
私のチームは時間内に折り紙を折ることができませんでした。
原因としては初対面の人たちでお互い遠慮しがちなところがあって
意思決定が遅めだったということもありますが、
一番のポイントはタスク分割をしているときに折紙のプロトを折らなかったことです。
予めプロトを作って折紙を折る時間が分かっていれば納期なり成果物の達成レベルを調整できたのです。
アジャイルでプロトを作るって当たり前じゃんと思うかもしれませんが、
本読んだりしただけでは分からないことで、
実際にやってみないと分からないなと強く感じました。
<br>
<br>
<br>
2.技術的な開発環境だけでなくチームワーク的な開発環境も重要
<br>
<br>
私は開発でバグや手戻りを減らすには
テストコードを書き、テストを自動化し
設計を改善していくことが重要と思ってます。
そのため、CIやTDDのスキルを磨き、
職場にそういった環境を導入することにばかり目が行ってました。
でも、今回初めてスクラムを体験して、
「チーム」でものを作ることの重要性を改めて感じました。
<br>
<br>
普段、私が開発をしている環境はレビューや最低限のヒアリングや関係者との整合は取りますが、
基本的に個人でやっています。
仕事の属人性が強く、非常にリスクが高いです。
<br>
<br>
今回のワークショップでは割と意識の高い人が集まっていたので、
誰かが何かの作業で困ってたりするとすぐにフォローし合うようなところがあり、
すごくやりやすかったです。
短い時間でしたが、折紙で動物園を作るというワークの中においての
お互いの信頼感はあったように思います。
<br>
<br>
実際の仕事で、こんなふうにやりやすいと感じたことはありません。
それって、実はすごく問題なんじゃないかと思います。
そして、今の職場には私が知る限りではそういった
チームワークの視点を持った人がいないように思います。
技術的な開発環境だけでなくチームワーク的な開発環境も重要だと思いました。
<br>
<br>
<br>
3.でも、やっぱり技術やりたいっす
<br>
<br>
チームワーク的な部分が重要だし、スクラムも一度がっつりやりたいとも思いますが、
スクラムちゃんとやろうと思ったらそれなりの年月がかかるだろうなと感じました。
スクラムマスターとかになっちゃうとものを作れなくなってしまうので、
自分としては技術を深める方が優先なのかなと。
ただ、今後は自分にとってアジャイルにものを作れるようになることは重要で
スクラムマスターを経験して、
その大変さを理解しておくことは経験として必要だと思います。
Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-15979987836892837832012-08-21T23:02:00.002+09:002012-08-21T23:02:24.238+09:00リーダブルコードは初級~中級者向けの良書リーダブルコードという本を読みました。<br />
<br />
<br />
<a href="http://www.amazon.co.jp/Code-Complete%E7%AC%AC2%E7%89%88%E3%80%88%E4%B8%8A%E3%80%89%E2%80%95%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%97%E3%81%A6-%E3%82%B9%E3%83%86%E3%82%A3%E3%83%BC%E3%83%96-%E3%83%9E%E3%82%B3%E3%83%8D%E3%83%AB/dp/489100455X
">リーダブルコード(和訳)</a>
<a href="http://www.amazon.com/The-Readable-Code-Dustin-Boswell/dp/0596802293
">The Art Of Readable Code(原著)</a>
コードはただ動けばよいだけでなく、読みやすい必要があります。<br />
コードが読みにくいとバグを内包しやすくなるし、
他人はおろか自分自身も読みにくく変更しにくくなり、
その後の保守コストが上がるからです。<br />
<br />
本書はコードを読みやすくするためのノウハウが挿絵とともにコンパクトにまとまっています。<br />
主観ですが、初級~中級者向けの内容で、<br />
大体4時間くらいあれば一通り読みきれるくらいのボリュームです。<br />
<br />
たぶん、もっと熟練した人の場合は、
<a href="http://www.amazon.co.jp/Code-Complete%E7%AC%AC2%E7%89%88%E3%80%88%E4%B8%8A%E3%80%89%E2%80%95%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%97%E3%81%A6-%E3%82%B9%E3%83%86%E3%82%A3%E3%83%BC%E3%83%96-%E3%83%9E%E3%82%B3%E3%83%8D%E3%83%AB/dp/489100455X
">Code Complete</a>
や
<a href="http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E4%BD%9C%E6%B3%95-%E3%83%96%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3-%E3%82%AB%E3%83%BC%E3%83%8B%E3%83%8F%E3%83%B3/dp/4756136494
">プログラミング作法</a>
や
<a href="http://www.amazon.co.jp/Clean-Code-%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%81%94%E4%BA%BA%E3%81%AE%E6%8A%80-Robert-Martin/dp/4048676881
">Clean Code</a>
などの二番煎じじゃないかという批判もありそうですが、
これらをコンパクトにまとめたということに価値があると思います。
また、既に知っている内容でもああこれあのとき仕事で使ってた内容だよなとか、
あの本で読んだよなと思い返すことで、自分の中の知識がより強固に定着していくので、
良いかと思います。
職場で働いている人たち全員に読んでほしい本です。
なお、<a href="http://www.amazon.com/The-Readable-Code-Dustin-Boswell/dp/0596802293
">The Art Of Readable Code(原著)</a>も平易な英語で書かれていて読みやすいそうなので、英語の勉強がてら読むのもオススメです。
Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-82883734138293673192011-12-23T12:54:00.001+09:002011-12-23T13:04:21.743+09:00英語の勉強会たまには海以外のことも書こうと思う。<br />
いつもダイビングと残業しかしていないと思っているそこのあなた、<br />
大間違いですぞ!!<br />
<br />
というわけで表題の件、<br />
ちょうど3年前から通訳のお仕事をしていた従姉妹に<br />
シャドーイングとサイトトランスレーション教えてもらって<br />
細々と勉強を続けています。<br />
<br />
ちなみに従姉妹は以下のようなビジネスパーソン向けの<br />
英語を指導するお仕事してます(宣伝)<br />
<a href="http://www.g-e4b.jp/">http://www.g-e4b.jp/</a><br />
<br /><br />
<結果><br />
3年で以下2冊の本をシャドーイングしただけ。<br />
<br />
1.オバマ演説集<br />
<a href="http://www.amazon.co.jp/%E7%94%9F%E5%A3%B0CD%E4%BB%98%E3%81%8D-%E3%82%AA%E3%83%90%E3%83%9E%E6%BC%94%E8%AA%AC%E9%9B%86-CNN-English-Express%E7%B7%A8/dp/425500451X">http://www.amazon.co.jp/%E7%94%9F%E5%A3%B0CD%E4%BB%98%E3%81%8D-%E3%82%AA%E3%83%90%E3%83%9E%E6%BC%94%E8%AA%AC%E9%9B%86-CNN-English-Express%E7%B7%A8/dp/425500451X</a><br />
<br />
2.オバマから子供たちへ<br />
<a href="http://www.amazon.co.jp/%E7%94%9F%E5%A3%B0CD%E4%BB%98%E3%81%8D-%E3%82%AA%E3%83%90%E3%83%9E%E3%81%8B%E3%82%89%E5%AD%90%E3%81%A9%E3%82%82%E3%81%9F%E3%81%A1%E3%81%B8-CNN-English-Express%E7%B7%A8/dp/4255004927">http://www.amazon.co.jp/%E7%94%9F%E5%A3%B0CD%E4%BB%98%E3%81%8D-%E3%82%AA%E3%83%90%E3%83%9E%E3%81%8B%E3%82%89%E5%AD%90%E3%81%A9%E3%82%82%E3%81%9F%E3%81%A1%E3%81%B8-CNN-English-Express%E7%B7%A8/dp/4255004927</a><br />
<br />
<方法><br />
「1.オバマ演説集」は朝とか仕事の帰りに一人でやってたのですが、<br />
やるときとやれないときでムラができるということで。<br />
「2.オバマから子供たちへ」は仲間内で有志を募って、<br />
約1年かけて一通りやりました。結局メンバは2人でしたが。<br />
週1,2回で早朝業務時間外で1時間ずつやってました。<br />
<br />
<効果><br />
☆英語面☆<br />
Michael Jacksonが何歌っているかくらいは聞こえるようになった<br />
海外旅行に必要な英語のコミュニケーションには困らないくらいにはなった<br />
(例えば財布をなくして警察に事情を説明するとか)<br />
でも、技術系のカンファレンスで英語でガンガン喋られるとついていけない<br />
他部署の外国人と簡単な仕事の話(愚痴)ができるようになった<br />
<br />
☆メンタル面☆<br />
仕事も世の中も明るくないことだらけだけど、頑張ろうという気になれる。<br />
言ってることが実体験に基づいているので、<br />
話し方も分かりやすいししっくりくるんですよ。<br />
(演説内容自体はゴーストライターが書いてるかもしれないけど)<br />
でも、その人自身の言葉だから心に響くんだと思う。<br />
<br />
今後も続けていきたいと思うのだけど、<br />
次は誰のスピーチをシャドーイングしようか悩み中。<br />
<br />
ジョブズの卒業スピーチがよいかなと思うのだが、<br />
<a href="http://www.youtube.com/watch?v=qQDBaTIjY3s">http://www.youtube.com/watch?v=qQDBaTIjY3s</a><br />
あえて、自分でディクテーションでスクリプト起こしても<br />
面白いかもしれない。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-15085027641631653512011-10-09T12:31:00.000+09:002011-10-09T12:31:07.468+09:00TDD Boot Camp For C++前述のような問題意識で、<br />
<br />
<a href="http://thatsmyway-esper.blogspot.com/2011/10/tdd.html">http://thatsmyway-esper.blogspot.com/2011/10/tdd.html</a><br />
<br />
開発サイクルを短くするためのスキルを身につけるために<br />
<h1 id="big_title">
TDD Boot Camp 東京 for C++</h1>
<a href="http://www.zusaar.com/event/agZ6dXNhYXJyDQsSBUV2ZW50GK_kBgw">http://www.zusaar.com/event/agZ6dXNhYXJyDQsSBUV2ZW50GK_kBgw</a><br />
<br />に行ってきました。<br />
行ってみての感想としては今まで参加した社外イベントの中で一番よかったです。<br />
<br />
というのも、<br />
<br />
<strong>1.実際にプログラムを書いてTDDサイクルを回すことで、</strong><br />
<strong>小さいサイクルでプログラミングするスピード感を感じることができた</strong><br />
<br />
<strong>2.一人では導入するのが面倒くさい、TDD環境を自分のPCに導入することができた</strong><br />
<br />
<strong>3.ボトムアップでやっていくことの重要性を意識することができた</strong><br />
<br />
<br />
というのがあったからです。<br />
<br />
<br />
<strong>1.実際にプログラムを書いてTDDサイクルを回すことで、</strong><br />
<strong>小さいサイクルでプログラミングするスピード感を感じることができた</strong><br />
<br />
これは実際にやってみないと見たり聞いたりしただけでは<br />
分からないことだと思いました。そして、TDDとは話が逸れてしまいますが、<br />
演習のペアプログラミングがすごく楽しくてあっという間に時間が過ぎてしまいました。<br />
疲れましたが、久しぶりにアルゴ的な頭の使い方をして、<br />
仕事の疲れとは違って爽快でした。<br />
<br />
<strong>2.一人では導入するのが面倒くさい、TDD環境を自分のPCに導入することができた</strong><br />
<br />
TDDをやるうえで、一番の敷居はここだと思っています。<br />
私は普段メーカーの製品のデバイスドライバのソフトを作っていますが、<br />
かなりエレキと近いところをやっていて、業務でオシロスコープで波形を測ったりするくらいで、<br />
開発環境がWeb系のプログラマなどに比べて非常に弱いです。<br />
設計者も全員がとは言いませんが、構成管理ツールやテストの自動化などに対して<br />
非常に意識が低く、人によっては作業を全部手でやらないと安心できないという人すらいます。<br />
<br />
今回TDDをやるために導入したものは<br />
<br />
1.GitHub(分散リポジトリ)<br />
2.GoogleTest<br />
3.Visual C++ 2010<br />
<br />
です。知っている人が上記をネットからダウンロードして、<br />
使う分には何も問題ありませんが、知らない人が独力で上記をダウンロードして設定するのは<br />
結構厳しいと思います。<br />
<br />
てか、GitHubがすごくいい。<br />
分散リポジトリを初めて使ったのですが、<br />
開発者がローカルで気軽にファイルをコミット(Cin)できるというのがすごくいい。<br />
テストが動いた時点ですぐにファイルをコミットしていくことができるので、<br />
一度に大量にファイルをコミットする場合に比べてすごく安心感があります。<br />
TDDでは失敗するテストを先に作って、<br />
それを成功するようにプロダクトコードを書いていくので<br />
作る側としてはテストを作れば作るほど、<br />
動作が保証されていくので非常に安心感があります。<br />
後、GoogleTestはテストが自動なのでテストの数が増えても苦になりません。<br />
<br />
<br />
<strong><strong>3.ボトムアップでやっていくことの重要性を意識することができた</strong></strong><br />
自分一人だけTDDやって、生産性が向上したとしても、<br />
あまり組織としての利益というのはあまりなくて、<br />
周りを巻き込んでやることの重要性というのを再認識しました。<br />
そして、何かを変えるにはトップダウンではなく<br />
ボトムアップでないといけないのかなとも思いました。<br />
<br />
例えば、コンサルの人が使うような資料を以って上を説得して、<br />
トップダウンでTDDをやろうとしても、<br />
きっと異なる開発環境や開発スタイルへの不適応が起こって、<br />
形骸化して破綻するような気がします。<br />
今までそういうのを何度も見てきているし。<br />
<br />
最近、誰でもできるようなフレームワークを作って<br />
設計は上流までで、下流のプログラミングは誰でもできるようにして、<br />
安い人件費でコストを下げようみたいな風潮を感じることがありますが、<br />
誰でもプログラミングできるわけがないと思っています。<br />
分かりやすい設計をすることは重要ですが、<br />
誰でも設計・実装できるようにするというのは夢物語で<br />
<br />
ちゃんと技術を分かっている人が草の根でやって、教育して<br />
全体の底上げを図っていかないとだめなのかと思います。<br />
<br />
というわけで、自宅に環境も整ったことなので、<br />
仕事の合間にTDDの活動にコミットしたい名と思います。<br />
<br />
また次のイベントがあったら行きたい!<br />
<br />
<br />
Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-73006243332666846942011-10-09T11:30:00.002+09:002011-10-09T11:30:38.707+09:00TDDについて1年くらい更新が滞ってました。<br />
土曜にTDDBootCampというイベントがあって、<br />
非常に楽しかったのと非常に有益だと感じたので<br />
ブログに書いて、シェアできないかと思った次第です。<br />
<br />
そもそもTDDって何かについて。<br />
Test Driven Developmentの略でテスト駆動開発といいます。<br />
<br />
<a href="http://www.amazon.co.jp/Test-Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X">http://www.amazon.co.jp/Test-Driven-Development-Embedded-Pragmatic-Programmers/dp/193435662X</a><br />
<br />
私自身の問題意識としては仕事で、作ったプログラムをCin(あるいはコミット)するまでの<br />
開発サイクルがあまりに長いのが何とかならないものかというものがあって、<br />
TDDBootCampに参加しました。<br />
<br />
開発サイクルが長いと以下の問題があります<br />
<br />
・一度にCin(あるいはコミット)するファイルの数が増えるので、バグの混入率が上がる<br />
・上記バグにより手戻りが増え、デバッグのための開発コストが増える<br />
・デバッグというのはいつ終わるか見通しがつきにくく工数見積もりの精度が下がる<br />
・そもそも長期間でスケジュールを立てるので、なかなか正確な工数見積もりができない<br />
<br />
<br />
結果として、プロジェクトの遅延と残業超過、開発者の心身荒廃につながります。<br />
<br />
私のいる環境は気軽にCin(あるいはコミット)できる環境ではなく、<br />
一つの対応をCin(あるいはコミット)するのに最短でも3日、通常で1,2週間、<br />
ひどいときだと1ヶ月以上ファイルをローカルに持ち続けていることがあり、<br />
かなり酷い目(鬼残業デバッグ)に会っています。<br />
<br />
それに対して、TDDはその名のとおり、テストを最初に作ります。<br />
サイクルとしては以下の1~3のとおりです。<br />
<br />
<br />
1.プロダクトコードではなくテストコードを最初に書きます。<br />
<br />
2.このテストコードはテストとしては失敗する状態のもので、<br />
そのテストが成功するようにプロダクトコードを書いていきます。<br />
<br />
3.テストが動いた(成功した)時点で、<br />
すぐにファイルをCin(あるいはコミット)できるというところにあります。<br />
<br />
<br />
1~3の小さなサイクルを繰り返していくのです。<br />
<br />
<br />
以下に私がTDDのメリットだと思うことをあげます。<br />
<br />
(1)テストを最初に書くので、最初にきちんとユースケースを意識することになり、<br />
開発後半でのユースケース漏れする確率が減ります。<br />
<br />
(2)失敗するテストコードが成功するまでプロダクトコードを書くので、<br />
プロダクトコードを書いてからテストコードを書く場合に比べて、<br />
テスト漏れやミスが起きにくいです。<br />
<br />
(3)テストが動いた(成功した)時点で、<br />
すぐにファイルをCin(あるいはコミット)できるので、<br />
一度に大量にCin(あるいはコミット)する場合よりもミスや手戻りが減ります。<br />
<br />
<br />
テストを最初にやって、開発初期の段階で<br />
テスト結果により即フィードバックをもらいながら<br />
小さいサイクルで物を作っていこうというものです。<br />
バグは発見が遅れれば遅れるほど指数関数的にデバッグ・修正コストが増大していきます。<br />
逆に言うと開発初期の段階で見つけることができれば、<br />
プロジェクトの遅延も残業コストの低減にも開発者の健康にもつながるのです。<br />
(TDDだけで上記が達成できるとは言いませんが)<br />
<br />
ただ、言うことと実際にやることは全く以って異なるので、<br />
今回TDDBootCampForC++に参加しました。<br />
長くなったのでTDDBootCampForC++については別に書きます。<br />
Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-49939073178048876282011-05-15T22:18:00.000+09:002011-05-15T22:18:17.487+09:00RealTime Hypervisor久しぶりに本業絡みの日記です。<br />
久しぶりに技術的に面白いと思ったので書いてみます。<br />
RealTime Hypervisorという仮想化ソフトなんですが、<br />
単一PCでOSを遅延なしで並列稼働できるというもの。<br />
今までのVMウェアとかではホストOS上で、<br />
ゲストOSが動くというものだったので、<br />
(例えばunix上でwindows環境が動くみたいな)<br />
オーバーヘッドがあったり、ホストOSがクラッシュすると<br />
ゲストOSも動かなくなるということがあったけど、<br />
そういうこともなくなる。<br />
<br />
<a href="http://www.linx.jp/product/rth/index.html">http://www.linx.jp/product/rth/index.html</a><br />
<br />
個人的に興味深いのは<br />
仮想化ソフトが、UIが載る汎用OS以外のRTOSを意識しないということで、<br />
だから、遅延なしで並列稼働できるのだけど、<br />
それをハードじゃなくてソフトで実現(仮想化)しているのが<br />
面白いと思いました。<br />
<br />
単に複数のOSを並列稼働したいのであれば、<br />
複数のPCを用意して別々に動かせばできるけど、<br />
電力とかスペースを喰うわけで。<br />
PC以外のターゲットにも適用されないかなと<br />
ちょっとワクワクしてしまいました。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-61212510330148495532010-12-23T09:31:00.002+09:002010-12-23T09:31:44.529+09:00Underwater Map2年前くらいに知人に言われたのがきっかけで、<br />
Webで水中マップを作ってみたいとずっと思っているのですが、<br />
なかなか・・・<br />
<br />
やりたいこととしては<br />
水中で見た生物の情報を地図にWebで入力できるようにするということ。<br />
<br />
例えばオオモンカエルアンコウが<br />
ブリマチの水深30mのザラカイメンにいた場合、<br />
水中マップの特定の場所を指すと、<br />
<br />
オオモンカエルアンコウ<br />
色:黄色<br />
サイズ:10cm<br />
特徴:ザラカイメンの下に隠れてる<br />
水深:30m<br />
<br />
というのがオオモンカエルアンコウの写真付きで出てくる。<br />
しかも、誰でも気軽に簡単に情報(色、サイズ、特徴、水深、写真etc)を<br />
入力できる。ここかなり重要。<br />
これがなかったら、紙に手で書いて自分で地図を作る方がよっぽど早い。<br />
水中マップを作りたいというよりは<br />
誰でも気軽に簡単に水中マップに情報を書けるようなインフラを<br />
整えたいというイメージが強い。<br />
<br />
現実問題としてはネタ情報がWebでばらまかれると<br />
特に現地のダイビングショップさんに大迷惑だと思うので、<br />
閲覧できる人に制限をかけて、ひっそり内輪でやりたいなあと。<br />
(金儲けする気は毛頭ない)<br />
あと、普段自分が使っている技術とWebがかけ離れているということ。<br />
最近アセンブラいじったりとかオシロスコープの波形を見たりとか<br />
Webとは相当遠いところにいる気がする。<br />
Web関係って学生の頃にHtmlをちょっといじったくらいで、<br />
あとはさっぱり。<br />
<br />
とりあえず、少なくとも地図アプリを作るために<br />
Web用のプログラミング言語を勉強しなきゃいけないのと<br />
サーバとかの知識を身につけなきゃいけないので、<br />
足が遠のいてる現状。<br />
<br />
特に急いでるわけでもなく、<br />
完全にお遊びなので、<br />
数年間のうちにできればいいなあくらいに思ってます。<br />
誰か地図アプリの作り方のサンプルプログラムとか<br />
書いてある本知ってたりしませんか。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-9515569450630875672010-12-05T20:20:00.000+09:002010-12-05T20:20:21.489+09:00What changed from that time? / What changes from now?10月、会社の同期の結婚式があった。<br />
その時期は複数の結婚式が重なったり<br />
(1か月ちょっとのうちに5回結婚式があった)、<br />
元々仕事が煮詰まっているうえに<br />
チームリーダーのお子さんが生まれそうで、<br />
リーダー不在でさらに仕事が煮詰まったり<br />
複数の結婚式の幹事が重なったり、<br />
結婚式の余興でビデオレターを作ったり、<br />
週末はダイビングのガイドだったり、<br />
煮詰まり過ぎて箸を持つ手が震えるほどだった。<br />
でも、そこまでして作ったビデオレターがあるおかげで、<br />
今の自分がある気がする。<br />
何となく気が塞いでいるときでもそれを見ると何故か心が励まされる。<br />
職場の人間関係は何かとドライだけど、<br />
ビデオレター作りを通して新郎新婦の両親や兄弟に接することができて、<br />
家庭の温かみというか、温かい家庭に触れることができて、幸せを感じた。<br />
和やかな家庭を見ると、こっちまで幸せを感じられる。<br />
<br />
その一方で、必死にビデオレターを作ってて思ったのは<br />
ビデオレターを作ってた同期に支えられた<br />
(彼らも体壊し気味だった。彼らがいなければあのビデオレターは絶対に作れなかった)<br />
たなということと、<br />
他にも一生懸命やらないといけないことがあるんじゃないのかということ。<br />
<br />
入社二年目くらいに仕事というか人生をある意味で諦めかかって、<br />
平日は言われたことだけはできるように仕事して(上から見てできていたかは甚だ疑問だが)、<br />
仕事を通して夢を実現したいとかそういったことは考えないようにして、<br />
土日はひたすらダイビングをしていた。<br />
<br />
次第に自分自身に対する愚痴とか葛藤とかは減って、<br />
まわりにはmixiの日記、明るくなったねと。<br />
実際、楽しかったし、ダイビングを通して学んだこともたくさんあって、<br />
今でも楽しいんだけど。。。<br />
<br />
親友と酒を飲んでるときに<br />
「プライベートはいいんだけどねえ。仕事は。。。」<br />
と言っている自分がいて、<br />
<br />
そこで、ビデオレター作りやら何やらで自分がパンクしそうになって…<br />
俺はいったい何をやってるの?本当にこのままでいいの?と思った。<br />
<br />
今のまま10年経ったら自分は自分自身に対して満足できるだろうか。<br />
いや、できない(反語)。<br />
言われたことを期日までに然るべき品質で効率良く出すことしか考えていないから。<br />
個人も組織も疲弊しきっていて考える余裕がないから。<br />
新しい、世の中を変えるようなものを作り出せる気がしない。<br />
<br />
要は10年経ったときに自分がやっている仕事・技術に対して、<br />
楽しい・面白いと思えない、誇りが持てないだろうと。<br />
自分がやっている技術を面白いと思えない技術者は<br />
もはや技術者とは違う生き物だろうと自分は思うわけで。<br />
それくらいの歳の上司とサシ飲みして聞いてみてもそうだった。<br />
<br />
で、社内の部会に出始めたり、楽天行ったり、Oracle行ったり、Google行ったり、<br />
業務時間外の勉強会に出始めたりしてるんだけど、、、<br />
思うのはうちの会社大丈夫か(反語)。<br />
(上から見たらそんな社外がどうのとかお前が考えることじゃないから、<br />
まずは目の前の仕事を然るべき品質で然るべき納期で効率良くやってくれと思うだろうけど)<br />
<br />
<br />
それ以上に痛感してるのは自分の力のなさ、技術力、政治力、あと他人に対する気配り。<br />
これがまずいと思ったときに技術的にも政治的にもいかんともしがたいことが多すぎるし、<br />
すぐてんぱるし、てんぱったときとに他の人に配慮ができていない。<br />
入社二年目と今とで何が変わったのだろう。<br />
<br />
今は仕事して、色んなもの見て、勉強して力を蓄えるときなんだと思う。<br />
でも、正直何をどうしたいのか自分でもよくわかっていない。<br />
少なくとも昔みたいに思考も行動も止まったままでいるのはよくない。<br />
<br />
誰に頼まれたわけでもないけど、<br />
ここ最近、「これで本当にいいのか?」迷ったり悩むことが前以上に増えたし、<br />
心身ともに不安定になりがち。<br />
<br />
自分に正直に生きようとするのって、楽じゃないんだなあと。<br />
でも、「プライベートはいいんだけどねえ。仕事は。。。」と言っていたころより少しはマシだと思う。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-81371180744629653372010-11-13T09:38:00.001+09:002010-11-13T09:38:39.188+09:00全思考(北野武)めっきり寒くなりました。<br />
神奈川は湿度が低いせいか、お日様が出ている時の出ていないときで、<br />
寒暖の差が異様に激しいので、なかなか布団から出られません。<br />
(と言いながらも、平日とダイビングの日は鞭打って5時過ぎくらいには起きていますが)<br />
<br />
今朝はダイビングに行かないので、布団の中でぬくぬくとしながら、<br />
積ん読状態になった本を手に取って読んでいました。<br />
(今、枕元には読もうと思っている本が17冊ほど)<br />
<br />
で、読んでいた一冊が<br />
<br />
「全思考(北野武)」<br />
<br />
<a href="http://www.amazon.co.jp/%E5%85%A8%E6%80%9D%E8%80%83-%E5%B9%BB%E5%86%AC%E8%88%8E%E6%96%87%E5%BA%AB-%E5%8C%97%E9%87%8E-%E6%AD%A6/dp/4344412869/ref=sr_1_2?ie=UTF8&qid=1289606083&sr=8-2">http://www.amazon.co.jp/%E5%85%A8%E6%80%9D%E8%80%83-%E5%B9%BB%E5%86%AC%E8%88%8E%E6%96%87%E5%BA%AB-%E5%8C%97%E9%87%8E-%E6%AD%A6/dp/4344412869/ref=sr_1_2?ie=UTF8&qid=1289606083&sr=8-2</a><br />
<br />
生死、教育、関係、作法、映画の問題というテーマで、<br />
雑多なことについて触れてるのですが、<br />
普段人やメディアが体裁を取り繕うためにあまり突っ込みたがらず、<br />
避けていることについて世汰話を交えながら時に粗く、時に鋭く問題点を突いています。<br />
<br />
<br />
例えば、<br />
<br />
・人間は平等じゃない<br />
努力したって駄目なものは駄目<br />
<br />
<br />
・法の下の平等は勘違いしてはいけない<br />
<br />
<br />
・携帯電話とインターネットによる人類総奴隷化の企み<br />
<br />
<br />
・デジタル化する情報に知性が低下していく<br />
<br />
<br />
・飢餓に苦しむ人の横で映画を撮っていることの不条理<br />
<br />
<br />
など。<br />
<br />
全部、説明するのは面倒なので、2つだけフォローすると、<br />
<br />
<br />
<br />
・携帯電話とインターネットによる人類総奴隷化の企み<br />
<br />
いつでもどこでも誰とでも電話ができるようになったというのは<br />
見方を変えれば誰かと話すのに金がかかるようになったということで。<br />
携帯にメールやカメラやインターネットの機能がついて「便利」になったというのは<br />
個人から金を集める方法が巧妙になっただけじゃないか。<br />
昔は鞭でひっぱたいて年貢を徴収していたものだが、<br />
エライ金集めの方法を考えたやつがいるものだ。<br />
<br />
という主旨。<br />
<br />
<br />
・デジタル化する情報に知性が低下していく<br />
<br />
メールには個性や微妙なニュアンスがない。<br />
小さな画面で均一化された文字によって、<br />
個人の感情表現まで画一化されてしまってるんじゃないか。<br />
パソコンとか携帯とか、人類の英知を結集して人間の脳みそを退化させる道具を<br />
発明するというパラドックスに陥っているのではないか。<br />
<br />
という主旨。<br />
<br />
#ちなみにこの本のどこまでが、たけし本人が考えたことで<br />
どこからがゴーストライター(いるのか?)が書いたことなんでしょうね。<br />
それとも全部本人なのかな。<br />
<br />
普段仕事をしていると、<br />
どうしてもその仕事をこなすこと(QCDを達成すること)ばかり考えてしまうのだけども、<br />
<br />
その背景にある世の中の仕組みや問題を考えて、<br />
そのために何かやることは大事なんじゃないかなあと。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-81130762121758379042010-11-08T22:33:00.003+09:002010-11-08T22:36:53.238+09:00ハッとしたこと<div class="FANCYURL_EMBED">※以下mixiからの転記です。<br />
<br />
<br />
最近、kernel本の読書会に出始めて、 <br />
OSってOSの上で動く他のソフトに比べると、 <br />
ソフトだけでなくエレキ(電気・電子)など、 <br />
前提として知っておかねばならない知識や概念が多くて <br />
難しいことをやっているなあと感じます。 <br />
<br />
<br />
その辺を理解できて初めて、一見わけが分からなく見える、 <br />
エレキボード(PCとかコピー機とか精密機器を開けるとよくある、 <br />
電子回路の載った緑色とか黄土色の板)の動きが見えるのですが、 <br />
そこに技術的な面白みがあると自分は思っています。 <br />
<br />
<br />
こんなちっちゃな板で、PCやコピー機を動かすことが <br />
「できる」こと自体もすごいのですが、 <br />
<br />
<br />
そのものを動かす背景にある技術がマニアックで奥が深ければ深いほど <br />
面白いと思っています。 <br />
<br />
<br />
でも、ちょっとハッとしたのが、 <br />
作るものがいかに高度で技術的に面白みのあるものだったとしても、 <br />
それを使う側が使いこなせなかったら意味がないんですよね。 <br />
<br />
<br />
自分はコピー機を動かすソフト(プログラム)を <br />
動かすためのソフトを作っていますが、 <br />
それが仮に技術的にどんなにマニアックでアツイものだったとしても、 <br />
それを使ってソフトを作る設計者が使いこなせなくて、 <br />
バグを埋め込んでしまったら元も子もない。 </div><div class="FANCYURL_EMBED"><br />
<br />
最近、kernelとかプログラミング言語そのものを作ることとか <br />
クリエイティブなものに対して、 <br />
凄いな、面白いな、アツイなと感じることが多く、 <br />
技術的にもっと上へ上へと思うのですが、 <br />
それはそれとして、 <br />
<br />
<br />
自分が作ったものを他の人が使いこなせなかったら意味がない <br />
というのはどこかに留めておこう。 <br />
<br />
<br />
と多重割り込みの排他設計を見て、上司と話をしながら思いました。 <br />
(ちなみに単にAPIを分かりやすくしましょうというのとは違う話です。) </div>Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0tag:blogger.com,1999:blog-8707717477418187525.post-60156235418422046382010-11-08T22:04:00.001+09:002010-11-08T22:15:59.368+09:00初LT(Ligtening Talk)土曜日にLT(ライトニングトーク)のイベントに初めて参加してきました。<br />
お世話になった方々ありがとうございます。<br />
<br />
ライトニングトーク<br />
<a href="http://en.wikipedia.org/wiki/Lightning_Talk">http://en.wikipedia.org/wiki/Lightning_Talk</a><br />
<br />
話し手はテーマが自由で自分の喋りたいことを5分間喋り続けるというもの。<br />
時間が余っても途中降壇はNG<br />
逆に5分過ぎてしまうと強制終了。<br />
容赦なく終了するその様はスーパージョッキーの熱湯コマーシャルを彷彿とさせます。<br />
百聞は一見に如かず。<br />
<br />
<br />
ライトニングトークってこんなのです。<br />
<a href="http://kokucheese.com/event/index/5240/">http://kokucheese.com/event/index/5240/</a><br />
<br />
<br />
知人に紹介されたときはマニアックで偏ったイベントだと思ったのですが、<br />
場所はOracle青山センターだし、変な宗教ということはないだろうと思って一人で行ってみました。<br />
<br />
行ってまず思った第一印象は「微妙」。<br />
「今日であなたの人生が変わります。」みたいなこと言われても(汗<br />
<br />
で、一番言いたいことをまず言っておくと。<br />
<br />
<br />
自分は話してる人が、自分が本質的に何を問題だと思っていて(何に価値があると思っていて)、<br />
そのために何をどれだけ本気でやってきたか(やれるか)なのかみたいなところ、<br />
そういう話が聞きたかった。<br />
ということです。<br />
<br />
話し手も聞き手もすごく楽しそうで、<br />
ジョークも面白かったし、そういう意味では良いのですが、問題は中身。<br />
中身じゃなくて、喋ることに意味があると言うのも確かにそうなんだけど…<br />
<br />
開始15分後、思ったのは、ここで何もしないでただぼけーっと話を聞いて帰ったら、<br />
休日を1日棒に振ることになってしまうってこと。<br />
そのとき、PC(パワポ)も何も持っていなかったし、話すネタもまったく用意していなかった。<br />
しかも、夜から伊豆にダイビングに行くことになっていたので、あまり長居もできない。<br />
<br />
そこで、スタッフに懇願して当日枠で一番最初に喋らせてもらいました。<br />
(スタッフの方、無理聞いていただいてありがとございます)。<br />
何十人も人がいて、全員が見知らぬ人で、しかも何もネタを考えていない状況なので、<br />
かなり緊張しました。<br />
でも、緊張って度を越さなければ心地良いものだなあと改めて。<br />
<br />
ライトニングトークの良さは会場の人たちが何度も言ってたけど、<br />
・自分の言いたいことが言えてそれに対して反応がある<br />
・知り合いが増える<br />
・見知らぬ人の前で話せる度胸がつく<br />
<br />
だいたいその辺に集約されると思う。<br />
確かにその通りだし、大事なことだとは思うのだけど<br />
<br />
もっと大切なのはその人が本質的に何を問題だと思っていて(何に価値があると思っていて)、<br />
そのために何にどれだけコミットメントしてきたのか(していけるのか)ということだと思う。<br />
<br />
特に懇親会でのLTというのはお祭りごとに近くて、<br />
サッカーの日本代表が勝ったぞみたいな、ある種独特の高揚感というか、<br />
その場のノリというか、一体感みたいなものがあって、<br />
それに誤魔化されている部分が多分にある気がする。<br />
<br />
いくら度胸がついても、知り合いが増えても、<br />
それだけでは、それで自分はどうしたいの?っていう袋小路からは抜け出せない。<br />
(もちろん、そういったところから活路が開けることはあるとは思います。。)<br />
<br />
そういう意味では懇親会でもっと人と絡むべきだったと思うのですが、<br />
いかんせん時間が、、、<br />
<br />
ということで、また次回参加してみようと思います。<br />
お世話になった皆さまありがとうございました。<br />
お世話になる皆さまよろしくお願いします。<br />
では。Catuhttp://www.blogger.com/profile/00422485980747295817noreply@blogger.com0