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
970
WordCampOsaka 2018 中規模案件のこなしかた
WordCampOsaka 2018 中規模案件のこなしかた
Yousan_O
June 01, 2018
Tweet
Share
More Decks by Yousan_O
See All by Yousan_O
小規模受託開発におけるGraphQL
yousan
0
94
Amplify Consoleで作る、CloudFront、Lambda@Edgeを使ったマルチデプロイ環境とSPAのOGP対応/Amplify Console
yousan
0
1.1k
チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development
yousan
1
160
Git勉強会 Gitを中心としたワークフロー
yousan
0
120
CloudFormationを使ったPRを出しまくれるワークフロー/CloudFormaton for team
yousan
1
660
WordPress Security Incidents
yousan
1
1.3k
WordPressユーザからサーバ事業者さんへの要望
yousan
0
79
WordFes2017 制作現場のこれから 開発ワークフローとコーディング規約
yousan
2
530
よりよいコードを書く WordBench 富山 勉強会@富山市 第67回 2016年11月26日(土)
yousan
1
2.2k
Other Decks in Programming
See All in Programming
103 Early Hints
sugi_0000
1
230
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
return文におけるstd::moveについて
onihusube
1
1.2k
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
230
php-conference-japan-2024
tasuku43
0
320
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
790
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
160
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
400
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
830
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Thoughts on Productivity
jonyablonski
67
4.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Bash Introduction
62gerente
608
210k
Why Our Code Smells
bkeepers
PRO
335
57k
Speed Design
sergeychernyshev
25
670
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
How to Ace a Technical Interview
jacobian
276
23k
Optimizing for Happiness
mojombo
376
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing for Performance
lara
604
68k
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
Ҋ݅ͷσΟϨΫλʔ͞Μ͚ʹ ϑΥʔΧε உੑඇΤϯδχΞ όʔδϣϯΞοϓ࣌ʹ֬ೝΛ ؆ུԽ ςετπʔϧΛ࡞ͬͯΈͯ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
·ͱΊ
ਫฏۀ͢Δͱதن தنিಥ͢Δ ϋʔυʢπʔϧʣͱιϑτʢਓؒؔʣͰղܾ͠Α͏ શମΛ௨ͯ͠
ྑ͍งғؾͮ͘Γ ίʔσΟϯάنɺίʔσΟϯάϧʔϧͷࡦఆ $*ͷઃఆपΓ λεΫͷׂΓৼΓ σΟϨΫλʔͷิࠤɺٞࣄ ΣϒܥϓϩδΣΫτϚωʔδϟͷࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠙ձɺίϯτϦϏϡʔλʔσΠʹࢀՃ͠·͢ͷ Ͱɺ͓ؾܰʹ͔͚͍ͯͩ͘͞ʂͥͻʂ
εΩοϓ
ίʔσΟϯάɺϓϩάϥϜ෦ͷऀͷબఆ ໊শɺϦʔυΤϯδχΞɺϓϩδΣΫτϚωʔδϟɺϦʔμʔ ϝϯόʔਤͷ࡞ ϝϯόʔਤΛ࡞͢Δ͜ͱͰҙ͚͕ࣝΔ ͨͩ͠ڥքΛ໌֬ʹͤͣɺ౿Έೖͬͯॿ͚߹͏νʔϜʹɻ શମΛ௨ͯ͠