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
WordCampOsaka 2018 中規模案件のこなしかた
Search
Yousan_O
June 01, 2018
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WordCampOsaka 2018 中規模案件のこなしかた
WordCampOsaka 2018 中規模案件のこなしかた
Yousan_O
June 01, 2018
More Decks by Yousan_O
See All by Yousan_O
Katerについて
yousan
0
67
小規模受託開発におけるGraphQL
yousan
0
160
Amplify Consoleで作る、CloudFront、Lambda@Edgeを使ったマルチデプロイ環境とSPAのOGP対応/Amplify Console
yousan
0
1.3k
チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development
yousan
1
200
Git勉強会 Gitを中心としたワークフロー
yousan
0
150
CloudFormationを使ったPRを出しまくれるワークフロー/CloudFormaton for team
yousan
1
910
WordPress Security Incidents
yousan
1
1.4k
WordPressユーザからサーバ事業者さんへの要望
yousan
0
110
WordFes2017 制作現場のこれから 開発ワークフローとコーディング規約
yousan
2
750
Other Decks in Programming
See All in Programming
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
Deep dive into the select statement (GopherCon UK)
jespino
0
170
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
190
Foundry Localでエージェント開発
seosoft
0
170
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
ALB ログから Trace を気合で繋げる技術
fohte
7
880
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1.1k
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
ソフトウェアラスタライザ
fadis
1
800
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
620
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Building an army of robots
kneath
306
46k
KATA
mclloyd
PRO
35
15k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Test your architecture with Archunit
thirion
2
2.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
How to Think Like a Performance Engineer
csswizardry
28
2.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
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
Ҋ݅ͷσΟϨΫλʔ͞Μ͚ʹ ϑΥʔΧε உੑඇΤϯδχΞ όʔδϣϯΞοϓ࣌ʹ֬ೝΛ ؆ུԽ ςετπʔϧΛ࡞ͬͯΈͯ
খنҊ݅ͱதنҊ݅ ΞδΣϯμ தنҊ݅ͷ தنҊ݅ͷ͜ͳ͔ͨ͠ ·ͱΊ
·ͱΊ
ਫฏۀ͢Δͱதن தنিಥ͢Δ ϋʔυʢπʔϧʣͱιϑτʢਓؒؔʣͰղܾ͠Α͏ શମΛ௨ͯ͠
ྑ͍งғؾͮ͘Γ ίʔσΟϯάنɺίʔσΟϯάϧʔϧͷࡦఆ $*ͷઃఆपΓ λεΫͷׂΓৼΓ σΟϨΫλʔͷิࠤɺٞࣄ ΣϒܥϓϩδΣΫτϚωʔδϟͷࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ࠙ձɺίϯτϦϏϡʔλʔσΠʹࢀՃ͠·͢ͷ Ͱɺ͓ؾܰʹ͔͚͍ͯͩ͘͞ʂͥͻʂ
εΩοϓ
ίʔσΟϯάɺϓϩάϥϜ෦ͷऀͷબఆ ໊শɺϦʔυΤϯδχΞɺϓϩδΣΫτϚωʔδϟɺϦʔμʔ ϝϯόʔਤͷ࡞ ϝϯόʔਤΛ࡞͢Δ͜ͱͰҙ͚͕ࣝΔ ͨͩ͠ڥքΛ໌֬ʹͤͣɺ౿Έೖͬͯॿ͚߹͏νʔϜʹɻ શମΛ௨ͯ͠