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
130
Amplify Consoleで作る、CloudFront、Lambda@Edgeを使ったマルチデプロイ環境とSPAのOGP対応/Amplify Console
yousan
0
1.2k
チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development
yousan
1
180
Git勉強会 Gitを中心としたワークフロー
yousan
0
140
CloudFormationを使ったPRを出しまくれるワークフロー/CloudFormaton for team
yousan
1
800
WordPress Security Incidents
yousan
1
1.4k
WordPressユーザからサーバ事業者さんへの要望
yousan
0
92
WordFes2017 制作現場のこれから 開発ワークフローとコーディング規約
yousan
2
660
Other Decks in Programming
See All in Programming
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
450
モビリティSaaSにおけるデータ利活用の発展
nealle
0
540
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
Amazon Bedrock Knowledge Bases Hands-on
konny0311
0
150
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
280
Flutterチームから作る組織の越境文化
findy_eventslides
0
510
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
670
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
650
OSS開発者の憂鬱
yusukebe
12
5.3k
What's New in Web AI?
christianliebel
PRO
0
130
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
320
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1.1k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Rails Girls Zürich Keynote
gr2m
95
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Speed Design
sergeychernyshev
32
1.2k
Designing for Performance
lara
610
69k
Scaling GitHub
holman
463
140k
Typedesign – Prime Four
hannesfritz
42
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
980
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
Ҋ݅ͷσΟϨΫλʔ͞Μ͚ʹ ϑΥʔΧε உੑඇΤϯδχΞ όʔδϣϯΞοϓ࣌ʹ֬ೝΛ ؆ུԽ ςετπʔϧΛ࡞ͬͯΈͯ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
·ͱΊ
ਫฏۀ͢Δͱதن தنিಥ͢Δ ϋʔυʢπʔϧʣͱιϑτʢਓؒؔʣͰղܾ͠Α͏ શମΛ௨ͯ͠
ྑ͍งғؾͮ͘Γ ίʔσΟϯάنɺίʔσΟϯάϧʔϧͷࡦఆ $*ͷઃఆपΓ λεΫͷׂΓৼΓ σΟϨΫλʔͷิࠤɺٞࣄ ΣϒܥϓϩδΣΫτϚωʔδϟͷࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠙ձɺίϯτϦϏϡʔλʔσΠʹࢀՃ͠·͢ͷ Ͱɺ͓ؾܰʹ͔͚͍ͯͩ͘͞ʂͥͻʂ
εΩοϓ
ίʔσΟϯάɺϓϩάϥϜ෦ͷऀͷબఆ ໊শɺϦʔυΤϯδχΞɺϓϩδΣΫτϚωʔδϟɺϦʔμʔ ϝϯόʔਤͷ࡞ ϝϯόʔਤΛ࡞͢Δ͜ͱͰҙ͚͕ࣝΔ ͨͩ͠ڥքΛ໌֬ʹͤͣɺ౿Έೖͬͯॿ͚߹͏νʔϜʹɻ શମΛ௨ͯ͠