50
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

TypeScript Meetup #4 参加レポート

Last updated at Posted at 2020-06-16

2020/06/16 19:00よりオンラインで行われたTypeScript Meetup #4 の参加レポートです。
動画アーカイブはこちらで公開されています。

TypeScriptでテストコードを徹底的に型推論する @okunokentaro

スクリーンショット 2020-06-17 5.18.30.png

:page_facing_up: スライド: https://speakerdeck.com/okunokentaro/typescript-meetup-4
:movie_camera: 動画開始位置: https://youtu.be/b6WpRCC5GoM?t=1066
:pencil: 内容メモ:

  • テストコードでanyを使わず正しい型定義をするための方法
  • Jestのtype.d.tsから型定義の読み方の解説(overload, Mapped Types, Conditional Types, infer)
  • AngularのTestBedを型定義した例

最初の「テストコード、anyで諦めていませんか?」から同意しかなかったです。テストコード関係なく、型定義の読み方をとても丁寧に解説して頂けたので勉強になりました。テストコードにどこまで型を書くかは型費用対効果で考えるべきだと思うのですが、テストコードでもanyで逃げずサッと型をかけるようにはなりたいです。

Async Function and Runtime Error Tracking @laco2net

スクリーンショット 2020-06-17 5.37.12.png

:page_facing_up: スライド: http://bit.ly/3fahTar
:movie_camera: 動画開始位置: https://youtu.be/b6WpRCC5GoM?t=2092
:pencil: 内容メモ:

  • TypeScriptの中でのAsync functionの解説、型定義、ES5でのトランスパイル
  • tslib/importHelpersでのバンドルサイズ圧縮
  • async/awaitでエラーハンドリング時の注意(catch文でのre-throw)

何気なくasync/await使いまくっていたので、tslib/importHeplersは目から鱗でした。早速プロダクションコードにimportHelpers: trueのPRを作ろうと思います。また、catch文でre-throwされた時の動作(__awaiterの中でPromiseのRejectに変わってしまう)というのも勉強になりました。とても実用的な発表で感謝です。

Azure Static Web AppsとVisual Studio Codespacesで快適なTypeScript環境を構築する @hoisjp

スクリーンショット 2020-06-17 5.52.03.png

:page_facing_up: スライド: https://www.slideshare.net/hois/20200616-tsjpazurestaticwebappsvscodespaces
:movie_camera: 動画開始位置:https://youtu.be/b6WpRCC5GoM?t=3841
:pencil: 内容メモ:

  • Azure Static Web Appsの紹介
  • Visual Studio Codespacesの紹介
  • 書籍紹介

Azure Static Web Appsは静的ファイルのホスティングとAPIのラムダ公開を簡単にできるもののようです。Visual Studio Codespacesも雰囲気が分かりました。これが進化していくと、もう手元のマシンスペックは不要になりそうですね。あと、Azureの各種機能をサンドボックスで学べる Azure Learn も良いですね。個人的に、諸所の事情で来月からAzureが広く使われている会社に所属するのでやってみようと思いました。

フロントとサーバーを大統一してAPI疎通を静的に型検査する話 @m_mithide

スクリーンショット 2020-06-17 6.04.20.png

:page_facing_up: スライド: - (公開されてたら教えてください :pray: )
:movie_camera: 動画開始位置: https://youtu.be/b6WpRCC5GoM?t=5105
:pencil: 内容メモ:

  • フロントとサーバーで型を共有する場合の課題
  • Aspidaの紹介
  • frourioの紹介・ライブコーディング

frourioのライブコーディングは圧倒されました。特にModel側の型定義を変えたときに、フロント側の型定義が自動的に型エラーになるのとても良さそうですね。マイグレーションの動きなどとてもRailsライクだなーと思っていたら「TypeScirpt界のRailsにしたい」というお話があってなるほどとなりました。まだまだ絶賛開発中みたいですが、後で触ってみようと思います。frourioの詳細についてはこちらのQiita記事でも紹介されています。
フロントとサーバーのAPI疎通を静的に検査できるTypeScriptフレームワークを作った - Qiita

運営からのお知らせ

スクリーンショット 2020-06-17 6.15.49.png

:movie_camera: 動画開始位置: https://youtu.be/b6WpRCC5GoM?t=6584
:pencil: 内容メモ:

TypeScriptのwebサイトがこんな進化しているとは知りませんでした。特にtsconfig.jsonの書き方が詳細に説明されているページが良かったです。サイトの日本語化もとても嬉しいですね。
動画で話されてますが、翻訳プロジェクトのコントリビューション募集中で、OSS初コントリビューションの人もおすすめとのこと。自分もこちらの記事に書いた通り、初めてのOSSコントリビューションはGatsby.jsのドキュメント翻訳でした。翻訳からOSS活動始めるのはとても良いと思います。

終わりに

以上「TypeScript Meetup #4 参加レポート」でした。
濃い内容の発表ばかりで、総じて勉強になりました。開催時間も丁度良く、妻子持ちの自分としても視聴しやすかったです。また、オンラインの開催は地方に住むエンジニア(自分も)も気軽に参加できるのが嬉しいですね。オンライン配信自体は、今後のリアル開催の時でもやっていただけると :pray:
最後に、運営の方々とても良い勉強会をありがとうございました。

50
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?