Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模なコードベースの改修のために自作TypeScriptツールを作るメリット
Search
LINEヤフーTech (LY Corporation Tech)
PRO
August 08, 2024
Technology
3
300
大規模なコードベースの改修のために自作TypeScriptツールを作るメリット
「TSKaigi Mashup #1 フロントエンド」の登壇資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
August 08, 2024
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
1
85
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
220
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
200
オンライン機械学習基盤の開発と活用実績
lycorptech_jp
PRO
1
430
社内データを活用した推薦タスク向け基盤モデル開発
lycorptech_jp
PRO
3
560
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
2
350
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
790
マルチモーダル基盤モデルに基づく動画と音の解析技術
lycorptech_jp
PRO
10
820
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
370
Other Decks in Technology
See All in Technology
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
910
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
1.5k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
1
450
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
580
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
1
230
2025年夏 コーディングエージェントを統べる者
nwiizo
0
110
AWSで始める実践Dagster入門
kitagawaz
0
420
Obsidian応用活用術
onikun94
1
410
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.3k
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
1.4k
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
260
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing for Performance
lara
610
69k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Why Our Code Smells
bkeepers
PRO
339
57k
Building Applications with DynamoDB
mza
96
6.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
How STYLIGHT went responsive
nonsquared
100
5.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Invisible Side of Design
smashingmag
301
51k
Transcript
ߵ࢘,B[VTIJ,POPTV େنͳίʔυϕʔεͷվमͷͨΊʹ ࣗ࡞5ZQF4DSJQUπʔϧΛ࡞ΔϝϦοτ 54,BJHJαϒΠϕϯτϑϩϯτΤϯυ
ࣗݾհ ߵ࢘,B[VTIJ,POPTV 9!LB[VTIJLPOPTV -*/&ϠϑʔגࣜձࣾιϑτΣΞΤϯδχΞ ʮ-*/&εΩϚχʯϑϩϯτΤϯυνʔϜͷ ΤϯδχΞϦϯάϚωʔδϟʔɾςοΫϦʔυ
ʮϑϩϯτΤϯυͷେنͳίʔυϕʔεͷվमʯʹ͍ͭͯ͠·͢ 💭ϥΠϒϥϦͷΞοϓάϨʔυɾஔ͖͑ 💭ϓϩμΫτͷϦχϡʔΞϧ
େنͳίʔυϕʔεͷվमͰى͖Δ ࣮ऀ ϨϏϡϫʔ ࠩͷྔ ˠ୯ௐͰࣅͨฤू͕ଓ͖ෛ୲ ظؒʹΘͨΔ࡞ۀ ˠ௨ৗͷ։ൃͱͷཱ྆ͷ͠͞ ࠩͷྔ ˠ࣮࿙Εͷݟམͱ͠ ɹϨϏϡϫʔͷෛ୲
͜ͷͷղܾ͢ΔͨΊɺʮࣗ࡞5ZQF4DSJQUπʔϧʯΛ࡞Γ·ͨ͠
ʮࣗ࡞5ZQF4DSJQUπʔϧʯͱͳʹ͔ʁ let message = 'hello world'; const message = 'hello
world'; ͋ΔҰఆͷϧʔϧͰ5ZQF4DSJQUϑΝΠϧΛฤू্͠ॻ͖͢Δͷ 🛠
ʮࣗ࡞5ZQF4DSJQUπʔϧʯͰͬͨ͜ͱ ର 5ZQF4DSJQU3FBDUͷίʔυϕʔε ίϯϙʔωϯτϥΠϒϥϦͷϦϓϨΠε ࣮ݱͨ͜͠ͱ ϓϩδΣΫτͰࢀর͕ͳ͘ͳͬͨίϯϙʔωϯτΛআ
ʮࣗ࡞5ZQF4DSJQUπʔϧʯʹΑͬͯͨΒ͞ΕͨϝϦοτ ࣮ऀ ϨϏϡϫʔ ୯ௐͳมߋ͕ଓ͘͜ͱʹΑΔ ϛεɾ࿙Εͷݮগ มߋͷΞϓϩʔνΛ ͍Ζ͍Ζͱࢼ͢ίετͷԼ ϨϏϡʔର͕ʮࠩʯ͔Β ʮࠩΛੜ͢ΔࠩʯʹมԽ ˠෛ୲͕ݮ
ίʔυΛૢ࡞͢Δ΄͔ͷํ๏ͱͷൺֱ regex ̋खܰ͞ ʷෳࡶͳૢ࡞ͷ࣮ ̋ίʔυͷߏʹ جͮ͘มߋ ˚ϑΝΠϧ͝ͱͷใ ͔͠ར༻Ͱ͖ͳ͍ ̋υΩϡϝϯτɾࢀߟ ʹͳΔࢿྉ
̋ϓϩδΣΫτͷߏ ʢࢀরؔͳͲʣʹج ͮ͘มߋ ̋ܕใͷར༻ ˚υΩϡϝϯτɾࢀߟ ʹͳΔࢿྉ
πʔϧΛ࡞Δ্ͰͷϙΠϯτ పఈతͳݸผ࠷దԽ ˠ൚༻తͳπʔϧΛ࡞ΒͣɺϓϩδΣΫτͷίʔυͷύλʔϯ͚ͩཏ͢Δ ͷࣗಈԽ ˠΓͷ%SBGU13Λݟͳ͕ΒखಈͰରԠ
5ZQF4DSJQUΛͬͯίʔυΛૢ࡞ͯ͠ΈΑ͏ʂ TypeScript API ts-morph ʷυΩϡϝϯτͷෆ ˚USBOTGPNFSΛ͏ͱϑΥʔϚο τ͕ଛͳΘΕΔ ̋ෳࡶͳૢ࡞ 5ZQF4DSJQU"1*ͷ ϥούʔϥΠϒϥϦ
̋൚༻తͳૢ࡞Λཏ ̋υΩϡϝϯτ͕ॆ࣮ ̋ϑΥʔϚοτ͕ҡ࣋͞ΕΔ ˚ෳࡶͳૢ࡞ import ts from 'typescript';
͍͞͝ʹ w ʮࠩ࡞Γʯ͔ΒʮࠩΛੜ͢Δࠩ࡞Γʯͷస w 044Խ w HJUIVCDPNMJOFUTSFNPWFVOVTFE
ʮࣗ࡞5ZQF4DSJQUπʔϧʯΛ࡞ͬͯେنͳվमΛΒͤ·͠ΐ͏ʂ
5IBOLZPV