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
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
32
小規模受託開発におけるGraphQL
yousan
0
110
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
730
WordPress Security Incidents
yousan
1
1.3k
WordPressユーザからサーバ事業者さんへの要望
yousan
0
90
WordFes2017 制作現場のこれから 開発ワークフローとコーディング規約
yousan
2
610
Other Decks in Programming
See All in Programming
TSConfigからTypeScriptの世界を覗く
planck16
2
1.3k
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
3
350
Doma で目指す ORM 最適解
nakamura_to
1
160
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
230
少数精鋭エンジニアがフルスタック力を磨く理由 -そしてAI時代へ-
rebase_engineering
0
130
インターフェース設計のコツとツボ
togishima
2
490
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
610
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
300
Practical Domain-Driven Design - Workshop at NDC 2025
mufrid
0
130
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
7
380
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.1k
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
380
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Docker and Python
trallard
44
3.4k
Balancing Empowerment & Direction
lara
1
84
Optimising Largest Contentful Paint
csswizardry
37
3.3k
What's in a price? How to price your products and services
michaelherold
245
12k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Why Our Code Smells
bkeepers
PRO
336
57k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
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
Ҋ݅ͷσΟϨΫλʔ͞Μ͚ʹ ϑΥʔΧε உੑඇΤϯδχΞ όʔδϣϯΞοϓ࣌ʹ֬ೝΛ ؆ུԽ ςετπʔϧΛ࡞ͬͯΈͯ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
·ͱΊ
ਫฏۀ͢Δͱதن தنিಥ͢Δ ϋʔυʢπʔϧʣͱιϑτʢਓؒؔʣͰղܾ͠Α͏ શମΛ௨ͯ͠
ྑ͍งғؾͮ͘Γ ίʔσΟϯάنɺίʔσΟϯάϧʔϧͷࡦఆ $*ͷઃఆपΓ λεΫͷׂΓৼΓ σΟϨΫλʔͷิࠤɺٞࣄ ΣϒܥϓϩδΣΫτϚωʔδϟͷࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠙ձɺίϯτϦϏϡʔλʔσΠʹࢀՃ͠·͢ͷ Ͱɺ͓ؾܰʹ͔͚͍ͯͩ͘͞ʂͥͻʂ
εΩοϓ
ίʔσΟϯάɺϓϩάϥϜ෦ͷऀͷબఆ ໊শɺϦʔυΤϯδχΞɺϓϩδΣΫτϚωʔδϟɺϦʔμʔ ϝϯόʔਤͷ࡞ ϝϯόʔਤΛ࡞͢Δ͜ͱͰҙ͚͕ࣝΔ ͨͩ͠ڥքΛ໌֬ʹͤͣɺ౿Έೖͬͯॿ͚߹͏νʔϜʹɻ શମΛ௨ͯ͠