Keiです。
R6.04.25より開始した”Webサイトの仕組みを言語化して理解する”という取り組みの、一段階目である【フロントエンド技術の言語化】を経て
言語化できたこと、言語化できなかったこと、その理由、これからのことを書いていきます。
言語化できたこと
◇フロントエンドとバックエンドの違い
◇HTMLとCSSについて
◇JavaScriptについて - ①~⑧までの記事を投稿
◇フロントエンド言語のフレームワークについて
主にHTMLとCSSとJavaScriptという言語と、
ReactやNext.jsというフレームワークの一部知識を中心に言語化できました。
これにより、過去の挫折時に感じた「実装したい機能のコードがどれかわからない」「コードの文法は知ってるのに内容が分からない」というふたつの原因が知識の言語化によってだいぶ改善されました。
言語化できなかったこと
大きく分けて、以下の3つに分類されることは言語化出来ずに見送りました。
①実際にコードを書いてみないとイメージが掴めないもの
JavaScriptのイベント駆動プログラミングという概念や、非同期処理という概念は理解できても、実際にコードが実行するスクリプトは実際に書きながら見てみないと何とも言えないという気持ちがありました。
特にイベント伝播の制御という部分については言語化でも意味があまり分からず、
コードを書きながらもう一度解析したい感じました。
②サーバーサイドの知識が絡んでくるもの
例えば、Next.jsを理解しようとしたとき、nodeやnpmなどのnode.js的な部分を理解していないと話が見えなかったり、ルーティングとは?状態管理とは?データフェッチングとは?と様々な疑問を知るための前提知識を掘り下げると、大抵がサーバーサイド側の知識でした。
なので、それらを一通り学んだあとにもう一度戻ってくることで理解力もあがると感じました。
③フレームワーク技術の深堀り
①~②で挙げた理由に通じる部分も多くありますが、言語化するだけでは「技術の不便な部分を実感しづらい」と感じることが多々ありました。
フレームワークは大抵、元となった言語が出来ることを「より便利に、簡単に、わかりやすく」する技術だと思っていますが、
「フレームワークのありがたみ」をありがたいと感じられないのはきっと、実際にコードを書く経験が少ないからだと感じました。
これからのこと
コードを実際に書いてみないと分からないという所感も多くありましたが、ひとまずこの1か月間は知識の言語化に専念するので、一旦おいておくことにします。
次の言語化はバックエンド技術(サーバーサイド)についての予定でした。
しかし、ここまでの学びの中でも何度か「自分がどの分野の用語を掘り下げているのかが分からなくなる」ことが起こっていました。
そのため、全体を俯瞰するために「Webサイトの仕組み」を改めてざっくりと学んでみようと思います。
それから、データベースの内容を言語化し、サーバーサイド言語化へ。
さぁ、やるぞKei