スキルセット
短く
得意なのはWebフロントエンドです
ツールチェインが好きです
型をどうこうしたりいい感じの仕組みを考えるのが好きです
言語
一番書ける言語です
文法は把握していて、ドキュメントを読まずに読み書きできます
TypeScriptのサポートに頼り切っているところはある
素のJSは厳しい
TypeScriptへの移行途中でJSが混ざってるとかならOK
JSDocもまあ
何かしらの思想によってJSで書いてるのはプログラミングカルチャー的に違うかも
TypeScriptは4.5ぐらいの知識で止まってます
いうてこのへん以降強めな機能追加がない
TypeScriptのmapped typesやconditional typesといった高度な型の使い方がわかります
async/awaitで非同期処理も書けますがイベントループなどの仕組みについてはあまり自信がありません
ES Modules でのimport/exportもちゃんとできますが、CommonJSとかモジュールの相互運用とかには詳しくないです
適当にexternalとかしてる
TRPLを途中まで読みました
同期処理が書けます
非同期関連について全く知りません
簡単な計算ができます
FunctorとApplicative, Monadがどういうものか知っています
他の型クラスについてあまり知らない
Monadの実例についてもよく知らない
Stateがどういうものかも理解がふんわりとしすぎている
パーサコンビネータを自作してMLライクな言語処理系を書いたことがあります
F# for Fun and Profitを読みながらJSONパーサを書いたことがあります
開発用マシンがNixOSです
たいていのリポジトリにはflake.nixを置いています
デバッグの仕方がわからない
理論的背景がわかってない
Webフロントエンド
Hooksしか学んでいません
総じて最近追加のパフォーマンスチューニング的側面のある機能はちゃんと把握していません
useMemo, useCallbackの使いどころに自信がない
useMemoが必要になるほどパフォーマンスを気にするアプリケーションを書かない
transitionに詳しくない
Reduxは使ったことがありません
Reduxが必要になるほど大きいアプリケーションを書かない
業務であまり触らない
Vue
Composition APIをちょっとやりました
v-forが微妙
defineRenderでJSXやってたらニコニコ
ないだろ
そこそこ使えます
next/imageはよくわかりません
nested layoutの設計については知らない
v2でブログを作ったことがあります
v3以降をあまりちゃんと追っていません
セマンティクスを気にして要素を使い分けます
aria-*はわかってません
渡されたレイアウトを再現することはできると思います
わりとMDNに頼ります
hoverとbeforeでどっちがコロン1つだったか未だに覚えられない
flexをとにかく多用します
スペーサ要素よりflex-columnにしてgapを入れたい派です
gridがそらで組めません
CSSアニメーションはわかりません
SassなどのCSSプリプロセッサに詳しくありません
Webバックエンド
全然わかりません
全然わからな過ぎてWebフロントエンドの足を引っ張っていることに気づいたので勉強中です
ユーザー入力をそのまま結合してSQL発行してはいけないことは知っています
設計
わかりません
GOTOを使いません
これは設計ですか?
ネットワーク
高校がCiscoルータを導入するようなネットワークに強めの学校だった
授業の範囲がEthernet, IPに偏っていたのでそこにほんの少し詳しいです
でももう忘れたな