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
WordCampOsaka 2018 中規模案件のこなしかた
Search
Yousan_O
June 01, 2018
Programming
1
1.1k
WordCampOsaka 2018 中規模案件のこなしかた
WordCampOsaka 2018 中規模案件のこなしかた
Yousan_O
June 01, 2018
Tweet
Share
More Decks by Yousan_O
See All by Yousan_O
Katerについて
yousan
0
46
小規模受託開発におけるGraphQL
yousan
0
120
Amplify Consoleで作る、CloudFront、Lambda@Edgeを使ったマルチデプロイ環境とSPAのOGP対応/Amplify Console
yousan
0
1.1k
チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development
yousan
1
180
Git勉強会 Gitを中心としたワークフロー
yousan
0
130
CloudFormationを使ったPRを出しまくれるワークフロー/CloudFormaton for team
yousan
1
750
WordPress Security Incidents
yousan
1
1.3k
WordPressユーザからサーバ事業者さんへの要望
yousan
0
92
WordFes2017 制作現場のこれから 開発ワークフローとコーディング規約
yousan
2
630
Other Decks in Programming
See All in Programming
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
140
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
3
500
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
230
新しいモバイルアプリ勉強会(仮)について
uetyo
1
230
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
320
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
220
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
9
1.2k
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
コーディングエージェント概観(2025/07)
itsuki_t88
1
470
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
400
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
How to Ace a Technical Interview
jacobian
278
23k
Designing for Performance
lara
610
69k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Building Applications with DynamoDB
mza
95
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
தنҊ݅ͷ͜ͳ͔ͨ͠ WordCamp Osaka 2018
ౡݝࡏॅʢϦϞʔτʣ ΠϯϑϥɺϓϩάϥϜ ݄·Ͱݐઃۀʹۈ ݄͔ΒϑϦʔϥϯεʹ ࣗݾհ
ࣗݾհ
ݱࡏͷۀ ϓϩάϥϜΈࠐΈ γεςϜ։ൃ αʔόߏங αʔόอक αʔόܥࣄۀ Σϒ੍࡞ࣄۀ WordPress
தنҊ݅ͱਫฏۀɺਨۀ πʔϧʢ%PDLFSɺ$*ʣΛ͏ͱศར ͓ޓ͍Λଚॏ͠Α͏ ࠓ͓͍͑ͨ͜͠ͱ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
খنҊ݅ʹ͍ͭͯ
খنҊ݅ʹ͍ͭͯ
খنҊ݅ͷνʔϜϏϧυ σΟϨΫλʔ σβΠφʔ ίʔμʔ ΤϯδχΞʢ݉ʣ σβΠϯ σβΠϯΧϯϓ
ͰதنҊ݅ͱʁ
νʔϜϝϯόʔਓҎ্ ۀ தنҊ݅
தنҊ݅ͷྫ
தنҊ݅ͷྫ
None
None
None
தنҊ݅ྫͷνʔϜϏϧυ σΟϨΫλʔ σβΠφʔ ίʔμʔ σβΠϯ σβΠϯΧϯϓ ϓϩάϥϚʔ x 2 ςελʔ
x 3 ςετґཔ ༷
தنҊ݅ͷྫ
None
None
None
None
தنҊ݅ྫͷνʔϜϏϧυ σΟϨΫλʔ σβΠφʔɾίʔμʔ ϓϩάϥϚʔ x 2 ςελʔ x 3 ςετґཔ
༷
খن ৬छ͕ඃΒͳ͍ ֓Ͷ໊ҎԼ தن ৬छ͕ඃΔ ֓Ͷ໊Ҏ্ খنWTதن
খنҊ݅Ͱผͷ৬छΛͦΕͧΕ༻ҙ ৬छͷֻ͚࣋ͪ͋ΓʢσβΠφʔ͞Μ͕ίʔσΟϯάɺσΟϨ Ϋλʔ͞Μ͕σβΠϯɺίʔσΟϯάʣ தنҊ݅Ͱಉ͡৬छͰۀ͕ൃੜ ίʔμʔ͞Μ͕ख͚ͯ͠ରॲ ΤϯδχΞ͕ਓ தنҊ݅ͱۀ
ਨۀͱਫฏۀ
νʔϜϝϯόʔ͕ҧ͏৬ۀͷ߹ ਨۀ ಉ͡৬छͷۀ ਫฏۀ ਨۀͱਫฏۀ σΟϨΫλʔ σβΠφʔ ίʔμʔ ΤϯδχΞʢ݉ʣ ϓϩάϥϚʔ
x 2
খنҊ݅ ਨۀͷΈ தنҊ݅ ਫฏۀ͋Γ খنWTதن
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
தنҊ݅Ͱͷ
͓ޓ͍ͷྖҬ͕ҟͳΔ Δ͖λεΫ͕͖ͬΓ͍ͯ͠Δ িಥ͠ʹ͍͘ ਨۀͰ ͓ޓ͍Λଚॏ͠Α͏Ͷʂ
͓ޓ͍ͷྖҬ͕ॏෳ͢Δ ίʔυϨϕϧͰিಥ͢Δ όάमਖ਼ͷᐆດʹͳΔˡόάͷݪҼʜʁ ਫฏۀͰ ͜ͷόάԿ͕ݪҼʁ
͓ޓ͍ͷྖҬ͕ॏෳ͢Δ ίʔυϨϕϧͰিಥ͢Δ όάमਖ਼ͷᐆດʹͳΔˡόάͷݪҼʜʁ όάͷΛٻ࢝͠ΊΔ ਫฏۀͰ όάຒΊͨͷ୭ͶΜʂ > git blame
͋Δॴͷίʔυ͕ଞਓͷίʔυΛഁյ͢Δ $44ͷ่յ ʮͱΓ͋͑ͣJNQPSUBOUʯ ਓͷ$44ׂ͕ΓࠐΜͰ͘Δ ίʔσΟϯάنΛकΒͳ͍ ໊ࢦ͠ͷόάใࠂ িಥίʔυϨϕϧͰͷিಥ margin: 0; important!
position: relative; important font-size: 1.2em; important! if (is_single()) return TRUE; else return false;
͋Δॴͷίʔυ͕ଞਓͷίʔυΛഁյ͢Δ $44ͷ่յ ʮͱΓ͋͑ͣJNQPSUBOUʯ ਓͷ$44ׂ͕ΓࠐΜͰ͘Δ ίʔσΟϯάنΛकΒͳ͍ ໊ࢦ͠ͷόάใࠂ িಥίʔυϨϕϧͰͷিಥ ϘέʂΧεʂ ϘέʂΧεʂ
λεΫʮʢ୲ᓎҪʣ͍߹ΘͤϑΥʔϜ༰मਖ਼ʯ λεΫ̎ʮʢ୲ͻΖ͘ʣ͍߹ΘͤϑΥʔϜͷ$47ग़ྗʯ িಥλεΫ୲
λεΫʮʢ୲ᓎҪʣ͍߹ΘͤϑΥʔϜ༰मਖ਼ʯ λεΫ̎ʮʢ୲ͻΖ͘ʣ͍߹ΘͤϑΥʔϜͷ$47ग़ྗʯ मਖ਼͕িಥ͢Δʂ িಥλεΫ୲ PMԿͯ͠ΜͶΜʂ
ݱ͕Ԍ্ʜ
ਨۀͷͱ͖িಥ͠ʹ͍͘ ਫฏۀ͢Δͱޮ͕Լ͕Δ ਓ ਓ㱠ਓ Ԍ্͍͢͠ݪҼ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
ղܾͷྫ
ίʔσΟϯάʹϧʔϧΛઃ͚Δ ίʔυن ໋໊نଇΛ࡞Δ ࣾΨΠυϥΠϯ #&. ڭՊॻʢϦʔμϒϧίʔυ·͡ͰΦεεϝʣ িಥίʔυϨϕϧ if (is_single()) return
TRUE; else return false; margin: 0; important! position: relative; important font-size: 1.2em; important!
None
πʔϧΛͬͨن४ڌ
None
͓ޓ͍Λิ͍߹͑ΔνʔϜ࡞Γ όάΛΜͰਓΛ·ͣ HJUCMBNFʢΊΔʣͱHJUBOOPUBUFʢ٭ʣ ʮ୭͕ͳͥ͜ͷόάΛຒΊࠐΜ͔ͩʯΛ໌Β͔ʹ͢Δ͕ɺνʔ ϜͰઈରʹΊͳ͍ʢஊ0,ɻͨͩ͠ஊͰ༗Δ͜ͱΛ ໌Β͔ʹͯ͠όάΛຒΊͨ͜ͱΛΊͳ͍ʣ িಥλεΫ୲ιϑτͷղܾ
ίʔσΟϯάنͷಋೖ ΈΜͳͷڥͰಉ͡Α͏ʹಈ͘͜ͱͷಋೖʢ͖ੑʣ ࣗಈςετڥͷಋೖ িಥλεΫ୲ϋʔυղܾ
͖ੑ ႈੑ
%PDLFSͷಋೖʢ7BHSBOUʣ 8PSE1SFTTͷ߹ɺσʔλϕʔεͷಉظγεςϜಋೖ ͖ੑͷ֬อ
։ൃڥ
ϩʔΧϧ։ൃڥ ຊ൪αʔό ։ൃαʔό MAMP Vagrantʢڞ༻ʣ Vagrantʢݸผʣ Docker ͖ੑͳ͠ ͖ੑͳ͠ ͖ੑͳ͠
͖ੑ͋Γ ͖ੑ͋Γ қ: қ: த қ: த қ: ߴ қ: ߴ Πέͯͳ͍ ͪΐͬͱָ͍͠ ָ͍͠ ָ͍͠ ΊͬͪΌָ͍͠ʂ
ϩʔΧϧ։ൃڥ ຊ൪αʔό ։ൃαʔό MAMP Vagrantʢڞ༻ʣ Vagrantʢݸผʣ Docker ͖ੑͳ͠ ͖ੑͳ͠ ͖ੑͳ͠
͖ੑ͋Γ ͖ੑ͋Γ қ: қ: த қ: த қ: ߴ қ: ߴ Πέͯͳ͍ ͪΐͬͱָ͍͠ ָ͍͠ ָ͍͠ ΊͬͪΌָ͍͠ʂ DockerೖΕͯΈΑ͏ʂ
ਨۀͱਫฏۀͱ։ൃڥ ਨߦࣄႈੑʹͩ͜ΘΒͳͯ͘0, ͦΕͧΕͷ৬छ͕ಠࣗͷ։ൃڥͰ0, ։ൃ༻Ϩϯλϧαʔόɺ9".11ɺ.".1ɺ 7BHSBOUɺ%PDLFS ςετΛߦ͑Δڥͮ͘Γ શൠతʹΤϯδχΞʢϑϩϯτΤϯδχΞɺαʔό αΠυΤϯδχΞʣͷαϙʔτ͕ඞਢ ΤϯδχΞνʔϜ͕αϙʔτ͢Δҙࣝ %PDLFSಋೖ࣌ͷҙ
$* $JSDMF$* ϓϥΠϕʔτϦϙδτϦ੍࣌ؒݶ͖ແྉ %PDLFSαϙʔτ %PDLFSΛऔΓೖΕ͍ͯΕͦͷ··͑Δ ࣗಈςετڥ
։ൃڥ
None
$JSDMF$*Λͬͨྫ
ςετͱ εΫϦʔϯγϣοτ
1)1Ͱಈ͘ςετπʔϧ ࣗવݴޠͬΆ͘ςετ͕ॻ ͚Δ 8PSE1SFTTͱ૬ੑ͕ྑ͍ γφϦΦ͝ͱʹεΫγϣશ ࣗಈՄೳ #FIBU
εΫγϣΊͬͪΌ͍͍Ͱ͢ ࣮֬ͳ֬ೝ ػೳมߋ ඦฉҰݟʹ͔ͣ͠ εΫϦʔϯγϣοτ
ඇΤϯδχΞʹॻ͍ͯ΄͍͠ σΟϨΫλʔ ςελʔ ͕͍ͩ͠ #FIBU ͜Μͳͷແཧʂ
σϞ
None
None
None
Ҋ݅ͷσΟϨΫλʔ͞Μ͚ʹ ϑΥʔΧε உੑඇΤϯδχΞ όʔδϣϯΞοϓ࣌ʹ֬ೝΛ ؆ུԽ ςετπʔϧΛ࡞ͬͯΈͯ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
·ͱΊ
ਫฏۀ͢Δͱதن தنিಥ͢Δ ϋʔυʢπʔϧʣͱιϑτʢਓؒؔʣͰղܾ͠Α͏ શମΛ௨ͯ͠
ྑ͍งғؾͮ͘Γ ίʔσΟϯάنɺίʔσΟϯάϧʔϧͷࡦఆ $*ͷઃఆपΓ λεΫͷׂΓৼΓ σΟϨΫλʔͷิࠤɺٞࣄ ΣϒܥϓϩδΣΫτϚωʔδϟͷࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠙ձɺίϯτϦϏϡʔλʔσΠʹࢀՃ͠·͢ͷ Ͱɺ͓ؾܰʹ͔͚͍ͯͩ͘͞ʂͥͻʂ
εΩοϓ
ίʔσΟϯάɺϓϩάϥϜ෦ͷऀͷબఆ ໊শɺϦʔυΤϯδχΞɺϓϩδΣΫτϚωʔδϟɺϦʔμʔ ϝϯόʔਤͷ࡞ ϝϯόʔਤΛ࡞͢Δ͜ͱͰҙ͚͕ࣝΔ ͨͩ͠ڥքΛ໌֬ʹͤͣɺ౿Έೖͬͯॿ͚߹͏νʔϜʹɻ શମΛ௨ͯ͠