テックキャンプ1週目振り返り


テックキャンプに入学して最初の1週間が終わりました。(オンラインですが)
まあやはり疲れてます。一日が長い様な、でもあっという間な様なそんな感じですね。
昨日久しぶりにお酒を飲んだ結果まあまあ眠く、新しいものをインプットする力がなさそうなので笑 振り返りがてらアウトプットをしていきたいと思います。


1.この1週間の進捗

5/18(月)~5/21(水) 基礎カリキュラムの学習が一通り終了
5/22(木)  中間試験 → 復習 → 本試験突破
5/23(金)  応用カリキュラム RailsとGit,GitHub

という流れでした。応用に入った瞬間に新しい概念ばかりなので、習得率はかなり低い感覚。まあ手を動かすことでしか身につかないよね。
ここからは一個一個理解しながら進めていくことと、「調べる」を意識して検索力をあげることを課題として学んでいく感じですね。 

以降は各分野毎に学んだことをひたすら列挙してく形にします。


2.HTML & CSS アウトプット

やっぱ難しい。笑
他の言語に比べて、体系的に理解できてなくて、やって見て「あれ?」ってなることばっかりだなと。これこそ調べなきゃどうしようもないことばかりなんだろうなーって感じですね。
CSSなんだけど、思う様な挙動をしてくれないことが多い。
仮説検証してくしかないので、自分の中で「多分そうなんだろうな・・・」くらいの感覚でやってくことが殆ど。

例えば手を動かして学んだこととしては、
「ブロック要素はデフォルトでwidthを画面目一杯にとるが、親要素にflexboxを適用している時の子要素はその限りではなく、widthを指定する必要がある」とかですかね。

流れとしては自分で作業をしている中で
「画面一杯に広げる要素にwidth:100vwを指定していたが、消しても同様の表示になった」

「調べると、ブロック要素のwidthはデフォルトで画面目一杯と出てきた」

「試してるうちに、flexboxの子要素のdivはwidthを指定しないと何も表示されなくなった」

「親要素のflexboxを解除したら目一杯表示された」

flexboxの性質が影響しているという認識に至る。
って感じなんですよね。
ただこれが正しいのかもわかってないですから正直。きっとそうだよね?くらいで、その感覚でやってくことがどうにも苦手笑

あとこんなのもありました。
「子要素にpタグとaタグが存在していて、同じcolorにしたかったのでまとめて親要素に指定してみる」

「pタグは指定した色になったが、aタグは青色のまま」

「aタグ自体にcolorを指定」

「無事指定した色になる」

タグ自体の性質を変える時は直接指定するべき。

これなんか本当に仮説なのでどういうアルゴリズムなのかわかってません。
ただ、まあ直接文字の色指定したら変わるんだなってだけでいいんですが、作業中の僕は「なんでpはなったのにaは効かないの?」ってなってました。
ちょっと冷静になって「そういうもんなんだな」と思える様になってきたと言う感じです。

こんな感じでトライアンドエラーしたことしかちゃんと覚えていかないんですよね、体得できてないと言うか。
だから個人的には HTML,CSSはめちゃくちゃ数をこなす必要があるんじゃないかと感じています。

3.Ruby Rails アウトプット

クラス、インスタンス、メソッドについての整理をしておく。
どうしても学び順としてしょうがないのですが、ここら辺て最初何言ってるかわかんなくて、Railsで実装してく中で感覚で理解してきて、でもやっぱわかってないんですよね。なんで再度整理しておこうと思います。

クラス・メソッドとは
設計図です。
いや、なんの設計図?ってところから入ると、「僕らが作りたい値を作るための設計図」っていう感じですね。
設計図なので、それ自体は概念です。それが何か物であるわけではないです。クラスの中に、メソッドであらゆる処理手順が書かれている感じですね。クラスは「作りたい値を作るための手順を全て記載した工程表」だな、という風に考えてます。

インスタンスとは
上記クラスを基にして実際に作られたものがインスタンスです。
処理手順を基にでき上がった完成物ですね。
工場で作られた完成した製品、のことを示すものですね。

これとMVC理論の理解が深まるとRailsでの実装の流れが分かりやすくなりますね。
例えばTwitterを作りたい時に、「Twitterを作るための工場団地」が実態としてあるとします。
その工場の中に、「投稿を製造する第一工場」「ユーザーを製造する第二工場」があります。(超簡略的ですが)
それぞれの工場が「クラス」です。第一工場は投稿に関するメソッドを取りまとめたクラスを、第二工場はユーザーに関するメソッドを取りまとめたクラスを持っています。

外から様々な原料が運び込まれてきます。これを捌くのがルーティングです。「これは投稿を全部みたいってことだから第一工場のindex班に、これは新しいユーザーをつくりたいってことだから第二工場のcreate班に、、、」という具合です。この班が各工場(クラス)に記載された個別の処理(メソッド)です。

原料を受け取った工場は、それぞれ必要な備品やデータがあれば倉庫に取りに行き(モデル、データベース)、作ったものを出荷する(ビューで)という感じですかね。

これがどんどん複雑になっていくんですが、ほんとに基本の基本はこんな理解でいいのかなと。


あともう一点、考えてみれば当たり前なのだけどやってみて気づいた点

「HTTPメソッドが違えば、URLが同じでも当然違うアクセスなので違うビューを返す」

これは実際に手を動かしてる中でああそうか。となった点でした。
表面上同じurlでも、getとpostでルーティングが違うので当然返すビューも違うんですよね。
なんで見た目のurlが同じでもビューが違うということはあり得るんだなと、遭遇して初めて気づかされた感じでした。

4.カリキュラムや学習方法についての雑感

効率的に学習できる様になっているなあ、と感心することが多いですね。
このブログもそうだけど、アウトプットをすることにより理解を深めるというのは200%正しいと個人的には思っています。

実践的と呼ばれるのもよくわかるし、自走力を身につけさせる様なカリキュラムを組んでくれているのは非常にありがたいですね。
オンラインなので横の交流をどうしても持ちづらいのですが、なんとか繋がりを広げて言ってより深い学びを得ていきたいと思っています。


自己整理のためなので文字ばかりで分かりにくい記事になってしまいましたが、今回はこんなところで!


この記事が気に入ったらサポートをしてみませんか?