資格取得など客観的に自分の成長が分かりづらい分野なので、開始前の自分の状況を記録し、あとで振り返って成長を実感したい試み。
誰向けの記事
本アドベントカレンダーはWeb開発言語スキル皆無な人が1ヶ月程度頑張ってみる記録です。
これから開始時点の私のスキルを書き出しておきます。
- 「あ、自分と一緒」と思う人は、これから一緒に学ぶ仲間として私をみてください
- 「あぁ自分も通った道だな」と思う人は、私を後輩だと思って、私があげる「疑問」に回答できるかにチャレンジし、より深みのある理解を目指して下さい
学習開始前のスキル棚卸し
以下に記載するものは未学習者の脳内です。正解率低いのでご注意下さい。
キーワード | こういう意味であってる? |
---|---|
JavaScript | 一昔前はブラウザ上で動的なオブジェクトを作るために使われていた言語。いまでも現役。最近はサーバサイドでも使われるようになった(Node.jsとか)。変数に型をつけないタイプ(bashスクリプトのような)。「このラジオボタンにチェックが入ったら」とか「このテキストエリアが更新されたら」といったトリガーでアクションを起こせる。htmlに直接書くこともできるけど、.js というフォルダ(ディレクトリ)にまとめる方がカッコいい? |
TypeScript | JavaScriptに「型」を追加したタイプ。実行前に型不整合のコーディングミスに気がつける。複数人で開発する場合はこっちのほうが揉めなくていい。実行時にはJavaScriptで動くので、JavaScriptをWrapperしているっていう理解。なうい人たちは使っているけど、私の周囲ではまだそんなに使われていない。Reactの型とはちょっと勝手が違う?っていう噂をきいたことがある。ReactをTypeScriptで書くと2重に型チェックを受けてうざったそう。 |
モダンWeb | モダン = 現代的。これまで動的なサイトはサーバサイドでゴリゴリとデータを取得したあとにガシガシと静的HTMLに書き起こしてから返していた。モダンWebでは「これまでサーバさんに頑張ってもらっていた仕事を一部、ブラウザさんに担ってもらいましょ」という思想。SPAがまさにモダンWeb。 |
React | モダンWeb言語の中でも古株なイメージ。上述のとおりTypeScriptとは別にReactの中でも型定義があるようで、TypeScriptと相性悪そうなイメージ |
Vue.js | モダンWeb言語の中ではイケイケな感じだけどVue2→Vue3の移行が結構揉めている、のかな。Python2→Python3ほどではなさそうだけど。「開発言語なに?」「あ、Vue.jsっす」って返されると「こいつ、キラキラした仕事してんな」って感じちゃう |
Next.js | ねくすと。ReactとVue.jsの間に存在する感じ。Reactより新しいけどVue.jsほど尖っていないイメージ。ただ開発言語の選定としては認知度なのか何なのかあまり候補にあがってこない。 |
Nuxt.js | なくすと。これはもはやWebのための言語なのか?Node.jsのようなサーバサイド側だったりしない?というぐらい話題にあがらない。名前がNext.jsに似すぎだし表記も怪しい(NuxtJS?)。Next.jsの亜種って感じがして、Vue.jsとはまた違う方向に尖っちゃった感じ |
DB連携1 | RDBとの接続時に生のSQLを書くのはダサい。DBをオブジェクトとして捉えるっていうイメージがある。RDB以外のDBは知らん |
DB連携2 | ブラウザから直接DBにアクセスするパターンもあるみたい?セキュリティどないなっとんねん |
css | チョットデキルようになるとオブジェクトからはみ出して文字を書くことができるらしい(これ、実は結構難しいらしい。「いやいや、はみ出してるやん」という笑いじゃなくて「え、これどうやって書いたの?」と思われるようなレベルとのこと)。デザインテンプレートを用意してHTMLに適用することで、いろんなHTMLが統一した見た目になる。どこまで細かく設定できるかは知らない。知っていると"チョットデキル"と名乗ることができる。 |
このあたりの知識、用語が学習完了時にどの程度変わっているかがポイント。
特にVue.js, Next.js, Reactの違いは知りたい。それぞれ経験したい。
本アドベントカレンダーの計画
ざっくり以下のようにしている。定期的に振り返りを行って成長を感じていく。