プログラミングブログ

文系大学生がwebエンジニア目指してプログラミング

TECH ::EXPERT 3週間目を振り返ってみた

TECH::EXPERTに通い始めてから3週間が経ちました。

3週間目は、応用カリキュラムでjQueryを使った非同期通信、Git、データベース、SassとHAML、chatspaceのデータベース設計とフロント実装を行いました。

15日目(日)

学習お休み

 

 

16日目 (月)jQueryを使った非同期通信の実装、Gitの使用、データベースの勉強

〜用語の説明〜

jQuery:webページを操作する言語Javascriptをより簡単に扱えるようにした言語

非同期通信:例えばユーザーがweb上で要求したことがサーバーに送られたときに(リクエスト)、サーバーからの応答(レスポンス)がまだ来てなくてもweb上で操作できるような通信のこと。(⇔同期通信)

Git:ファイルの変更履歴を管理してくれるシステム。これのおかげで過去のファイルに遡ることができる。

Github:世界中のGitが集まっているwebサービス。チーム開発に便利な機能が付いている。

 

JQueryの非同期通信では、AjaxやらAPIやらJSONやら知らない用語が多く出てきて何が何やら状態になりました。今でもあんまりよくわかってないので要復習。

Gitを使うのにGithubっていうシステムを用いたのですが、全部英語で書かれていたので扱うのが難しかったです。上手く使えなくてアカウントがBANするというハプニングもありました。。調べてみるとGithub社に連絡をしないと回復しないとのことだったので、コピペした英語で直して下さい〜とお問い合わせ。

GithubのアカウントがBANしてしまったのでそれが回復するまでの間、Gitを使う単元を飛ばしてデータベースを学習しました。データベースの作成とか、テーブルの作成とか今までRailsを用いてやっていましたが、それをmysqlという言語を用いてターミナル上で行いました。

 

 

17日目 (火)GithubFlowの勉強、chatspace実装の準備

〜用語の説明〜

GithubFlow:Github社が実践しているGithubを用いた開発の流れ

 

Github社との意思疎通がうまくいかずGithubのアカウントのBANがなかなか回復しなかったので、新しいアカウントを作ってGithubFlowを実践しました。初めて実践してみた感想としては、慣れればいけそうだけど使い間違えたら大変なことになりそう。

chatspace実装の準備では、chatspaceを開発するにあたって気をつけるべきことを確認したり、不要なファイルを生成しないようにしたり、slackとgithubを連携したりしました。開発するにあたって気をつけるべきこととしてRubyのコードはこう書くべきとかRailsのコードはこう書くべきっていうのがあるのですが、それが結構膨大で、全部を満たしたコードが書けるようになるまで時間がかかりそうです。

 

 

18日目 (水)データベースでデータの検索、データベースの設計、chatspaceのデータベース設計としてテーブルを作ってみよう

mysqlを用いてデータベース内でデータを検索する方法を学びました。mysqlは1つ1つの文法はそれほど難しくないけど、組み合わさると少しややこしいです。

データベースの設計では、データベースにはテーブルがあって、カラムがあって、テーブル同士には関係があるよっていうことの確認をして、効率的なテーブルの作り方を学びました。Railsの単元で学習したことと被ってくるので良い復習になりました。

そしていよいよchatspaceの実装。この日はchatspaceのテーブルを自力で作りました。まずはどんなテーブルやカラムが必要かを書き出して、テーブル同士の関係がどうなってるのかを書き出しました。ヒントやpictweetとmoooviを参考にしながらだったら大体形が作れてきますが、中間テーブルという新しいテーブルが出てくるのでそこがちょっとムズカシイ。後は一つ一つのカラムにどんな条件をつけるか(例えばデータが空なのはダメとか)も考えました。

 

 

19日目 (木)sass、hamlの学習、chatspaceのフロント実装、ミニアプリ開発説明会

 まず、chatspaceのフロント実装の準備として、sassとhamlがどういう言語かということを学びました。sassとhamlは、それぞれcssとhtmlをより効率的に書けるようにした言語とのことです。

そしてそのsassとhamlを用いて、chatspaceのフロント実装に取り掛かりました。sassとhamlについては自力で調べないといけないことが多かったので調べながら、これで良いのかなと不安を抱きつつもフロントを実装していきました。思うような見た目にならない問題に何度もぶつかりましたが、だんだんとwebページができていく様を見るのが楽しかったです。

夜にミニアプリ開発の説明会がありました。pictweetみたいなアプリを自分で作ってみようというような説明があって、ミニアプリを作るのに不安な点を洗い出してどう解決するかをペアで発表しました。23日目(月)にミニアプリの発表があるとのことなのでそれまでに作らないと。割と時間ない。

 

 

20日目 (金)ミニアプリ開発、chatspaceのフロント実装

朝にミニアプリ開発、昼からchatspaceのフロント実装の続きをやりました。

ミニアプリについては、どんなテーマにしようかとか無駄に考えすぎてほとんど手をつけませんでした。(おいぃ)

chat space のフロント実装では、手本と見比べてやりやすそうなところを中心にscssでデザインしていきました。まずはこれをやって次にこれをやるみたいな計画を立ててやるということがあまりできていなくて効率が悪い面があったのでそこは反省。

 

 

21日目 (土)ミニアプリ開発

ミニアプリ開発、なかなか進まなくて朝だけやるつもりが1日かけてやりました。。mechanizicssをというcssを用いながらやるのですが扱いが少々難しかったり、後は何かやるたびにエラーの連続でした。pictweetの機能+αのことをやろうと思っていたけど、pictweetみたいに作ることですらままならない。。笑

反省として、作る前にどんなテーマにしようかとか考えすぎたり、作っている途中でここ凝りたいなとか考えすぎて時間が過ぎていってしまったので、まずは最低限のことをやってから+αのことをした方が良いなと思いました。

 

 

最後に

応用カリキュラムに入って自力でどうにかすることが多くなりました。

大変だけどここからが大事になってきますね。自分である程度調べて、分からないことはメンターさんなどに聞くことを心掛けます。後は朝起きれなくて学習時間が確保できていないところがあるので、朝起きる💪