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
Develop to Survive - YAPC::Hakodate 2024 Keynote
Search
moznion
October 07, 2024
Technology
11
21k
Develop to Survive - YAPC::Hakodate 2024 Keynote
YAPC::Hakodate 2024のキーノートスライドです。
moznion
October 07, 2024
Tweet
Share
More Decks by moznion
See All by moznion
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
11k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
10
6.9k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
3
4.9k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
290
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
6
4.7k
Chrome Extension Techniques from Hell
moznion
1
260
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
8.5k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
1.1k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
moznion
3
3.1k
Other Decks in Technology
See All in Technology
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
3
780
AI開発をスケールさせるデータ中心の仕組みづくり
kzykmyzw
0
160
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
2.1k
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
180
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
220
BiDiってなんだ?
tomorrowkey
2
490
Data Intelligence on Lakehouse Paradigm
scotthsieh825
0
200
3分でわかる!新機能 AWS Transform custom
sato4mi
1
210
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kentarofujii
0
300
JuliaTokaiとしてはこれが最後かもしれない(仮) for NGK2026S
antimon2
0
120
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
570
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
200
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Speed Design
sergeychernyshev
33
1.5k
Odyssey Design
rkendrick25
PRO
0
470
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
280
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
61
How GitHub (no longer) Works
holman
316
140k
The Cult of Friendly URLs
andyhume
79
6.8k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
46
So, you think you're a good person
axbom
PRO
2
1.9k
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
Develop to Survive :"1$)BLPEBUF,FZOPUF !NP[OJPO
Taiki Kawakami @moznion PAUSE ID: MOZNION Software Engineer at SmartBank,
inc. വؗࢢग़ ͖ͳPerlͷػೳ: wantarray built-in: do, kill, die
EBOUIFRVFTUJPOXFMDPNF
0QFOUIF'VUVSFʂʂʂʂʂʂ
ίʔυॻ͍ͯ·͔͢ʂʂʂʂ
ιϑτΣΞϓϩμΫτΛ <Δ> ͱ͍͏͜ͱ ίʔυΛॻ͚ͩ͘Ͱͳ͍ ίʔυΛॻ͚ͩ͘Ͱཱ͠ͳ͍ ͔͠͠ίʔυΛॻ͔ͳ͍ͱ࣮ݱෆՄೳ ͭ·ΓίʔυΛॻ͔Ͷବ
ιϑτΣΞϓϩμΫτΛ <Δ> ͱ͍͏͜ͱ ίʔυΛॻ͚ͩ͘Ͱͳ͍ ίʔυΛॻ͚ͩ͘Ͱཱ͠ͳ͍ ͔͠͠ίʔυΛॻ͔ͳ͍ͱ࣮ݱෆՄೳ ͭ·ΓίʔυΛॻ͔Ͷବ ͱ͍͏ͷݐલͰɺݸਓతʹ୯ʹίʔυΛॻ͍ͯ
ϞϊΛ࡞Δͷ͕͖ Ϗδωεͷ͕ແ͍Θ͚Ͱͳ͍
ίʔυΛॻ͘ͱ͍͏ߦҝͷݪମݧ
ίʔυΛॻ͘ͱ͍͏ߦҝͷݪମݧ
ίʔυΛॻ͘ͱ͍͏ߦҝͷݪମݧ ͭ·Γͩͯ͜ະདྷେֶͷ։ֶ ͋ͨΓ ࣌খֶੜ ࠓͰݴ͏ϩʔίʔυͰήʔϜ࡞ΓϫʔΫγϣοϓΈ͍ͨͳͷ͕͋ͬͨ
ͦ͜ͰͷήʔϜ ͷΑ͏ͳͷ ࡞Γ͕ίʔσΟϯάͷݪମݧ
৭ʑ͋Γവؗߴઐೖֶ ͦ͏ͨ͠ݪମݧ͕͋ͬͨͨΊവؗߴઐใֶՊʹೖֶ ͱ͍͏ͷΛ៉ྷʹܨ͛ΔͨΊͷϑΟΫγϣϯ ຊػցֶՊʹೖͬͯΤϯδϯΛΔͭΓͩͬͨ ༮ೃછ͕ʮ͜Ε͔Βύιίϯʯͱݴ͍ͬͯͨͷͰӨڹ͞Εͯ ใֶՊग़ئมߋ
ͦͦະདྷେͰͷϫʔΫγϣοϓͷ͜ͱ͔ͬ͢ΓΕ͍ͯͨ
വؗߴઐͷ͓͔͛Ͱϝγ͕৯͍͑ͯΔ 𝓑𝓲𝓰 𝓣 𝓱𝓪𝓷𝓴𝓼 ిࢠճ࿏ɺϋʔυΣΞɺιϑτΣΞɺωοτϫʔΫΛ ମܥతʹֶͨ
ಛʹຊ֨తͳϓϩάϥϛϯάͱͷग़ձ͍େ͖͔ͬͨ ݁ہ͜ΕͰࠓ·ͰͳΜͱ͔৯͍͑ͯΔ ͋ͱιϑτΣΞֶͱϢʔβʔΠϯλʔϑΣʔε
ߴઐࡏֶ࣌ͷ༷ࢠ ΓιϑτΣΞ͖ͩͬͨͷͰ৭ʑͱ࡞͍ͬͯͨ 8JOͷ5XJUUFS$MJFOUΛ+BWBXJUI4XJOHͰ࡞ͬͨΓ͍ͯͨ͠ ͋ͱαϯϓϥʔΞϓϦΛ࡞ͬͨΓͱ͔ ͜ͷ࣌ͱ͘ʹΦʔϓϯιʔεͱ͍͏ͷΛΒͣ
ͦͦϥΠϒϥϦͱ͍͏ͷΛཧղ͍ͯ͠ͳ͔ͬͨ
৭ʑ͋Γटେֶ౦ژฤೖ ֶඅͱ༡ͿΧωΛՔ͙ඞཁ͕ग़͖ͯͨ ༡ͿΧωཉ͠͞ʹۀ༻ػցΛ࡞ΔձࣾͰόΠτΛ࢝ΊΔ
ಥવͷ1FSMͷ֮Ί
ಥવͷPerlͷ։؟ ࣌͋ͨΓ 8FCܥͷϓϩάϥϛϯάΛ΄΅Βͳ͍ঢ়گ ͳ͔ͥʮ͜Β͔Βͷ࣌1FSMͩʂʂʯͱͳΔ ஶऀ͜ͷ࣌ɺطʹ3VCZPO3BJMTW͕ੈͷதʹग़͍ͯΔ
4/.1.*#ͷղऍثͳͲΛ1FSMͰΰϦΰϦॻ͘ʑ
Hachioji.pmͱͷᬍ टେֶ ࡏീԦࢠ ɺͦͯ͠1FSMͱ͘Εʜʜ )BDIJPKJQNͱग़ձ͏ͷඞવ *5ษڧձΧϨϯμʔͷ͓͔͛Ͱ͋Δ
࣌Βͳ͔ͬͨ8FCۀքͷݟΛζϧζϧٵ͑ͨ ࣌)BDIJPKJQNͰ1FSMͰνϟοτπʔϧΛࣗ࡞͍ͯͨ͠ IUUQTHJUIVCDPNV[VMMBZBODIB ͦΕͰίϛϡχέʔγϣϯ͍ͯͨ͠ߗͳूஂ
Hachioji.pmͱͷᬍ टେֶ ࡏീԦࢠ ɺͦͯ͠1FSMͱ͘Εʜʜ )BDIJPKJQNͱग़ձ͏ͷඞવ *5ษڧձΧϨϯμʔͷ͓͔͛Ͱ͋Δ
࣌Βͳ͔ͬͨ8FCۀքͷݟΛζϧζϧٵ͑ͨ ࣌)BDIJPKJQNͰ1FSMͰνϟοτπʔϧΛࣗ࡞͍ͯͨ͠ IUUQTHJUIVCDPNV[VMMBZBODIB ͦΕͰίϛϡχέʔγϣϯ͍ͯͨ͠ߗͳूஂ
ϥΠϒϥϦॻ͖࢝Ί ͜ͷ͋ͨΓ͔ΒϥΠϒϥϦΛॻ͍ͯެ։͢ΔΑ͏ʹͳͬͨ ͪΌΜͱ(JU)VCΛ͍͡ΊΔΑ͏ʹ $1"/ʹͪΒ΄ΒΞοϓϩʔυͯͨ͠Γ͍ͯͨ͠ ͜ͷ࣌Ͱʮଞਓ͕ศརʹ͑Δʯͱ͍͏͜ͱಛʹߟ͓͑ͯΒͣ
ࣗݾදݱɾࣗݾຬͷΑ͏ͳ׆ಈʹཹ·͍ͬͯͨ
ͯͳΠϯλʔϯ2013
ͯͳΠϯλʔϯ2013 िؒʹΔαϚʔΠϯλʔϯ લिؒ࠲ֶ 8FCͷجຊɺ1FSMɺJ04"QQɺ%#ɺࣗવݴޠॲཧͳͲΛ ͔ͬ͠Γͱڭ͑ͯ͘ΕΔΧϦΩϡϥϜ ޙिؒϓϩμΫγϣϯίʔυΛ৮Δ0+5ܗࣜ
ͯͳϒϩά"UPN1VC"1*Λ࡞ͬͨ IUUQTIBUFOBDPKQJOUFSOQSPKFDUTJOEFYIUNM
ͯͳΠϯλʔϯ2013 ༻Ͱಈ͘8FCΞϓϦΛ৮ΕΔوॏͳମݧ ͦͯ͠3'$ΛಡΈͳ͕Β࣮͢Δॳͷମݧ ञΛҿΈ͍͚͗ͯ͢ͳ͍ͱ͍͏͜ͱΔ ͯͳΠϯλʔϯ࠷ߴʂʂʂʂʂʂ
ΈΜͳߦ͜͏
-*/&ฤ
LINEͰΞϧόΠτΛ࢝ΊΔ 1FSM͕ॻ͚Δਓؒͱ͍͏͔͠͞Β͔-*/&ʹόΠτͰޏΘΕΔ ϓϩμΫγϣϯͰಈ͍͍ͯΔڊେ8FC"QQΛ৮Δମݧ ޙʹઌʹ͋ͷنͷ1FSMͷ"QQΛ৮ͬͨ͜ͱͳ͍
৭ʑ͋ΓLINEʹब৬ ͱʹ͔͘৭ʑͳαʔϏεͷ্ཱͪ͛ʹؔΘͬͨ ͪΖΜͦͷޙͷӡ༻ ͪΌΜͱۀͰ ͭ·Γଞਓͷ ʹཱͭϥΠϒϥϦ ϛυϧΣΞͷॏཁੑΛڧ͘ೝࣝ࢝͠ΊΔ
͜ͷ͋ͨΓ͔Β࡞෩͕एׯมΘͬͯ͘Δ ศརͰ͋ΕখཻͰϥΠϒϥϦπʔϧʹ͢Δͱ͍͏ελΠϧ
Perl::Lint HPDDZ͞Μ͕࣌࡞ΒΕ͍ͯͨ$PNQJMFS-FYFSΛόοΫΤϯυʹ ͨ͠ ࣌Ͱ ߴͳ1FSMͷ-JOUFSΛ։ൃ͍ͯͨ͠ IUUQTHJUIVCDPNNP[OJPO1FSM-JOU 5IF1FSM'PVOEBUJPOͷ4QPOTPSFE1SPKFDUʹͳͬͨ
ݴ͍ͰεϙϯαʔϑΟʔΛ֫ಘͰ͖Δͷ͕ͩʜʜ ࠓߟ͑ΔͱͰਃͨ͠ͷ͓͔͔ͬͨ͠ͷͰʁʁʁʁʁ
Perl::LintͰYAPC::EUߦ͘ 1FSM-JOUΛͻͬ͛ͯ͞:"1$&6(SBOBEBߦͬͨ ࣌ͬ͞ͺΓӳޠ͕Ͱ͖ͣ MFTUSSBU͞Μʹॿ͚ͯΒͬͨ ͔͠͠ӳޠͰϓϨθϯ͠ͳ͖ΌͩΊͩͬͨͷͰ͜͜ؾ߹Ͱ
ࢥ͍ͷ΄͔ϓϨθϯͷέ͕Α͔ͬͨͷ͔ɺ"GUFS1BSUZͰ ৭ʑͳਓʹΛ͔͚ͯΒͬͨ ͜ͷΜͰएׯւ֎Ͱͷ׆ಈʹର͢Δڵຯ͕ग़ͯ͘Δ
Perl::LintͰYAPC::EUߦ͘ 1FSM-JOUΛͻͬ͛ͯ͞:"1$&6(SBOBEBߦͬͨ ࣌ͬ͞ͺΓӳޠ͕Ͱ͖ͣ MFTUSSBU͞Μʹॿ͚ͯΒͬͨ ͔͠͠ӳޠͰϓϨθϯ͠ͳ͖ΌͩΊͩͬͨͷͰ͜͜ؾ߹Ͱ
ࢥ͍ͷ΄͔ϓϨθϯͷέ͕Α͔ͬͨͷ͔ɺ"GUFS1BSUZͰ ৭ʑͳਓʹΛ͔͚ͯΒͬͨ ͜ͷΜͰएׯւ֎Ͱͷ׆ಈʹର͢Δڵຯ͕ग़ͯ͘Δ
LINE ͱʹ͔͘τϥϑΟοΫ͕ΰπ͔ͬͨ UPLVIJSPNʮ8FCαʔϏεͷ໘ന͞τϥϑΟοΫͷྔʹൺྫ͢Δʯ ΞυςΫʹ৮ΕΒΕͨͷوॏͳମݧ ۀن͕͍͢͝
ࡏ੶தʹ্͢Δͱ͍͏Πϕϯτ͋ͬͨ
ιϥίϜฤ
ελʔτΞοϓͰΓ͍ͨཉ ͕ࣗΕΔ͜ͱશ෦Γ͍ͨͱ͍͏ؾ࣋ͪ ߴʹۀ͞Εͨ৫ͦΕͦΕͰྑ͍Ұํ ࠷దԽͷ݁Ռ ྗࢼ͠ʹࣅͨײ֮ʁ
ͪΖΜҰൃͯͨ͋ͬͨ͞
ιϥίϜʹస৬ ೖࣾʹ,%%*ʹങऩ͞ΕΔ Ұൃ͕௵͞Εͨܗʹ ϛογϣϯΫϦςΟΧϧͳγεςϜ ܞଳిίΞωοτϫʔΫ ͕ "84্Ͱߏங͞Ε͍ͯΔͱ͍͏ઌӶతͳڥ
8FCٕज़ͱηϧϥʔٕज़ͷ༥߹ͱ͍͏ܗ
ελʔτΞοϓϚΠϯυ (ͱʹ͔͘Δ) 8FCٕज़ͷԠ༻ ϨϕϧωοτϫʔΫ ࢹվળɺӡ༻վળ ৽ػೳɾ৽αʔϏε࡞Γ·͘Γ
ίΞωοτϫʔΫ։ൃ (ϓϩτίϧελοΫ։ൃ ඪ४༷ΛಡΈͳ͕ΒͷίʔσΟϯάܦݧ͕͜͜Ͱ׆͖͖ͯͨ +BWB$BSE ͳͲͳͲʜʜ
ถ ৭ʑͳࣄ͕͋Γ4PSBDPN(MPCBM *ODग़ ΞϝϦΧ߹ऺࠃϫγϯτϯभγΞτϧҠॅ ίϩφਅͬΓͷλΠϛϯάͰͷҠॅͰΧΦεʂʂʂ ։ൃۀΛͭͭ͠ݱͷΧελϚʔαϙʔτతͳ͜ͱΛͨ͠Γ
ςΫχΧϧηʔϧεͱڠۀͨ͠Γ
ؼࠃɺͦͯ͠స৬ ͘Β͍ΞϝϦΧͰੜ׆ͯ͠ຊؼࠃ ্ͦͯ͢͠Δͱ͍͏Πϕϯτ͕͋ͬͨ ্λΠϛϯάͰࣾΛܦͯݱ৬4NBSU#BOLస৬
ࠓʹࢸΓɺ༷ʑࢥ͏͜ͱ
ιϑτΣΞϓϩμΫτ࡞ΓνʔϜϫʔΫ ͦΕͦ͏ ྫ֎͋Δ νʔϜϫʔΫͳͯ͘͠ޭͳ͍ ྫ֎͋Δ
͕ͩνʔϜΛνʔϜͨΒ͠Ί͍ͯΔͷݸਓ ͜͜࠷ۙνʔϜʹର͢ΔϑϨʔϜϫʔΫʹয͕ͨΓ͕ͪʹ ͳ͓ͬͯΓɺݸਓʹϑΥʔΧε͞Εͳ͍͜ͱʹएׯҧײ ͦΕ͘Β͍ख़ͨ͠ۀքʹͳ͖ͬͯͨͱ͍͏ݟํͰ͖Δ
ݸਓٕʹΑΔߩݙ ݸਓͷڧ͍ٕྔɺϞνϕʔγϣϯͦͯ͠ύογϣϯ͕ϓϩδΣΫτΛ ਪਐ͢ΔέʔεΛΑ͘ݟ·ͤΜ͔ʁ ݸਓٕΛຏ͘͜ͱʹΑΓϓϩμΫτ͕ྑ͘ͳΔͱ͍͏ͷਅͩͱࢥ͏
ݸਓٕʹΑΔߩݙ ຏ͔Εͨݸਓٕ͕ू·Δ͜ͱʹΑΔνʔϜϫʔΫͲ͏͔ʁ ࢍ൱྆͋Δ ͦ͏Ͱͳ͍ঢ়گͰͳΜͱ͔͢Δͷ͕ιϑτΣΞֶͰʁʁ ݸਓٕΤϯδχΞϦϯάͷΈʹݶΒͳ͍
ڵຯυϦϒϯͰݸਓٕΛຏ͘ ະͷٕज़υϝΠϯͷࢿྉجຊతʹಡΊಡΉ΄Ͳʹ͘ शಘͨ͠ͿΜ७ਮʹྗʹͳΔ ಡ·ͳ͍ͱʹ͔ͳ͍ ಡΈΒͳͯ͘ྑ͍
ΩϟϦΞઙΊͷ͜ΖʹಡΜͩຊ͕ࠓͷ݂ʹͳ͍ͬͯΔ࣮ײ͕͋Δ ࣮ࡍɺ࣌Θ͔Βͳ͍ͱ͜Ζଟ͋ͬͨ͘
ͱʹ͔͘େྔʹ࡞ͬͨ ೖΕͨࣝΛ্ͬͨͰखΛಈ͔ͯ͠େྔʹϞϊΛ࡞ͬͨ ࣄͰ͏ͱ͍͏ΑΓझຯͰΔ͜ͱ͕ଟ͔ͬͨ ࠷ॳશવବବͩͬͨΑ͏ʹࢥ͏ ࣍ୈʹίπ͕௫Ί͖ͯͯԠ༻͕ޮ͘Α͏ʹͳ͖ͬͯͨ
ྔ͕࣭ʹసԽ͢Δ ࡞ͬͨΒ֎ʹग़͢ͱ͍͏ͷॏཁ ϨϏϡʔ͞ΕΔ উखʹఴä
ͱʹ͔͘େྔʹ࡞ͬͨ ͱʹ͔͘࡞Δ͜ͱͰࣄΛղܾ͠Α͏ͱ͍ͯͨ͠ ͋Δ͍ຬͨ͞ΕΑ͏ͱ͍ͯͨ͠ ࠶ൃ໌্ʂʂʂʂ ࠶ൃ໌͔ΒಘΒΕΔݟ͕ଟʑ͋Δ ઌਓͷܙ
ྺ࢙తܦҢ ݱͷٕज़ʹΑΔผղ
ࣗͨͪͷͨΊͷେྔੜ࢈ Ռʹର͢Δ֬ೝΛ͍͍͍ͪͪͬͯΔͱͦ͜Ͱ͢Δ ͦ͜ͰಉظΛऔΔͱՄॲ͕࣌ؒ݁ՌతʹݮΔ ඞཁʹͳΓͦ͏ͳϞϊɾύλʔϯՄೳͳݶΓશ෦࡞ͬͯΈΔ ͦͷஈ֊Ͱ֬ೝΛऔͬͯෆཁͳͷࣺͯΔͱ͍͏ελΠϧ
ࢍ൱྆͋Δ
ࣗͨͪͷͨΊͷେྔੜ࢈ େྔੜ࢈ʹ׳Εͯ͘Δͱ࡞Δεϐʔυ্͕͍ͬͯ͘ ߴʹϞϊΛ࡞ΕΔͱ͍͏ͷͦΕ͚ͩͰϝϦοτ ࢼߦճΛ७ਮʹ૿͢͜ͱ͕Ͱ͖Δ ࣭ͱྔ͕ಉډ͢Δ
͋Δਓ [୭?] ݴ͍·ͨ͠ 4IVUUIF VQBOEXSJUFTPNFDPEF ӵΈਓΒͣ ͱʹ͔͘खΛಈ͔ͯ͠࡞Δͷ͕ඒಙͱ͍͏ελΠϧ
ଟ͘ͷ߹ʮͦ͜ʹ͋Δͷʯ͔͠৴͡ΒΕͳ͍ ϕʔεϥΠϯͱͳΔͷ͕͋Δͱ͔ͦ͜Β͕ٞͰ͖Δ ࡞ΔࣺͯΔ·͔ͣͦ͜Β
ݸਓٕͷ্࠶ݱ͢Δͷ͔ʁ ҃ΔҰఆ·Ͱ࠶ݱͤ͞Δํ๏͋Δͱࢥ͏ ͦΕʮڭҭʯͦͷͷͰʁ ͔݁͠͠ՌΛ͍·͍ͪଌΓʹ͍͘ͱ͍͏ͷ͕͍͠ϙΠϯτ ϋʔυεΩϧΑΓιϑτεΩϧͷൺॏ͕ڧ͍ʁ
30ࡀ·ͰͳΜͰΔϚΠϯυ ࡀ·ͰͳΜͰΖ͏ͱࢥ͍ͬͯͨ ιϑτΣΞΤϯδχΞϦϯάʹݶΒͣ Ұ࣌ظηʔϧεʹ͍͍ͬͭͯͨ͘͜ͱ͋Δ ͦͷҰͱͯ͠ʮւ֎Ͱಇ͘ʯͱ͍͏ͷ͋ͬͨ
ίϯϑΥʔτκʔϯ͔Βग़ଓ͚Δͱ͍͏ੜଘઓུ
ίϯϑΥʔτκʔϯ͔Βग़ଓ͚Δ αοΧʔຊදकాӳਖ਼બख ͕ࣗҰ൪Լखͩͱࢥ͏ڥͷ΄͏͕͖ ΤϦοΫɾΫϥϓτϯ εςʔδʹ্͕ͬͨΒ͕ࣗҰ൪্ख͍ͱࢥ͑ɻ εςʔδΛ߱ΓͨΒ͕ࣗҰ൪Լखͩͱࢥ͑ɻ
ͱ͍͑
;Δ͞ͱ͕͋Δͱྑ͍
;Δ͞ͱ͕͋Δͱྑ͍ Γ1FSM͕ࣗͷ৺ͷ;Δ͞ͱ ͜͏͍ͬͨ;Δ͞ͱ͕͋ΔͱͦΕΛࣗͷՁج४ʹͰ͖Δ ൺֱ Ԡ༻
ͭ·Γ:"1$;Δ͞ͱ ҬͷίϛϡχςΟͱ͔Ͷ വؗ;Δ͞ͱɺΑ͔ͬͨͰ͢Ͷ
ݴ͍͔ͨͬͨ͜ͱ·ͱΊ ݸਓٕͷ࣌ͩ<ཁग़య> ͱʹ͔͘࡞Γ·͘Δ͜ͱͰҰఆղܾ͕Ͱ͖Δ ͦͯ͠ྔ͕࣭ʹసԽ͢ΔλΠϛϯά͕ͯདྷΔ ࡞ͬͨͷΛࣺͯΔͷѱ͍͜ͱͰͳ͍ ͱࢥ͏
৺ͷ;Δ͞ͱ Ձج४ ͕͋ΔͱΒ͕͠๛͔ʹͳΔ ͱʹ͔͘खΛಈ͔͢ਓ͕Ұ൪ΧοίΠΠʂ
͍͖ͬͯ·͠ΐ͏