プログラミング

【総まとめ】テックキャンプ怒涛の10週間を実況!【応用カリキュラム編】

だらけている犬

 

※TECH::EXPERTはTECH CAMPに名前が変わりました。

 

こんにちは、ネットでプログラミングスクール界のRIZAPとも言われているTECH::EXPERTに通っていた、こばです!

【総まとめ】テックエキスパート怒涛の10週間を実況!【基礎カリキュラム編】の記事では、テックエキスパート初日から約2週間「基礎カリキュラム」の解説

をしていきました。プログラミング漬けの日々でヘトヘトになった基礎学習を終え、次は2週間の「応用カリキュラム編」へと入っていきます!!

こちらもまた濃い内容の2週間となっておりますので、最後まで読んでいただけると嬉しいです!

TECH::EXPERT【応用カリキュラム編】

基礎ではHTML・CSS・Ruby on Railsといった言語を学びましたね。次はテックエキスパートの中盤「応用カリキュラム」へと入ってきました!

まず応用カリキュラム全体の概要としては、Git Hub・SQL・Haml・Sass・Java Script/jQuery・DB設計・サーバー・テストといった技術の基礎を学習し、LINEのようなチャットアプリの制作を通して身に付けていくといった流れになっております。え、、、難易度が一気に上がってませんか、、、

基礎カリキュラムのHTML・CSS・Ruby on Railsですら、完璧に理解できておらずままならないのに大丈夫かなぁ?次のステップに移れる嬉しさと同時に沢山の不安も抱えたままテックエキスパートの第3週間目(15日目)がスタートしました。

 

結婚までの独身時代でどのくらい貯金が必要?【おすすめ貯金方法】

【15日目〜17日目】Java Script/jQuery

まずは、Java Script/jQueryの基礎学習から始まりました。

「へ〜、1990年代からある技術なんだ。Java Scriptのせいでブラウザの動作が重くなる事もあったんだね。」とJava Scriptの成り立ちから入って、実際に操作しながら文法の特徴を学んでいきます。ここでもイベント・ノード・DOMといった新しい言葉が出てきて覚えるのが大変だ〜。。。

Java Scriptのライブラリには、jQuery以外にもFacebookが開発したReact、近年人気となりつつあるVue.jsなどがありますが、TECH::EXPERTではjQueryを学習していきます。

  • 歴史があるのでリファレンスが多くあり、学習を進めるのが容易
  • 機能が限定的でとっつきやすい
  • まだまだ使われている現場が多い

上記の理由でTECH::EXPERTのカリキュラムでは、jQueryを選んでいます。(JSのライブラリは、流行り廃りの流れが非常に速いようですね。。。)

ちなみに、ライブラリとは汎用性が高い複数のプログラムをひとまとまりにして、再利用可能な形にしたもので、他のプログラムに対して機能を提供するコードの集まりす。もっと簡単に言い表すと、Java Scriptでの開発をもっと簡単にしてくれるツールです。Rubyの場合はgemが、ここで言うライブラリになります!

【18日目〜19日目】git・GitHub

まずはgitの基礎学習から。gitをPCにインストール、ローカルにリポジトリを作成して、この中でgitコマンドを実際に手を動かしながら学習していきます。

ここでも新しく「commit」「add」といった言葉が出てきて、RIZAPで働いていた私からしたら、コミットと言う言葉に強い親しみを感じました。笑

続いてGitHub導入のため、アカウント登録をしていきます。GitHubについて先輩受講生からは「この後にあるチーム開発で多用するから、しっかり学習をした方がいいよ。」とアドバイスをいただいていたので、ここは慎重に進めていきました。実際、チーム開発では複数の人が同じプロジェクトに参加している為、同じファイルを編集することにより、コンフリクトを起こしてしまいます。コンフリクトを間違った方法で解消してしまうと、せっかく書いたコードが消えてしまう恐れがあるので、正しい方法でトラブルの対応をしなければなりません。

現場で即戦力として働けるように、ブランチの概念をしっかりと理解して学習して不要なコンフリクトを避け、正しいトラブルシューティングを学習しましょう!(スクールは現場で働く前の練習の場なので、ここでは沢山ミスをしておきましょう!私の経験ではトラブルから学ぶことはとても多いし、何より経験値として蓄積されます!

 

【20日目〜35日目】チャットアプリ制作

チャットのコメント

さて最後は、応用カリキュラムで最も山場となる、ChatSpaceと言うLINEのようなチャットアプリの制作に入ります。(テックエキスパートでの10週間で、私が一番辛く感じたのがココです 笑)

チャットアプリ制作には納期がある

チャットアプリの制作には納期が設定してあり、なんと納期までに納品できなければ最終課題のチーム開発に参加できません!

しかも、これまではチュートリアルのようにカリキュラムに答えが記載されていましたが、チャットアプリ制作ではカリキュラムに答えが書いていないので、全部自分で調べて実装しなければなりません。これは間違いなく実際の現場をリアルに再現して「納期」や「自己解決能力」といった部分を意識させたカリキュラム内容にしているのだと思います。なので、とてもキツい期間ではありますが、逆に言うととても一気に成長できる期間でもありました。

  1. haml・Sassを使ってフロント実装
  2. gemのdeviseによるユーザー管理
  3. LINEのようにグループを作れるようにする
  4. メッセージ送信機能の実装
  5. 単体テスト・統合テスト
  6. メッセージを非同期通信にする
  7. ユーザー検索機能にインクリメンタルサーチを実装する
  8. AWS等でデプロイをおこない、全世界に公開する

上記が、チャットアプリ制作の大まかな流れになります。各工程、全てが難易度の高い機能実装となっており、それぞれメンターによるコードレビューが必要で、LGTM(Looks good to me)と言う「OK合図」のようなものを貰わなければ、次の工程に進むことができません。

特にみんな苦戦するポイントは『1、haml・Sassを使ってフロント実装』、『6、メッセージを非同期通信にする』、『7、ユーザー検索機能にインクリメンタルサーチを実装する』、『8、AWS等でデプロイをおこない、全世界に公開する』の4箇所で、難しく感じる理由としては、どれもチャットアプリで初めて触る技術だからです。やっぱり初めて触る技術を実装していくのってとても大変ですよね。。。しかし、自分で調べてQiita等のサイトを参考に実装してくことで自己解決能力がついていきます!

同期やメンターの力を借りながら、なんとか期限の5日前に最終の『LGTM』を貰えて、無事納品することができました。期限よりも早く納品することができれば、最終課題開始まで個人アプリの開発を進めることができます。個人アプリとは、カリキュラム外の取り組みとして、就活などで技術力やアイディアなどをアピールするために使うもので、自分のポートフォリオの1つになるものです。本来ならこの期間から少しずつ手を付けておくと就活の時に楽なのですが、チャットアプリ完成の安心感と、キックオフから休みなしで突っ走ってきた疲れもあり、私を含め、同期の中にも1〜2日パソコンを触らな日を作っていましたよ。笑

チャットスペースには納期があり、間に合わなければ最終課題に進めないと説明しましたが、嬉しいことに私の同期は全員納期までにチャットアプリを納品し、無事全員で最終課題へと挑めることとなりました。同期では一番時間がかかった人で、締め切り当日に納品していましたが間に合って本当に良かったと思います。

 

応用カリキュラムを終えて

基礎カリキュラムと同じように1日1日があっという間に過ぎていきましたし、ここでもエラーや機能実装で手こずる場面が多かったです。しかし、エラー解決の数をこなしてきたからなのか、ググって自己解決できたパターンが格段に増えてきた気がしますので、1ヶ月前の自分からは考えられないくらい成長できたなぁと感じました!!

応用と言うだけあってカリキュラムの内容は確かに実践を意識した作りになっており、AWSのAmazon EC2(仮想サーバー)やAmazon S3(クラウドストレージ)などの割と新しい技術を触っておけたことは、のちの就活であったり就職後に生きていくスキルでした。

基礎、応用ではとにかく膨大な情報を頭に詰め込んできましたが、まだまだ知識の詰め合わせみたいなものだから実践的ではない状態です。次の最終課題(チーム開発)編では、これまで学んできた知識を整理しながら使っていき、しっかりと自分のものにしたいと思います!

最後まで読んでいただきありがとうございました!

以上、やんしたでした!

 

-プログラミング

Copyright© こば夫婦の結婚1年目の教科書 , 2020 All Rights Reserved Powered by AFFINGER5.