トーク

セッション
Language Serverと喋ろう
DAY1 / 14:20 〜 14:50 (アセンドトラック)
普段開発で何気なく使っている「コード補完」「Go to Definition」「変数リネーム」のような機能を、エディタ操作以外で呼び出したいと思ったことはありませんか。このような機能は、コア機能を提供する「Language Server」とエディタ拡張がやりとりすることで実現されている言語が多いです。Language Server Protocol (LSP)はそのプロトコルであり、様々な言語機能について、言語やエディタに依存しない汎用的なインターフェースが規定されています。本来LSPは、エディタごと・言語ごとに言語サポートを実装する労力を省くためのものですが、エディタ外で前述の機能をprogrammaticに呼び出すことにも利用できます。
私はアプリケーションの挙動やコードを精査して脆弱性を探す業務をサポートするツールとして、セキュリティ的に怪しいコードに対し、その呼び出し元のチェーンを洗い出すことで影響範囲を調べるツールを開発しています。
TSに特化した処理をするならCompiler APIも良い選択肢ですが、それと違って様々な言語に適用できる点でLSPに注目しています。
セッションでは以下について話す予定です。
- LSPでどんなことができるか (どのようなメソッドがあるか)
- LSPを使った自作ツールの紹介
- Language Serverとやりとりするサンプルコードと仕組みの解説
- Compiler APIとLSPの比較

ぴざきゃっと
GMO Flatt Security株式会社 / ソフトウェアエンジニア
型やlinterに魅せられ、バグを仕組みで防ぐ技術を追求しているうちに、いつの間にかセキュリティの世界にいた。 セキュリティエンジニアとしての経験を経て、現在はソフトウェアエンジニアとして、セキュリティ診断AIエージェント「Takumi」やプロダクトセキュリティプラットフォーム「Shisho Cloud byGMO」の開発を担当。 趣味はRustでブラウザを自作すること。
https://pizzacat83.com