![見出し画像](https://assets.st-note.com/production/uploads/images/94514438/rectangle_large_type_2_b71faedf498302b064e4c56928e91283.png?width=1200)
2022年に捨てた逆張り
こんにちは。今年は私にとって、多くの逆張りを辞めていった年だと思います。そこで、超広義のエンジニアとして、何の逆張りを捨てたのか、年の瀬である今、紹介したいと思います。
モダンな技術(笑)
当てはまる人は多いのでは無いでしょうか?特に大学でC言語から入った人によく見られます。本当はただ知らないものが面倒なだけでした。私は高校からC言語にしっかり入り始めましたが、「C言語が何でもできるけど難しいのだ!他の言語は簡単だけどしっかりしたもの作れないおもちゃなんだろ?」と思っていました。JavaScriptなんてもう「入門におすすめ!」というキャッチフレーズを見てバカにしきっていました。
しかし、Djangoを1月から勉強し始め、Pythonが相当よく出来ていることを知り、モダンに足を踏み入れました。
Django
夏休みまでの武器でした。残念ながらコンテンツ力の弱さと実装力の弱さが相まってインターン用のアピールポイント足り得なかったのですが。webコンテンツの基本(この場合慣用表現的な「基本」であり、基礎技術は指しません)は学べたと思います。
JavaScript
Webをやるならこれはやらねば。非公開のサイトでいいね機能をつけようとしていて勉強しました。通信部分がよくわからず、ググった結果jQueryのやり方を閲覧していてなぜか$が使えないとキレたけど導入用のタグが無かったなどを経験しました。正直JavaScriptはパッケージの導入が必要な機能と不要な機能があるという全体知識が欲しかったですね。でもこれはこれで経験がないと得られないんですよね。現在は通信には専ら fetch と async / await を使いますね。
React
もともとは「見た目がいい感じになるやつ」だと思っていました。ですので導入しても普通のHTMLと同じだったときは裏切られた気分でした。正直もうNext.jsが便利すぎてReactのまま使うことはないですね。classやonchangeの表記が少し変わるのに抵抗がありましたが、ほぼ慣れでした。また、フロントでReactしか使えなくなるから汎用性が乏しいと敬遠してましたが、正直Reactが使えるなら結構いろいろ作れるんですよね。
Docker / docker-compose
今年まで知らなかった。EC2でサーバー立てるためにいろいろと動画を漁っている最中に見つけました。ただDockerだけで使うのはコマンドいっぱい覚える必要があるので、docker-composeも一緒に…というかdocker-composeを先に覚えてDockerはJavaでいうjre的に入れておくほうが初心者に優しかったです。
Go
慣れた今でさえ変数の宣言方法が数種類あることが許せません。しかし、
型を宣言しやすい
パッケージが入れやすい
返り値を複数持たせられる
文字列をバッククオートで囲える
という点は、最高ですね。ただEchoもGinもフレームワークというよりはパッケージなので、ディレクトリの設計が必要で難しかったですね。
Next.js
Reactとほぼ変わりませんが、Vercelでホスティング出来ます。それからCSSの適用範囲がすべてグローバルでない点が非常に良いですね。名前被りをほぼ気にしなくて良くて楽です。
CSS
gridとかレスポンシブとかを吸収しました。ちゃんとやらないと適用されないことが多くてそもそも動かない問題が多発しました。やはり例になっているHTMLで練習してからのほうがうまく使えますね。
まとめ
もともと、「C以外はゴミ」という思想から、よくまぁここまでまともな感性になったと我ながら思います。
技術選定という言葉があるのも納得しました。CMS系ならDjangoのほうが適しているでしょう。しかし表に出すならやはりフロント系は必須だと思います。今までにないデータ構造を考える場合はC,Java,Go等々でしょう。
今まで「技術選定?大学生がそんなにいろんな言語知るかよ」と思っていましたが、知れるものですね。
無理やり作ると運用中にガタが来るので、技術選定は必要だということも学びました。