こんにちは、ソリューション開発部でエンジニアをしている片岡と、福浦です。 11月16日に京都市勧業館 みやこめっせで開催された「TSKaigi Kansai 2024」へ参加してきましたので、 会場の雰囲気や内容をレポートします! 今回OPTiMはシルバースポンサーとして協賛しています。
TSKaigi Kansai 2024について
2024年5月に東京で開催されたTSKaigi 2024から派生した初の地域型イベントです。 OPTiMはTSKaigi 2024でも協賛として参加していました。
OPTiMは神戸にも拠点がございますので、神戸オフィスに勤務している片岡と、アルバイトをしていて25年新卒で入社予定の福浦で参加してきました。
普段Typescriptを医療関係の製品開発で利用している2名で参戦です。
会場の様子
こちらが京都市勧業館 みやこめっせです。
会場はこのような感じで、前方は机も用意されており快適でした。
最後は懇親会が開催され、大盛況でした! 料理も美味しかったです。
セッション: 型チェック速度改善 奮闘記
開発において、型チェックやビルドといったプロセスは欠かせない要素です。 プロダクトが成長しコード量が増えるにつれて、これらにかかる時間は増加しますが、 多くの場合開発が優先され、パフォーマンスチューニングは後回しにされがちです。
本セッションでは、モノレポプロジェクトにおける「エディタ上での型チェック」や「コード保存時の型チェックが遅い」という課題に対して、どのように取り組んできたのか。 その具体的な調査プロセスと改善結果について紹介されました。
調査プロセスの方法は、まず tsc コマンドを使用してコンパイル時間の統計を持つファイル(trace.ts、type.ts)を生成します。 その後、解析ツールに trace.ts を読み込ませることで、型チェックに時間がかかっているファイルを特定。 さらに、そのファイル内でボトルネックとなっているコードの位置情報(ASTの各ノードの位置を示す pos や end)をAST解析ツールで見つけ出すという流れでした。
実際に動かしてみると、コンパイル時、どこに時間がかかっているか視覚的に把握することが出来ました。
私は今は新規サービスの開発に取り組んでいるため、すぐに効果を発揮出来るところはなさそうですが、 開発生産性を向上させる重要性についてはアルバイトを通して学んでいます。なので今回の紹介されていたような取り組みも、今後のプロジェクトで積極的に活用していきたいと考えています。
LT: TypeScript Graph でコードレビューの心理的障壁を乗り越える
kansai.tskaigi.org speakerdeck.com
TypeScriptのコード上の依存関係を視覚的に確認するライブラリを作ったこと、その運用事例のご紹介でした。
私は開発を行う際にコンポーネントなどが参照されなくなりデッドコードとして残る問題が何度か直面していました。 そこで本LTを聞いて検出に使えそうだなと思い、実際に動かしてみました。
使い方としてはREADMEの通りに、パッケージをインストールしてtsg
と打つだけです。
数十秒でグラフを出力する事ができました。
セッションでは、Github Actionsがご紹介されており、TypeScript Graphを利用して変更があった点を起点に分かりやすく表現する事ができるそうです。
チームではGitlabを用いているため、そちらでも動かして様子を見てみようかなと思います。 凄く実用的なLTでした。
最後に
セッションでは業務での体験談を踏まえた実践的な内容が多く、学びとなることが多くありました。 協賛のブースでは、TypeScriptに関するクイズや意見ボードなど様々な催しがあり、 一日を通してとても有意義な時間を過ごすことが出来たと感じています。
また、参加者は関西出身の方がほとんどで、地元での繋がりを持てるのが非常に良かったカンファレンスでした。
OPTiMはTSKaigi以外にもカンファレンス等で協賛をする予定となっておりますので、 現地で参加しているOPTiMのエンジニアに出会いましたら、ぜひお声がけください。 またさまざまなカンファレンスに協賛をしている通り、多種多様な言語やフレームワークを用いて、第一次産業のDX化に向けて日々現実の課題と向き合っております。 そういった難しい実課題を追求して解決していくことに、楽しみを感じる皆さんとお仕事をできることを心待ちにしています。