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
Option Type
Search
wagyu298
June 01, 2016
Programming
1.3k
0
Share
Option Type
Swift Option Type pitfalls
wagyu298
June 01, 2016
More Decks by wagyu298
See All by wagyu298
Swagger Codegen
wagyu298
1
2.8k
HTTP/2 Mobile
wagyu298
0
990
Android VM
wagyu298
0
720
process.nextTick differences between node-v0.8 and node-v0.11
wagyu298
1
1.8k
Other Decks in Programming
See All in Programming
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
840
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
200
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
710
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
4.7k
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
5
2.9k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
960
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
560
モダンOBSプラグイン開発
umireon
0
200
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
320
おれのAgentic Coding 2026/03
tsukasagr
1
130
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The agentic SEO stack - context over prompts
schlessera
0
730
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Documentation Writing (for coders)
carmenintech
77
5.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Being A Developer After 40
akosma
91
590k
Un-Boring Meetings
codingconduct
0
250
A designer walks into a library…
pauljervisheath
211
24k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
750
Transcript
0QUJPO5ZQF !XBHZV
ࠓͷϙΠϯτ w ओʹ4XJGUͷ͠·͢ w ࠷ۙͷ/VMM͕ೖͰ͖ͳ͍ϓϩάϥϛϯάݴޠ͕૿͑ͯΔ w )BTLFMM 4DBMB ' 3VTU
4XJGU ,PUMJO FUD w ࣮ݱ͢ΔΈͷҰ͕ͭ0QUJPO5ZQF w ʢ4XJGUͰ0QUJPOBMɺ,PUMJOͰ/VMMBCMFͱݴ͍·͢ʣ w ࠷ۙͷྲྀߦΓͳͷͰ+BWB4DSJQUͱ͔ʹ͖͡ʹೖΔ͔ w ϥΠϒϥϦϕʔεͩͱOPEFPQUJPOTͱ͔͋ΔΜ͚ͩͲݴޠαϙʔτ͕ͳ͍ ͱ͠ΜͲ͍ w ͬͯΈΔͱͪΐ͍ͪΐ͍τϥοϓ͕͋ΔͷͰͦͷลΛڞ༗
CJMMJPOEPMMBSNJTUBLF w *DBMMJUNZCJMMJPOEPMMBSNJTUBLF*UXBTUIFJOWFOUJPOPGUIFOVMMSFGFSFODFJO"U UIBUUJNF *XBTEFTJHOJOHUIFpSTUDPNQSFIFOTJWFUZQFTZTUFNGPSSFGFSFODFTJOBO PCKFDUPSJFOUFEMBOHVBHF "-(0-8 .ZHPBMXBTUPFOTVSFUIBUBMMVTFPGSFGFSFODFT TIPVMECFBCTPMVUFMZTBGF XJUIDIFDLJOHQFSGPSNFEBVUPNBUJDBMMZCZUIFDPNQJMFS#VU*
DPVMEOUSFTJTUUIFUFNQUBUJPOUPQVUJOBOVMMSFGFSFODF TJNQMZCFDBVTFJUXBTTPFBTZ UPJNQMFNFOU5IJTIBTMFEUPJOOVNFSBCMFFSSPST WVMOFSBCJMJUJFT BOETZTUFNDSBTIFT XIJDIIBWFQSPCBCMZDBVTFEBCJMMJPOEPMMBSTPGQBJOBOEEBNBHFJOUIFMBTUGPSUZZFBST w ͦΕԯυϧʹ૬͢ΔࢲͷޡΓͩɻOVMMࢀরΛൃ໌ͨ͠ͷͷ͜ͱͩͬͨɻ࣌ɺ ࢲΦϒδΣΫτࢦݴޠ "-(0-8 ʹ͓͚ΔࢀরͷͨΊͷแׅతܕγεςϜΛઃܭ͍ͯͨ͠ɻ ඪɺίϯύΠϥͰͷࣗಈνΣοΫͰશͯͷࢀর͕શʹ҆શͰ͋Δ͜ͱΛอূ͢Δ͜ͱͩͬ ͨɻ͔͠͠ɺࢲ୯ʹͦΕ͕༰қͩͱ͍͏͚ͩͰɺແޮͳࢀরΛؚΊΔ༠ʹ߅Ͱ͖ͳ͔ͬͨɻ ͜Εɺޙʹ͑Εͳ͍աͪɺ੬ऑੑɺγεςϜΫϥογϡΛҾ͖ى͜͠ɺաڈؒͰ ԯυϧ૬ͷۤ௧ͱଛΛҾ͖ىͨ͜͠ͱΈΒΕΔɻ w IUUQXXXJOGPRDPNQSFTFOUBUJPOT/VMM3FGFSFODFT5IF#JMMJPO%PMMBS.JTUBLF5POZ )PBSF
4XJGU w 4XJGUJTBHFOFSBMQVSQPTFQSPHSBNNJOH MBOHVBHFCVJMUVTJOHBNPEFSOBQQSPBDIUP TBGFUZ QFSGPSNBODF BOETPGUXBSFEFTJHO QBUUFSOT w IUUQTTXJGUPSHBCPVU
ҎԼɺ4XJGUͷσϞΛ ަ͑ͳ͕Βߦ͖·͢
/VMMFSSPS w 4XJGUͷී௨ OPOPQUJPOBM ͷม/VMMඇڐ༰Ͱ͢ w 4XJGUͰOJM͕/VMMͰ͢ w OJMΛมʹೖ͢ΔͱΤϥʔʹͳΓ·͢ w
దʹ4XJGU৮Δͱଟ࠷ॳʹૺ۰͢ΔίϯύΠϥΤϥʔ w Α͔ͬͯ͘ͳ͍ͱΠϥΠϥ͢Δ w 4XJGUݴޠʹΈࠐ·Ε͍ͯΔػೳͰ͢
/VMMFSSPS WBSTUS4USJOHOJM
ॳظԽ w มඇOJMͰॳظԽ͠·͢ w ʢͪͳΈʹ4XJGUͰWBS͕WBSJBCMFɺMFU͕ DPOTUBOUͳͷͰ͕͢ɺҰൠతͳมʗఆͱ؆୯ ʹଊ͑Δͱ৭ʑ͍͕͋͜͠Γ·͢ͷͰɺWBS MFUΛ۠ผͤͣมͱදه͍ͯ͠·͢ʣ
ॳظԽ WBSTUS4USJOHl999z
0QUJPOBM w OJMͰॳظԽ͍ͨ͠߹0QUJPOBMܕมΛ༻ ͠·͢ w ܕͷޙΖʹ Λ͚Δͱ0QUJPOBMܕมʹͳΓ· ͢
0QUJPOBM WBSTUS4USJOH OJM QSJOU TUS
0QUJPOBM w ඇ0QUJPOBMܕมʹ0QUJPOBMܕมΛೖ͢Δ ͜ͱͰ͖·ͤΜ w 4XJGUΛͬͯదʹίʔσΟϯά͢Δͱଟ࠷ॳ ʹૺ۰͢Δҙຯෆ໌ͳίϯύΠϥΤϥʔ
0QUJPOBM GVODG TUS4USJOH \ QSJOU TUS ^ WBSTUS4USJOH OJM
G TUS
6OXSBQ w 0QUJPOBMܕม͔Βඇ0QUJPOBMܕͷΛऔΓग़ ͢͜ͱΛ4XJGUͰ6OXSBQͱݺͼ·͢ɻ w 6OXSBQ͢Δʹ0QUJPOBMܕมͷޙΖʹΛ ͚·͢ɻ
6OXSBQ GVODG TUS4USJOH \ QSJOU TUS ^ WBSTUS4USJOH """
G TUS
0QUJPOBM$IBJOJOH w 0QUJPOBMܕมͷϝϯό 1SPQFSUZNFUIPE ʹ ҆શʹΞΫηε͢Δํ๏Ͱ͢ɻ w 0QUJPOBMมͷޙΖʹ Λ͚ͯϝϯόʹΞΫη ε͢ΔͱɺOJMඇOJMΘͣϝϯόʹΞΫηεͰ͖
·͢ɻ
0QUJPOBM$IBJOJOH DMBTT5\ WBSTUS4USJOH999 ^ WBSU5 5 WBSTUSU TUS QSJOU
TUS UOJM TUSU TUS QSJOU TUS
0QUJPOBM$IBJOJOH w 0QUJPOBM$IBJOJOH͕ฦ͢0QUJPOBMܕʹͳΓ ·͢ w 0QUJPOBM$IBJOJOHͰऔಘͨ͠Λඇ0QUJPOBMܕ มඇ0QUJPOBMܕҾΛड͚औΔؔʹͦ͏ ͱ͢ΔͱίϯύΠϧΤϥʔ͕ൃੜ͠·͢ w 4XJGU͕͔͖ͬͯͨͱࢥ͏͜Ζʹૺ۰͢Δͱࢥ
͍·͢
0QUJPOBM$IBJOJOH DMBTT5\ WBSTUS4USJOH999 ^ GVODG T4USJOH \ QSJOU T
^ WBSU5 5 G U TUS
0QUJPOBM$IBJOJOH w ༨ஊͰ͕͢ w ͋͘·Ͱ0QUJPOBM$IBJOJOHͳͷͰඌ ʹ͚Ε·ͤΜ w $P⒎FF4DSJQUॻ͍ͯΔͱΑ͔͘Βͳ͘ͳΔ w 6OXSBQͳͷ͚Ε·͢
0QUJPOBM$IBJOJOH DMBTT5\ WBST4USJOH 99 ^ WBSD5 WBSTDT WBSUDT
JGMFUHVBSEFMTF w 0QUJPOBMܕͷม0QUJPOBM$IBJOJOHͨ͠ʹ ҆શʹΞΫηε͍ͨ͠߹JGMFU͔HVBSEFMTF ߏจ͕ศརͰ͢
JGMFU DMBTT5\ WBSTUS4USJOH999 ^ GVODG T4USJOH \ QSJOU T
^ WBSU5 5 JGMFUTU TUS\ G T ^
HVBSEFMTF GVODG T4USJOH \ HVBSEMFUUTFMTF\ SFUVSO ^ QSJOU U
^ G OJM
*NQMJDJUMZ6OXSBQQFE 0QUJPOBM w *NQMJDJUMZ҉త w ͱ͔ Λॻ͔ͳͯ͘ɺ҉తʹ6OXSBQ͞Ε Δ0QUJPOBMܕͷ͜ͱͰ͢
*NQMJDJUMZ6OXSBQQFE 0QUJPOBM WBST4USJOHOJM JGTOJM\ QSJOU T ^
NPOBE w 0QUJPOBMܕʹNBQͱqBU.BQͱ͍͏ϝιου ͕ఆٛ͞Ε͍ͯ·͢ɻ w NBQ0QUJPOBMܕม͕ඇOJMΛ࣋ͭ߹ʹؔ Λద༻͠0QUJPOBMܕͰฦ͠·͢ɻ w qBU.BQ0QUJPOBMܕม͕ඇOJMΛ࣋ͭ߹ʹ ؔΛద༻͠ඇ0QUJPOBMܕͰฦ͠·͢ɻ
NPOBE WBST4USJOH 999 WBSUTNBQ\ """ ^ QSJOU U
UTqBU.BQ\ """ ^ QSJOU U WBSVTNBQ\ 0QUJPOBM4USJOH """ ^ QSJOU V UTqBU.BQ\ 0QUJPOBM4USJOH """ ^ QSJOU U
࣮໘ͷ w 0QUJPOBM*NQMJDJUMZ6OXSBQQFE0QUJPOBMܕม (FOFSJDͰ࣮͞Ε͍ͯ·͢ w ΛΘͣ(FOFSJDߏจͰมఆٛ͢Δ͜ ͱՄೳͰ͢ w 4XJGUʹݶΒͣଞͷݴޠࣅ༷ͨͳײ͡Ͱ͢
࣮໘ͷ WBST0QUJPOBM4USJOH""" WBSU*NQMJDJUMZ6OXSBQQFE0QUJPOBM4USJOH"""
ϓϩάϥϛϯάαϙʔτ w ͜ͷลͰOJMॳظԽΤϥʔͱ͔ग़ͯ͠·͢ w IUUQTHJUIVCDPNBQQMFTXJGUCMPCNBTUFS JODMVEFTXJGU"45 %JBHOPTUJDT4FNBEFG-- w IUUQTHJUIVCDPNBQQMFTXJGUCMPCNBTUFS MJC4FNB$4%JBHDQQ-
0QUJPO5ZQFͷఆٛ w 0QUJPO5ZQF/POF͔4PNF WBMVF Λฦ͢ 5BHHFE6OJPO λά͖ڞ༻ମ Ͱ͢ return: A
! A? = a 7! Just a bind: A? ! ( A ! B? ) ! B? = a 7! f 7! ( Nothing if a = Nothing f a0 if a = Just a0
͓ΘΓ