Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Node.jsやPHPでも こわくないHeroku
Search
YAMAOKA Hiroyuki
June 22, 2017
Programming
1.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Node.jsやPHPでも こわくないHeroku
2017年6月22日、Heroku Meetup #17での発表資料です。
https://herokujp.doorkeeper.jp/events/61354
YAMAOKA Hiroyuki
June 22, 2017
More Decks by YAMAOKA Hiroyuki
See All by YAMAOKA Hiroyuki
『タイタン』 - PHPer Book Revue
hiro_y
0
190
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
530
エンジニアの「センス」とは何か / What is the sense of engineers
hiro_y
21
10k
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
32
31k
PHPで任意精度演算を行って「正しい」金額計算をする方法 / Perform arbitrary precision arithmetic in PHP to achieve "accurate" monetary calculations
hiro_y
2
4.4k
PHPのバージョンアップ実際のところどうなの? / How actually upgrade of PHP is
hiro_y
3
900
PHPのDI、attributesとこれから / PHP DI with attributes
hiro_y
1
2.9k
PHPのアノテーションの仕組みとメリット・デメリット / About PHP annotations
hiro_y
1
10k
株式会社 USEN Media - PHPカンファレンス北海道2019 / 2019-09-21_phpcondo-2019_usen-media
hiro_y
0
360
Other Decks in Programming
See All in Programming
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
130
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
880
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
180
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
320
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
230
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
290
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
100
SODA - FACT BOOK(EN)
sodainc
1
200
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
210
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
320
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.5k
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
290
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
830
Producing Creativity
orderedlist
PRO
348
41k
Tell your own story through comics
letsgokoyo
1
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Cult of Friendly URLs
andyhume
79
7.1k
Bash Introduction
62gerente
615
220k
Exploring anti-patterns in Rails
aemeredith
4
560
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Docker and Python
trallard
47
4.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ͱ͔͑ղܾ͢Δʁ ҕͶͨ݁Ռɺࢼߦࡨޡ͕ݮΔ ৽͍ٕ͠ज़Λࢼ͢ؾ࣋ͪେࣄ
ଞͷڥͷ͜ͱ͓ͬͯ͘ඞཁ
͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͕͋ΕͲ͏ͧ