コネヒト開発者ブログ

コネヒト開発者ブログ

YOKOSUKA IT Campで開発合宿を行いました

こんにちは、エンジニアの安達(@ry0_adachi)です。

この度、横須賀市が実施しているYOKOSUKA IT Campに参加して開発合宿をしてきました。
すごく良かったのでそのご紹介と、作ったものを報告しようと思います。

YOKOSUKA IT Camp

都内などのIT企業に、横須賀および横須賀リサーチパーク地区の認知度を高め、
将来的に事業拠点を置く候補地の一つとして認識していただけるよう、
横須賀市が実施する事業です。

都内のIT企業がオフサイトミーティングを横須賀リサーチパークで行う場合に、
必要な環境がすべて揃った会場を無料で提供します。

引用:YOKOSUKA IT Camp (http://www.yokosukaitcamp.com/)

横須賀の事をもっと知ってもらうための施策として横須賀市が実施しており、
合宿などで使用できる会場・設備を横須賀市が提供してくれる、というものです。

参加しようと思った経緯

年末くらいに開発合宿したい!となり会場候補を挙げていたのですが、その時に候補に挙がったYOKOSUKA IT Campの補助がすごい!となって、すかさず申し込むことにしました。
そして参加可能とのお答えをいただいて日程等の調整を進めていき今回の開発合宿に至りました。

横須賀市からの補助

今回、無料で提供していただけるものは

  • 横須賀市内の移動にマイクロバス
  • 合宿会場
  • 会場の横にある食堂でのお昼ご飯
  • 会場近くのホテル1泊分

と、何ともありがたい内容でした。ざっくりですが1人1万円くらい浮いたと思います。
また、合宿時のスケジュール作りなどもほとんどをやっていただきました。

1日目

  • 11:30 集合
  • 12:00 お昼ご飯
  • 13:00 開発
  • 19:00 晩ご飯
  • 22:30 開発

エンジニア・デザイナーの計8名で金曜日から日曜日にかけて行ってきました。
迎えのバスが来てくれるので久里浜駅に集合です。

開発会場が広い

f:id:dachi023:20170130182706j:plain

とにかく広かったです、8人で使うのがもったいないくらいでした。
作業時は写真の机を1人1つ使っていたのですが、それでもスペースが余っていたので空いた机に持ち寄ったお菓子とか飲み物を置いて使いました。
開発する場所としても室内のWi-Fiは研究施設などが入っている建物なので快適な通信速度ですし、電源は床から生えていて開発するにあたってストレスみたいなものは全くなかったです。

19時まで開発したあとは飲み会をして、終わってからは会場に戻って開発したり、ホテルに行って寝たり、各自が自由な時間を過ごしました。
ちなみに会場は24時間出入りできるので夜遅くまでやったり、朝早く起きた人は会場に来て開発したりしていました。

2日目

  • 12:00 お昼ご飯
  • 20:00 晩ご飯
  • 21:00 開発・発表資料作り

2日目は昼ご飯くらいまでには起きましょう、くらいのゆるい感じでスタートです。
ひたすら開発してた記憶しかないですが、みんな結構集中してて静かだったと思います。

美味しい牡蠣と蕎麦

f:id:dachi023:20170130194111j:plain

晩御飯は会場から徒歩5分くらいのところにあったお店に行きました。牡蠣の味噌焼丼と蕎麦が美味しかったです。あと、店員のおばちゃんがお茶目でした。

食べたあとは再度開発に戻り、最終日の発表に向けて追い込みをかける姿も見受けられました。私も開発するのが楽しくてひたすらコードを書いていました。

3日目

  • 10:00 成果発表
  • 12:00 横須賀中央駅へ移動
  • 13:00 お昼
  • 14:00 解散

いよいよ最終日、成果発表です。
発表開始ギリギリまで資料を作っている人もいました。

発表の順番決め

f:id:dachi023:20170130232405p:plain

ドカベンくじ引きで発表の順番を決めることにしました。
下記の記事を参考に実装しました。ありがとうございます。

qiita.com

成果物

1. 喋って音が鳴るBot, いでよBot

金城さん(@o0h_)の発表。

Slack上で sound!番号 と打つとBotを動かしているPCから番号に応じた音楽が鳴り、
これ読んで!読んでほしいテキスト とすると読み上げてくれます。
これはMac OSのafplaysayというコマンドを利用していて、MP3やテキストを再生する、というもの。音を出すのが楽しすぎて開発合宿が終わるまでみんな遊んでました。

そしてもう1つ、 いでよ!出てきてほしいもの と打つと登録していたものが出てくる機能。
複数行、スレッドにも対応していてslackbotの上位互換的な感じで使えそうです。

2. IntelliJプラグイン, Delegated Properties

富田さん(@tommykw)の発表。

Kotilin向けIntelliJプラグインとDelegated Propertiesのお話。
プラグインはAndroidのカスタムViewをKotlinぽくクイックフィックスしてくれるという便利なもので、こちらは完成までは至らなかったものの、Kotlinのソースコードを読んだりしてかなり知見が溜まったとのこと!IDEがないと生きていけないくらいにするため自ら貢献していく、と頼りになる言葉をいただきました。

Delegated PropertiesはKotlin標準の移譲のための仕組み。
継承するのではなく移譲することで処理の肥大化を防ぎましょうというのをママリQで実際に試した、という発表でした。

3. 妊娠月別の質問を用いたユーザ分類

CTO島田さん(@tatsushim)の発表。

ユーザ行動の分析を行うための基盤構築という難易度の高そうなものにチャレンジしていました。自然言語処理を扱うコアの部分の開発をされており、最終的にはプロダクトへの導入を検討しつつ、実際に形になったタイミングでブログやイベント等で発表するぞ!ということでした。続報に期待ですね!

4. Golangでmamari CLI

私(@ry0_adachi)の発表。

Golangでmamari CLIを実装しました。Golangの構文を覚えるところから始め、ママリ用のデプロイコマンドを作ることを目標に実装。
cobraというライブラリのおかげでシンプルな実装ができました。また、今回Golangで何かを作ったのは初めてだったのですが非常に良い言語だなぁと感じ、今後も使っていこうと思いました。

あとは、余った時間で前述のくじ引きやBotとかやったことを発表。開発合宿の時間をフル活用して色々できたので満足しました。

5. IoT知育玩具

きよえし(@kiyoe_furuichi)の発表。

可愛らしいウサギとネコのボタンを押すとディスプレイが切り替わる知育玩具です。
ウサギとネコとその土台はすべて裁縫をして作ったそうです、すごい…。
今後も子供に使ってもらえるような知育玩具をいろいろ作りたいと話していました。

発表時のスライドを上げてもらいました。 speakerdeck.com

6. 対話型Bot, ゴミ収集日リマインダ

高野さん(@fortkle)の発表。

メダロットが作りたくなったとのことで、Botkitでメタビーを実装。
docomoの雑談対話APIで雑談ができるようになっていました。

また、Botkitの対話モード(Conversations)を利用してアニメ版メダロットの名シーンを再現、ゴミ収集日をリマインダーに設定してくれる機能も実装されていました。
ゴミ出しは普通に便利そうなので真似しようかなと思っております。

7. Super Manner Mixer

結城さん(@super_manner)の発表。

Web Audio APIBeeplay.jsを使ってweb上で作曲ができるツールを作成。
画面上のボタンをポチポチやるだけで曲作れるのすごいです。

JavaScriptでこう言ったライブラリがあるということを知らなかったので勉強になったのと、そもそも作曲みたいなことがweb上の技術だけでできるんだなとびっくりしました。

8. エコー写真の検索アプリ

田村さん(@Utmrer)の発表。

エコー写真を妊娠週数ごとに閲覧可能なiOSアプリの作成。
Google Vision APIや検索結果などを駆使して週数ベースでエコー写真をカテゴライズし、それをリストで表示。
このアプリは同じ週数の方はどんな写真なのか、週数が進んだ時にどうなるのか、などの悩みを解決するためのアプリです。
アプリの技術的にはRxSwiftやXLPagerTabStripなどを利用し、実装したそうです。

実際にママさん達から上がった声からこういったものを作るのがすごくママリらしいなぁ、と感じました。

発表後

f:id:dachi023:20170202093313j:plain

発表が終わってからは横須賀市街へ行ってカレーを食べたり港沿いを散歩したりしてから解散となりました。初めての海軍カレーを食べましたがとても美味しかったです!

まとめ

というわけで、コネヒト開発部の開発合宿でした。
やるに当たって気をつけたこととしては

  • 開発に集中できる環境がある
    • Wi-Fi, 黙々と作業できる環境, 誘惑してくるもの(テレビとか)がない
  • なるべく拘束時間は減らして自由に開発する時間を増やす
  • 最後に発表を入れることで少しだけプレッシャーをかける

あたりを特に大事にしました。

また、全体的な感想として横須賀は非常に良い場所でした。ご飯も美味しかったですし、合宿会場も市街からは離れた場所なので静かですごく集中して3日間を過ごせました。
みなさんもぜひYOKOSUKA IT Campで開発合宿をやってみてはどうでしょうか。旅館などで行う合宿とはまた一風違った合宿になるかもしれません。

www.yokosukaitcamp.com