Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
具体例から学ぶ、循環参照の怖さとその対策
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sosuiiii
October 19, 2023
Technology
39
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
具体例から学ぶ、循環参照の怖さとその対策
ご指摘あればお願いします。
sosuiiii
October 19, 2023
More Decks by sosuiiii
See All by sosuiiii
AmebaにおけるQAコスト改善施策〜テスト項目の整理とAutify for Mobileによる自動化
sosuiiii
0
490
Other Decks in Technology
See All in Technology
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
220
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
140
AIで仕事のやり方を変える
matsu7874
3
1.1k
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
710
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
1
1.3k
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
150
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
340
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
230
データ_AIの事業の勝敗をわけるもの
nek0128
0
260
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
280
Spring BootからQuarkusへの移行
tatsuya1bm
2
110
Omarchy Quattro の日本語設定周り
simosako
2
170
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Practical Orchestrator
shlominoach
191
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Claude Code のすすめ
schroneko
67
230k
Documentation Writing (for coders)
carmenintech
77
5.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
GitHub's CSS Performance
jonrohan
1033
470k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Transcript
۩ମతͳ൵͔ܶΒֶͿɺ ॥ࢀরͷා͞ͱͦͷରࡦ
ࣗݾհ ໊લɿాதᰜࢤ ೖࣾɿ৽ଔͰ$"ೖࣾ ෦ॺɿλοϓϧ ɹɹɿ4PTTVJ@4XJGU
࣍ ֓ཁ ۩ମྫ ϝϞϦʹ͍ͭͯ Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ σόοά ରࡦ
֓ཁ "3$ͷొʹΑͬͯɺΤϯδχΞ͕ϝϞϦΛҙࣝ͢Δ͜ͱͳ͘ͳͬͨɻ ͨͩɺ ࠒ͔Β<XFBLTFMG>Λ͍ͬͯΔΑ͏ʹ શ͕ͯ"3$ʹΑͬͯ୲อ͞Ε͍ͯΔΘ͚Ͱͳ͍ɻ ॥ࢀরʹΑͬͯͲΜͳ൵͕ܶى͜ΓಘΔͷ͔ɺ Ͳ͏ͯ͠ى͍ͬͯ͜Δͷ͔ ϝϞϦΫϩʔδϟͷੑ࣭ʹ৮Εͳ͕ΒɺཧղΛਂΊ͍͖ͯ·͠ΐ͏ʂ
࣍ ֓ཁ ۩ମྫ👈 ϝϞϦʹ͍ͭͯ Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ σόοά ରࡦ
۩ମྫ λοϓϧͰɺϢʔβʔͷϓϩϑΟʔϧཝʹσʔτϓϥϯͷΧʔυ͕͋Δ
۩ମྫ λοϓϧͰɺϢʔβʔͷϓϩϑΟʔϧཝʹσʔτϓϥϯͷΧʔυ͕͋Δ ͔͜͜Β͍͍͔Λ͢Δͱɺ Ͳͷσʔτϓϥϯ͔Β͍͍͔͔͕͔ͨ͠Δ
۩ମྫ ॥ࢀরΛىͨ͜͜͠ͱͰ ͔͜͜Β͍͍͔Λ͢Δͱɺ Ͳͷσʔτϓϥϯ͔Β͍͍͔͔͕͔ͨ͠Δ
۩ମྫ ॥ࢀরΛىͨ͜͜͠ͱͰɻɻ શͯͷΧʔυ͕ ͍͍͔͞Εͯ͠·͏ ˞ϦϦʔεલʹൃݟɾमਖ਼͍ͯ͠Δ
۩ମྫ ΧϧʔηϧͰදࣔ͞ΕͨɺϢʔβʔҰཡʹͯɻɻ Ϣʔβʔ"ͷৄࡉΛ։͍ͯ Δ Ϣʔβʔ#Λ͍͍͔
۩ମྫ ΧϧʔηϧͰදࣔ͞ΕͨɺϢʔβʔҰཡʹͯɻɻ Ϣʔβʔ"ͷৄࡉΛ։͍ͯ Δ Ϣʔβʔ#Λ͍͍͔ Ϣʔβʔ"ɺ#ʹ͍͍͔͕ૹΒΕͯ͠·͏ ˞ϦϦʔεલʹൃݟɾमਖ਼͍ͯ͠Δ
Ͳ͏ͯ͠॥ࢀরͨ͠ͷ͔ 'PSNBUUFSʹΑΔࣗಈϑΥʔϚοτºώϡʔϚϯΤϥʔ PXOFSΛࢀর͍ͯ͠ΔίʔυΛফ͢ͱɺ 'PSNBUUFSʹΑͬͯఆ͕ٛʮ@ʯʹলུ͞ΕΔ
Ͳ͏ͯ͠॥ࢀরͨ͠ͷ͔ 'PSNBUUFSʹΑΔࣗಈϑΥʔϚοτºώϡʔϚϯΤϥʔ ෆҙʹPXOFS͕লུ͞Εͨͱ͜Ζʹɺ ӈͷࣸਅͷΑ͏ͳTIPXϝιουΛ࠶ར༻͢Δ ॥ࢀর͢Δ
॥ࢀরͷڪ͞ ͠લʹݴͬͨΑ͏ͳόά͕ϦϦʔε͞Ε͍ͯͨΒɻɻ ᶃϢʔβʔͷࠞཚɻ͓͍߹Θͤ૿Ճ ᶄ"1*௨৴͕Oഒʹɻαʔόෛՙͷ૿Ճ ᶅᶄͷ૿ՃʹΑΔΠϯϑϥίετͷ૿Ճ
࣍ ֓ཁ ۩ମྫ ϝϞϦʹ͍ͭͯ👈 Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ σόοά ରࡦ
ϝϞϦʹ͍ͭͯ ઌ΄Ͳͷڍಈɺ ॥ࢀরʹΑͬͯϝϞϦͷղ์͕ग़དྷͳ͘ͳΔ͜ͱ͕ݪҼ ϝϞϦͷղ์ɻɻʁ ͏ͪΐͬͱϝϞϦʹ͍ͭͯਂ΅͓͖͍ͬͯͨ
ϝϞϦʹ͍ͭͯ ϝϞϦʹɺׂʹԠͯͭ͡ͷछྨ͕͋Δ ɾϓϩάϥϜྖҬɿ3&"%ͷΈɻؔఆ ɾελοΫྖҬɿϩʔΧϧม ɾ੩తྖҬɿTUBUJDάϩʔόϧม ɾώʔϓྖҬ ಈతϝϞϦ ɿNBMMPDGSFFͰಈతʹ֬อ͢Δ˞$ݴޠ ϝϞϦͷ֬อͷํɺͦΕͧΕҟͳΔ
ελοΫྖҬ ઌೖޙग़͠ํࣜͷཧɻϝιουͷϩʔΧϧมͳͲׂ͕ΓͯΒΕΔ ྫ͑ϝιου"ͷதͰϝιου#ΛݺͿ࣌ɺ ϝιου#͕ऴ͔ྃͯ͠Βϝιου"͕ऴྃ͢Δɻ ϝϞϦ্Ͱಉ͡Α͏ͳ͜ͱ͕ى͖͍ͯΔɻ GVODQBSFOU \ WBSQBSFOU DIJME
^ GVODDIJME \ WBSDIJME ^
ελοΫྖҬ GVODQBSFOU \ WBSQBSFOU DIJME ^ GVODDIJME \ WBSDIJME
^ ᶃ ᶄ ᶅ ᶆ ᶃ QBSFOU Λݺͼग़͠ɺϩʔΧϧมͷQBSFOUׂ͕ΓͯΒΕΔ ᶄ QBSFOU ͷதͷDIJME Λݺͼग़͠ɺDIJMEׂ͕ΓͯΒΕΔ ᶅ DIJME ͷॲཧ͕ऴΘΓɺDIJMEͷϝϞϦ͕ղ์͞ΕΔ ᶆ QBSFOU ͷॲཧ͕ऴΘΓɺQBSFOUͷϝϞϦ͕ղ์͞ΕΔ
੩తྖҬ ϓϩάϥϜ͕࣮ߦ͞ΕΔͱɺऴྃ͢Δ·Ͱอ࣋͞Εଓ͚ΔྖҬ ˠΞϓϦͷϥϯλΠϜதอ࣋͞ΕΔ อ࣋͞Εଓ͚Δੑ࣭ʹΑͬͯɺ4XJGUͰ γϯάϧτϯͱͯ͠TIBSFE ڞ༗ ͰσʔλΛڞ༗͢ΔΘΕํ ϝϞϦͷ֬อͱղ์ͳͷͰɺ͜ͷྖҬͰͷ॥ࢀরى͜͞ͳ͍ʁ
ಈతྖҬ ੩తྖҬͱҧ͍ɺ ΞϓϦͷϥϯλΠϜதʹϝϞϦͷ֬อͱղ์Λ܁Γฦ͢ $ݴޠͰɺNBMMPD͕ؔϝϞϦ֬อɺGSFF͕ؔϝϞϦͷղ์Λ୲͍·͢ɻ 4XJGUʹ͓͍ͯ"3$͕ϝϞϦͷ֬อͱղ์Λཧ͓ͯ͠Γɺ ։ൃऀ͕ҙࣝ͢Δ͜ͱ͋Γ·ͤΜɻ
ಈతྖҬ ͭ·Γɻɻʁ ಈతʹϝϞϦΛ֬อɾղ์͢ΔػߏͰ͕ى͖Δ ॥ࢀরʹΑͬͯ"3$ʹΑΔղ์࿙ΕΛى͜͠ɺ ϝϞϦ͕ੵΈ্͕͍ͬͯ͘ ˞"3$ͷઆ໌ׂѪ ॥ࢀরΛى͜͞ͳ͍ͨΊʹɺΫϩʔδϟͷੑ࣭Λ֬ೝ͠Α͏
࣍ ֓ཁ ۩ମྫ ϝϞϦʹ͍ͭͯ Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ👈 σόοά ରࡦ
Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ ॥ࢀরɺڧࢀর͕॥͢Δ͜ͱͰى͖Δɻ ˠࢀরܕಉ࢜Ͱى͜ΓಘΔɻ 4XJGUͰɺΫϩʔδϟΫϥε͕͜Εʹ֘͠ɺ ߏମ TUSVDU ͕ܕʹͳΔɻ ˠσϦήʔτ Ϋϥεؒ ΫϩʔδϟºΫϥεؒʹҙ⚠
αϯϓϧίʔυᶃ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ
αϯϓϧίʔυᶃ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ ॥ࢀর͠ͳ͍
αϯϓϧίʔυᶄ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ
αϯϓϧίʔυᶄ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ ॥ࢀর͠ͳ͍ ͷΫϩʔδϟ͕Ωϟϓνϟͨ͠ ऑࢀরͷTFMGΛҾ͖ܧ͍Ͱ͍Δ
αϯϓϧίʔυᶄ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ ॥ࢀর͠ͳ͍ ࢠͷΫϩʔδϟɺΦϓγϣφϧͷTFMGΛࢀর͍ͯ͠Δ ˠͷΫϩʔδϟ͕Ωϟϓνϟͨ͠ ऑࢀরͷTFMGΛҾ͖ܧ͍Ͱ͍Δ
αϯϓϧίʔυᶅ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ
αϯϓϧίʔυᶅ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ ॥ࢀর͠ͳ͍ ࢠͷΫϩʔδϟɺ ͷΫϩʔδϟ͕Ωϟϓνϟͨ͠ ڧࢀরͷTFMGΛҾ͖ܧ͍Ͱ͍ͨ
αϯϓϧίʔυᶆ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ
αϯϓϧίʔυᶆ Ϋϩʔδϟ⁵Ϋϥεؒͷ॥ࢀর ݺͼग़͠ଆͷςϯϓϨ ॥ࢀর͠ͳ͍ ੩తϝϞϦºಈతϝϞϦͰ॥ࢀরى͜ΓಘΔ
αϯϓϧίʔυᶇ Ϋϥε⁵Ϋϥεͷ॥ࢀর <XFBLTFMG>Ͱͳ͘ɺ<XFBLWJFX$POUSPMMFS>ͱͯ͠ҾΛऑࢀর͢Δ
࣍ ֓ཁ ۩ମྫ ϝϞϦʹ͍ͭͯ Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ σόοά👈 ରࡦ
σόοά ͜Μͳ࣌॥ࢀরΛٙ͏ ᶃૢ࡞Λଓ͚͍ͯΔͱ͕͘ͳΔɺॏ͘ͳΔ ᶄϢʔβʔͷૢ࡞ͰෆՄೳͳִؒͰϩά͕ൃՐ͍ͯ͠Δ ɹଟॏʹॲཧ͕࣮ߦ͞Ε͍ͯΔ σόοάखஈ ᶃࢹ ᶄ9DPEFͷσόοάػೳ
ϝϞϦάϥϑ 9DPEFͷσόοάػೳͷͭʹɺʮϝϞϦάϥϑʯ͕͋Δ ϝϞϦΛ֬อ͍ͯ͠ΔΠϯελϯε͕ӾཡՄೳ ϝϞϦάϥϑ
ϝϞϦάϥϑ 9DPEFͷσόοάػೳͷͭʹɺʮϝϞϦάϥϑʯ͕͋Δ ϝϞϦΛ֬อ͍ͯ͠ΔΠϯελϯε͕ӾཡՄೳ Πϯελϯεͷ ʓʓ7JFX$POUSPMMFS ʓʓ7JXF.PEFM ෦Ұகݕࡧ͕Մೳ
࣍ ֓ཁ ۩ମྫ ϝϞϦʹ͍ͭͯ Ϋϩʔδϟͷੑ࣭ͱαϯϓϧίʔυ σόοά ରࡦ👈
ରࡦ ᶃςετίʔυ ᶄΫϩʔδϟͷੑ࣭ཧղ ᶅةػҙࣝ ɾϝϞϦϦʔΫͷҝʹɺςετίʔυΛॻ͘ͷίετ͕ߴ͍ ɾΫϩʔδϟͰTFMGΛऑࢀর͍ͯ͠Δ͔ ɾ<XFBLTFMG>ɺTFMGҎ֎ͷ໋໊ͰΞϯϥοϓ͢Δ
TFMGҎ֎ͷ໋໊ͰΞϯϥοϓ͢Δ 'PSNBUUFSʹΑΔࣗಈϑΥʔϚοτºώϡʔϚϯΤϥʔ ෆҙʹPXOFS͕লུ͞Εͨͱ͜Ζʹɺ ӈͷࣸਅͷΑ͏ͳTIPXϝιουΛ࠶ར༻͢Δ ॥ࢀর͢Δ TFMGͰͳ͘PXOFSͱ͔Ͱ͋Εɺ ࠶ར༻࣌ʹίϯύΠϧΤϥʔʹͳΔ