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
88
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
340
Snow Monkey とは
inc2734
0
1.2k
WordPress_テーマのつくりかた.pdf
inc2734
4
550
受託開発者だった僕が WordPress の有料テーマ開発者になって学んだこと
inc2734
1
1k
Snow Monkey(WordPress) による web コンテンツ制作の新しいカタチ【ビジネスパーソン向け】
inc2734
0
110
Snow Monkey とコミュニティ
inc2734
0
630
Snow Monkey における私の技術的偏愛
inc2734
0
570
受託をやめるな!
inc2734
0
1.8k
Other Decks in Programming
See All in Programming
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
320
品質ワークショップをやってみた
nealle
0
650
技術的負債の正体を知って向き合う
irof
0
270
Software Architecture
hschwentner
6
2.3k
オンデバイスAIとXcode
ryodeveloper
0
230
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
18
8.9k
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.2k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
160
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
950
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
186
22k
The Invisible Side of Design
smashingmag
302
51k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Fireside Chat
paigeccino
41
3.7k
Navigating Team Friction
lara
190
15k
Large-scale JavaScript Application Architecture
addyosmani
514
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() { …… } ); } ˠ
͋Μ·Γڹ͕ͳ͍ͷͰ ͥͻࢼͯ͠Έ͍ͯͩ͘͞ʂ