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
Snow Monkey CM
Search
Takashi Kitajima
September 12, 2021
Programming
0
83
Snow Monkey CM
2021年9月10日に開催された「利用規約とプライバシーポリシーを通じたサイトの構築と基礎 WP ZoomUP #72」のスポンサー CM です。
Takashi Kitajima
September 12, 2021
Tweet
Share
More Decks by Takashi Kitajima
See All by Takashi Kitajima
Snow Monkey&unitone から見た WordPress エディターの変遷
inc2734
0
140
メンテナンス性を考慮した CSS 設計
inc2734
0
330
Snow Monkey とは
inc2734
0
1.1k
WordPress_テーマのつくりかた.pdf
inc2734
4
530
受託開発者だった僕が WordPress の有料テーマ開発者になって学んだこと
inc2734
1
990
Snow Monkey(WordPress) による web コンテンツ制作の新しいカタチ【ビジネスパーソン向け】
inc2734
0
98
Snow Monkey とコミュニティ
inc2734
0
610
Snow Monkey における私の技術的偏愛
inc2734
0
560
受託をやめるな!
inc2734
0
1.7k
Other Decks in Programming
See All in Programming
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
120
CDK引数設計道場100本ノック
badmintoncryer
2
560
MCPで実現できる、Webサービス利用体験について
syumai
6
1.7k
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
20250708_JAWS_opscdk
takuyay0ne
2
150
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
40
14k
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
740
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
190
テスト駆動Kaggle
isax1015
1
870
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
270
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
2
440
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
16
6k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
How to Ace a Technical Interview
jacobian
278
23k
Code Reviewing Like a Champion
maltzj
524
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Thoughts on Productivity
jonyablonski
69
4.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Statistics for Hackers
jakevdp
799
220k
For a Future-Friendly Web
brad_frost
179
9.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
4OPX.POLFZ$.
w גࣜձࣾϞϯΩʔϨϯν w 4OPX.POLFZ 8PSE1SFTTͷςʔϚ w .881'PSN 8PSE1SFTTͷ͍߹ΘͤϑΥʔϜϓϥάΠϯ w 4NBSU$VTUPN'JFMET
8PSE1SFTTͷΧελϜϑΟʔϧυϓϥάΠϯ w #BTJT 4BTT$44ϑϨʔϜϫʔΫ ࣗݾհ ΩλδϚλΧγ !JOD
4OPX.POLFZ ԁ ੫ࠐ ϒϩοΫΤσΟλʔରԠ ΧελϚΠβʔ
։ൃऀ͚
4OPX.POLFZ#MPDLT ແྉ 8FCαΠτ੍࡞Ͱ͑Δ ΧελϜϒϩοΫΛ ͨ͘͞ΜՃ ͲͷςʔϚͰ༻Մೳ
ࠓ࠷ۙͷΞοϓσʔτͰ ಛʹؤுͬͨͷΛ ͭհ͍ͨ͠ͱࢥ͍·͢ɻ
ϒϩοΫͷΞΠίϯΛ৽
ϒϩοΫͷΞΠίϯΛ৽ Old New
λϒϒϩοΫ
λϒϒϩοΫ
λϒϒϩοΫ
λϒϒϩοΫ
λϒϒϩοΫ
ઃఆϑΝΠϧͷಡΈࠐΈํࣜ
w 4OPX.POLFZɺGVODUJPOTQIQʹॻ͘Α͏ͳίʔυΛ֤ॲཧ ͝ͱʹϑΝΠϧׂ͍ͯ͠Δʢ$44+4ಡΈࠐΈBQQTFUVQ BTTFUTQIQɺύϯͣؔ͘࿈BQQTFUVQCSFBEDSVNCTQIQͳ Ͳʣ w ׂ͢ΔϝϦοτɿͲ͜ʹԿͷॲཧ͕ॻ͔Ε͍ͯΔ͔Θ͔Γ͢ ͍ɺࢠςʔϚͰۭϑΝΠϧͰ্ॻ͖͢Δ͜ͱͰॲཧΛ·Δ͝ͱফ ͤΔ w
ׂ͢ΔσϝϦοτɿϑΝΠϧಡΈࠐΈ͕͍αʔόʔͰ ϖʔδͷಡΈࠐΈʹ͕͔͔࣌ؒΔ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ
͡Ό͋ॏࢹͷਓׂ͍ͯ͠ΔϑΝΠϧΛશ෦ ݁߹ͯ͠ɺͦΕΛಡΈࠐΉΑ͏ʹ͢Εྑ͘Ͷʁ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ
w ϖʔδΛ։͍ͨͱ͖ʹ݁߹ͨ͠ϑΝΠϧ͕ͳ͚Εɺ ֤ϑΝΠϧΛ݁߹ͤ͞Δ w ݁߹ͨ͠ϑΝΠϧ͕͋ΕͦΕΛಡΈࠐΉ w ݁߹ͨ͠ϑΝΠϧςʔϚʹϑΝΠϧͱͯ͠ Ωϟογϡ͞ΕΔ w ςʔϚΛΞοϓσʔτ͢Δ͔ɺΩϟογϡΫϦΞϘλϯ
Λԡ͢ͱ࠶݁߹͞ΕΩϟογϡ͞ΕΔ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ
w ͱ͍͑ɺ୯७ʹ݁߹͢Δ͚ͩͰಈ͔ͳ͍ w VTF͕ॏෳ͢Δͱಈ͔ͳ͍ ͦͷ··݁߹ͯ͠ϑΝΠϧʹಉ͡VTF͕ఆٛ͞Εͨ ঢ়ଶʹͳΔͱίέΔ w ϑΝΠϧͷ్தͰSFUVSO͍ͯ͠Δॲཧ͕͋Δ ͱɺ݁߹ͨ͠ͱ͖ʹͦ͜Ͱશମͷॲཧ͕ऴྃ
ͯ͠͠·͏ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ
w VTF͕ॏෳ͢Δͱಈ͔ͳ͍ ˠׅހߏจʹΑΔෳͷ໊લۭؒͷએݴ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ // ͔͜͜ΒϑΝΠϧ A namespace Hoge; use
ClassA; use ClassB; …… // ͔͜͜ΒϑΝΠϧB namespace Fuga; use ClassA; // ͜͜ͰίέͪΌ͏ …… // ͔͜͜ΒϑΝΠϧ A namespace Hoge { use ClassA; use ClassB; …… } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; …… } ˠ
w ϑΝΠϧͷ్தͰSFUVSOͪ͠Ό͏ ˠॲཧશମΛDBMM@VTFS@GVODͰғΜͰແ໊ؔԽ ઃఆϑΝΠϧͷಡΈࠐΈํࣜ // ͔͜͜ΒϑΝΠϧ A namespace Hoge {
if ( ! $foo ) { // ͜͜Ͱൈ͚ΔͱϑΝΠϧB ෦ͷ // ॲཧ͕ߦΘΕͳ͍ return; } …… } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; …… } // ͔͜͜ΒϑΝΠϧ A namespace Hoge { call_user_func( function() { if ( ! $foo ) { return; } …… } ); } // ͔͜͜ΒϑΝΠϧB namespace Fuga { use ClassA; call_user_func( function() { …… } ); } ˠ
͋Μ·Γڹ͕ͳ͍ͷͰ ͥͻࢼͯ͠Έ͍ͯͩ͘͞ʂ