TSKaigi
TSKaigi 2024
オンラインで視聴
KeyNote
機材トラブルだったが急にはじまった
JavaScriptとPythonとTypeScriptがよく使われる言語トップ3
npmのダウンロード数が年々伸びている(10兆ぐらい??)
NoInfer
https://zenn.dev/watsumi/articles/8370dec9b98222
ライブコーディング
@ts-check
@importをJSDocの中で使えるのか
正規表現の構文をチェックする
この絵文字つけてたツール知りたい
https://gyazo.com/ef9e61cba4c5f65d1c4683082e8b4294
filterの型きくやつ
project-references
こんなのあるんだ後でみる
isolatedDeclaeations?
TypeScript ASTを利用したコードジェネレーターの実装入門
ASTはデータ構造である
https://github.com/Himenon/tskaigi-2024-code-sample
https://ts-ast-viewer.com/#
走査
大学の授業でやったが忘れたな。。
探索アルゴリズム学び直すか。。
parse
ソースコードをASTに変換
トラバース
木構造を走査しながらNodeを変換
unparse
parseの逆
配信止まってしまって終わり
フロントエンドもバックエンドもインフラも… 全てをTypeScriptで統一したらこうなった!
配信見れなくなったから途中からきたけど何もわからん
https://github.com/ecyrbe/zodios
型が共有できるのはそうかも知れないがTypeScriptだけでフルスタックになれるかはどうなんだろう。。。
そもそもバックエンドもフロントエンドもmodelが違う気もするので
部分型の代数的模型
Leanという言語がある
スライド
部分型関係
https://gyazo.com/19f7587b9959ce640a4b4a56aee833c7
本当に型って同じなの?
型の同じさはそれほど自明ではない
型の同一性
identifyという概念
同値関係
型って集合なんだよ
https://gyazo.com/df2a6cf7e622eb533aabba258e5eee55
数学勉強してきたつもりだけど型はわからんな。。。
代数駆け出しエンジニア
半環 束構造
めちゃくちゃむずい
ハイコンテキストだ
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術
大企業で一括入稿わかるな。。。
ファイル一括入稿のつらさ
エラーが不明瞭
めちゃくちゃわかる。。。。。。。。。。。。
https://gyazo.com/248336b54fa4b8048fba346b73cbafd9
Either型
LeftとRightの両方の型をとる
fp-ts
簡単にデータを合成できる
newtype-ts
コスト高い
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで
愚直に書くとifとかtryとかがたくさん書かれる
そういうときに代数的データ型
直積型と直和型
Eihter型
今日よく出るな。。。
Either<letf, right>のモナド
pipeの導入
小さく分割できる
読み慣れない
Promise<Either>は組み合わせが悪い
なるほどEffectとは面倒なモナドの組み合わせとかそういうのを楽ちんにしてくれるのか
バックエンド側だと良さそう
フロントエンドとかでいれるのはあんまりメリットないのが登壇者の意見
Prettierの未来を考える
Biomeとの価値提供の差は言語サポートの幅広さ
Rustで書き直しとかは検討していない