$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node.jsやPHPでも こわくないHeroku
Search
YAMAOKA Hiroyuki
June 22, 2017
Programming
1
1.7k
Node.jsやPHPでも こわくないHeroku
2017年6月22日、Heroku Meetup #17での発表資料です。
https://herokujp.doorkeeper.jp/events/61354
YAMAOKA Hiroyuki
June 22, 2017
Tweet
Share
More Decks by YAMAOKA Hiroyuki
See All by YAMAOKA Hiroyuki
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
260
エンジニアの「センス」とは何か / What is the sense of engineers
hiro_y
21
9.7k
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
32
29k
PHPで任意精度演算を行って「正しい」金額計算をする方法 / Perform arbitrary precision arithmetic in PHP to achieve "accurate" monetary calculations
hiro_y
2
3.8k
PHPのバージョンアップ実際のところどうなの? / How actually upgrade of PHP is
hiro_y
3
820
PHPのDI、attributesとこれから / PHP DI with attributes
hiro_y
1
2.6k
PHPのアノテーションの仕組みとメリット・デメリット / About PHP annotations
hiro_y
1
9.3k
株式会社 USEN Media - PHPカンファレンス北海道2019 / 2019-09-21_phpcondo-2019_usen-media
hiro_y
0
310
PHPのmiddlewareを 使いこなすために
hiro_y
4
2.6k
Other Decks in Programming
See All in Programming
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
240
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
280
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
120
React Native New Architecture 移行実践報告
taminif
1
160
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
130
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
490
20 years of Symfony, what's next?
fabpot
2
370
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
350
チームをチームにするEM
hitode909
0
340
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.7k
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
We Have a Design System, Now What?
morganepeng
54
7.9k
Designing for Performance
lara
610
69k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Practical Orchestrator
shlominoach
190
11k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Building an army of robots
kneath
306
46k
It's Worth the Effort
3n
187
29k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Transcript
/PEFKT1)1Ͱ ͜Θ͘ͳ͍)FSPLV )FSPLV.FFUVQ)FSPLV4USJLF ߹ಉձࣾςϯϚυɹࢁԬ
ࢿྉޙ΄Ͳެ։͠·͢ ࣸਅࡱӨ0, ʢγϟολʔԻফ͍ͯͩ͘͠͞ʣ
XFCΤϯδχΞͷਓʁ 3VCZ1)1/PEFKTଞ
·ͩ)FSPLVΛ ͬͨ͜ͱ͕ͳ͍ਓʁ
ࣗݾհ ࢁԬ UXJUUFSDPNIJSP@Z HJUIVCDPNIJSPZ ߹ಉձࣾςϯϚυදࣾһ גࣜձࣾΠϊϕʔλʔɾδϟύϯ$50ɺ(-"%%גࣜձٕࣾज़ސ
)FSPLVʹؔ͢Δొஃ 1)1ΧϯϑΝϨϯεԬ ʮ1)1Ͱ͜Θ͘ͳ͍)FSPLVʯ 1)1ΧϯϑΝϨϯεւಓ ʮ)FSPLVͰ1)1ͷίί͕ศརʯ
߹ಉձࣾςϯϚυ ݄ઃཱʢظʣ දࣾһਓ Ϗδωεࢧԉࣄۀ αʔϏε։ൃࣄۀ
Ϗδωεࢧԉࣄۀ ٕज़ސࣾ֎$50 ͍ΘΏΔडୗҊ݅ ྫελʔτΞοϓࢧԉͰࣾ֎$50 Λͭͭ͠ॳظ։ൃͷશͯΛ୲ )FSPLVͰ1)1ʢ1PTUHSF42-3FEJTʣ
αʔϏε։ൃࣄۀ DPOBTVʢνʔϜͰΓऔΓ͢ΔͨΊͷλεΫཧπʔϧʣ JSVDBʢϩάΠϯෆཁͰ͑Δࡏ੮ཧαʔϏεʣ NJNFNPʢ.BSLEPXOه๏Ͱॻ͚ΔςΩετڞ༗αΠτʣ
શ෦)FSPLVʢ1)1/PEFKTʣ
ུྺ XFCΞϓϦέʔγϣϯΤϯδχΞ 1)1ͱ͔/PEFKTͱ͔ ࣗࣾαʔϏεͰΠϯϑϥۀܦݧ͋Γ ࣸਅڞ༗ͷαΠτͱ͔
ࣾαʔόʔ͔Β%$ɺΫϥυ·Ͱ
ΠϯϑϥͷͭΒΈ ηοτΞοϓ ϛυϧΣΞͷόʔδϣϯΞοϓ ηΩϡϦςΟɾ੬ऑੑରԠ ϩάɺࢹɺϞχλϦϯάʜͳͲͳͲ
େมͰ͢ΑͶʂʂʂ
)FSPLVͰͷެ։ ΞϓϦΛ࡞ͬͯ %ZOPͷϓϥϯΛબΜͰ "EEPOΛΈ߹Θͤͯ ڥมΛઃఆͯ͠⚙
ίʔυΛQVTIͯ͠σϓϩΠ
ڥઃఆΛίʔυԽ 5FSSBGPSNCZ)BTIJ$PSQ Ϋϥυڥͷࣗಈߏஙπʔϧ ςϯϓϨʔτϑΝΠϧͰߏΛཧ "84($1.4"[VSF)FSPLV
͘͞ΒͷΫϥυʹରԠ
5FSSBGPSN)FSPLV1SPWJEFS ΞϓϦͷཧ DPOpHཧ ΞυΦϯͷཧ υϝΠϯཧ
1JQFMJOFཧʜͳͲ
NJNFNPͷ߹ Ͱ͖Δ͜ͱ ΞϓϦͷཧʢDPOpHཧʣ ΞυΦϯͷཧ υϝΠϯཧ
1JQFMJOFཧ
ڥߏஙͷํ ڥมʢDPOpHʣ5FSSBGPSNͰ "EEPOͷߏIFSPLVίϚϯυͰ શ෦5FSSBGPSNͰ͍͍͚Ͳɺ NJHSBUJPOͱ͔ͪΐͬͱ͜Θ͍ͳͱ υϝΠϯ44-ͷઃఆઃఆը໘Ͱ
)FSPLVͰ44- IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFT BVUPNBUFEDFSUJpDBUFNBOBHFNFOU -FUT&ODSZQUͰ͏·͍͜ͱͯ͘͠ΕΔ ࣗಈԆ %/4ͷઃఆ͕దͳΒɺ
ઃఆը໘ͰϘλϯԡ͚ͩ͢
ଞʹ%PDLFSΛ ͏ͱ͍͏ख͋Γ·͢Ͷ ʢͦͷ͏ͪखΛग़͍ͨ͠ʣ
1)1Λ)FSPLVͰಈ͔͢ DPNQPTFSMPDLʢDPNQPTFSKTPOʣ 1)1PS))7. "QBDIFPS/HJOY 1)1'1.ͱͯ͠ಈ࡞
֦ுἧ͍ͬͯΔʢDPNQPTFSKTPOͰࢦఆʣ
/PEFKTΛ)FSPLVͰಈ͔͢ ZBSOMPDLPSQBDLBHFKTPO OQNTUBSUͳͲͰىಈεΫϦϓτ XFCOQNTUBSU UISPOHͳͲͰΫϥελϦϯά
JSVDBͷ߹ IUUQTJSVDBDP ϩάΠϯෆཁͷࡏ੮ཧπʔϧ% ʮௐ͞ΜʯΈ͍ͨͳ ͦ͏͍͑։ൃ߹॓ͰͰ࡞ͬͨ
؆୯ʹಈ͔͍ͨ͠➡)FSPLVͰ
JSVDBDPUPQ
JSVDBDPSPPN
JSVDBͷΘΕํ ࠓ݄ߋ৽ͷ͋ͬͨϧʔϜ ඇ*5ܥͷάϧʔϓاۀ༷͕த৺ 4MBDLͳΜͯΒͳ͍͕ଟ͍ ࡏ੮͚ͩͰͳ͘ग़ୀۈͷཧͱͯ͠
ߦಈ༧ఆදͱͯ͠ʜͳͲͳͲ
JSVDBͷ࡞Γํ ॳΊͯͷ/PEFKTΞϓϦ ϑϨʔϜϫʔΫ&YQSFTT σʔλϕʔε1PTUHSF42- ηογϣϯͱΩϟογϡ3FEJT
ॳ͔Β)FSPLVΛҙࣝͨ͠։ൃ
ॳΊͯͳͷͰ /PEFKTͷΠϯϑϥͷΈํΒͳ͍ ։ൃ߹॓ͳͷͰௐͯΔ༨༟ͳ͍ DPOBTVͰ)FSPLVطʹ͍ͬͯͨ ͦ͏ͩɺ)FSPLVͰ/PEFKT
JSVDBͷ։ൃϓϩηε ϩʔΧϧͰ։ൃ (JU)VCͱ$JSDMF$*Λར༻ $JSDMF$*͔Β)FSPLVʹࣗಈσϓϩΠ TUBHJOHڥͷΈɺຊ൪ڥखಈ
1JQFMJOFͷػೳ͍ͬͯ·ͤΜ
JSVDB3FTPVSDFT
JSVDBͷຊ൪ߏ ࢮ׆ࢹ6QUJNF3PCPU ϞχλϦϯά.FUSJDTͱ-JCSBUP %#)FSPLV1PTUHSFT ηογϣϯͱΩϟογϡ3FEJT$MPVE
ϩάू1BQFSUSBJM
4MBDLʹ͍Ζ͍Ζ௨ ։ൃ(JU)VCɺ$JSDMF$* σϓϩΠ௨)FSPLV%FQMPZ)PPLT Τϥʔϩά1BQFSUSBJM͔Βਖ਼نදݱͰ ʑͷ(PPHMF"OBMZUJDTͷʢ("4ʣ
Πϕϯτ৽نొͳͲ
)FSPLV$IBU0QT IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFT DIBUPQT 1VCMJD#FUBʢࢼͤΔʂʣ 1JQFMJOFͷૢ࡞σϓϩΠ͕Ͱ͖Δ ΕΔ͜ͱ૿͑Δͷ͔ɺظ
)FSPLVຊʹศར ͋Γ͕ͱ͏ɺͰ
ศར͗͢Δฐʜ ΠϯϑϥΛ)FSPLVʹҕͶ͗͢Δ %PDLFSͱ͔͑ղܾ͢Δʁ ҕͶͨ݁Ռɺࢼߦࡨޡ͕ݮΔ ৽͍ٕ͠ज़Λࢼ͢ؾ࣋ͪେࣄ
ଞͷڥͷ͜ͱ͓ͬͯ͘ඞཁ
͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͕͋ΕͲ͏ͧ