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
わいわいコントラクトリーディング会 METAKAWAII
Search
ryo-takahashi
September 08, 2022
Technology
0
330
わいわいコントラクトリーディング会 METAKAWAII
https://solidity-jp.connpass.com/event/259525/
ryo-takahashi
September 08, 2022
Tweet
Share
More Decks by ryo-takahashi
See All by ryo-takahashi
実践・新規流入
k0uhashi
0
140
Other Decks in Technology
See All in Technology
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
23
6.8k
バッチ処理のSLOをどう設計するか
rynsuke
7
550
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
510
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
2
1.1k
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
AMLD 2024 - Build Your Own GPT
donlelef
1
260
私のRSpecの書き方 / How I write RSpec
tmtms
4
820
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
440
チーム単位で保守性を高める:独自指標と向上にむけた実践
tarappo
0
300
大規模データとの戦い方
knih
1
460
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
250
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Making Projects Easy
brettharned
106
5.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
950
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Become a Pro
speakerdeck
PRO
8
4.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
19
1.6k
How STYLIGHT went responsive
nonsquared
92
4.7k
In The Pink: A Labor of Love
frogandcode
137
21k
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
Into the Great Unknown - MozCon
thekraken
10
830
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
Transcript
༧ఆද
w 3ZP5BLBIBTIJ !LVIBTIJ w ಘҙྖҬˠJ04ΞϓϦ։ൃ w ͍·৭ʑͬͯΔ w /FYUKTॻ͍ͨΓɺTPMJEJUZॻ͍ͨ
Γɾɾɾɻ w J04ΞϓϦ։ൃʹؔ࿈͢ΔຊΛग़൛ w .&5","8"**🍭ͷٕज़पΓ͓ख͍ ࣗݾհ
TPMJEJUZKQ TPMJEJUZKQɺTPMJEJUZΛֶशதͷํɺ͜Ε͔ΒֶΜͰΈ͍ͨͱ͍͏ํ͕ ؾܰʹใڞ༗Λͨ͠Γٕज़૬ஊ͕Ͱ͖ΔඇެֶࣜशίϛϡχςΟ ΤϯδχΞͰͳ͘ͱɺֶੜɺ/'5ʹڵຯͷ͋ΔΫϦΤΠλʔɺ ٕज़ϨϕϧΘͣେܴʂ TPMJEJUZKQͰπΠʔτ🐤ʢݟʹߦ͖·͢ʣ %JTDPSE্ͰӡӦ
݄ ΩοΫΦϑ %&.0%":
ൃදʹؔͯ͠ͷҙࣄ߲ w ࣮گɾ࣭ҎԼ w 5XJUUFSTPMJEJUZKQπΠʔτ w :PV5VCF-JWFίϝϯτཝ w %JTDPSEษڧձࡶஊνϟϯωϧ w
ੜ์ૹΞʔΧΠϒ༗ΓɺεϥΠυޙެ։༧ఆ w 4/4ͷڞ༗0,ʂ
;FOO IUUQT[FOOEFWSZP@UBLBIBTIJTDSBQT ff GFC
ࠓͷ༰ w λʔήοτ w /'5ϓϩδΣΫτʹΤϯδχΞͱͯ͠KPJO͍͍ͨͯ͠͠Δڵຯ͕͋Δਓ w ༰ w /'5ϓϩδΣΫτϩʔϯνͷٕज़తͳ෦ͷ w
👆ͷλʔήοτͷਓୡʹͱͬͯࢀߟʹͳΕخ͍͠ w ٯʹΞυόΠε͋Εࠓޙͷࢀߟʹ͍ͨ͠
ࠓ͢͜ͱɾ͞ͳ͍͜ͱ w ͢͜ͱ w ϛϯταΠτ։ൃɾӡ༻ w ίϯτϥΫτ։ൃ w "1*αʔόʔ w
πʔϧ w ίετ w εέδϡʔϧײ w ͞ͳ͍͜ͱ w %$(पΓ w ࡉ͔͍ίʔυղઆ
&UIFSFVN.BJOOFU ϛϯταΠτ͋Γ 5PUBMTVQQMZ
w ࣌ܥྻ w ίϯτϥΫτ։ൃ w ϛϯταΠτ։ൃ w ϝλσʔλੜ w "1*αʔόʔ։ൃ
w ςετɾσόοά ։ൃεέδϡʔϧ
εϚʔτίϯτϥΫτ
ίϯτϥΫτ ༷ w IUUQTFUIFSTDBOJPBEESFTT Y#B$G&B&G$#&$DPEF w &UIFSFVN.BJOOFU w &3$" w
ϗϫΠτϦετˠ.FSLMF5SFF⭐ w ϩΠϠϦςΟˠ&*1ɺ3BSJCMF3PZBMUJFT7ରԠ w 6QHSBEBCMFಋೖͳ͠
ίϯτϥΫτ ։ൃڥ w IBSEIBUར༻ w ϓϥάΠϯ͕ଟ͍ͷ͕خ͍͠ɺݟଟ͍ w ϓϥάΠϯʢҰ෦ʣ w IBSEIBUHBTSFQPSUFS͓͓ΑͦͷΨεΛݟੵΕΔ
w IBSEIBUDPOUSBDUTJ[FSίϯτϥΫταΠζΛܭࢉͰ͖Δ w IBSEIBUFUIFSTDBOFUIFSTDBOʹͯίʔυΛWFSJGZ͢Δͷʹศར w TPMJEJUZDPWFSBHFςετΧόϨοδΛ؆୯ʹੜͰ͖Δ
ϗϫΠτϦετ.FSLMF5SFF ίϯτϥΫτ $MPVE'VODUJPOT ίϯτϥΫτ
IUUQT[FOOEFWMJOLDPNNFOUTFGBEFB
w ίʔυϨϏϡʔɾमਖ਼ظؒ w िؒ w ͲΜͳ͕ݟ͔ͭΔ͔Θ͔Βͳ͍ ͷͰ४උ͕ͬͨΒૣٸʹґཔ͢Δ w "VEJUPSͷεέδϡʔϧͷ w
%JTDPSEʹઐ༻νϟϯωϧΛ࡞ͬ ͯΓͱΓͨ͠ "VEJU
ίϯτϥΫτ ։ൃৼΓฦΓ w ίϯτϥΫτͷ༷ͦͷͱ͖ͷࢢگ๏తͳ໘ͦͷଞͷࣄͰίϩίϩมΘΔͷͰॊೈͳઃܭ ʹͰ͖Δͱྑ͍ w ςετίʔυ͍ͬͺ͍͔͜͏ w ि̍Ͱͷ͓ख͍ͩͱɺຊۀͱͷεΠονϯάίετ͕ߴ͍ w
ʮͯ͞ɺΔ͔ʔɺ͋ΕɾɾɾͲ͜·Ͱ͚ͬͨͬɾɾɾɻʯ w ະདྷͷࣗͷҾ͖ܧ͗λεΫϦετ࡞Δ w ίϯτϥΫτͷίʔσΟϯάΑΓςετॻ͍ͯΔ࣌ؒͷ΄͏͕͍ w ݟੵΓ͢Δࡍʹҙ
ϛϯταΠτ
w /FYUKT FUIFSTKT $MPVE fl BSF1BHFT w ੩తαΠτӡ༻ w
/FYUKT FUIFSTKTͷٕज़هࣄΘ Γͱଟ͍ w ͳΜΘ͔ΒΜɻͱ͍͏ਓʹ Φεεϝ ϛϯταΠτ
w $MPVE fl BSF1BHFT w 'SFFϓϥϯͰ6OMJNJUFECBOEXJEUI w '࿈ଧ͑Δ w ແྉͰΧελϜυϝΠϯӡ༻Ͱ͖Δ
w IUUQTNJOUNFUBLBXBJJKQ w (JU)VC࿈ܞͰ؆୯ʹࣗಈσϓϩΠಋೖ ϛϯταΠτ
IUUQTTPMJEJUZKQEFW
ϛϯταΠτ ։ൃɹৼΓฦΓ w ϛϯταΠτ։ൃɹˡˠɹίϯτϥΫτ։ൃɹԟ෮͢Δ͜ͱ͕Α͋ͬͨ͘ w ϛϯταΠτଆͰ˓˓Λද͍ࣔͨ͠ w ίϯτϥΫτଆʹϝιουੜ͑ͯͳ͍ˠ࣮͢Δˠςετॻ͘ w ϛϯταΠτଆͰίϯτϥΫτୟ͘ॲཧॻ͘
w ϗϫΠτϦετ͋ͱ/ݸNJOUͰ͖·͢ͱ͔ w ผ%#ཧͰͳ͘ɺίϯτϥΫτଆ͔Βऔಘ͍ͨ͠
ϛϯταΠτ ։ൃɹৼΓฦΓ w ϛϯταΠτͷ6*࣮ w 'JHNBͰ6*࡞ͬͯΒͬͨ εϚϗɾ1$྆ํ ͷͰεϜʔζʹ࣮Ͱ͖ͨ w 👆͋·Γͳ͍έʔεͷͣ͆
w ͋ΔఔΤϯδχΞ͕6*69ߏஙΛר͖औΒͳ͍ͱ͍͚ͳ͍έʔεͷ΄͏͕ଟ͍ؾ ͕͢Δ w ϛϯταΠτ༻ҙ͢Δ߹σβΠϯ୭͕Δͷͱ͔Ѳͨ͠΄͏͕ྑͦ͞͏ w σβΠφʔͷϨϕϧ XFCσβΠϯͲΕ͘Β͍Ͱ͖Δʁ
ϛϯταΠτ ։ൃɹৼΓฦΓ w Ұ෦ͷํʢਓϨϕϧ ͕ϛϯτͰ͖ͳ͍ w DISPNFYNFUBNBTL֦ுͷݖݶઃఆͷ w ͦΕҎ֎ݪҼෆ໌ w
τϥϒϧγϡʔςΟϯάΛٸᬎ࡞ͯ͠ڞ༗ w IUUQTDPNNVOJUZJOLESPQBQQOPUFBCEDGBCBEGEBEF OPUFP(5N5 w ࠶ىಈҟͳΔσόΠεɺҟͳΔϒϥβͰࢼͯ͠Β͏͜ͱͰશһղܾ w ϞσϨʔλʔ͞Μ͕Ұ࣍ରԠͯ͘͠ΕͯͨͷͰ͔ͳΓॿ͔ͬͨ
ϝλσʔλ
+40/σʔλ w JNBHFQOH w BOJNBUJPO@VSMNQ w FYUFSOBM@VSMQOH ޙड़ w
0QFO4FB w *NBHFҰཡͷαϜωΠϧը૾ w BOJNBUJPO@VSMৄࡉϖʔδͷಈը ϝλσʔλ
UPLFO63* w /FYUKT 7FSDFM w lCBTF63*z UPLFO*% lKTPOz ϝλσʔλ
ϝλσʔλ ӡ༻ w (PPHMF$MPVE4UPSBHFʹͯอ w *1'4Ͱͳ͍ཧ༝ w ෆ҆ఆ w %301`4ಈըσʔλ͕݁ߏͰ͔͍߹ܭ(#
w QJO͔ͯ͠ΒऔಘͰ͖Δ·Ͱिؒ͘Β͍͔͔ͬͨʢςετσʔλ w QJO͠ଓ͚Δඞཁ͕͋Δ JOGVSBJQGTQJOBUB w ($4Ͱཧ͢Δ΄͏͕։ൃɾӡ༻ίετ͍ w ҰԠɺ*1'4ҠߦͰ͖ΔΑ͏ͳઃܭʹ͍ͯ͠Δ
ࣗಈੜ w TQSFBETIFFUΛϚελσʔλͱ ͢Δ w TQSFBETIFFUDTWग़ྗε ΫϦϓτͰՃɺࣗಈੜ w DTWΛͰ͖Δ͚ͩͦͷ··͏ɺ มͳՃ͠ͳ͍
ϝλσʔλ
"1*αʔόʔ w /FYUKT 7FSDFM w lCBTF63*z UPLFO*% lKTPOz ϝλσʔλ
"1*αʔόʔ ϝλσʔλ ϦϏʔϧલͱϦϏʔϧޙͰSFTQPOTFΛมߋ ˞*1'4Ҡߦ࣌ͷӡ༻ࣄނϦεΫݮΒͨ͢ΊɺKTPOϑΝΠϧͰཧ
ϝλσʔλपΓͷࢼߦࡨޡ
HJGͷ࠾༻ݟૹͬͨ w Ұཡը໘Ͱάϧάϧಈ͍ͨΒ͘͢͝ΠΠ ײ͡ͳΓͦ͏ʁʁ w ݕূ݁Ռ👉ॏ͗ͯ͢ମݧ❌ w BOJNBUJPOXFCQͦ͜·Ͱ༰ྔมΘΒ ͣɻ w
ѹॖΛߴΊͯ༰ྔΕΔ΄Ͳը࣭ ͕ѱ͘ͳΔ w ೲಘͰ͖Δը࣭ΫΦϦςΟͱσʔλ༰ྔ ཱ྆Ͱ͖ͳ͔ͬͨ ϝλσʔλ
NQUPHJG BOJNBUJPOXFCQ มॲཧ IUUQT[FOOEFWMJOLDPNNFOUTDEG
w <⾭>👈0QFO4FBͷ͜ͷϘλϯ w ϝλσʔλͷFYUFSOBM@VSMΛઃ ఆ͢Δͱ͜ͷϘλϯ͕ग़Δ w ͜͜Λԡ͢ͱߴը࣭ը૾͕දࣔ ͞ΕΔ w 1'1༻ը૾ͷμϯϩʔυ
FYUFSOBM@VSMͷ׆༻
πʔϧ
/'57JFXFS w /FYUKT 7FSDFM w ϝλσʔλͷνΣοΫ༻ w ಈը૾ͱ"UUSJCVUFνΣοΫ w ຊ൪ڥͱશ͘ಉ͡ϝλσʔλ
ϑΝΠϧΛ༻ w ࣄނϦεΫݮΒ͢ πʔϧ
πʔϧ ͦͷଞ w ϝλσʔλੜεΫϦϓτ w ϝλσʔλɺಈը૾ࣗಈΞοϓϩʔυεΫϦϓτ w ΞοϓϩʔυݕূεΫϦϓτʢͪΌΜͱΞοϓϩʔυͰ͖͔ͨʁʣ w ΦϯνΣʔϯੳεΫϦϓτ
w ʢ͜͜ͰհͰ͖ͳ͍🙇ʣ w ҙ֎ͱ࡞Βͳ͍ͱ͍͚ͳ͍ͷ͕ଟ͍
ςετσόοά
ࣗಈςετ w ίϯτϥΫτ w ΧόϨοδ w ϛϯταΠτ w ͋·Γॻ͍ͯͳ͍ʢͱ༏ઌॱҐͷʣ w
ॻ͚ΔͳΒॻ͍ͨ΄͏͕ྑ͍
ϛϯταΠτͷखಈςετ w ίϯτϥΫτͷঢ়ଶʹΑͬͯ6*͕มΘΔ w දࣔ֬ೝ͢ΔͨΊʹτϥϯβΫγϣϯΒͤΔͷ େม w "1*ελϒͳΒ͵ίϯτϥΫτελϒ͕͋Δͱศར w ίϯτϥΫτͷঢ়ଶΛม͑ͳͯ͘ྑ͍ײ͡ʹ
6*σόοάͰ͖Δ w ͑ΔͳΒTUPSZCPPL͍͍ͨ
1PMZHPOνΣʔϯͰݕূ w ओʹ0QFO4FBͰͷදࣔ֬ೝʢΩϟογϡը࣭νΣοΫQSPQFSUZʣ w େྔϛϯτ͢Δͱ0QFO4FBͰεύϜఆ͞ΕͯදࣔͰ͖ͳ͘ͳΔ w UY͋ͨΓNJOUҎ্ߦ͏ͱͦͷ/'5͕ݟΕͳ͘ͳΔ w NJOUҎԼͳΒηʔϑɻ w
NJOUNJOUNJOUͷ߹ w දࣔͰ͖Δ͕ /PU'PVOEɺҎ͔߱ΒදࣔͰ͖ΔΑ͏ʹ w IUUQTPQFOTFBJPDPMMFDUJPOYYYYMBYGUFPP TFBSDI<TPSU"TDFOEJOH>USVFTFBSDI<TPSU#Z>$3&"5&%@%"5& w 3BSJCMFͳ͠
1PMZHPOνΣʔϯͰݕূ w ݁ہͲ͏͔ͨ͠ʁ w ମͷද͕͔ࣔͨͬͨ͠ͷͰUY͋ͨΓNJOU ճ࣮ߦͨ͠ɾɾɾ w IUUQTHJUIVCDPNIBTIMJQTMBCOGUFSDDPMMFDUJPOEJTDVTTJPOT w 👆͜͜ʹղܾͷώϯτ͕ॻ͔Εͯͨ
w ެ͔ࣜΒͷΞφϯευΩϡϝϯτهࡌͳ͍ʢͣʣ w αϙʔτʹ͍߹ΘͤͨਓʹΑΔͱɾɾɾ w ʮʢҰ෦লུʣͷෳࡶ͞ʹΑͬͯɺղܾࡦΛݟ͚ͭΔ·Ͱʹগ͕͔͔࣌ؒ͠Γ·͢ɻਃ͠༁͋Γ·ͤΜ ͕ɺ͜Ε͕͍ͭमਖ਼͞ΕΔ͔ʹ͍ͭͯλΠϜϥΠϯΛఏڙ͢Δ͜ͱͰ͖·ͤΜʯ
ϝΠϯωοτͰݕূ w 0QFO4FBଆͰΩϟογϡ͞ΕΔಈը૾ͷը࣭֬ೝ w εύϜఆ͞Εͳ͍͔νΣοΫ͢ΔͨΊ w UYͰݸNJOUͯ͠Έͨɻͳ͘શͯදࣔ͞Εͨɻ w ΨεHXFJͰ&5) w
&3$"͍҆ʂ
ϝΠϯωοτͰݕূ ༨ஊ 0QFO4FBɹը૾Ωϟογϡαʔόʔ w JNHTFBEOJPͰΩϟογϡ͞ΕͨϑΝΠϧͷ΄͏͕៉ྷͳؾ͕͢Δɻ w ༗໊ॴ͍͍ͩͨJNHTFBEOJPͰΩϟογϡɻ͜ͷ݅ͬͯΔਓ͍ͨΒڭ ͑ͯʙʙ
ςετσόοάͷৼΓฦΓ w ίϯτϥΫτςετॻ͖·͔ͬͨ͘Βಛʹͳ͔ͬͨ w ϛϯταΠτͷ6*σόοάͪΐͬͱΊΜͲ͔ͬͨ͘͞ w 0QFO4FBͰͷදࣔ֬ೝͰϋϚͬͨ w εύϜఆ w
ηʔϧ̎िؒલʹςετσόοά͓͖͍ྃͯͨ͠
ίετ ʢͦΖͦΖऴΘΓʣ
ίετ ݕূίετ w ίϯτϥΫτͷΨε w &5) w ϝλσʔλɹετϨʔδར༻ྉ $MPVE4UPSBHF
w ສԁ w ݕূͷͨΊେྔͷHJGXFCQBWJGΛΫϥυ্ʹసૹ w ੩ࢭըͷΈͷ߹ͦ͜·Ͱ͔͔Βͳ͍ͣɻ
ίετ ӡ༻ίετ w ϛϯταΠτ $MPVE fl BSF1BHFT w ԁ
w ϝλσʔλɹετϨʔδอྉ $MPVE4UPSBHF w ݄ w ϝλσʔλɹετϨʔδసૹྉ $MPVE4UPSBHF w μϯϩʔυྔʹΑΔ w "1*αʔόʔ 7FSDFM w ݄
ίετɹৼΓฦΓ w ΦϯνΣʔϯݕূ w Ψε͍҆ͱ͖Λૂ͑ϝΠϯωοτͰͷݕূͦ͜·Ͱίετ͔͔ΒΜ w "1*αʔόʔ w ʢ͓ͦΒ͘ʣ7FSDFMͰͳ͘$MPVE3VOͰӡ༻ͨ͠΄͏͕͍҆ w
Ҿ͖ܧ͗ͷ͜ͱΛߟ͑ͯ7FSDFMΛ࠾༻ʢֶशίετ͕͍ʣ w ΤϯδχΞͷใुࢧ͍ίετ͕Ұ൪ߴ͍😐 ෳࡶͳإ
͓͞Β͍ w ࣌ܥྻ w ίϯτϥΫτ։ൃ w ϛϯταΠτ։ൃ w ϝλσʔλؔ࿈ w
"1*αʔόʔ։ൃ w ςετɾσόοά εέδϡʔϧ ΄ ΅ ಉ ࣌ ฒ ߦ
˞ࢀߟྫ w ίϯτϥΫτʴϛϯταΠτʴͦͷଞπʔϧྨ։ൃ·ΔͬͱΔ߹ɾɾɾ w ࠓ݄த०d݄िPS ݄ʹΑΔ w ߹ܭ࣌ؒ😇
w ϑϧίϛοτͰਓ݄͘Β͍ w ϊʔίʔυͰ݁͢Δπʔϧग़͖ͯͯΔ w ߹ʹΑͬͯϊʔίʔυπʔϧΛ͍·͘ΔͰྑ͍͔
·ͱΊ w ͭͷ/'5ϓϩδΣΫτΛϩʔϯνͷ͓ख͍Λͨ͠ w ίϯτϥΫτ։ൃ͔ΒϛϯταΠτɺ"1*αʔόʔͦͷଞπʔϧ৭ʑ࡞ͬͨ w ৭ʑ࡞ͬͨ݁ՌɺΊͬͪΌ͔͔ͬͨ w ༨༟Λ࣋ͬͯݟੵΖ͏ w
ೖ೦ͳςετɺݕূʹΑΓແࣄނͰϩʔϯνͰ͖ͨ🎉
݄ ΩοΫΦϑ %&.0%":