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
Webサービス開発の変遷と現在
Search
Naoya Ito
July 12, 2014
Technology
22k
129
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webサービス開発の変遷と現在
Naoya Ito
July 12, 2014
More Decks by Naoya Ito
See All by Naoya Ito
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
4.3k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.7k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
8k
Functional TypeScript
naoya
19
6.9k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.8k
20230227-engineer-type-talk.pdf
naoya
91
87k
関数型プログラミングと型システムのメンタルモデル
naoya
63
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
Other Decks in Technology
See All in Technology
あけおめLINE 傾向とその対策
nasa9084
0
100
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
26
14k
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
610
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
960
CLIライブラリ開発を支える技術
htnabe
0
120
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
10分で知る最近のOmarchy
komagata
0
350
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
220
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
630
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
150
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
150
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Transcript
8FCαʔϏε։ൃτϨϯυͷ มભͱݱࡏ /BPZB*UP ,"*;&/QMBUGPSN*OD )BDLFST$IBNQMPP
None
None
None
None
None
None
ԭೄͷΈͳ͞Μ͜Μʹͪ
ΞδΣϯμ • ͘Β͍ͷ8FC։ൃΛৼΓฦΔ • ࡢࠓͷ8FCαʔϏε։ൃϓϩηε • ߟ
͜ͷͷ8FC։ൃͷมભ
ΤϙοΫϝΠΩϯάͩͬͨࣄ • +&& • ΞδϟΠϧ։ൃ • 044 • -".1 •
3BJMT"KBY • εϚʔτϑΥϯ • Ϋϥυ • Ϗοάσʔλ • (JU)VC ࠒ த൫ Ҏ߱
ͬ͘͟Γ͚Δͱ • લޙ – +&&ɺΞδϟΠϧ։ൃ • த൫ – 044ɺ-".1ɺ3BJMT"KBY
• Ҏ߱ – εϚʔτϑΥϯ – ΫϥυɺϏοάσʔλ – (JU)VC
ࣗͷλΠϜϥΠϯͱॏͶΔ • લޙ – +&&ɺΞδϟΠϧ։ൃ • த൫ – 044ɺ-".1ɺ3BJMT"KBY
• Ҏ߱ – εϚʔτϑΥϯ – ΫϥυɺϏοάσʔλ – (JU)VC χϑςΟ ʙ ͯͳ ʙ (3&& ʙ ,"*;&/QMBUGPSN*OD ʙ
લޙ • +&&ɺΞδϟΠϧ։ൃ – 4USVUTɺ91 • ʮ8FCΞϓϦέʔγϣϯʯͱ͍͏֓೦͕ఆண͠ ͨ • ΤϯλʔϓϥΠζͰੜ·Εͨ։ൃख๏ɾιϑτ
ΣΞ͕ίϯγϡʔϚ։ൃʹ – 4PMBSJTɺ0SBDMFɺ+BWBɺ/FUTDBQF&OUFSQSJTF 4FSWFS ࣮ࡍʹۀͰͬͯ·ͨ͠
࣌ͷงғؾ • ݸਓ͕దʹॻ͍ͨεΫϦϓτͰμϝ • Ұํɺ+&&ΤϯλʔϓϥΠζख๏ɺͬ ͯΈΔͱ8FCʹॏ͍ • ঃʑʹεΫϦϓτݴޠ 1FSM 1)1
Ͱͷ8FC ։ൃɺΞδϟΠϧ։ൃ͕Γ্͕Γ࢝ΊΔ ʮ1FSM+BWBΑΓ͍͔ Βμϝʯͱ՝ʹݴΘΕ ͨͷࠓͰΑ͍ࢥ͍ग़ Ͱ͢
(PPHMFͷ಄ ςΫϊϩδʔ͕ۀքΛݗ Ҿ͢Δɺͱ͍͏ைྲྀ
த൫ • 044ɺ-".1 – εΫϦϓτݴޠͰ։ൃ͢ΔࣄʹҟΛএ͑Δਓ ͍ͳ͘ͳͬͨ – -JOVYɺ.Z42-ͳͲ͕࣮༻తͳ࣭ʹ • Χʔωϧ.Z42-ͷϨϓϦέʔγϣϯػ ೳ
࣌ͷงғؾ • 8FCΞϓϦέʔγϣϯɺͬͱΧδϡΞϧʹ࡞ΕΔ ͣ – -".1044ʹ͔ͬΓɺݸਓখ͞ͳूஂ͕8FCαʔϏ εΛੜΈग़࣌͢ʹ – ˠ8FC –
։ൃϓϩηεɺͦΕʹ߹ΘͤͯϥΠτΣΠτʹ ͯͳɺͱ͍͏ͷ·͞ ʹͦΕΛମݱͨ͠Α͏ͳ ूஂͰͨ͠
None
8FC • (PPHMFͷϋοΧʔΧϧνϟʔ • 044-".1ʹΑͬͯɺΤϯύϫʔϝϯτ͞Εͨݸਓ খ͞ͳूஂ • ͦ͏͍͏த͔Βग़͖ͯͨ৽͍͠8FCاۀ
3BJMTͱ"KBY • ͦͷޙͷ8FCΞϓϦέʔγϣϯ։ൃͷ ํੑΛܾఆ͚ͮͨͭͷτϨϯυ – 8FCจࣈ௨ΓʮΞϓϦέʔγϣϯʯʹͳ Δ – ෳࡶͳ͜ͱΛ؆୯ʹˠ8FCΞϓϦέʔγϣ ϯ͕ߴԽ͍ͯ͘͠ͱ͍͏લஹ
h"p://www.slideshare.net/yohei/webapi-‐36871915
Ҏ߱ • ΫϥυɺϏοάσʔλɺ(JU)VC – *5ͷத৺ͱͳͬͨ8FC • 5IFDPOTVNFSJ[BUJPOPG*5ᴷίϯγϡʔϚ͔ΒΤϯ λʔϓϥΠζɻߏͷٯస – Ϋϥυ
*BB41BB4 ŋŋŋෳࡶԽ͍ͯ͘͠8FCΞ ϓϦέʔγϣϯ։ൃͷ෦ΛʮαʔϏεʯʹ – খ͞ͳूஂͰߴͳΞϓϦέʔγϣϯɻେ͖ͳूஂ ΑΓෳࡶͭߴͳγεςϜ ଓ͚ͯɺ͜ͷลΛΈ ͍͖ͯ·͢
None
None
(JU)VCͱΫϥυͷ࣌ ΠϚίί
,"*;&/QMBUGPSN*OD "#ςετΫϥυαʔϏεQMBO#$%Λ։ൃ͢Δ໊ఔͷελʔτΞοϓ
None
8FC։ൃͷӈཌྷɾࠨཌྷ • ϥΠτΟϯά – ܧଓతΠϯςάϨʔγϣϯɺܧଓతσϦό ϦʔɺςετࣗಈԽFUD • ϨϑτΟϯά – εΫϥϜɺேձɺࣗݾ৫ԽFUD cf.
h"p://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-‐and-‐leDwing-‐of-‐agile.html
։ൃϓϩηε • ϥΠτΟϯά ٕज़తϓϥΫςΟε – (JU)VCɺίʔυϨϏϡʔ – ܧଓతΠϯςάϨʔγϣϯσϦόϦʔ –
$IBU0QT – Ϋϥυͷ׆༻ • ϨϑτΟϯά νʔϜڥ – ϦϞʔτϫʔΫ – ேձɺ,15 – 2JJUB5FBNʹΑΔใڞ༗ – ࣗݾ৫Խ ओʹͬͪ͜ͷΛ͠ ·͢
(JU)VC • (JUSFQPTJUPSZIPTUJOHˠ4PDJBM $PEJOH – (JUͷͨΊͷதԝϨϙδτϦݟ͑ΔԽ – ίϛϡχέʔγϣϯ 044։ൃͳͲʹ͏ɺ͔ Βɺ͜ͷʙͰʮا ۀͰ͏ʯ
(JU)VCͰϓϧϦΫ։ൃ ͯ͢ͷมߋ1VMM 3FRVFTUͰ
ϓϧϦΫ։ൃͷ࣮ࡍ • ҰߦͷมߋϓϧϦΫͰ – Ϛʔδૢ࡞ʹϫʔΫϑϩʔ͕ඥ͍ͯΔ͔Β ޙड़ – Ұߦͷมߋɺͱ͔ͷ࣌΄Ͳো͕͓͖͍͢ $PPLQBEஊ
ʮ(JU)VC্Ͱ͢ʯͷ ͕Α͍࡞๏ ձͷݟ͑ ΔԽ ίʔυϨϏϡʔ
ίʔυϨϏϡϫʔͷࣗಈΞαΠϯ
8*1 8PSL*O1SPHSFTT ʮऴΘ͔ͬͯΒ1VMM 3FRVFTUʯͰͳ͘ ʮ࢝ΊΔͱ͖ʹ1VMM 3FRVFTUʯ
ܧଓతΠϯςάϨʔγϣϯ $JSDMF$*
1VMM3FRVFTUͱ$* • มߋͷͨͼʹςετ • ςετ݁Ռ1VMM3FRVFTU্ͰՄࢹԽ
Ϛʔδͨ͠ΒσϓϩΠ • $JSDMF$*ͰσϓϩΠ – ಛఆͷϒϥϯνʹมߋ͕͋ͬͨΒσϓϩΠ – 1VMM3FRVFTUΛϚʔδ͢ΔσϓϩΠ͢Δ production:
branch: deployment/production commands: -‐ ./script/assets_precompile.sh: -‐ bundle exec cap production deploy:migrations: qa: branch: deployment/qa commands: -‐ ./script/assets_precompile.sh: -‐ bundle exec cap qa deploy:migrations:
ܧଓతσϦόϦʔ master deployment/ edge deployment/ qa มߋNBTUFS QVMMSFRVFTU NFSHFͨ͠ ΒࣗಈͰ
FEHFɻ (開発環境) ຊ൪ϦϦʔε NBTUFS͔ΒRB QVMMSFRVFTU RBNFSHF͞ ΕΔͱ2"ڥࣗ ಈσϓϩΠ FEHFQVTI ͞ΕΔͱ։ൃػ ࣗಈσϓϩΠ deployment/ production 2"ऴΘͬͨ ΒQSPEVDUJPO ಉ༷ʹ
1VMM3FRVFTUσϓϩΠ • σϓϩΠλεΫ1VMM3FRVFTUͰ࣮ߦ – σϓϩΠͷݟ͑ΔԽ – NFSHFϘλϯΛԡ͢ͱ$JSDMF$*ܦ༝ͰσϓϩΠ͕Δ
͜Εԡ͢ɻҎ্ ݁ՌɺσϓϩΠͷํ๏
$IBU0QT • IVCPU • CPUʹ͓ئ͍ͯ͠ΦϖϨʔγϣϯ
None
None
ϦϦʔε࣌ͷνΣοΫϦετΛ IVCPU͕ࣗಈ࡞
࠷ۙCPU͕CPUΛಈ͔ͯ͠Δ ʮ͓લͷมߋؒͳ͘Ͱ Δ͔Β࠷ऴ֬ೝ͠ΖΑʯ ͱ͍͏ͷIVCPU͕ఆظ తʹݺͼ͔͚ͯ͘Δ CPU͕IVCPUʹ ໋ྩΛग़͢
(JU)VCͰมΘͬͨ͜ͱ • 044։ൃͷΑ͏ͳΓํΛɺاۀνʔ Ϝ։ൃʹ ͦ͏͍͑(PPHMF͕ɺͦ ΜͳΓํΛͯ͠Δͱ͍ͣ ͿΜલʹݴͬͯͨ
(JU)VCͰมΘͬͨ͜ͱ • 1VMM3FRVFTUʹϫʔΫϑϩʔΛू͞ ͤΔɺͱ͍͏ߟ͑ํ – ίʔυϨϏϡʔɺςετɺ2"ɺσϓϩΠŋŋŋ – ؔ࿈λεΫ͕ɺͭͷ1VMM3FRVFTUͷจ຺ Ͱ·ͱΊΒΕΔ ʮ˓˓ͱ͍͏ػೳΛՃ͢ΔͨΊ ʹߦΘΕͨίϛοτ܈ɺσΟε ΧογϣϯɺϨϏϡʔ݁Ռɺςɹ
ετͷཤྺŋŋŋʯͰҰͭͷ1VMM 3FRVFTU
ΫϥυαʔϏεͷ࣌ • ࣗͨͪͷϑΥʔΧεͰͳ͍ͱ͜Ζɺ ੵۃతʹΫϥυΞτιʔε
"84 QMBO#$%ͷαʔόʔΠ ϯϑϥશͯ"84Ͱ
)FSPLV • IVCPUQMBO#$%ͷαϒγεςϜͷӡ ༻ʹར༻
$JSDMF$* $JBTB4FSWJDF ςετ࣮ߦ͚ͩͰͳ͘ɺ σϓϩΠͳͲ(JU)VC ϫʔΫϑϩʔͷ͏ͻͱ ͭͷཁʹͳ͍ͬͯ·͢
$BTQFS+4Ͱ&&
&&Λ$JSDMF$*Ͱ
4USJQF ܾࡁ
.BOESJMM ϝʔϧૹ৴
#VHTOBH ྫ֎ཧ
#SPXTFS4UBDL Ϋϩεϒϥβςετ
IVCPUͰΫϩεϒϥβͷ εΫγϣࡱӨ
.BDLFSFM ϞχλϦϯά
/FX3FMJD ϞχλϦϯάͱࢹ
1BHFS%VUZ Ξϥʔτ TFOTV͕ҟৗΛݕ͢ Δͱ1BHFS%VUZ͕ࣗ ಈͰ୲ʹ ి
#JH2VFSZ σʔλղੳ ԯϨίʔυΛඵͰ 42- .11
%FWFMPQFS1SPEVDUJWJUZ • 2ʮ͜ͷखͷಋೖͷۀ࣌ؒͲ͏ͬͯ࡞ΔΜͰ͔͢ ʯ • "ʮͦΕΛϛογϣϯʹͯ͠ΔνʔϜ͕͋Γ·͢ʯ ଞࣾͰࣅͨΑ͏ͳΛ ͱ͖Ͳ͖ฉ͘
ࢥͬͨ͜ͱ
8FCͷਐԽࢭ·Βͳ͍ • ؒɺԿ͜ΕͰܾఆ൛͔ͱࢥͬͨ ͜ͱ͕͋ͬͨ – ࣮ࡍɺͦ͜Ͱࢭ·Δ͜ͱͳ͔ͬͨ • (PPHMFɺ'BDFCPPLɺ5XJUUFS • 3BJMTɺ/PEFKTɺJ04"OESPJEɺ(PMBOH •
ͲΜͲΜߴԽɾෳࡶԽ͢Δ8FCΞϓϦέʔγϣ ϯεϚʔτϑΥϯ։ൃ ͍ͭ·Ͱཱͬͯམͪ ண͔ͳ͍
ະདྷ༧ଌ͍͠ • (JU)VC͕ɺΫϥυ͕ɺΈ͍ͨͳ͙ۙΒ͍ ͋Δఔݟ͑Δ • େ͖ͳมԽಥવͬͯ͘Δɻ༧ଌͰ͖ͳ͍ – 3VCZPO3BJMTͷϦϦʔεɺ"84ɺ(JU)VCͷا ۀͰͷར༻ŋŋŋFUD –
όζϫʔυͱݴΘΕ͍ͯͨͷɺؾͮ͘ͱఆணͨ͠ Γ͢Δ ྫΫϥυɺϏοάσʔλ
ະདྷ༧ଌΑΓɺมԽͷదԠ • มԽ͢Δ͜ͱΛલఏʹɺదԠ͠ଓ͚Δ͔͠ͳ͍ – ܧଓతʹ – ΞδϦςΟͷ্ • ໘ന͍͜ͱ͕ىͬͨ͜ͱ͖ɺͬ͞ͱඈͼ͔͔Ε Δ͔Ͳ͏͔
– ݸਓతʹɺνʔϜతʹ – จԽॏཁ
อकతPSਐาత ͍͠ŋŋŋ • ผʹɺ৽͍͜͠ͱ͕ॏཁͳͷͰͳ͍ – ྡͷࣳৗʹ੨͍ – ྲྀߦΛऔΓೖΕΔ͜ͱ͕ඞͣ͠ਖ਼ղͱݴ͑ͳ͍ •
ݴޠΛΓ͑ͨΒ࣍ͷݴޠ͕དྷͨɺͱ͔ɻӬٱʹϑΥʔΧεͰ͖ ͳ͍ • อकత͗ͯ͢औΓ͞ΕΔ – ʮखஈͱతΛཤ͖ҧ͑Δͳʯ͓͡͞Μ – खஈΛతԽͯ͠Ͱ͔ͬͬͨํ͕݁Ռతʹྑ͍͜ͱ͋Δ
ͳͥখ͞ͳνʔϜ͕༗ར͔ খ͞ͳνʔϜมԽ ͷ߅ྗ͕খ͍͞
اۀ͖͔͢ • Α͘Θ͔Βͳ͍ – ιϑτΣΞ։ൃʹ͓͍ͯ େہతʹ খ ͞ͳνʔϜͷํ͕༗ར – (PPHMF'BDFCPPLͷΑ͏ͳ)BDLFS 8BZ͕εέʔϧ͢Δ৫ͷͨΊͷཁૉɺ͔
• େ͖͘ͳͬͯյͤΔจԽ • ϗϥΫϥγʔ
݁ŋŋŋͳ͠ • ͳͥͳΒɺ͜Ε͔ΒมԽ͠ଓ͚Δ͔Β • େࣄʹ͍ͯ͠Δ͜ͱ – ʮͦͷ࣌ͦͷ࣌Ͱɺೲಘͯ͠Ε͍ͯΔ͔ʯ • ࠓ͕͍ࣗͬͯΔ͜ͱ͕ɺେͰؒҧ͍ͬͯ ͳ͍ͱࢥ͑Δ͜ͱ •
ೲಘͰ͖͍ͯΕɺͤʹ։ൃͰ͖ΔɻೲಘͰ͖ ͳ͍ͳΒյ͢
·ͱΊ • 8FC։ൃͷͱࠓΛΈͨ • (JU)VCɺΫϥυͷ࣌ • ͜Ε͔Β8FC։ൃ8FCͱڞʹมԽ͠ ଓ͚Δ • มԽʹదԠ
• ೲಘތΓ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ण࢘Ώ͖CZBXBZVLJ $$#:/$/%