ソフトウェアテスト勉強会~JaSST'13東京報告会~ に行ってきたよ #sendaitest

仕事が押してしまって、半分ぐらいから参加。 最近の流れがテスト自動化と探索的テストらしい。 探索的テストはテスト技法ではなくスタイルなりっ!!(ババァーーーン)って感じで面白かった。確かにテスト仕様書なんてエビデンスに必要なだけで、役に立つことはあまりない。 弊社も推し進めているWモデル(W字開発モデル)についても途中からしか聞けなかったけど参考になった。 しっかりDevLOVE仙台の告知も行いました!みんな来てくれるといいな。 勉強会後にはビアバッシュで、たまたまハワイから参加しましたとか、全然ソフトウェア開発はしていないんですけどもとかいろいろな人の話が聞けて良かった。ニセコのワインからニセコには最近オーストラリア人が一杯来ているんですとかとか。 テスト勉強会は毎回面白いので、次回も時間が合えば参加したいです。

February 16, 2013 · nnasaki

宮城大学大学院 情報デザイン特別講義 2012 に行ってきた

宮城大学大学院 情報デザイン特別講義 2012 小飼 弾 先生 がいらっしゃるということで行ってきた。 もう全然 Perl の話じゃなくてコンピューターサイエンス。いや、それも通り越してしまって、哲学的なものを感じました。 だって、print "Hello, World"がプログラムかデータか?っていうところから、チューリングマシンが出てきて、ライフゲームが出てきて。ライフゲームに生命があるか? こんなの話の展開誰が想像できますか?w で、生命ってのは結局 生命 → 物理法則 + 初期状態 と言い表すことができるかもしれないって一つの結論が導きだされた。ライフゲームが1970年に生まれて、チューリングマシンが表現できるとわかったのが2010年で40年かかっている。 これは物理法則が単純すぎるから、初期状態を探すのに時間がかかった。 これもプログラミングに当てはめることが可能でプログラム → 言語 + ソースコードであり、言語が複雑になるほどソースコードは簡略化可能で、言語が簡単なほどソースコードは複雑化するっていうので、BrainFuck 等の言語で FizzBuzz を表す例を見た。 ライブコーディングもあり、フィボナッチ数は普通に書くと35あたりから辛くなるというところで、高速化するにはどうするか?という問題。Perl だと memorize の2行を追加すれば良いということで、自前でキャッシュする場合との比較を行った。 ここら辺のプログラミングはHigher-Order Perlというとても良い本がPDFで全文公開されているので是非見て欲しいとのことだった。英語だけど。日本語だとメタプログラミングRubyとかいいかもしれないね。 今後求められるプログラマーとしては複雑なものから単純なものを生み出す。つまり、メタプログラミングのできるプログラマーが求められるとの話。 最後は杜の都ということを意識していただいたかもしれないお言葉で結論が導き出された。 逆に考えるんだ

January 13, 2013 · nnasaki

DDD勉強会に行った

f:id:nnasaki:20121201001323j:plain 主催者多忙によりおよそ2ヶ月ぶりの開催。結局、今日もこれなかったんだけど今年最後になりそうなので、みんなで開催することにした。 久しぶりにやれてみんなで毒吐きまくりで、いつもながら楽しかった。 初めてF君も発表していい経験になったんじゃないかなーと思う。 今年は一回ぐらいしか発表できていないので、来年も発表したいですね。 飲みに行きたかったけど、明日は会社の研修があるので今日は残念ながらキャンセルした。ここら辺も来年はサッといけるようにYAuthの認証を得ておきたい :-)

December 1, 2012 · nnasaki

ICT ERA + ABC2012東北 にスタッフとして参加しました

Android のアプリは Hello World 的なことしかやったこと無くて、社内の教育でチラホラ説明がしたことがある程度なんだけど、実行委員として参加しました。公式サイトにも名前を載せていただけて光栄です。あ、ASP.NET MVC4 + jQuery Mobile というのはお仕事でやったことはあります。 いろいろ思い出しながら徒然書いてたら、4000字超えてたので時間のない人は見出しだけ追っていけば良いと思います。 概要 セッション数が約100、バザール(展示会)を同時進行という、東北のIT系イベントの中では過去最大規模のイベントだったと思います。 ICT ERAの会場である東北大学百周年記念会館 川内萩ホールは席数1235席という巨大ホールに加えて、ABC は 11教室 * 約120席 = 1320席 。さらにバザールに11教室という感じだったので、最大3000人ぐらいを想定していたと思います。(※ 思いますというのは、私は実行委員ですが、イベントを実行するための役割で、企画はしていないため把握できていません。戦略と戦術で言えば戦術となります。) 実はトラックリーダー兼会場リーダーだった! 前日に打合せがあり、その時初めてトラックリーダー兼会場リーダーという役割があることを知りました。(その前までは普通のスタッフの役割だった)なので、超焦りました。やることが10倍ぐらい多くなるし責任も重いw 運営マニュアルも毎時間更新される感じだったので、頭に叩き込んで目Grepで確認している感じでした。 当日の感想 もーバタバタでしたw 朝8時に集合して、自分のスタッフ3人と初顔合わせだったんですが、ちょっとトラブルがありました。苗字のよみがなが違っていて、出会えなかったり、実は第一セッションで話しますということがわかったりで焦りまくりでした。ですが、人生で初めてインカムを着用し気分はちょっと高まりましたw 会場の準備が大変 私の担当は開発セッション会場のリーダーでして、セッションは午後からなのでゆっくり出来るかな?と思ったんですが、午前中はバザー開催のための準備で机の移動やら荷物の移動やら、かなりの重労働で大変でした。 バザーの準備が落ち着いたら開発セッションの会場の準備にとりかかりました。こちらは講義室なのでレイアウトの変更は必要なく、プロジェクターの調整と掲示物の貼りつけ、それに電源タップの増設と養生ぐらいでよかったので楽でした。 スタッフへ役割の説明したよ ひと通り会場の準備が終わったので、今度はスタッフに役割分担とマニュアルの説明です。スピーカーの人はABCのスタッフ経験がある方で問題なし。もう一人は大学生ぐらいの実行委員。最後の3人目は学生アルバイトとしてヘルプに来たという人。 とりあえずマニュアルをひと通り説明して、司会・タイムキーパー・その他の役割をローテーションすることにした。マニュアルが非常によく出来ていて、司会進行のスクリプトが入っていたのでそれに沿って進行すれば問題なかろう、ということで、何事も経験と言って任せることにした。 お弁当が来ない! マニュアルの説明を15分ぐらいしたところで、お昼休憩なんだけど、どうやらお弁当がまだ来ていないようでした。集合時間を決めて各自解散としました。結局お弁当は30分ぐらい遅れてきました。 バザールを見てみた お弁当が来るまでの間、バザールを見てみました。お昼時間だったのもあると思うのですが、全体的にちょっと人が少ないかな?って感じでした。人がいるブースでも3人ぐらいで、誰も見ていないという所も多かったです。 第一セッションが始まった! バザールをひと通り回って、遅れて届いた弁当を口に詰めて、第一セッションの準備にとりかかりました。リーダーの役割として、講師の方の出迎え、注意事項の説明等々を粛々とチェックリストをこなしてった。講師控え室に居る方は殆ど無く、皆さん自主的に教室に来ていただけてとても助かりました。タイムキーパーへの指示、その他スタッフの指示を行い、時間も13時となり、いよいよ第一セッション開始となりました。 最初の司会は自分だったんですがとても緊張した。声が上ずってたし、噛んでいたかなー。録画されていたので、公開されたら恥ずかしいなw 問題発生! とあるセッションで講師が来ないという問題が発生して焦りました。インカムで事務局とやりとりして捜索してもいらっしゃらず、どうしようと思っていたら、直前になっていらっしゃいました。 他スタッフの司会も問題なし 自分以降の司会も不安でしたが、何も問題ありませんでした。いや、むしろ自分より上手いw 失敗が許される環境であれば、どんどん自分の仕事を振っていくということはやっぱり大事ですね。自分が何でも一番うまく出来ると思わないことが重要と改めて感じました。 最終セッションも無事終了 そんなこんなで最終セッションも無事終了。いろいろヤキモキしましたが、なんとかこなすことができました。開発セッションはどれも興味深く、後の資料公開が楽しみです。 後片付けはかなり混沌としていた 最終セッションは17:00〜18:00だったんですが、この間インカムでは「人が足りない〜」と悲鳴の嵐でした。というのも、バザール会場は17:00終了で撤収開始。メインの萩ホールは17:30終了で撤収開始。さらに懇親会は18:00受付開始で会場・受付準備。ということで、それぞれの会場で行き場を失った方達が一斉に懇親会会場に向かうので、行列が出来ますし場所の問い合わせもあるし。 自分の会場は18:00に終わったので、5分ぐらいで後片付けをしてサッサと終わらせた。で、どこに行けば良いかというと、バザールが全然片付けられていないということでバザールに向かいました。 後片付けが終わらない〜 バザールの一階の片付けが6教室中2つ程度しか終っていなく、手伝うことになりました。インカムでヘルプを呼んでも懇親会会場でみんな手がいっぱいだそうで、100人ぐらいスタッフ居るのに5人も来れないってホントかなーって思いつつ粛々と机を並べておりました。 しばらくしたら、増援部隊が来てくれてなんとか終わらせることができました。 この時18:30ぐらいだったかなぁ。 懇親会に行こうとしたら、今度は荷物の返送でガヤガヤしてたので向かってみると、ガムテープが無いとかだったので運送のおじさんに借りたりとかしてました。(ガムテープは全部使いきってしまってゴメンナサイしました。。。) ようやく一段落してこの時時計は19:00ぐらいだったかな。 ようやく懇親会に出られるもご飯が無い 懇親会会場に到着すると予想以上の人でごったかえしていました。懇親会が始まって1時間ぐらい経過してたので、テーブル上の食べ物はほぼ皆無。唯一残っている牛タン焼きには行列という感じでした。 仕方なく行列に並んでようやく牛タンをゲットしましたが、Angry Birds の Antti Sonninen が牛タン食べたこと無いって言うので上げちゃいましたw Antti はすごく日本語が堪能で、ビックリしました。英語で会話にチャレンジしようとも思いましたが、おとなの英会話を20回分ぐらい撮り溜めしているのを思い出したのでやめました。次はちゃんと消化してから会話したいと思います! 二次会は楽しかった 懇親会も終わり、また会場の片付けが〜って思ったら、ここは従業員の方々が片付けてくれるということで胸をなで下ろしました。 二次会は最初30人ぐらいの予定だったのですが、最終的には70人になったそうです。やっぱり一番盛り上がったのは、アリTVさんの平成の仙台四郎ことだいちさんによるジャンケン大会ですね。腹抱えて笑わせてもらいました。どーもプロっぽいと思ったら元芸人さんだったんですね。さすがです。 ...

October 22, 2012 · nnasaki

Sapporo RubyKaigi 2012 に行って来た

f:id:nnasaki:20120915102213j:plain Ruby よくわかんないけど、とりあえずどんなもんかなって雰囲気だけでもと行ってみました。 詳しいことはレポート:Sapporo RubyKaigi 2012 スペシャルレポート|gihyo.jp … 技術評論社のほうに詳細に記載されているので、そちらを見たほうが良いと思います。 以降は、私個人の感想を書きます。 ### 1日目 井原正博さんの「クックパッドのつくりかた」が一番グッと来ました。 「やりたいこと」と「得意なこと」と「やるべきこと」の3つを満たすことをする。それを実践すれば会社の評価も必然とあがる。でもそれを見つけるのは用意ではない。 この話は技術者ではなく起業家向けというか誰にでも話せる内容だなぁと思いました。 ### 2日目 やはりMatzこと[まつもとゆきひろ](http://d.hatena.ne.jp/keyword/%A4%DE%A4%C4%A4%E2%A4%C8%A4%E6%A4%AD%A4%D2%A4%ED)さんの key note ですね。 最近 Perl があるのになんで Ruby を作ったのか?と質問され、Ruby は車輪の再発明で、人的リソースを無駄にしていると言われたそうです。 「どう思いますか?(Rubyカンファレンスで聞くのは卑怯なんですけど)」 マンパワーじゃなくてモチベーションが重要で、私たちは機械じゃない。車輪の再発明かもしれないけど、多様性は悪ではないと思っている。Ruby が何故成功したかは正直わからない。(インタビューの時はわからないと言うと嫌な顔されるので、コミュニティがーとかオープンソースがーとか言うようにしている) 一生懸命プレイしている野球少年に「でも、君はプロになれない。」といったらどう思うか?それは人的リソースの無駄使いなのか? 多様性によって無駄な重複はあるかもしれないけど、いずれ自然淘汰され必要なものだけが残っていく。Ruby はWebは大体制覇した Cookpad が Ruby で作られているんだよっていっても、奥さんが信じてくれない(笑)Ruby は自分の思考に合致する。 自分と同じような人が多いから広まっているんじゃないか。We Code, Therefore We Are「我らコードを書く,故に我らあり」 僕が思うに、Ruby は多様性によって生まれ、そして(必要だから)残ったのかなぁと思いました。 Aaron Pattersonさんの話もよかったです。最初はサラミを作るという話だったんですが、サラミの温度や湿度管理をデータ化してRubyで統計を取得して表示するという最後は We Code というテーマに結びつけるという見事な内容でした。 ### 2日目懇親会 懇親会会場が2つに別れていて、スピーカーの人たちとはあまりお話出来なかったんですが、Matz がフラフラと歩いていて、「サインください」って言ったらしてもらえたw うちわにしてもらったんで、ちょっと見づらいですね。 Matzのサインもらった! #sprk2012 twitter.com/nnasaki/status…— 山本誠樹/Masaki Yamamotoさん (@nnasaki) 9月 15, 2012 id:shuji_w6e さんと出会えたこともよかった。TDDBC 札幌を主催しているかたで、いろいろ悩みとか共有したりできてよかった。JUnit本を現在執筆中ということで、期待しています!(Java よくわかんないけど) ### 3日目 宿がなくて前日が漫画喫茶で宿泊ということで疲れがピークであまりセッションを聞いてなく。。。モクモクとコード書きをしていました。自動販売機ネタを ASP.NET MVC4 で Web アプリ化するとどうなるかとか。その後飛行機の時間もあったので、15時ぐらいに会場を後にしました。 ### 全体的な感想 最初はボッチで[Ruby](http://d.hatena.ne.jp/keyword/Ruby)もよくわかんないのに行ったので、親戚のおじさんのお葬式に突然一人で現れた子供みたいな感じ(どんなんだ)で、しかも Windows 8 に [Visual Studio](http://d.hatena.ne.jp/keyword/Visual%20Studio) 立ち上げて [c#](http://d.hatena.ne.jp/keyword/c%23) とかしていたので、[Rubyist](http://d.hatena.ne.jp/keyword/Rubyist) たちに撲殺されるんじゃないかとヒヤヒヤしていました。 そしたら、ばったり@nemorineさんと会って心強くなり、TEF道の方々も紹介していただいて本当に良い出会いができました。こういうイベントはただセッションを聞くだけだったら、インターネット経由で見れるので参加する必要は無いと思います。しかし、人と人との出会いが生まれるのはその場所なのだなと思います。セッションには無い部分を求めて行くべきなのかなと思いました。次回行く時は Ruby になんらかの貢献をして、スピーカーとして参加したいです。 ...

September 17, 2012 · nnasaki

第12回 DDD(ドメイン駆動設計)勉強会に行って来た

イベント案内 | 2012-08-31 (金) 第12回 DDD(ドメイン駆動設計)勉強会 - 東北デベロッパーズコミュニティ エリック・エヴァンスのドメイン駆動設計 目次今回で記念すべき1周年でした。「第14章 モデルの整合性を維持する」を読み進め、共有カーネル(SHARED KARNEL)までと腐敗防止層(ANTICORRUPTION LAYER)を議論しました。 初参加の方もいらっしゃり、とてもエクスパートな方で 「KARNEL って KERNEL のスペルミスですよね?」という早速鋭いツッコミをしていました。正誤表には載っていないようですので、教えてあげたほうが良いかもしれません。内容は「第4部 戦略的設計」に入り、だいぶ実践的な内容になってきたと感じました。今までの論調は完璧なドメインモデルを目指しすぎていて、正直机上の空論とも思える時がありました。今回は2つのコンテキストの統合について論じられており、レガシーシステムを統合するには何を意識するか、ファサードとアダプターとファクトリを駆使する等でとても参考になった。一応 .NETer(笑) として MS に関連した情報を紹介しますと、 MSDN にもベストプラクティスとして ドメイン駆動設計の概要 というような記事がありますし、最近買ったプログラミングMicrosoft ASP.NET MVC ASP.NET MVC 3対応版 (マイクロソフト公式解説書) も標準で作成される Model, Controller, View 以外にも Controller の汚染を避けるため、Service, Repository, DomainModel を作成することが推奨されています。 何が言いたかったかというと、DDD はもはや新しいことではなく、当たり前になりつつあるということです。私も現在のプロジェクトには出来るだけ適用するようにしています。(まだまだ稚拙ですが・・・) 私自身はデザインパターンの理解はまだ完全では無いし、本の内容も理解しきれていません。まだまだ足りないことだらけだなぁと改めて気付かせてくれる大変良い機会でした。次回も是非参加したいと思います。

September 1, 2012 · nnasaki

TDDBC(TDD Boot Camp)仙台02 を開催します。

TDDBC仙台02 の募集を開始いたしました。 8/11(土)に行います! http://tohoku-dev.jp/modules/eguide/event.php?eid=144プログラミングに自信の無い方、マネージャーの方も @t_wada さんの講演だけでも一聴の価値はあると思います。定員は30名ですが開場には余裕がございますので、 多少人数オーバーしても問題ありません。いやー、去年2回目やるよと言ってなんとか開催できそうで本当によかった。 以下は募集文の転載 TDDBC(TDD Boot Camp)仙台02を8/11(土)に開催します!ユニットテストしたことないんだけど、どうすればいいの? なぜ、テストを先にするの? テストコードを書く時間が無駄なんじゃないの? テストの自動化をすれば品質は上がるの? コードカバレッジは100%は必要なの?上記疑問に一つでも当てはまる方は是非参加してみて下さい。 きっと答えが見つかるはずです。【TDD Boot Campとは】 テスト駆動開発(Test Driven Development)について、座学だけでなく、実習形式で手を動かして体得することを目的とするイベントです。昨年、デブサミ2011東北にて開催され、今回で2回目となります。 昨年開催された内容については http://codezine.jp/article/detail/6055 をご覧ください。今年も TDD の伝道師、和田卓人さん (@t_wada) をお招きし、講演、指導を頂きます。 和田さんとTDDについてもっと知りたい方は[動画で解説]和田卓人の“テスト駆動開発”講座(http://gihyo.jp/dev/serial/01/tdd)をご覧ください。今回は TDDBC 卒業の証として、グリーンバンドを1個500円で販売します。 希望される方は申し込みフォームにて希望サイズ(MかL)をお選びください。 ※グリーバンドについて: http://d.hatena.ne.jp/mzp/20100711/greenband ※会場利用規則により会場では販売できませんので、懇親会場にて販売させて頂きます。 懇親会にご参加なさらない方につきましては、別途対応させて頂きます。【開催日時・場所について】 開催日:2012/08/11(土曜日) 10:30~17:30 (開場 10:00) 定員:30人 場所:エル・ソーラ仙台 大研修室(アエル 28階) http://www.sendai-l.jp/center/shisetsu/ls_01.html 公式サイト:http://devtesting.jp/tddbc/ ハッシュタグ:#tddbc【参加費用について】 参加費用:2000円 (会場費等) 当日受付にて回収します。【懇親会について】 懇親会:(場所未定) 時間 18:00 - 20:00 参加費 3,500円(学生は3,000円) グリーンバンドを希望される方は別途500円頂きます。【タイムテーブル】 10:00~10:30 受付開始 10:30~10:45 Opening 10:45~12:00 基調講演 12:00~13:00 Lunch 13:00~14:30 1つめの開発するテーマを発表+ペアプロ大会 14:30~15:00 コードレビュー+休憩 15:00~16:30 2つめの開発するテーマを発表+ペアプロ大会 ...

July 28, 2012 · nnasaki

第11回 DDD(ドメイン駆動設計)勉強会に行って来た

3部の締めくくり。12章と13章。@mokkeee さんのまとめをさらっと流して終わり。 デザインパターンが当たり前のように出てきて理解が前提。 デコレータとか全然使ったこと無いけど、一応理解はしているつもり。今回も本の内容よりグチが多くなりがちでちょっと反省。余った時間は TDDBC仙台02 の宣伝をして終了。 2週間前なのでこれから忙しくなるなー

July 28, 2012 · nnasaki

ABC2012東北準備会 に参加してきた

2日遅れで書いてしまった。ABC とは Android Bazaar and Conference のこと。 10月に東北大学で開催されますよっ!1000人ぐらい集めたいみたい。Facebookのシステムについて丸山先生の説明を聞いた。すべてのリクエストをログを吐いてTailで読んで処理していくというシステムらしい。 リクエストの取りこぼしをしないためにそうしているみたい。 でも、逐次ログをフラッシュしているわけではなくバッファリングをしているので、フラッシュするまでの間にマシンが強制終了してしまう可能性はあると思う。 なので、やっぱり失うリクエストってのもあるんだろうなぁと感じた。 アーキテクチャとしては興味深いけどね。Google I/Oから見るAndroid最新技術動向については、いろいろいっぱいもらってていいなーっと。Android はまだまだ安定しなさそうですね。スマートフォンテストラボみやぎはスマホ80台をテストで利用できるそうです。なんと、9月ぐらいまでは無料! 10月のイベントは忙しくなければスタッフやろうかなーと思った次第。

July 21, 2012 · nnasaki

DDD 読書会で発表してきた

DDD 読書会で発表してきました。** 発表資料はスライドシェアにアップしました。 尚、本そのままの図表を載せていましたので、削除しました。レイアウトが多少崩れて分かりにくくなっていますが、原著と合わせてみていただければと思います。 DDD読書会 アナリシスパターン**View more presentations from Yamamoto Masaki.後半は元帳とか記帳ルールとか出てきてイマイチ理解しきれていなかったけど、@MasanorMurakamiさん曰く、簿記の用語で定義されているというドメインエキスパートの意見をいただけた。@i_takehiroさんからはアナリシスパターンの原著のほうが例が分かりやすいのと、会計の知識が無くてもクラス間の依存関係の分離に着目すればもうちょっと理解が深めれたのではという、レビューっぽい意見をいただけた。やっぱり、こう言うのは発表しないとわからない・気付けないところがあるので非常に良い経験となりました。また、機会があれば発表してみたいと思います。 発表が終わったあとは各自DDD談義や、私はC#の質問を受けてデリゲートとは説明してた。学校の課題なんだけど、Mainに対してCalcクラスで10のカウントアップの時だけDelegate通してEvent通知するようなプログラムだった。こんな単純なのだとデリゲートを使用するメリットが無いので勉強する方もイメージわかないよなぁという感想。 とりあえず、CalcクラスはMainを知らなくて良いとか、通知する対象が何個合ってもCalcの実装は変更することなく一斉に通知できるよとか、いかにもっぽいことを説明しておいた。 今回発表してて環境周りで問題が起きた。それぞれ解決策があるので次は忘れないようにしたい。 僕の持っているバチ物の Display Port にDVIからVGAに変換するアダプタをかましたが、プロジェクターで認識してくれなかった。 純正品ならOKでした。やっぱり純正品買わないとダメだなぁ。 Keynote を iPhone から Keynote Remote を使用してスライドを流しました。が、、、 会場で用意された Wi-fi では認識できなかった。Mac で Wi-fi ネットワークを作成することで接続ができた。 iPhone がスリープすると Wi-fi が切れてしまい、iPhone が IPアドレス取得するのに1分 ぐらいかかって不便だった スリープOFFにして電話着信もOFFにしてという下準備が必要。

June 30, 2012 · nnasaki