TSKaigi
TSKaigi
  • Видео 52
  • Просмотров 23 508
TypeScriptの型システムは万能機械の夢を見るか? canalun(かなるん) - TSKaigi Kansai 2024
TSKaigi Kansai 2024 にて発表されたcanalun(かなるん)さんによる「TypeScriptの型システムは万能機械の夢を見るか?」です。
TypeScriptの型システム(型計算)は、チューリング完全であると言われています。つまり、誤解を恐れずに言えば、計算機でできるすべての計算はTypeScriptの型システムでもできるというわけです!
これは驚くべきことです。「TypeScriptでもできる」ではなくて「TypeScriptの『型システムでも』できる」なのです。要するに、型システム単体で計算機の代わりになるというのです。
でも、それって本当なのでしょうか。パソコンという身近な計算機一つをとってもいろいろなことができます。四則演算はもちろん、ゲームプログラミングから型推論まで、本当にたくさんのことができます。
そして、TypeScriptの型システムを使えばそれらすべてができるというのです。にわかには信じられません。
型システムで四則演算ができるのでしょうか?
型システムでゲームが作れるのでしょうか?
……もしかして、型システムで型システムを実装できるのでしょうか?
というか、そもそも「計算機でできる計算はTypeScriptの型システムでぜんぶできる」だなんて言う人は、何を根拠にそんなことを言うのでしょうか。
というか、もっと言えば、ある計算を取り上げて「この計算は計算機でできる/できない」だなんて言うとき、それは何を意味しているのでしょうか。
気になるのは理論的な側面だけではありません。
「TypeScriptの型システムはチューリング完全である」という事実は、Typ...
Просмотров: 253

Видео

Denoで作る快適な “as Code” プラットフォーム - pizzacat83 / TSKaigi2024 Track3
Просмотров 3055 месяцев назад
TSKaigi 2024 にて発表されたpizzacat83さんによる「Denoで作る快適な “as Code” プラットフォーム」です。 講演の内容について クラウドのセキュリティをプログラマブルにチェックできるPolicy as Codeプラットフォーム「Shisho Cloud」において、「クラウドの設定値検査ルールをTypeScriptで書ける」という機能を最近リリースしました。この機能の開発では「検査ルールを快適に読み書きする体験」にこだわり、コード生成器やDenoベースのランタイム・バンドラ等を開発しました。 トークテーマ: ・クラウドの検査ルールを書く言語としてのTSの魅力 ・“as TypeScript Code”プラットフォームの基盤にDenoを採用した背景 ・コード生成器・ランタイム・バンドラの作り方、快適な“as Code”体験のための細かなこだわり、実装の苦労...
フロントエンドもバックエンドもインフラも… 全てをTypeScriptで統一したらこうなった! - 君田 祥一 TSKaigi2024 Track1
Просмотров 11 тыс.5 месяцев назад
TSKaigi 2024 にて発表された君田 祥一さんによる「フロントエンドもバックエンドもインフラも… 全てをTypeScriptで統一したらこうなった!」です。 講演の内容について 近年、フロントエンド開発における主要な言語として認知されているTypeScriptですが、その活躍の場はフロントエンドだけではありません。フロントエンドだけでなく、バックエンドやインフラも含めた全社開発環境をTypeScriptで統一している現場のリアルをお伝えします。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレンスです。 コロナ禍で様々なオフラインイベントが打撃を受ける中、TypeScriptを扱うエンジニアが会場で集まる機会は失われていきました。 新型コロナウイルスが落ち着いた今、各所で蓄積されたノウハウが日の目を浴び、より生き...
What's New in TypeScript - Daniel Rosenwasser / TSKaigi2024 Track1
Просмотров 2545 месяцев назад
TSKaigi 2024 にて発表されたDaniel Rosenwasserさんによる「What's New in TypeScript」です。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレンスです。 コロナ禍で様々なオフラインイベントが打撃を受ける中、TypeScriptを扱うエンジニアが会場で集まる機会は失われていきました。 新型コロナウイルスが落ち着いた今、各所で蓄積されたノウハウが日の目を浴び、より生き生きとTSエンジニアが働ける世界を目指して、TSKaigiを開催します。 公式サイト - tskaigi.org/ 一般社団法人TSKaigi Association - association.tskaigi.org/
TypeScript化の旅: Helpfeelが辿った試行錯誤と成功の道のり - 寺本大輝 / TSKaigi2024 Track1
Просмотров 1785 месяцев назад
TSKaigi 2024 にて発表された寺本大輝さんによる「TypeScript化の旅: Helpfeelが辿った試行錯誤と成功の道のり」です。 講演の内容について 2019年にスタートしたHelpfeelのTypeScript化プロジェクト。JSDocで型を付けるなどの戦略を立て、重要な部分から着手しました。レビューを通じてベストプラクティスを育みながら、anyの荒野を抜け、型安全の地を目指す旅を進めてきました。2024年の今、コードベースはほぼ完全にTypeScriptとなり、その恩恵を日々実感しています。その道のりで得た知見と教訓を、実際のコード例を交えてお届けします。この経験が、レガシーコードのTypeScript化に挑戦する他のチームへのヒントになれば幸いです。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレ...
新サービス Progate Path の演習で TypeScript を採用して見えた教材観点からの利点と課題 - 島津 真人 / TSKaigi2024 Track1
Просмотров 1305 месяцев назад
TSKaigi 2024 にて発表された島津 真人さんによる「新サービス Progate Path の演習で TypeScript を採用して見えた教材観点からの利点と課題」です。 講演の内容について 株式会社Progateは、初心者向けのプログラミング学習サービス Progate に加え、より一歩先の学習が出来る新サービス、 Progate Path を2022年11月にリリースしました。Progate Path は「実務感」をテーマに、自分の環境でプロダクト開発に携わる経験が積める学習サービスになっています。ローンチ前には、この「実務感」のある演習の試作を作ろうと、OSSのPRを模した課題を作成したり、オープンになっているインターンプロジェクトを模したプロジェクトを用意するなど、様々な形で試作を行いました。 本セッションでは、試作する中で見えてきた「実務感」の定義などを紹介しつつ...
PMF達成の立役者!Full TypeScript Architecture の選定背景と構成 - 丹羽 健 / TSKaigi2024 Track1
Просмотров 1565 месяцев назад
TSKaigi 2024 にて発表された丹羽 健さんによる「PMF達成の立役者!Full TypeScript Architecture の選定背景と構成」です。 講演の内容について アセンドは創業した4年前にフロントエンド・バックエンド・IaCの全てをTypeScriptで統一することを選択しました。日本の全産業の中で最もクラウド利用率が低い物流産業に対してSaaSを開発提供するためには長い時間軸とLeanでPDCA的な開発が求められます。このFull TypeScript Architectureの選択があったからこそ、SaaSプロダクトにおいてPMF(Product Market Fit)を達成し、シリーズAの資金調達をすることができました。 本セッションではFullTSの選択をした経営的・プロダクト的な背景を整理して当時の技術選定を振り返ると共に、4年間の開発において組織内で...
TypeScript 関数型バックエンド開発のリアル - 伊藤 直也 / TSKaigi2024 Track1
Просмотров 3,2 тыс.5 месяцев назад
TSKaigi 2024 にて発表された伊藤 直也さんによる「TypeScript 関数型バックエンド開発のリアル」です。 講演の内容について TypeScript で飲食店向け業務システムの GraphQL バックエンド開発をしています。 Domein Modeling Made Functional という、関数型的な実装アプローチの書籍を参考に、関数型寄りのスタイルで開発を続けています。 この開発の概要は以前に、他所でも発表していますが、そこでは型をどう使うかといったところに主に焦点をあてた発表でした。 この発表をすると、決まって、従前のオブジェクト指向/手続き型アプローチを前提とした開発とのギャップについて質問を受けます。 今回は、少し視点を変えてその辺りを中心に実際にはどんな風に設計・実装しているかをお話できればと思っています。 端的に言えば、アーキテクチャやモデリング、設...
Prisma ORMを2年運用して培ったノウハウを共有する - tockn (Takuto Sato) / TSKaigi2024 Track3
Просмотров 5145 месяцев назад
TSKaigi 2024 にて発表されたtockn (Takuto Sato)さんによる「Prisma ORMを2年運用して培ったノウハウを共有する」です。 講演の内容について PrismaはTypeScript製のORMライブラリとしてその地位を確立しつつあります。 ネット上では入門するための記事や採用したことを共有する記事、個別のエラーへの対処法を解説した記事は増えている一方で、年単位でPrismaを運用し、その現場のリアルな知見を得られる情報はまだまだ足りていない印象を持っています。 そこで本発表では筆者が所属するCloudbase株式会社において2年以上Prismaを運用する中で取り入れてきた様々な工夫や、直面した課題とその対処法について共有していきます。 すでにPrismaを運用している方にとっても、これから運用を始める・検討している方にとっても学びになるような発表にしてい...
toggle holdingsとTSあるいはTSKaigi - Tatsuro Hisamori / TSKaigi2024 Track3
Просмотров 905 месяцев назад
TSKaigi 2024 にて発表されたTatsuro Hisamoriさんによる「toggle holdingsとTSあるいはTSKaigi」です。 講演の内容について toggle holdingsでは「全方位TypeScript」と称して、TSをフル活用した開発を推進しています。 当社がTSKaigiでどのような取り組みをしているかや、今後エンジニアの皆様に向けて取り組んでいくことなどをお話しできればと考えております。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレンスです。 コロナ禍で様々なオフラインイベントが打撃を受ける中、TypeScriptを扱うエンジニアが会場で集まる機会は失われていきました。 新型コロナウイルスが落ち着いた今、各所で蓄積されたノウハウが日の目を浴び、より生き生きとTSエンジニアが働ける...
部分型の代数的模型 - PADAone / TSKaigi2024 Track3
Просмотров 1215 месяцев назад
TSKaigi 2024 にて発表されたPADAoneさんによる「部分型の代数的模型 」です。 講演の内容について プログラミング言語の世界では、強力な静的型付け言語の重要性が高まっており、代数的データ型やパターンマッチングが注目を集めています。 TypeScriptもこの影響を受け、代数的構造を意識したプログラミングが期待されています。しかし、TypeScriptにおける基本的な型のレベルでさえ、どのような代数的構造を持つかということが十分に理解されていません。 この発表では、TypeScriptの型と部分型関係が形成する複数の代数的構造を解説し、強固かつ柔軟な型に関するメンタルモデルの構築方法を紹介します。具体的には、順序理論、集合論、束論、環論、圏論といった複数の数学理論の観点から、型の振る舞いを代数法則に基づいて予測できるようになります。 このような知識を深めることで、Typ...
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 - kosui / TSKaigi2024 Track3
Просмотров 1625 месяцев назад
TSKaigi 2024 にて発表されたkosuiさんによる「複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術」です。 講演の内容について 課題 特にtoBサービスを開発する皆様、こんな悩みを抱えたことはありませんか? 「顧客がExcelやCSVで入稿した複雑な入力データを、正確かつ効率的に検証しなければならない…」 toBサービスでは、数々のエンティティの関係性について、顧客の業界特有のビジネスルールや法令に基づいた検証を実現しなければならないことがあります。もちろん、検証結果が正確であることは必須ですが、顧客に何度も再入力させないためには複数のエラーをなるべく一度に返却しなければなりません。 数多くのビジネスルールの検証結果を、正確かつ効率的に合成する良い方法はないでしょうか? 解決策 fp-tsの柔軟な関数合成・エラー合成機能 この発表では、複数の医...
Type-safety in Angular - lacolaco / TSKaigi2024 Track3
Просмотров 985 месяцев назад
TSKaigi 2024 にて発表されたlacolacoさんによる「Type-safety in Angular 」です。 講演の内容について AngularというフレームワークにおいてTypeScriptの静的型付けはどのように恩恵をもたらすのでしょうか。2017年に誕生したときからTypeScriptを使って開発することをデフォルトとしてきたAngularですが、ここ2,3年のアップデートによってコードの書き方は大きく変わってきています。その中でも、型の力をより強く引き出せるようになった変化について、そしてその裏側の仕組みについて紹介し、Angularを使う開発の中でのTypeScriptとの付き合い方について話します。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレンスです。 コロナ禍で様々なオフラインイベントが...
TypeScriptできると思ったのは勘違いだった件 - Daishi Kato (加藤大志) / TSKaigi2024 Track3
Просмотров 8145 месяцев назад
TSKaigi 2024 にて発表されたDaishi Kato (加藤大志)さんによる「TypeScriptできると思ったのは勘違いだった件」です。 講演の内容について OSS開発する中で知ったTypeScriptの難解な記法について紹介し、踏み込まない方が良い領域があるということを一つの実例をもとに発表します。 TSKaigi 2024について TSKaigiは、日本最大級のTypeScriptをテーマとした技術カンファレンスです。 コロナ禍で様々なオフラインイベントが打撃を受ける中、TypeScriptを扱うエンジニアが会場で集まる機会は失われていきました。 新型コロナウイルスが落ち着いた今、各所で蓄積されたノウハウが日の目を浴び、より生き生きとTSエンジニアが働ける世界を目指して、TSKaigiを開催します。 公式サイト - tskaigi.org/ 一般社団法人TSKaigi...
Effectで作る堅牢でスケーラブルなAPIゲートウェイ - yasaichi / TSKaigi2024 Track3
Просмотров 1415 месяцев назад
TSKaigi 2024 にて発表されたyasaichiさんによる「Effectで作る堅牢でスケーラブルなAPIゲートウェイ」です。 講演の内容について 伝えたいこと - 関数型プログラミングの考え方が(その詳細に立ち入らずとも)ソフトウェア開発の実務において活用できること - 上記の実現にあたり、「Effect」というライブラリが利用できること トーク内容要約 APIゲートウェイを素直に実装すると、背後にあるマイクロサービスへのAPIリクエスト、そのレスポンスの取捨選択と合成といった主要な関心事と、ネットワークI/Oに起因する関心事が1つのコードベースに混在してしまいます。 後者は、具体的には非同期処理、並行処理、エラーハンドリング、リトライなどです。 このような構造は、機能要件がシンプルなうち問題になりませんが、複雑になるとアプリケーションの保守性の低下を招くことになるでしょう。...
Introduction to Database Connection Management Patterns in TypeScript - Sugar / TSKaigi2024 Track3
Просмотров 385 месяцев назад
Introduction to Database Connection Management Patterns in TypeScript - Sugar / TSKaigi2024 Track3
Prismaでスキーマ変更を行う際のベストプラクティス - ryusaka / TSKaigi2024 Track3
Просмотров 1145 месяцев назад
Prismaでスキーマ変更を行う際のベストプラクティス - ryusaka / TSKaigi2024 Track3
スタックチャン -TypeScriptで動くオープンソースロボット- - ししかわ / TSKaigi2024 Track3
Просмотров 815 месяцев назад
スタックチャン -TypeScriptで動くオープンソースロボット- - ししかわ / TSKaigi2024 Track3
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略 - 白栁 広樹 / TSKaigi2024 Track1
Просмотров 2355 месяцев назад
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略 - 白栁 広樹 / TSKaigi2024 Track1
TypeScriptとGraphQLで実現する型安全なAPI実装 - Kazuhito Hokamura / TSKaigi2024 Track1
Просмотров 6305 месяцев назад
TypeScriptとGraphQLで実現する型安全なAPI実装 - Kazuhito Hokamura / TSKaigi2024 Track1
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで - 竹下義晃(takezoux2) / TSKaigi2024 Track1
Просмотров 2255 месяцев назад
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで - 竹下義晃(takezoux2) / TSKaigi2024 Track1
Prettierの未来を考える - Sosuke Suzuki / TSKaigi2024 Track1
Просмотров 7135 месяцев назад
Prettierの未来を考える - Sosuke Suzuki / TSKaigi2024 Track1
TypeScriptが学生のエンジニアコミュニティ参加を促進する - NoritakaIkeda / TSKaigi2024 Track1
Просмотров 365 месяцев назад
TypeScriptが学生のエンジニアコミュニティ参加を促進する - NoritakaIkeda / TSKaigi2024 Track1
ハードウェアを動かすTypeScriptの世界 - 9wick / TSKaigi2024 Track1
Просмотров 585 месяцев назад
ハードウェアを動かすTypeScriptの世界 - 9wick / TSKaigi2024 Track1
Reactでハードウェア制御できるEdison.jsを作っている - Allen Shintani / TSKaigi2024 Track1
Просмотров 475 месяцев назад
Reactでハードウェア制御できるEdison.jsを作っている - Allen Shintani / TSKaigi2024 Track1
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた - nabeliwo / TSKaigi2024 Track1
Просмотров 1115 месяцев назад
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた - nabeliwo / TSKaigi2024 Track1
エンジニアの技術的な意思決定を支えるADR - LayerXの活用事例 - 松本駿 / TSKaigi2024 Track3
Просмотров 1275 месяцев назад
エンジニアの技術的な意思決定を支えるADR - LayerXの活用事例 - 松本駿 / TSKaigi2024 Track3
高まった熱量をぶつけられるコミュニティ活動のススメ - 河又 涼 / TSKaigi2024 Track3
Просмотров 475 месяцев назад
高まった熱量をぶつけられるコミュニティ活動のススメ - 河又 涼 / TSKaigi2024 Track3
こんなTypescriptは嫌だ - 佐藤 拓人 / TSKaigi2024 Track3
Просмотров 1965 месяцев назад
こんなTypescriptは嫌だ - 佐藤 拓人 / TSKaigi2024 Track3
チームで挑むTypeScriptコードの漸進的改善 - 髙橋 佑太 / TSKaigi2024 Track3
Просмотров 555 месяцев назад
チームで挑むTypeScriptコードの漸進的改善 - 髙橋 佑太 / TSKaigi2024 Track3

Комментарии

  • @blueshuna2559
    @blueshuna2559 5 месяцев назад

    講演ありがとうございます。 他の人のコメントにもあるように、メリットだけでなくデメリットも知りたいですね。 確かにTSならフロントもバックも作れるけど、やること大きく違うので、 本当に誰でもアサインできるのか疑問だし、フロントとバックの責務はどう区別してるのかな?とかが気になりました。

  • @sourou38123
    @sourou38123 5 месяцев назад

    言語的に差異はないけど、フロントとバックエンドって根本的にやってること違うからそこまでメリットないように感じます TSのバックエンドエンジニアほとんどいないから採用にも苦労しそうなイメージです

  • @玄士
    @玄士 5 месяцев назад

    フロントエンドしかやってなかった人が言語や型の解決だけでバックエンドの業務ができるのかって少し疑問かも。 それぞれに多くのノウハウがあってやはり選任化が望ましいと思いますが、考えが古いのかな?

  • @tamatono
    @tamatono 5 месяцев назад

    メリットについては想像がつくから、どちらかというとTSに統一して困ったところとかそれに対してどう対処したかとかが聞きたいな

  • @モック-m4p
    @モック-m4p 5 месяцев назад

    なんとためにサーバーサイド言語があるのかを考えたらtsオンリーはリスクあるなぁ

  • @チョコ溶けてる
    @チョコ溶けてる 5 месяцев назад

    面白いチャレンジですね。 これからはこういうのが流行るかもしれませんね。

  • @e3chicago
    @e3chicago 5 месяцев назад

    フルスタックの話かと思たらフロントエンドのほんの一部のコードだけやん それにJSの本質っていうか良さも伝えんとTSがなんでもかんでもベターみたいに誤解されるから気をつけてほしい 例えばそんな単純な関数でどの形を渡したらええかわからんて関数のコードさっと見てすぐわかる

  • @xxx8562xxx
    @xxx8562xxx 5 месяцев назад

    参考になりました!yup使ってるけどzodもいいなぁ