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
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
280
エンジニアの「センス」とは何か / What is the sense of engineers
hiro_y
21
9.8k
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
32
30k
PHPで任意精度演算を行って「正しい」金額計算をする方法 / Perform arbitrary precision arithmetic in PHP to achieve "accurate" monetary calculations
hiro_y
2
3.9k
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.4k
株式会社 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
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
920
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
200
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.2k
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
240
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
37k
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
200
Developing static sites with Ruby
okuramasafumi
1
340
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
540
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
200
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
250
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
180
WENDY [Excerpt]
tessaabrams
9
35k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
34
Designing for Timeless Needs
cassininazir
0
110
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
33
The Art of Programming - Codeland 2020
erikaheidi
56
14k
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ͱ͔͑ղܾ͢Δʁ ҕͶͨ݁Ռɺࢼߦࡨޡ͕ݮΔ ৽͍ٕ͠ज़Λࢼ͢ؾ࣋ͪେࣄ
ଞͷڥͷ͜ͱ͓ͬͯ͘ඞཁ
͋Γ͕ͱ͏͍͟͝·ͨ͠ ࣭͕͋ΕͲ͏ͧ