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
24k
11
Share
Develop to Survive - YAPC::Hakodate 2024 Keynote
YAPC::Hakodate 2024のキーノートスライドです。
moznion
October 07, 2024
More Decks by moznion
See All by moznion
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
16
12k
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
11
7.2k
避けられないI/O待ちに対処する: Rails アプリにおけるSSEとasync gemの活用 / Tackling Inevitable I/O Latency in Rails Apps with SSE and the async gem
moznion
4
6.2k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
380
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
7
4.9k
Chrome Extension Techniques from Hell
moznion
1
290
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
8.7k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
1.2k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
moznion
3
3.2k
Other Decks in Technology
See All in Technology
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
200
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
250
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
1
110
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
130
スクラムを支える内部品質の話
iij_pr
0
320
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
340
MCPゲートウェイ MCPass の設計と実装 エンタープライズで AI を「運用できる」状態にする
mtpooh
1
180
チームで育てるAI自走環境_20260409
fuktig
0
940
マルチモーダル非構造データとの闘い
shibuiwilliam
1
290
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
150
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
100
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
160
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Information Architects: The Missing Link in Design Systems
soysaucechin
0
870
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Designing for Performance
lara
611
70k
Balancing Empowerment & Direction
lara
5
1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
360
A better future with KSS
kneath
240
18k
The Curious Case for Waylosing
cassininazir
0
290
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$;Δ͞ͱ ҬͷίϛϡχςΟͱ͔Ͷ വؗ;Δ͞ͱɺΑ͔ͬͨͰ͢Ͷ
ݴ͍͔ͨͬͨ͜ͱ·ͱΊ ݸਓٕͷ࣌ͩ<ཁग़య> ͱʹ͔͘࡞Γ·͘Δ͜ͱͰҰఆղܾ͕Ͱ͖Δ ͦͯ͠ྔ͕࣭ʹసԽ͢ΔλΠϛϯά͕ͯདྷΔ ࡞ͬͨͷΛࣺͯΔͷѱ͍͜ͱͰͳ͍ ͱࢥ͏
৺ͷ;Δ͞ͱ Ձج४ ͕͋ΔͱΒ͕͠๛͔ʹͳΔ ͱʹ͔͘खΛಈ͔͢ਓ͕Ұ൪ΧοίΠΠʂ
͍͖ͬͯ·͠ΐ͏