こんにちは、アドベントカレンダー3日目担当のさっつんです。
この春からプログラミングを始めて、何も知らない乳幼児から喃語を話す幼児ぐらいには成長したと思うので、同じく春からプログラミングを始めたB1の4人でJPHACKSに参加したときの学びを基に、はじめてのチーム開発(?)での注意点、したほうが良いことを書いていこうと思います!
- git
- 技術選定
- 開発時間
1. git
開発に必須のバージョン管理ツールであるgit。開発時、全く使いこなせていませんでした。その結果作ったプロジェクト数が二桁を超えるという事態に、、、ということで開発を最初に行うときはしっかりgitを管理しましょう!!
git の一般的なコマンドの流れついては、わかりやすく教えてくれている記事がたくさんあるので調べてください
個人的に落とし穴だったコマンド達です
git init
ローカルにリポジトリをつくってくれるinitコマンド。まだgit とgitHubが別という概念が頭の中で十分に処理されていなかったため連携に失敗したプロジェクトが2つ、3つ、4つ、、、、
gitHubと連携させるときはローカルの環境に先にリポジトリをつくることを忘れないように注意ですね
2.技術選定
まず開発をするときに考える技術選定。私的につよつよの人、メンターさんがいないときに大事だなーっと思うこと2選です。
- みんなが比較的使えるものを使用する
新しい技術を使うのも楽しくて良いのですが、時間内に完成させることを目標とするならばなるべくみんなが使えるものを使ったほうが良いと思います。私たちはwebアプリを制作したのですが、Node.js に素のHTML(ejs)、CSSを入れて作りました。
以下ディレクトリ構成です
- 参考になる記事があるもの
技術選定が終わりミニマムが決定し、いざ開発を始めようと思っても技術同士の連携を考えた環境構築やベースのコードの書き方などをどうすればよいかわかりませんでした。正直、公式見てもよくわからないことが多いし、探すの大変だったりするので、qiitaやzennなどから自分がしたいことと似ている人を探しましょう!公式って読む気にならな、、
3.開発時間
今回参加したJPHACKSは2日間かけておこなうハッカソンでした。4人での開発だったので2人フロント、2人バックの陣形で挑もうとしたのですが、2日間じゃ確実に完成しないと予想したため約一か月前から勉強とテスト開発を行っていました。さすがに一か月あればいけるだろうと予想していたのですが、想像の5倍ぐらい時間がかかりました、、、、
gitが連携できない、参考記事と全く同じようにコードを書いたはずなのに起こるエラー、エラーが起こっているのにエラー文がでない、デプロイがうまくいかない等々、予定通りに全く進まない事件が発生しました。
なので予定の10倍くらい余裕をもって時間を設定するのがおすすめです。
が、しかし締め切りブーストという素晴らしい?バフも存在するので、結局なんとかなります。
まとめ
いろいろ書きましたが結局やろうとすればなんとかなるので是非いろんなイベントに挑戦しましょう!JPHACKSのような勉強ツールを無償提供してくださるイベントもあるのでぜひ探して応募してみてください。ここまで読んでいただきありがとうございました!
ちなみにJPHACKSで作ったものです↓
Slack のチャンネルで勉強、開発時間を記入すると web で表示してくれます。 また、目標時間、勉強内容も登録できます。
活用した技術
- glitch( slack との連携 )
- vercel (デプロイ)
- node.js
- SlackBolt
- express
- SlackAPI