try! swiftに参加しました(3日目ハッカソン)

3月2日から4日まで開催されたSwiftプログラミングのカンファレンス、try!swiftのレポート3日目です。

try! swiftに参加しました(3日目ハッカソン)

3月2日から4日まで開催されたSwiftプログラミングのカンファレンス、try!swiftのレポート3日目です。

1日目はこちら
try! swiftに参加しました(1日目)

2日目はこちら
try! swiftに参加しました(2日目)

ハッカソン!

try! swift3日目はSwiftをつかったプロダクトを作るハッカソンです。
テーマは「Swiftでイノベーションを起こそう」でSwiftをつかったプロダクトを作り、プレゼンするという内容。

作るものはSwiftを利用していればなんでもよくて、アプリだったり、開発ツールだったり、それぞれのチームが創意工夫をもち開発していました。

今回は私が参加したチームの話をしたいと思います。

前日でチームが解散

try!swift始まる前から、友達とチームを組んでアプリを作ろうと言っていたのですが、中核メンバーがまさかの体調不良で、チームが解散。
どうしようかなとハッカソンのチームリストをみたら、面白そうなテーマのチームがあったので応募することにしました。

それがこのチーム

Swiftpack.co 2.0 - npm for server-side swift packages

ジョインの理由はSwiftサーバーサイドでの開発ができそうだったから。
try!swift1日目、2日目のスピーチを聞いていて、でアプリよりもサーバーサイドの開発がやりたくて仕方がなくなったのです。

ハッカソン!

チームの主催者はPetr Pavlikさんという方。
アメリカから2週間旅行で日本に来ているそうです。(本当はロサンゼルスかLAかアメリカのどこかまで言ってくれたのですが失念してしまった。。)

直接会って話を聞いていると、Petrさん、すでにVaporでSwiftのパッケージをまとめるサイトを運営しているそうなのです。

http://swiftpack.co/

そして、このハッカソンの時間で追加機能を作るつもりだったそうでした。
私はそれのお手伝いをする感じになりました。

サイトはHerokuで動いていて、DBはmonogoDBを使っているそう。

追加機能は週に一回登録メールアドレスに今週のパッケージをお知らせを送る機能を作ることでした。
すでにDBにメールアドレスを保存するところまでは作っているそうなので

  • DBから登録メールを取得して送信する機能
  • メール本文にある「購読をやめる」リンクをクリックしたら、メールアドレスのドキュメント(SQLの言うところのテーブル)から該当のアドレスを削除する

を作ることになりました。

Vapor開発!

驚いたのがVaporの開発でした。
CLIツールがあるのですが、ドキュメントの通りにコマンド打ったらすぐにインストールが成功しました。

https://vapor.github.io/documentation/getting-started/install-toolbox.html

そして、Petrさんから教えてもらったgithubのプライベートリポジトリからクローン、アプリを動かすコマンドvapor run serveを実行したらもうローカルでアプリが動きました。

とっても楽!

rubyだと環境構築でいつも失敗するので新鮮でした。
(bundle installが一発で成功した試しがない。。)

APIもNode.jsのExpressのような書き方でわかりやすく、その日初めて触ってもドキュメントをみながらやればすぐに動きました。

とても手軽で感動しました。

コミュニケーションができず

自分のリスニング力の低さが露呈しました。

Petrさんの言葉はぜんぜんわからない。
とっても早口だったのもあるんですが、話かけられても一ワードも理解できない。
けっきょくPCのエディタに書いてもらって意思疎通をしました。

私からの問いかけも、複雑な文章だとしゃべれないので、筆談交えつつやりました。

リスニング、ちゃんと学びたいと思いました。

初めてコントリビューターになった

無事にハッカソンの時間内に機能開発が終わり、プルリクもマージされたところでPetrさんがサイトのフッターにコントリビューターとして私の名前を追加してくれました。
嬉しい。
今年の目標は何かしらのオープンソースのコントリビューターになることだったので、早くも達成できて感慨深いです!


http://swiftpack.co/ のフッターに自分のTwitter名が!!

さいごに

Petrさんが早めに帰らないといけないようで、残念ながら審査+プレゼンには応募できなかったです。

ですが、私もあんまり気にしてない。

ずっとVaporの開発がやりたいとおもってて時間がないと思っていたので、開発のチャンスができたことのほうが嬉しかったです。

自分でもVaporのアプリを作りたくなりました。

時間取れるのが一番の問題なのですがね。。

貴重な体験ができてハッカソンは大満足で終わりました。

ありがとうございます。