TSKaigi2024
https://gyazo.com/f650c2c2a97371dd21994ec75151f81e
タイムテーブル
Microsoft / TypeScript Principal Product Manager
RegExpの構文チェック
Type Imports in JSDoc
@import
NoInfer
filter関数での型推論
"Performace and Scaling"
Project References
使ったことない
うおー 見逃した! daiiz.icon
スライド読む
他のライブラリは?
LlamaIndex.TS、ollama-js、LangGraph.js、Vercel AI SDK、PromptLayer
ML researcherとFullstack engineerを繋ぐ「AIエンジニア」の誕生の提唱、興味深い
https://gyazo.com/5a45d230620bed6ace974f33ebddfaa6 https://speakerdeck.com/rkaga/llm-application-in-typescript?slide=18
TypeScriptでLLMアプリを開発する動きが活発するかも?とのこと
Denoのsandboxで安全に実行できるしいい方向性かもしれない https://gyazo.com/648b4ee29e4285b2a149ade22252cc1d
今年こそAngular入門したい daiiz.icon
Bard(Gemini)のWebアプリがAngluarで実装されているとどこかで読んでからなおさら気になっている Angular Basics
Component
Selector: HTMLで表現するとどうなるか? タグ名と考えておけばいい
Template
Style
Class
Bootstrapping
<app-root>を宣言したHTMLを用意する
bootstrapApplication(App)
Application
Component tree
@Componentの宣言でimportsできる
Signals
変更を購読できる。イベントをlistenできる。
派生した値を作れる
computed
メモ化されている
カウンタのデモが分かりやすい
Building Strictly-Typed Angular Application
ngtsc: Template Type-Checking Engine
TemplateとClassをngtscに通して、TCBを生成する
Type-check Block (TCB)
Shisho Cloud
セキュリティSaaS
クラウドの設定値検査ルール
カスタマイズ、自作可能
検査の透明性と再現性の担保
自動セキュリティ検査の「アラート疲れ」
当然ローカルルールは理解してもらえない
public-で始まるBucketは公開状態で問題ないのだけども?など
プロダクトごとに自由に個別最適化してルールを定義できる
真に対処すべきものが埋もれていく
どんな情報を検査kするか
どのように検査するか
as TypeScript code
ケースの考慮漏れを型検査で気付ける
というものもあるけれど
普段使い慣れているTSで書けると嬉しいよね
便利な型推論と型検査
ネストしたオブジェクトの型定義が見やすい
vs Golang
nullハンドリング
信頼できないJSを実行したい
オーバーヘッド小さく実行したい
外部サービスから情報を取得しない。あくまで情報加工にとどめる。
deno_fsとかは除去している
でかいオブジェクト扱いがちなので無駄なメモリコピーを避けたい
他のランタイムは?
deno runコマンドをそのまま使うわけではない
Opsのほとんどを外す
ファイルアクセスやfetchをやらせない
module loaderはメモリ上のモジュール郡のみからロード
bundler自作
あえて単一JSファイルに纏めない
パスとコードを記述したYAMLを構築する
GraphQL → TS型定義生成器
Rust向けの型定義生成器graphql_clientをforkしてTS向けにする
感想 daiiz.icon
ソースコードのコメントにソースコード
Rustの !assert(...) がまさにこれ
ソースコードのすぐそばにテストコードを記述できる
これはいいよね。Rust書いていても思った daiiz.icon
ドキュメントに記載したコードを実行して動作を保証できる
関数利用時にIDEを介して「動作保証されたサンプルを閲覧できる」 動かないサンプルコードとの決別
UIテストなど、向かない分野ももちろんある
ドキュメントテストをもっとカジュアルに書こう!
"生きているドキュメントとテストを書こう"
k-ichirofさん
Full TSとは: サーバーとクライアントをともにTSで書く世界線
結論: コンテキストによる!
「分業しない」ことてエンジニアとしての幅が広がる
感想: ScrapboxもFull TS(JS)なので、Wikiの記法のparserを共用できて嬉しかったりする daiiz.icon
Yuku Kotaniさん
スポンサーブース