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
350
3
Share
大規模なコードベースの改修のために自作TypeScriptツールを作るメリット
「TSKaigi Mashup #1 フロントエンド」の登壇資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
August 08, 2024
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
210
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
6
3.2k
PMとしての意思決定とAI活用状況について
lycorptech_jp
PRO
1
200
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
260
Rollback from KRaft mode to ZooKeeper mode
lycorptech_jp
PRO
1
130
When an innocent-looking ListOffsets Call Took Down Our Kafka Cluster
lycorptech_jp
PRO
0
150
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
6
1.3k
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
190
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
8k
Other Decks in Technology
See All in Technology
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
11
6.9k
Why we keep our community?
kawaguti
PRO
0
350
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2k
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
870
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
120
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
270
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
3
1k
Bref でサービスを運用している話
sgash708
0
210
スケーリングを封じられたEC2を救いたい
senseofunity129
0
130
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
540
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
My Coaching Mixtape
mlcsv
0
90
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
The Curious Case for Waylosing
cassininazir
0
280
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Documentation Writing (for coders)
carmenintech
77
5.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
What's in a price? How to price your products and services
michaelherold
247
13k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
690
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
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