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.5k
What can Emacs be? / Hackers Champloo 2019
gongo
4
7.8k
昔の) PHP が誇った最高の機能 register_globals の真実、そして未来へ
gongo
8
11k
肉体言語 Tython (Muscle Language "Tython")
gongo
2
1.2k
Other Decks in Technology
See All in Technology
[CV勉強会@関東 CVPR2025 読み会] MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos (Li+, CVPR2025)
abemii
0
180
OpenAPIから画面生成に挑戦した話
koinunopochi
0
130
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
500
信頼できる開発プラットフォームをどう作るか?-Governance as Codeと継続的監視/フィードバックが導くPlatform Engineeringの進め方
yuriemori
1
360
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
5
3.1k
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
250
Mackerel in さくらのクラウド
cubicdaiya
1
410
Goでマークダウンの独自記法を実装する
lag129
0
180
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
370
datadog-distribution-of-opentelemetry-collector-intro
tetsuya28
0
220
OCI Bastionサービス
oracle4engineer
PRO
1
120
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
180
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
BBQ
matthewcrist
89
9.8k
Designing for Performance
lara
610
69k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Invisible Side of Design
smashingmag
301
51k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
A better future with KSS
kneath
239
17k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Adopting Sorbet at Scale
ufuk
77
9.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
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