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
社会構造をハックする -電子申請編- / railsdm2018
Search
Wataru MIYAGUNI
March 25, 2018
Technology
5
2.7k
社会構造をハックする -電子申請編- / railsdm2018
Rails Developers Meetup 2018: Day 2
https://railsdm.github.io/
Wataru MIYAGUNI
March 25, 2018
Tweet
Share
More Decks by Wataru MIYAGUNI
See All by Wataru MIYAGUNI
今だからこそ振り返る register_globals / PHPerKaigi 2020
gongo
0
7.4k
What can Emacs be? / Hackers Champloo 2019
gongo
4
7.7k
昔の) PHP が誇った最高の機能 register_globals の真実、そして未来へ
gongo
8
11k
肉体言語 Tython (Muscle Language "Tython")
gongo
2
1.1k
Other Decks in Technology
See All in Technology
Redefine_Possible
upsider_tech
0
390
開発現場とセキュリティ担当をつなぐ脅威モデリング
cloudace
0
120
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
150
製造業の会計システムをDDDで開発した話
caddi_eng
3
1k
新卒1年目のフロントエンド開発での取り組み/New grad front-end efforts
kaonavi
0
100
AIエージェント完全に理解した
segavvy
4
310
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1.3k
ひまプロプレゼンツ 「エンジニア格付けチェック 〜春の公開収録スペシャル〜」
kaaaichi
0
190
Symfony in 2025: Scaling to 0
fabpot
2
260
Agile TPIを活用した品質改善事例
tomasagi
0
420
30 代子育て SRE が考える SRE ナレッジマネジメントの現在と将来
kworkdev
PRO
0
160
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
580
Featured
See All Featured
Scaling GitHub
holman
459
140k
Producing Creativity
orderedlist
PRO
344
40k
The Language of Interfaces
destraynor
157
24k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Writing Fast Ruby
sferik
628
61k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Building Adaptive Systems
keathley
41
2.5k
The Cult of Friendly URLs
andyhume
78
6.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Transcript
3BJMT%FWFMPQFST.FFUVQ%BZ ࣾձߏΛϋοΫ͢Δ ిࢠਃฤ 4VO ٶᅳ !HPOHP; 4NBSU)3ιϑτΣΞΤϯδχΞ
ࣗݾհ ࢯ໊ٶᅳ Έ͙ʹΘͨΔ ॴଐגࣜձࣾ4NBSU)3 ݄ೖࣾ ԭೄ͔ΒҾͬӽ͖ͯ͠·ͨ͠ ιϑτΣΞΤϯδχΞ όοΫΤϯυ
ΞΧϯτ 5XJUUFS!HPOHP; (JU)VCHPOHP
4NBSU)3ͷ͝հ
גࣜձࣾ4NBSU)3
4NBSU)3ͱ ਓࣄ࿑ͷखଓ͖ΛΧϯλϯʹ͢Δ ΫϥυܕιϑτΣΞͰ͢
࿑୲ͷෛ୲Λܰݮ ࣾձอݥɾ࿑ಇอݥʹඞཁͳॻྨΛ ैۀһσʔλ͔Βࣗಈ࡞ ॴͷlిࢠਃz ΫϦοΫʂ
ैۀһͷෛ୲ܰݮͯ͘͠ΕΔ εϚϗͰαΫαΫ ௐ͕ϖʔύʔϨεʹ ैۀһ4NBSU)3ͷ࣭ʹैͬͯ1$ɾεϚϗͰೖྗ ˠ΄ͱΜͲ͕ʮ͍ʯʮ͍͍͑ʯͷΧϯλϯͳ࣭ ࿑୲ऀूͬͨใΛҰׅͰ$47ʹग़ྗ͠ɺ څ༩ܭࢉιϑτʹऔΓࠐΉ͚ͩʂ
ಋೖاۀɾܧଓ ಋೖاۀ ࣾ ܧଓ d݄࣮ αʔϏε։͔࢝Β
4NBSU)3ͱిࢠਃ
ిࢠਃͱ ࢴʹΑͬͯߦΘΕ͍ͯΔਃಧग़ͳͲͷखଓΛ ύιίϯεϚʔτϑΥϯΛར༻ͯ͠ ΠϯλʔωοτͰߦ͑ΔΑ͏ʹ͢Δͷ දతͳϠπ w F5BY w ࠃ੫ిࢠਃࠂɾೲ੫γεςϜ w
F-5"9 w ํ੫ϙʔλϧγεςϜ
ిࢠਃͱ ࢴʹΑͬͯߦΘΕ͍ͯΔਃಧग़ͳͲͷखଓΛ ύιίϯεϚʔτϑΥϯΛར༻ͯ͠ ΠϯλʔωοτͰߦ͑ΔΑ͏ʹ͢Δͷ දతͳϠπ w F5BY w ࠃ੫ిࢠਃࠂɾೲ੫γεςϜ w
F-5"9 w ํ੫ϙʔλϧγεςϜ ˠ4NBSU)3ʜ
4NBSU)3͕ѻ͏ʮిࢠਃʯͱ ૯লͷӡӦ͢Δిࢠͷ૯߹૭ޱ IUUQTXXXFHPWHPKQ w ๏ྩߦखଓҊͷݕࡧ w ߦखଓͷిࢠਃˡ ͜Ε ͳͲ
F(PW ΠʔΨϒ
F(PWిࢠਃ ֤ল͕ॴ͢Δ༷ʑͳߦखଓʹ͍ͭͯ ਃɾಧग़Λߦ͏͜ͱ͕Ͱ͖·͢ 4NBSU)3F(PWిࢠਃͷ8FC"1*Λར༻ͯ͠ ࣾձอݥɾ࿑ಇอݥؔ࿈ͷखଓ͖Λߦ͍·͢ ར༻ํ๏ ϒϥβͰը໘Λϙνϙν F(PW͕ఏڙ͢Δʮ֎෦࿈ܞ
8FC "1*ʯ
4NBSU)3 F(PWిࢠਃ
4NBSU)3 F(PWిࢠਃ σʔλͷΓͱΓ 9.-ܗࣜ
4NBSU)3 F(PWిࢠਃ ࣄલʹ࡞ࡁΈͷॻྨ͔Β ిࢠਃ༻ʹม͞ΕΔͨΊ ಛผͳ࡞ۀ͕૿͑Δ͜ͱͳ͍
4NBSU)3 F(PWిࢠਃ ఏग़ઌͰॻྨͷ ৹͕ࠪߦΘΕΔ
F(PWిࢠਃΛࢧ͑Δٕज़
F(PWిࢠਃΛࢧ͑Δٕज़ ͭ͋Γ·͢
F(PWిࢠਃΛࢧ͑Δٕज़ͦͷ
F(PWిࢠਃΛࢧ͑Δٕज़ͦͷ ͜͜Λࢧ͑ͯ·͢
F(PW࿈ܞ"1*ΫϥΠΞϯτϥΠϒϥϦ ,JKJ*T+BQBOFTFFHPW*OUFSGBDF IUUQTHJUIVCDPNLVGVLJKJ ʮͳͥϥΠϒϥϦͱͯ͠ެ։ͨ͠ͷ͔ ʯ w 3VCZ w F(PWిࢠਃͰར༻͢Δɺ࿈ܞ"1*ϥΠϒϥϦ
F(PWిࢠਃ࿈ܞ"1*ͷॴײ গ͠લʹ͓͑͠·ͨ͠ l9.-Ͱ3FRVFTU3FTQPOTF͢Δ͚ͩ z lF(PWిࢠਃɺ؆୯ʹ͑·͢Ͷʂz
F(PWిࢠਃ࿈ܞ"1*ͷॴײ গ͠લʹ͓͑͠·ͨ͠ ͦ͏Ϛ͍͔͘ͳ͍ l9.-Ͱ3FRVFTU3FTQPOTF͢Δ͚ͩ z lF(PWిࢠਃɺ؆୯ʹ͑·͢Ͷʂz
F(PW࿈ܞ"1*ͷগ͠πϥΠͱ͜Ζ ˞ ిࢠॺ໊͖ͷ9.-Ͱͳ͚ΕͳΒͳ͍ w ࣄۀॴຖʹిࢠূ໌ॻΛ࡞ͯ͠Β͏ શͯͷϦΫΤετʹࣄલ४උ͕ඞཁ w ϦΫΤετຖʹΞΫηεΩʔΛൃߦ͔ͯ͠Β
"1*༷ ॻ ͕େ w ࣌ʑؒҧͬͯͨΓ͢Δ ˞ ৄࡉεϥΠυඌͷʹͯ
F(PW࿈ܞ"1*ͷগ͠πϥΠͱ͜Ζ ˞ ిࢠॺ໊͖ͷ9.-Ͱͳ͚ΕͳΒͳ͍ w ࣄۀॴຖʹిࢠূ໌ॻΛ࡞ͯ͠Β͏ શͯͷϦΫΤετʹࣄલ४උ͕ඞཁ w ϦΫΤετຖʹΞΫηεΩʔΛൃߦ͔ͯ͠Β
"1*༷ ॻ ͕େ w ࣌ʑؒҧͬͯͨΓ͢Δ ։ൃऀൃ৴ͷใ͕গͳ͍ w ͜Ε͕ຯʹπϥ͍ ˞ ৄࡉεϥΠυඌͷʹͯ
։ൃऀࢹͰͷF(PW࿈ܞ"1*ͷ͋·Γฉ͔ͳ͍ w ݸਓͰϋʔυϧ͕ߴ͍ w ిࢠূ໌ॻ࡞ͬͨΓɺେͳ༷ॻΛಡΜͩΓ w ͦͦݸਓ༻్͕ແ͍ w Α͋͘Δʮࢼͯ͠Έ·ͨ͠ʯهࣄ·Ͱൃల͠ͳ͍ w
ຊ൪ͷ ࿈ܞ"1*Λ͏ͨΊʹɺ ʮ͜ͷιϑτΣΞ"1*ͬͯ0,ʯ ͱ͍͏૯ল͕ઃ͚Δ࠷ऴ֬ೝࢼݧΛಥഁ͢Δඞཁ͕͋Δ w اۀൃ৴ͳ͔ͳ͔ݟ͔͚ͳ͍ w "1*͍ͬͯΔاۀ͍͔ͭ͋͘Δ w IUUQXXXFHPWHPKQIFMQTIJOTFJBQJ@TPGUXBSFJOEFYIUNM
F(PWిࢠਃΛൃలͤ͞ΔͨΊʹ F(PW࿈ܞ"1*Λগ͠Ͱ͍͍ͨ͘͢͠ ͍͘͢ͳΔ͜ͱͰF(PWͷೝ ར༻ͷ্ʹߩݙͰ͖Δ
F(PWిࢠਃΛൃలͤ͞ΔͨΊʹ F(PW࿈ܞ"1*Λগ͠Ͱ͍͍ͨ͘͢͠ ͍͘͢ͳΔ͜ͱͰF(PWͷೝ ར༻ͷ্ʹߩݙͰ͖Δ ͦΕ͕Ϣʔβͷମݧ্ʹܨ͕Δ ͦͷͨΊͷLJKJ
F(PWిࢠਃΛࢧ͑Δٕज़ͦͷ͓ΘΓ
F(PWిࢠਃΛࢧ͑Δٕज़ͦͷ ͜͜ࢧ͑ͯ·͢
$47ܗࣜಧॻ࡞ϥΠϒϥϦ w 3VCZ w $47ܗࣜಧॻF(PWిࢠਃͷҰ෦ͷखଓ ͖Ͱඞཁͳɺ9.-ͱผͰఴ͢ΔϑΝΠϧͷ ໊শ IUUQTHJUIVCDPNLVGVLJSJDP
LJSJDPԿނੜ·Εͨͷ͔ $47ܗࣜಧॻͷਖ਼ମ $47ܗࣜಧॻʜ ৄ͘͠Θ͔Βͳ͍͚Ͳɺ ͭ·Γ$47ϑΝΠϧͩΑͶʜ γϡοͱ࡞ΕΔ͡ΌΜ
LJSJDPԿނੜ·Εͨͷ͔ $47ܗࣜಧॻͷਖ਼ମ şŘŪ <LBOSJ>
şŘŪ ౦ژઍా۠ <EBUB> şŘŪ ŠřŮƃŘŧƁř ްҰ şŘŪ ŠřŮƃŢƄƁř ްೋ $47 ܗࣜಧॻྫ
şŘŪ <LBOSJ>
şŘŪ ౦ژઍా۠ <EBUB> şŘŪ ŠřŮƃŘŧƁř ްҰ şŘŪ ŠřŮƃŢƄƁř ްೋ LJSJDPԿނੜ·Εͨͷ͔ $47ܗࣜಧॻͷਖ਼ମ ୡͷ͍ͬͯΔ$47͡Όͳ͍ $47 ܗࣜಧॻྫ
LJSJDPԿނੜ·Εͨͷ͔ $47ܗࣜಧॻͷ࡞Γํ ࣮ຊۚػߏ͔Βʮಧॻ࡞ϓϩάϥϜʯͱ͍ ͏ΞϓϦέʔγϣϯ͕ެ։͞Ε͍ͯΔ IUUQXXXOFOLJOHPKQEFOTIJCFOSJTFUTVNFJIUNM
LJSJDPԿނੜ·Εͨͷ͔ $47ܗࣜಧॻͷ࡞Γํ ࣮ຊۚػߏ͔Βʮಧॻ࡞ϓϩάϥϜʯͱ͍ ͏ΞϓϦέʔγϣϯ͕ެ։͞Ε͍ͯΔ IUUQXXXOFOLJOHPKQEFOTIJCFOSJTFUTVNFJIUNM ಈ࡞ڥ 8JOEPXTͷΈ
LJSJDPԿނੜ·Εͨͷ͔ ݁Ռ w ࡞ۀ4NBSU)3Ͱ͍݁ͨ͠ w F(PWిࢠਃιϑτΣΞ͔Β$47ܗࣜಧॻ͕ ࡞Ͱ͖Δͱศར w ಧॻ࡞༷ॻެ։͞Ε͍ͯΔ w
IUUQTXXXOFOLJOHPKQEFOTIJCFOSJTFUTVNFJIUNM 3VCZϥΠϒϥϦͱͯ͠࡞ɺެ։
F(PWిࢠਃΛࢧ͑Δٕज़ͦͷ͓ΘΓ
·ͱΊ
·ͱΊ w 4NBSU)3F(PWిࢠਃΛͬͯ ࣾձอݥ࿑ಇอݥؔ࿈ͷखଓ͖Λߦ͍·͢ w F(PWిࢠਃΛࢧ͑Δ3VCZϥΠϒϥϦΛ ։ൃɾެ։͍ͯ͠·͢ w ͜Ε͔Βͬͱ͍͘͢ͳΔͱ͍͍ͳ
ͦΜͳ4NBSU)3ؒΛ୳͍ͯ͠·͢ ΤϯδχΞઈࢍ࠾༻த IUUQTTNBSUISDPKQSFDSVJUIFMMPXPSME
044ؔ࿈هࣄ w F(PW"1*ʹରԠͨ͠HFNʮLJKJʯΛެ։͠·ͨ͠2JJUB w IUUQTRJJUBDPNLBLJQPJUFNTDDFGEGDGFE w ߦखଓ͖ͷిࢠਃΛͬͱۙʹʂ$47ܗࣜಧॻ࡞ϥΠϒϥϦ ʮLJSJDPʯΛެ։͠·ͨ͠4NBSU)35FDI#MPH w IUUQUFDITNBSUISKQFOUSZ
w 4NBSU)3ΦʔϓϯιʔεLJSJDPͷϩΰͷ࡞Γํ4NBSU)35FDI #MPH w IUUQUFDITNBSUISKQFOUSZ
࿈ܞ"1*ͷগ͠େมͳͱ͜Ζ ిࢠॺ໊͖ͷ 9.-Ͱͳ͚ΕͳΒͳ͍ w ຊਓ ࣄۀॴ ֬ೝ ˞ ɺվ᜵ݕͳͲͷͨΊ
w શϦΫΤετͰඞਢ ˞ิ ిࢠূ໌ॻࣄۀॴຖʹ࡞͕ඞཁ
࿈ܞ"1*ͷগ͠େมͳͱ͜Ζ શͯͷϦΫΤετʹ ࣄલ४උ͕ඞཁ ར༻ऀ*%Λొ͢Δ w ిࢠূ໌ॻͷొ ߋ৽ ޙʹඞཁ
ར༻ऀ*%Ͱೝূ͠ɺΞΫηεΩʔΛऔಘ͢Δ w ༗ޮظؒ͋Γ ϦΫΤετຖʹඞཁ ֤छిࢠਃॲཧ࣮ߦ
࿈ܞ"1*ͷগ͠େมͳͱ͜Ζ "1*༷ ॻ ͕େ w ࿈ܞ"1*ͷ9.-ߏఆٛॻ1%'Ͱఏڙ w ֤खଓ͖ͷਃ༷&YDFMͰఏڙ w
࣌ʑؒҧ͍ͬͯΔ w ૹ৴ͯ͠ेޙͰͳ͍ͱ֬ೝͰ͖ͳ͍ IUUQXXXFHPWHPKQTIJOTFJJOUFSGBDF@BQJEPXOMPBEIUNM