今週のお題「ゲームと私」


なんとなく今週のお題に応えてみることにしました。
忙しいのに何を書いているんだろう。。。


ゲームと私。


お題は「Wii U」の発表からの流れみたいですけど、買う予定はありません。
運動しないでダイエットできるWiiUFitがでたら考えます。


中学〜高校くらいの時はゲームが好きで、ゲーム作る人にもなってみたいと思ってた覚えがあります。
でも、普通にシステムの勉強をしてると、システムを作るというとてもやりがいがある仕事にめぐり合い、そっちのほうが楽しくなっていました。
それで今ゲームを作ってる自分がいるわけで、なんだか人生って本当にわからないものだと思います。


ゲームは最近は全然できなくて、WiiとかPS3はもっているものの、もうテレビに繋がってませんし。
やるとしたらiPhoneでちょこっとするくらい。
まさに、ゆけ!勇者が想定しているユーザなんですけど、実際はもっとゲームをして楽しみたいというのはあります。


次はバイオハザード5(ふるい…)をやりたいと1年以上も前から奥さんと話してるのですが、なかなか機会がありません。
いつになったら子どもの頃みたいにゲームができるようになるのかを考えると、やっぱ老後じゃない?って気分になります。


早く年金生活したいところです。

コンピュータと感情


Blogのネタとして人工知能の空想を書いてみます。


学生時代に感性工学の研究をしてた事と、教職課程の単位もとっていたこともあり、心理学とかを履修していました。
けど、あんまり覚えてないうえに、もう五年以上たったので妄想が進んでいると思います。
システム開発に疲れた時なんかは夜寝る時にこんなことを考えています。
たんなる空想ですけど夢いっぱいで面白く書いてみます。


ちなみに、関連してオススメの本はこれ。
読み物としてすごく面白かった。という記憶があります。
あの人はなぜそういうコード書くの?みたいな感じの本です。


プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版

プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版


私は大学の研究室では感性工学というのを研究してました。
ただ学生の頃はあまりその魅力に気づいていなくて、やらされている感じで研究してました。
それが卒業してもう研究しなくていいと思ったとたん何だかすごく興味が出てきて今でも気になる存在です。


感性工学は、例えば単純には「製品の色」を考える上で人々がその色をどの様に感じるかみたいなものが基本だと思います。
「青かったら寒い」、「赤かったら暖かい」みたいな人の心理に関わるより良い製品を生み出すための研究をしてる感じでいた。


私はそんな中で、感情について調べていました。
人はどんな感情を抱くのか。それをどうやって表現するのか。
コンピュータは感情をもつことができるのか、人の感情を理解できるのか。
そんな深いような研究でした。
詳しく知りたい人は、ちゃんとした人に教えてもらってください(^^;


しつこいですが空想のお話です。
そしていかにも正しいことの様に書いてしまうと思います。
人の記憶は非常に曖昧で、コンピューターにはない勘違いと言う非常に優れたメカニズムが備わっているためです。


基本的には喜怒哀楽になりますが、私はプルチックの感情モデル(興味があったら画像検索でググってください)ってのをベースにしてました。
結構いろんな感情があります。


ながくなりそうなので、ここでいったん記事にしてみます。

Blogを書いてみる

なんどもBlogに挫折してるのですが、懲りずにチャレンジしてみようと思います。
前に始めたときは駄目だったTwitterを最近は結構やるようになったので、Blogもいけるんじゃない? と思ったわけです。
とりあえずBlogよりTwitterよりなBlogあたりを目標に適当に書きます。


適当というと、適当の意味を知ったとき目からウロコでした。
適当とはなんて適当な言葉なのでしょう。
と思いました。
とりあえず今日はそれだけです。


あ、キリが良い事に今日は5/1ですしね。

TDD Boot Camp札幌に参加しました。

1/22-23の週末、「TDD Boot Camp」札幌にいきました。
2日遅れでやっとBlog書いていますが、まだまだ熱い気持ちはさめてないつもりです。
詳しい説明は皆さんがBlogでもう書いているので、要点と感想中心で書きます。

1日目のメインはTDDについて@t_wadaさんがどうやってTDDで開発をするのかという流れを教えていただきました。


TDDは、

  • テストから書き始めて
  • それに対応するとりあえず動く実装を行い
  • その後にテストを通す状態を保ちつつリファクタリングしてキレイにする


と言うものすごく理想的ですが是非実現したいスタイル。
それをペアプロを通して、実際にプログラムを書きながら学びました。


たくさんの本の紹介を交えつつわかりやすく説明して頂け本当に充実した一日でした。



2日目のメインはレガシーなコードをテストしていくという、レガシーコードを改善する内容でした。

1日目の内容はものすごく理想的で会社ではなかなか実践できないこともあると思います。
そして、たくさんのテストがなく、
そして仕様書とプログラムの仕様が剥離していたりするような
レガシーコードに対してTDDがどのように効果があるのか、
どうやって戦っていくのかを教えて頂きました。

1日目が終わった際に、会社じゃ無理だろうと思っていたのですが、2日目の講演を聞いて、希望が持てるようになりました。

戦い方は、仕様化テストを行い、その後にリファクタリングや仕様変更を行うという流れです。
コツは、「あきらめちゃいけない」ことです。


簡単にまとめると

  • レガシーコードをみて糸口を見つける
  • テストコードを書いて、今の実装で通るテストを書く(仕様化テスト)
  • テストを通しつつリファクタリングする


みたいな戦い方でした。

実習では、今話題の「Java プログラミング能力認定試験」の第1級問題の仕様化テストを作りました。

これは実に面白かったのです。
これも3人でペアプロをまわしていく手法で実習を行いました。
一人だったらおそらく心が折れていたと思うのですが、
ペアプロスタイルだった事もあり、非常に楽しくレガシーコードに向き合う事ができました。


全体を通しての感想ですが、TDDはものすごく理想的な開発手法です。
そして、ペアプロもかなり理想的。


なんで理想的かというと、私が思う最も重要な理由は「楽しい」からだと思います。
勉強会だから楽しい訳じゃなく、きっと会社でも楽しく感じるだろうと思えるような
そんな楽しさがありました。


仕事だからなかなか楽しくは感じられないと思いますが、
人とふれあい、TDDで安心したコーディングを行う事ができれば、
効率よくモチベーションを保ったまま開発がスムーズに進むと思います。

この効果は結局どうなるかはわかりませんが、
普通に考えて、
コーディング+レビュー+レビュー対応
の時間をペアプロの時間に置き換えるだけで、もうお釣りがくるくらい時間の短縮になるような気がします。


これからのTDDに期待をしつつ、その流れを自分でも作れるようにこれからも努力したいと感じました。

そう、あきらめずに。

個人事業主

フリーシステムエンジニアになります。
個人事業主ってことで今後の人生を歩んでいくことにしました。


とりあえずは、元々働いていた会社でも働きます。
それ以外に今サービスを行っているオンラインゲームをメインで開発しながら
クラウド系のインフラで動くシステムを作っていきたいと思っています。


まだ営業届は出していないのですが明日税務署に相談に行ってから決めたいと思います。


ちなみに個人事業主のなり方。

  1. 会社をやめる(副業OKならやめなくても可かも?)
  2. 営業届を市役所に出す。いつから営業になるのかSEには微妙。。。
  3. 税務署に・・・あれ何出すんだっけ?w 明日行ってみてから続きは書こう(^^;

Slim3の本読破

3日であっという間に読んでしまった。
とても面白かった。

今回は感想を書いてみる。
読んだのはこれ。

オープンソース徹底活用Slim3onGoogleAppEngineforJava

オープンソース徹底活用Slim3onGoogleAppEngineforJava


最初はとにかくGAEの説明。
とても面白い。
GAEに対して漠然とした思いで眺めていただけだったのでさくっとGAEのことがわかる。
そしてBigtableの説明と続く。
とにかくBigtableのことを詳しく説明してくれるので、とてもためになる。


O/RマッパーはRDBを知った上で使うのが当たり前のように、
Slim3のDatastoreはBigtableを知った上で使うのがベストという事が強調されている。


低いレベルから徐々に高いレベルのAPIを、それもJUnitのコードで説明されている&ダウンロードして試せるのがイイ。
ぜひSlim3でシステムを作ってみたくなった。


まずはSlim3で、その後はT2とかを組み合わせつつ使ってみたい。
あと、ずっと気になってるVaadinとも組み合わせれそうだ。
なんかワクワクする!