エンジニアの楽園🎉瀬戸内海に浮かぶ大三島で「オオミシマスペース忘年ハッカソン 2018」してきた!

f:id:hirocueki:20181212173143j:plain
オオミシマスペース

愛媛県大三島にあるオオミシマスペースで、1泊2日のハッカソンがあり参加してきました。

今回が第2回目の開催でした。初回は2018年の3月で、 オオミシマスペースで初のハッカソン にくわしいレポートがまとまっていますので、そちらも参照してください!

中四国エリアでもこのような場があるんだ、ということがひとりでも多くの方に届けたいという思いと、「参加して見たいけどハッカソンはちょっと・・・」とためらっていた自分とおなじ気持ちをもっている人の一歩になればとおもいます。

目次

  • day0
  • day1
  • day2
  • いいなとおもったプラクティス
  • 成果物
  • ギャラリー
  • メンバー紹介

day 0

  • オンラインで打ち合わせ

day 1

  • 現地集合
  • 目標設定
  • あいさつ・自己紹介、スキルマップの作成、テーマを決める(2h)
  • 昼食
  • クラフトビール調達
  • 開発(4h)
  • 温泉
  • 夕食
  • ライトニングトークタイム
  • 就寝

day 2

  • 散歩
  • 朝食
  • 開発(4h)
  • 完成披露、ふりかえり
  • 現地解散

実録編

  • 事前にオンラインで打ち合わせ
  • 現地集合
  • 目標設定
    • メンバーのスキルを組み合わせて1つのサービス構築
  • はじめにしたこと
    • あいさつ・自己紹介
    • スキルマップの作成
    • やること、やらないことの共有
      • 「構成どうします?」
    • テーマを決める
      • ズボラ飯レコメンドサービス
      • 想定する利用者層
        • 主婦、主夫
        • 料理に手間をかけたくない、でも栄養とりたい
        • 買い出し、調理、片付け時間も圧縮したい
        • 調味料や調理器具は一通りある前提
      • どこから使いたい?
        • ブラウザや専用アプリはユーザーからすると遠い(典型的なWebアプリケーション)
        • 身近なもの、クロネコヤマトの再配達
          • LINE が入り口になる(始めるまでのハードルが低い)
          • LINE Botを友達追加で利用できる(理想)
  • 開発の工程
    • UI設計、マスタデータ作成、API連携
    • 小さいフィードバックの繰り返し
    • ペアプロ、モブプロでライブ感のある設計会議
    • 朝・昼・夜での定期進捗報告
  • 完成披露
  • ふりかえり
    • できた、わかった
    • ハマった、苦労した
    • 次こうしたい
  • 現地解散

いいなとおもったプラクティス

  • 大声作業
  • 臨機応変
    • 基本単位は1人だけど、タイミングでペアプロしたり、仕様の変更でタスクが他の人に移った場合に別タスクを拾ってはじめるフットワークの軽さ
    • 手が空いたら他のメンバーのコードレビューしてくれた(モニタに写してコードレビューすることを公開処刑と呼んでいました。怖いわw)
  • 休憩重要
    • つかれた!といって休みを取れることも大事。堂々と休む。
    • お菓子を食べて、雑談しながらこんなふうにつかいたいねーなんていう会話から最高のアイデアが出てくる(かもしれない)
  • 時報
    • 進捗の共有もできるし、次のステップの材料にもなる
    • 自分の場合、ハマっている部分をはなすしたことで解決策をレクチャーしてもらえて助かった

メンバー紹介

  • まっすー(Mass)
    • Rails Lambda連携 Web APIjson to seed
    • アドミン。たよれるおにいさん
    • サービスの全体像からDB設計、関数レベルまで一気通貫してる感がすごかった。ゼウス。
    • 技術に対するキャッチアップも早くてre:Invent 2018 の要約ライトニングトークをしてくれた。
    • これからは、MLを活用してバリュー出していかないと「この先生きのこれない」と手を休める気配なし。
  • さかぺ
    • Rails Lamdba連携 Web API
    • 設計の詳細をまっすーと話しながら手も並列で動いて早かった。ペアプロナチュラルに始めるし、フィードバックも的確。
    • 知っていることはしっかりと共有してくれるし、しらないことに対しては吸収しようという姿勢に学ぶものが多かった。
  • みっちゃん
    • LINE Bot + AWS Lambda + DynamoDB
    • LINE Bot SDKの調査、LamdbaでのWebhook、Rails側とのAPI連携など、外野からみてた立場の自分からすると「ちょっとなにやってるかわからない」ことを着実につくりあげてた。脱帽しかない。
    • LINEという馴染みの画面がサービスの入り口になったのはインパクト大でしたね
  • ほぼろ
    • Python スクレイピング、クローラ、マスタjsonの作成
    • 癒し。個人的感覚ですが、ほぼろさんが話し始めてくれると安心しました。どうしても張り詰めがちな空間でこういうメンバーの存在って偉大。
    • APIの仕様にあわせてマスタデータを最適化してくるプロの仕事を感じた
    • 黒のHHKBのきもちのよい打鍵音
  • だっしゅ
    • モデレーター、進捗ping王、ムードメイカー、歩く技術書店
    • ふわっとした設計段階の話をメンバーの意見をヒアリングしながら具体的におとしこむすスキル。おれにもくれ。
    • 技術に関する幅広い知見。知ってるだけじゃなくてつかえる技術の範囲がやばい(語彙力)
    • 登山家、DIY
  • うえっきー(私)
    • Rails Web Application
    • とにかく良いgemを使い倒してタイムボックス内に収める!という思いで脳みそフル回転
    • ふりかえりで、完成したWeb アプリケーションを披露したときにみんなからいい反応もらえて達成感

あってよかった設備、作業がはかどるツール

成果物

  • LINE Bot を友達追加する
  • 食材からおすすめのズボラ飯を紹介
  • 「つくりますか>はい」をタップすると、レシピページがひらく

「ズボラ飯を作ろうとする人が、アカウント作成とかWebサイトをブラウザでひらくとかしない」というコンセプトで、LINEをサービスの起点にして、少ないアクションでレシピまでの導線をつくるというのが今回のポイントだったおもいます。

f:id:hirocueki:20181212220515p:plainf:id:hirocueki:20181212220643p:plainf:id:hirocueki:20181212220648p:plainf:id:hirocueki:20181213204043p:plain
LINE Botを起点に、[食材]-[キーワード]-[はい]でレシピへ

所感

  • ハッカソンたのしい
    • 正確には「ハッカソンという共通の目的をもって集まった人たちとの共同開発たのしい」
  • つながり大切
    • ダッシュと、岡山の勉強会(2018/04)で一緒して懇親会で話したことが今回の参加のきっかけになった
    • 積極的に人間関係を広げよう!とは自分ができないタイプなのでいわないけど、なにがきっかけになるかわからないなーと体感した。
  • 行動重要
    • 今回、まったく楽しくなかったらどうしよう。という不安があった。(当日まで)
    • よくなるかどうかは始まった時点ではわからないけれど、「実りある時間にしたいという気持ちで取り組む」ことが大事なのだと気づいた
    • 結果、自分のもてる力を出し切れたし、いろんな学びもあった
  • 技術力+@
    • スキルは高すぎて困ることはない
    • ワイワイ開発できるとさらに良い
  • 💻→♨️→🍻
    • 最高
    • クタクタになった頭を♨️でリフレッシュさせてから飲む🍻の幸福感たるや!
  • 子は宝
    • 赤ちゃん可愛い 🤱
    • すくすく育ってね!

ポエム編

  • 温泉
    • まわりを海に囲まれている大三島。温泉も海水くらいしょっぱくて、よく温まりました
  • 食事
    • とれたての海の幸。刺身の盛り合わせ。贅沢だった。
    • 猪鍋。開発にも勢いがついた
  • 夜ふかし
    • git push ができない問題が発生し、みんなの知恵を借りて対応してた。
    • macの再起動で解決した。バックグラウンドのエージェントサービスが古いsshをキャッシュしていたという結論でした。
  • 朝散歩
    • 海辺をぷらぷらと散歩しました
    • 海の向こう、に浮かぶ山、の間から昇る朝日🌄染みた。
    • バス停でスクールバスをまってる小学生の「おはようございます!!」に感動。

ギャラリー

開発風景

大三島

また、やりましょう!

2018年11月も「Everyday commit」達成記念!2ヶ月連続!🎉🎉🎉

やったこと

  • GitHub Leaning Lab を受講した。受講といっても自分のペースで進められるし、先生はいない。先生の代わりに Octcat Bot が親切に解説してくれる課題を Step-by-Step でやっていく感じです。Awesome!!とか、Looks so nice!!! と返信してくれて精神面のフォローもきっちりしていて Bot 学習システム良いなと感じた。

lab.github.com

  • Rails 速習ガイドを写経した

現場で使える Ruby on Rails 5速習実践ガイド

著者のエンジニア歴からして納得の内容でした。講義経験が豊富なところから本書でも本の向こう側から著者が話しかけてくれているかのようにページを進めていくことができました。すごい。

大場寧子のホームページ - エンジニア歴

github.com

わかったこと

  • 毎日GitHubで自分の成果を眺めていると、ちいさな成功体験(草)がある
  • 朝に草を生やした日は、朝から達成感があってよい
  • 草はバロメータにしかならないとは思うけれど、それでも毎日つづけているということが良いのだとおもう
  • 理想は毎朝コミットw

次やること

  • よいペースを保てているので継続
  • 体調重要。年末年始なので特に自分をいたわる。

#kibela 1,000記事突破記念

わたしのメインストリーム。

kibe.la

🎉🎉🎉 1,000 🎉🎉🎉

f:id:hirocueki:20181130145500p:plain
kibela 1,000 突破

どんなケースにつかっているの?

全部を集約してます。

  • 言語別のコードスニペット
  • わすれやすい環境設定の手順
  • 同じ問い合わせへの回答テンプレ
  • 未解決の問題の経過まとめ
  • TODOリスト
  • ポエム
  • 魚拓スナップショット(デザインやUIの参考にしたいとか、レイアウトを記録しておく)
  • 所感(のちのちまとめて共有したり)
  • 議事録からの共有

書き出してみるといろんなケースにつかっていて面白い。

kibelaに関する過去ツイート振り返り

2017/08 からつかってるみたいですね。 この記事を書いているのが、2018/11/30なので使用開始から487日となります。

200記事時点

300を超え

500+!

これからもよろしくお願いします。> Kibela - 個人の発信を組織の力にする情報共有ツール

Xcodeを使って開発するときは「良いキーボード(Magic Keyboard US配列)」をつかうこと

あいうえおかきくけこ。

f:id:hirocueki:20181128113645p:plain

AppleのMagic Keyboardの試打テストして30分で感じた感想をそのまま書き起こしています。

これまではAnkerのワイヤレスキーボードを使用していました。理由は低コストで、WindowsAndroidでもつかえるのでおトクだな、とおもっていたから。

しかし最近、Mac mini+Xcodeの環境で使用していると、キーレスポンスがバグる現象があって入力にストレスを感じていました(あと電池残量が低下するとBluetoothがよく切断される)。

バグる現象は、プログラミングするときに頻出する「message」や「class」など、おなじ文字が連続するときに、

「meeeeeessage」「cllllllllllllass」などと入力されたりしました。

不思議に思うのは、連続した「ss」が重複して入力されているのではなく、その前に出現した文字の入力が連続されてしまうのはなぜなのか。

Ankerキーボードの利点でもあり欠点でもあったところは、iOSAndroid・Winという3種類のプラットフォームに対応するつくりになっているため、ファンクションキーを実行するために、「Fn」キーを押す手間があって、ステップ実行のとき(F6)がラクになったらいいなとおもっていました。

Xcodeはファンクションキーの役割が多いため、作業効率に直結するという結論にいたり、これは道具で改善できるのでは?ということで購入しました。プライベートでも気兼ねなくつかうため自腹。

www.apple.com

Apple Magic Keyboardの良いところ

  • 打鍵感がほどよい。深すぎず浅すぎない。打鍵音も控えめ。
  • US配列のシンプルさが目に嬉しい。ムダのないつくり。
  • テンキーレスモデル。面積はiPhone6sの4倍。薄さはiPhoneと同程度。重さ:0.231 kg。
  • バッテリー駆動。ライトニング充電なのでモバイルバッテリーが流用可能。

細かいけど良かったところ

  • 背面がラバー系の素材で、グリップするので滑りづらい。
  • Deleteキーの幅がJIS配列に比べて広いので指が短いけど小指が届く。
  • Control/Optionのマークが印字されているのでググらなくてもショートカットが打てる。

まだつかいはじめたばかりなのですが、キーボードのレスポンスが悪いと、文字入力のたびに小さなストレスを受けていたのだということに気づきました。

この文章を入力しているキーボードの打鍵感やレスポンスの良さは、長文入力しても変わらず、ストレスフリーで、さらにいえば気持ち良さまで感じるレベル。月並みですが、

「もっと早く買えばよかった」

Ruby on Rails の学習のためにつかっている教材をまとめてみる

教材一覧

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

かんたん Ruby (プログラミングの教科書)

かんたん Ruby (プログラミングの教科書)

prog-8.com

railstutorial.jp

所感

Railsの前に Ruby の書き方も覚える必要があったので、Ruby本も読みつつ平行して学習をするスタイルでやっているのですが、Railsの分野に踏み込むと、HTML/CSS/JavaScriptが入ってきて、Webサーバー、HTTP/RESTなども押し寄せてきて混乱します。

混乱するし、めちゃくちゃつまづくし、先週やったことが思い出せないこともあるけれど、手と目と頭を動かしてやっているうちに じわじわと Ruby on Rails が染み込んできている感覚 があります。

最近発売された 「現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)」では、これまでの基本を総ざらいしつつ実践力を深められるという評価です。良き。

github.com

写経レポジトリで学習を積み重ねるのだ。