SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
WordCamp

      クリーンな
      WordPressサイトのための
      PHPコーディングのお作法
      計画的に WordPress を拡張していくためのフレームワーク思考



                                    原 一浩 @kara_d




2011年11月27日日曜日                                     1
本日お話すること


 とかくカオスになりがちな WordPress の
 PHP周りのコードを、どう綺麗な設計で
 作るかということをデザイナーや
 ディレクター向けにわかりやすく扱います。

 1年後に見て「あれ、なんだっけ?」
 となりにくい、コラボレーションしやすい
 設計をご紹介します。



2011年11月27日日曜日              2
経緯


 WordPressを使った規模の大きい
 カスタマイズを担当

     ➡   大部分はフックを多用したプラグイン
     ➡   一部WordPressの内部コードをいじる
     ➡   既存プラグインはコードが入り組んでいて大変
     ➡   切り離せる部分は別途CakePHPを使って構築




2011年11月27日日曜日                     3
僕について




                 原 一浩
                 ➡   http://greative.jp/
                 ➡   twitter id : @kara_d
                 ➡   facebook : kazuhirohara




2011年11月27日日曜日                                 4
Greativeとは?




                         (グレーティブ)




     ➡   クリエイティブルールに沿った
         成果物の自動化と、
         トレンドに即した                    統計

         継続的な改良を
         統計的手法で解決          デザイン            トレンド
     ➡   karad@greative.jp
                                    システム




2011年11月27日日曜日                                    5
もくじ


 Framework
     ➡   考え方の基準について
 Design
     ➡   設計のほうのデザイン
 Coding
     ➡   コーディングにも決まりがある
     ➡   Naming
         •   命名規則について

     ➡   Leaning
         •   効率的にまなぶ


2011年11月27日日曜日            6
CakePHPでいうところのモンブラン




                 スパゲッティなコード
                 モンブラン        ジャム
                 こんがらがったケーキ   紙づまり




2011年11月27日日曜日                       7
プログラムを使った問題の解決方法


 技術的ノウハウからの解決
     ➡   オブジェクト指向など実装のパラダイム
     ➡   ライブラリ、別言語の使用



 考え方からの解決
     ➡   規約
     ➡   フォルダ構成
     ➡   プログラムの構成




2011年11月27日日曜日                8
プログラムを使った問題の解決方法


 技術的ノウハウからの解決
     ➡   オブジェクト指向など実装のパラダイム
     ➡   ライブラリ、別言語の使用



 考え方からの解決
     ➡   規約
     ➡   フォルダ構成
     ➡   プログラムの構成




2011年11月27日日曜日                9
テーマとは何か?


 テーマとは!
     ➡   単なるテンプレート集?
     ➡   アプリケーション?     or


 テーマは、
 「親子関係を作れるテンプレートであり、
  設定画面なども持てるアプリケーション」




2011年11月27日日曜日              10
Framework
                 考え方の基準について




2011年11月27日日曜日                11
ます、わかりやすくて、よい設計




                 後から土台を
                 作らないよね
2011年11月27日日曜日            12
フレームワークの考え方を取り入れよう


 フレームワーク(枠組み)
     ➡   思考の方法
     ➡   Webフレームワーク


                      ツールの使い方



                 構造           作る手順



                       命名規約


2011年11月27日日曜日                       13
Webフレームワークの考え方を取り入れよう


 フレームワーク(枠組み)
     ➡   思考の方法
     ➡   Webフレームワーク




                 オレオレからの
                    卒業

2011年11月27日日曜日             14
WordPressの設計思想


 WordPressは、
 あえて、フラットな設計にしてある
     ➡   クラスベースのオブジェクト指向とかではない
     ➡   グローバル領域に全ての関数が読み込まれる
     ➡   フラットなだけに理解しやすい
     ➡   ちょっとした拡張が楽
     ➡   入れ子構造は、順番がある
     ➡   拡張はフックなどを使った割り込みにより行う


                 拡張は計画的に
2011年11月27日日曜日                   15
オブジェクト指向、Webフレームワークを使わない場合でもいい仕事をすることは可能


 プログラムの設計をはじめると、
 よく出てくる用語



                 オブジェクト指向   MVC


                 技術+考え方     考え方




2011年11月27日日曜日                              16
オブジェクト指向、Webフレームワークを使わない場合でもいい仕事をすることは可能


 プログラムの設計をはじめると、
 よく出てくる用語



                 オブジェクト指向   MVC


                 技術+考え方     考え方



             今回は技術的に難しい話はしません
2011年11月27日日曜日                              17
フレームワークはMVCベースで考えてみる


 MVCは、




         MVC     モデル   ビュー コントローラ




2011年11月27日日曜日                      18
MVCは使う


 MVCは、一言で言うと、
 「プログラムを、
  データの管理(M:モデル)、
  入出力の担当(C:コントローラー)、
  出力のありかた(V:ビュー)、
  に分けて構築する設計手法」


                 今回はMとVのみ
2011年11月27日日曜日              19
MVCというと難しいからMVのみを考えてみよう


 データの管理および加工処理(モデル)と、
 表示系の管理(ビュー)




                 MV
                 モデル       ビュー




2011年11月27日日曜日                   20
MVCというと難しいからMVのみを考えてみよう




                     M モデル


                     データの管理
                 WordPress内のデータは、
                  必要な形にして使おう

2011年11月27日日曜日                      21
MVCというと難しいからMVのみを考えてみよう




                   テンプレートに
                 WordPressの情報を
                    入れるとき
                  どうしてますか?


2011年11月27日日曜日                   22
テンプレートタグと関数


 テンプレートタグと関数(API)
     ➡   テンプレートタグ

         <?php	
  the_author();	
  ?>


     ➡   関数(API)

         <?php	
  echo	
  get_the_author();	
  ?>




2011年11月27日日曜日                                      23
テンプレートタグと関数


 テンプレートタグと関数(API)
     ➡   テンプレートタグ

         <?php	
  the_author();	
  ?>


     ➡   関数(API)

         <?php	
  echo	
  get_the_author();	
  ?>




2011年11月27日日曜日                                      24
MVCというと難しいからMVのみを考えてみよう




                 V ビュー


                 表示関係を管理
                  エレメント
                  ヘルパー

2011年11月27日日曜日             25
エレメントとヘルパー


 エレメントって?
     ➡   ページ内に表示する様々なパーツを
         共通化できるように切り出したもの


 ヘルパーって?
     ➡   表示系でプログラム的な処理が必要な
         ものを切り出したもの
     ➡   モデル経由でデータを取得し、
         加工など(専門的にはコントローラ
         を兼ねている)
     ➡   直表示せず返り値を返すように

2011年11月27日日曜日               26
オブジェクト指向は脇に置いておく


 今すぐ出来る構造設計:概略
     ➡   フォルダ構造による意味的な関数の振り分け
     ➡   グローバル領域に変数などを置かない
     ➡   WordPressのAPIに直接アクセスしない間接化
     ➡   命名規則、コーディング規則を徹底




2011年11月27日日曜日                        27
Design
                 設計のほうのデザイン




2011年11月27日日曜日                28
テーマに使われているPHPコード


 Twenty Elevenの場合
     ➡   特定機能ファイル
         •   404ページ、検索ページ、画像表示ページ

     ➡   部分出力用標準ファイル
         •   ヘッダー用、フッター用、検索フォーム

     ➡   ページテンプレートファイル
         •   パーマリンク用、カテゴリー用、インデックス用

     ➡   機能ファイル
         •   functions.php




2011年11月27日日曜日                        29
functions.phpを掘り下げる


 functions.phpは、
 テーマに機能
 を持たせれば持たせるほど、
 肥大する

                   しかも、
                  1次元的に、
                   カオス。
2011年11月27日日曜日             30
functions.phpを開こう


 functions.phpを見てみる




                     ギャーッ!!




2011年11月27日日曜日                31
いろいろな機能が入り乱れている


 見なかったことにして、閉じよう...




2011年11月27日日曜日        32
まずは、フォルダーを分けましょう


 こういう状態のものを




                 functions.php




2011年11月27日日曜日                   33
各フォルダ、ファイルの用途


           functions.php
            models
                 wordpress.php
            views
                 helpers
                    util.php
                 elements
                    header.php
2011年11月27日日曜日                   34
各フォルダ、ファイルの用途


           functions.php          modelとviewsの呼び出しのみ


            models               データおよびロジック周りの管理


                 wordpress.php    Wordpress内のAPI呼び出し



            views                      主に表示用の関数管理


                 helpers          表示用のデータ加工などを書く


                    util.php       おおざっぱな機能ごとに用意


                 elements            主に表示用のパーツ管理


                    header.php         例えばヘッダーパーツ

2011年11月27日日曜日                                         35
用途別に分けるメリット


 こんなメリットがあり
     ➡   プログラマーが構造を一目で判断しやすい
     ➡   各関数のテストが容易になる
     ➡   拡張する際にどこをいじればいいかわかる
     ➡   再利用が容易
     ➡   将来WordPressのAPIが変わっても対応が楽
     ➡   平行作業が得意
     ➡   おれおれ流を作業者に伝える必要がない
     ➡   コードがすっきり
     ➡   モダン系MVCフレームワークと共通の概念



2011年11月27日日曜日                       36
Coding
                 コーディングにも決まりがある




2011年11月27日日曜日                    37
ここまでの流れ


 ここまでで、やったこと
     ➡   functions.phpに書かれていた関数を
         一旦用途別に振り分けた
 その他やるべきこと
     ➡   functions.phpで各ファイルを読み込む
     ➡   プログラムの書き方に注意する
     ➡   命名規則について気をつける




2011年11月27日日曜日                      38
関数をそのままテンプレートに埋め込むのは出来るだけやめよう


 APIを
 直接テンプレートから
 使うのは、出来るだけ避けましょう




                 なんで?




2011年11月27日日曜日                   39
APIをテンプレート内で使うことのいくない点


 こんな可能性が
     ➡   返ってくる値にいろいろな処理を追加する必要が
     ➡   なんか Deprecated になっちゃった
     ➡   テンプレート中にいきなりプログラムが始まった
     ➡   ちょっと変えたらエラーで動かなくなった




                 そこで設計の登場


2011年11月27日日曜日                    40
各フォルダ、ファイルの用途


           functions.php          modelとviewsの呼び出しのみ


            models               データおよびロジック周りの管理


                 wordpress.php    Wordpress内のAPI呼び出し



            views                      主に表示用の関数管理


                 helpers          表示用のデータ加工などを書く


                    util.php       おおざっぱな機能ごとに用意


                 elements            主に表示用のパーツ管理


                    header.php         例えばヘッダーパーツ

2011年11月27日日曜日                                         41
従来型の読み込み方


 階層型に格納されたテンプレートを取得
         <?php	
  
         require_once(
         	
  	
  	
  	
  dirname(	
  __FILE__	
  )	
  .	
  
         	
  	
  	
  	
  '/views/helpers/sidebar-­‐helper.php'
         );	
  
         ?>




                        便利な関数が用意

2011年11月27日日曜日                                                   42
テンプレートの読み込み


 get_template_part
     ➡   get_template_part( $slug, $name )

         <?php	
  
         get_template_part(
         	
  	
  	
  	
  '/views/helpers/sidebar',	
  'helper'
         );	
  
         ?>



                        バージョン3.0以降


2011年11月27日日曜日                                                   43
モデルの場合


 モデルの場合も
         <?php	
  
         get_template_part(
         	
  	
  	
  	
  '/model/blog',	
  'model'
         );	
  
         ?>




                         すっきりかつモダン


2011年11月27日日曜日                                       44
APIとMVC


 テンプレート内で、
 APIをそのまま使って
 ロジックを書かないようにする
         $current_user	
  =	
  wp_get_current_user();
         $user	
  =	
  $current_user-­‐>user_login;
         echo	
  $user	
  .	
  'さん、ようこそ';

     ➡   こういうのはヘルパーに関数を書いて、タグにする

         <?php	
  display_current_user();?>



2011年11月27日日曜日                                          45
こんな風に書いてませんか?


 もう1つ。
 基本関数内に変数などは閉じ込める
 グローバル領域をなるべく浸食しない

         $current_user	
  =	
  wp_get_current_user();
         $user	
  =	
  $current_user-­‐>user_login;
         echo	
  $user	
  .	
  'さん、ようこそ';




2011年11月27日日曜日                                          46
テンプレートに書いていいもの


 基本的にはタグしか書かない!!
     ➡   複雑な処理はヘルパー
     ➡   分岐はエレメントとかで




                 テンプレートすっきり


2011年11月27日日曜日                47
まとめ


 Framework
     ➡   ModelとViewの考え方
 Design
     ➡   決められた役割で設計
 Coding
     ➡   決められたスタイルを守る




2011年11月27日日曜日            48
おつかれさまでした!!

     ➡   Webデザイナーのための、PHPプログラミング
         WordPressで学ぶCMSカスタマイズ入門
         ∼WordPressサイト構築編∼
         •   http://www.pasonatech.co.jp/event/index.jsp?no=3311




2011年11月27日日曜日                                                     49
Naming
                 命名規則について




2011年11月27日日曜日              50
命名規則


 キャメルケース
     ➡   getBlogEntries
 スネークケース
     ➡   get_blog_entry
 ハイフン区切り(チェインケースとか?)
     ➡   get-blog-entry.php




2011年11月27日日曜日                51
名前空間的な話


 独自の名前空間(擬似的)を持とう
     ➡   ドメイン名、プロジェクト名、用途名など
         •   jp_greative_get_blog_info();

         •   JP_GREATIVE_DEFAULT_LIB_PATH




2011年11月27日日曜日                              52
定数


 print_r(get_defined_constants());
     ➡       [WP_CONTENT_URL] => http://URL/wp-content
     ➡       [WP_PLUGIN_DIR] => /PATH/wp-content/plugins
     ➡       [WP_PLUGIN_URL] => http://URL/wp-content/plugins
     ➡       [PLUGINDIR] => wp-content/plugins
     ➡       [TEMPLATEPATH] => /PATH/wp-content/themes/twentyeleven
     ➡       [STYLESHEETPATH] => /PATH/wp-content/themes/twentyeleven
     ➡       [WP_DEFAULT_THEME] => twentyeleven
     ➡       [WP_CONTENT_DIR] => /PATH/wp-content
     ➡       [ABSPATH] => /PATH/




2011年11月27日日曜日                                                          53
関数名のつけかた


 get_
     ➡   だいたい何かを出力する系
         •   get_user_info()


 is_
     ➡   何かを判定する系
         •   is_user_active()

 display_
     ➡   何かを出力する系
         •   display_side_ad()



2011年11月27日日曜日                   54
他言語化系のハナシ


 _e()から__()へ
     ➡   __e()は、翻訳済みの語句を、echoで出力
     ➡   __()は、翻訳済みの語句を、返す


 function内で使うと、
 具合が悪い時があるので、
 _e()を__()に変える




2011年11月27日日曜日                     55
learning
                 効率的にまなぶ




2011年11月27日日曜日              56
Codexを読もう


 Codexの歩き方
     ➡   テンプレートタグ
     ➡   条件分岐タグ
     ➡   インクルードタグ
     ➡   関数




                 ブクマしておこう

2011年11月27日日曜日              57
本家の読み方


 困ったら本家を読もう
     ➡   Usage … 構文
     ➡   Parameters … 引数
     ➡   Examples … 例
     ➡   Source File … この関数が書かれているファイル
     ➡   Related … 関係している関数




                 Deprecatedに注意

2011年11月27日日曜日                           58
WordPressのコーディングの基準にまず目を通そう


 WordPress コーディング基準
     ➡   http://codex.wordpress.org/
         WordPress_Coding_Standards




2011年11月27日日曜日                         59
PHPの規約にも目を通そう


 Zend Framwork PHP
 標準コーディング規約
     ➡   http://framework.zend.com/manual/ja/coding-
         standard.html




2011年11月27日日曜日                                         60
Others
                 その他




2011年11月27日日曜日            61
編集画面からやらない


 IDE推奨
     ➡   とくにプログラムが苦手な方こそ




     ➡   できればバージョン管理も




2011年11月27日日曜日             62
WordPressでのMVCとは


 本気モードでプラグインとかを
 作ろうと考えたら
     ➡   WP MVC
         •   Webアプリケーションフレームワーク

     ➡   WP Unit
         •   ユニットテスト

 こういうのを使うと、よいよ

                   この話はいずれまた..

2011年11月27日日曜日                    63
パーツに直接アクセスが可能


 実行すると表示されてしまうパーツは、
 やめよう
     ➡   例)
         http://localhost:8805/wp-content/themes/
         twentyeleven/sidebar-footer.php

         Fatal	
  error:	
  Call	
  to	
  undefined	
  function	
  
         is_active_sidebar()	
  in	
  /Users/
         harakazuhiro/gitrepo/wpjelly/wp-­‐content/
         themes/twentyeleven/sidebar-­‐footer.php	
  on	
  
         line	
  17



2011年11月27日日曜日                                                        64
テーマディレクトリにあるindex.php


 /PATH/wp-content/themes



                    index.php


                    twentyeleven




2011年11月27日日曜日                     65
index.phpにこんなことが書かれている


 沈黙は金なり

                                   index.php


         <?php
         //	
  Silence	
  is	
  golden.
         ?>




2011年11月27日日曜日                                 66

Contenu connexe

Tendances

20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway Amazon Web Services Japan
 
Windowsコンテナ入門
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門Kyohei Mizumoto
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリットTakashi Toyosaki
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るTakeru Maehara
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるpospome
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPIAkihiro Ikezoe
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Etsuji Nakai
 
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 sasezaki
 
Differences between session and cookie and background of their creation
Differences between session and cookie and background of their creationDifferences between session and cookie and background of their creation
Differences between session and cookie and background of their creationyoshitaro yoyo
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status codeShinichi Takahashi
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐりKazuyuki TAKASE
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するHitachi, Ltd. OSS Solution Center.
 
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計Yoichi Toyota
 
AWS Black Belt Online Seminar 2017 Amazon VPC
AWS Black Belt Online Seminar 2017 Amazon VPCAWS Black Belt Online Seminar 2017 Amazon VPC
AWS Black Belt Online Seminar 2017 Amazon VPCAmazon Web Services Japan
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)都元ダイスケ Miyamoto
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 

Tendances (20)

20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway 20190514 AWS Black Belt Online Seminar Amazon API Gateway
20190514 AWS Black Belt Online Seminar Amazon API Gateway
 
Windowsコンテナ入門
Windowsコンテナ入門Windowsコンテナ入門
Windowsコンテナ入門
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
 
Differences between session and cookie and background of their creation
Differences between session and cookie and background of their creationDifferences between session and cookie and background of their creation
Differences between session and cookie and background of their creation
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開するKeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
 
はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計はじめてのDynamoDBスキーマ設計
はじめてのDynamoDBスキーマ設計
 
AWS Black Belt Online Seminar 2017 Amazon VPC
AWS Black Belt Online Seminar 2017 Amazon VPCAWS Black Belt Online Seminar 2017 Amazon VPC
AWS Black Belt Online Seminar 2017 Amazon VPC
 
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
クラスメソッドにおける Web API エンジニアリングの基本的な考え方と標準定義 - Developers.IO 2018 (2018-10-05)
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 

En vedette

デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座  for WordPress (初級)デザイナーのためのPHP講座  for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)佑 小田垣佑
 
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズCSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズrie05
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrinoTakeshi Yabe
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会Kazuhiro Hara
 
WP Jelly vol.01 WordPress管理画面にメニューを追加しよう
WP Jelly vol.01 WordPress管理画面にメニューを追加しようWP Jelly vol.01 WordPress管理画面にメニューを追加しよう
WP Jelly vol.01 WordPress管理画面にメニューを追加しようKazuhiro Hara
 
Cryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんCryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんKazuhiro Hara
 
-Play部屋- Play 2.0はじめて&もくもく会
-Play部屋- Play 2.0はじめて&もくもく会-Play部屋- Play 2.0はじめて&もくもく会
-Play部屋- Play 2.0はじめて&もくもく会Kazuhiro Hara
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)VOYAGE GROUP
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話Kazuhiro Hara
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014Rui Hirokawa
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションKazuhiro Hara
 
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数Wataru Terada
 
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうKazuhiro Hara
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
PHPにないセキュリティ機能
PHPにないセキュリティ機能PHPにないセキュリティ機能
PHPにないセキュリティ機能Yasuo Ohgaki
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 
PHPデプロイツールの世界
PHPデプロイツールの世界PHPデプロイツールの世界
PHPデプロイツールの世界Yuuki Takezawa
 

En vedette (20)

RESTfulとは
RESTfulとはRESTfulとは
RESTfulとは
 
デザイナーのためのPHP講座 for WordPress (初級)
デザイナーのためのPHP講座  for WordPress (初級)デザイナーのためのPHP講座  for WordPress (初級)
デザイナーのためのPHP講座 for WordPress (初級)
 
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズCSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
 
初めてのPadrino
初めてのPadrino初めてのPadrino
初めてのPadrino
 
第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会第2回 -Play部屋- Play 2.0はじめて&もくもく会
第2回 -Play部屋- Play 2.0はじめて&もくもく会
 
WP Jelly vol.01 WordPress管理画面にメニューを追加しよう
WP Jelly vol.01 WordPress管理画面にメニューを追加しようWP Jelly vol.01 WordPress管理画面にメニューを追加しよう
WP Jelly vol.01 WordPress管理画面にメニューを追加しよう
 
Cryogenでサイトつくろーじぇん
CryogenでサイトつくろーじぇんCryogenでサイトつくろーじぇん
Cryogenでサイトつくろーじぇん
 
-Play部屋- Play 2.0はじめて&もくもく会
-Play部屋- Play 2.0はじめて&もくもく会-Play部屋- Play 2.0はじめて&もくもく会
-Play部屋- Play 2.0はじめて&もくもく会
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC WebアプリケーションPlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
PlayFramework 2.0 Javaと WebSocketでつくる リアルタイムMVC Webアプリケーション
 
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
 
ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
PHPにないセキュリティ機能
PHPにないセキュリティ機能PHPにないセキュリティ機能
PHPにないセキュリティ機能
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
PHPデプロイツールの世界
PHPデプロイツールの世界PHPデプロイツールの世界
PHPデプロイツールの世界
 

Similaire à クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 | WordCamp Tokyo 2011

第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料Osamu Shimoda
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリAkira Hatsune
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeKen Morishita
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
20110121 NetCommons Developer
20110121 NetCommons Developer20110121 NetCommons Developer
20110121 NetCommons DeveloperKenichi Ohwada
 
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexPHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexMasao Maeda
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計アシアル株式会社
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介Akira Tanaka
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2Yoshitaka Seo
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントMasaki NIWA
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~Yoshitaka Seo
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスericsagnes
 
「ディープラーニングでは、エコシステムが大切よ!」
 「ディープラーニングでは、エコシステムが大切よ!」 「ディープラーニングでは、エコシステムが大切よ!」
「ディープラーニングでは、エコシステムが大切よ!」Mr. Vengineer
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶShumpei Shiraishi
 
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!Takashi Uemura
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014Yuuki Takezawa
 

Similaire à クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 | WordCamp Tokyo 2011 (20)

第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
 
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
20110121 NetCommons Developer
20110121 NetCommons Developer20110121 NetCommons Developer
20110121 NetCommons Developer
 
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 SilexPHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 Silex
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
Apex Test Plusの紹介
Apex Test Plusの紹介Apex Test Plusの紹介
Apex Test Plusの紹介
 
Cakephp
CakephpCakephp
Cakephp
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
 
「ディープラーニングでは、エコシステムが大切よ!」
 「ディープラーニングでは、エコシステムが大切よ!」 「ディープラーニングでは、エコシステムが大切よ!」
「ディープラーニングでは、エコシステムが大切よ!」
 
UnicastWS vol.2
UnicastWS vol.2UnicastWS vol.2
UnicastWS vol.2
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014
 

Plus de Kazuhiro Hara

About Plone Conference Tokyo 2018 Frontend Day
About Plone Conference Tokyo 2018 Frontend DayAbout Plone Conference Tokyo 2018 Frontend Day
About Plone Conference Tokyo 2018 Frontend DayKazuhiro Hara
 
Gatsby & React Static
Gatsby & React StaticGatsby & React Static
Gatsby & React StaticKazuhiro Hara
 
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話Kazuhiro Hara
 
Clojure.tokyo.descjop
Clojure.tokyo.descjopClojure.tokyo.descjop
Clojure.tokyo.descjopKazuhiro Hara
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザインKazuhiro Hara
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめKazuhiro Hara
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようKazuhiro Hara
 
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてClojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてKazuhiro Hara
 
Re-frame and A-Frame
Re-frame and A-FrameRe-frame and A-Frame
Re-frame and A-FrameKazuhiro Hara
 
ひとりアドベントカレンダーのご紹介
ひとりアドベントカレンダーのご紹介ひとりアドベントカレンダーのご紹介
ひとりアドベントカレンダーのご紹介Kazuhiro Hara
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境についてKazuhiro Hara
 
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaKazuhiro Hara
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころsbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころKazuhiro Hara
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイKazuhiro Hara
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketKazuhiro Hara
 
MVCのVを極めしWebデザイナーになる - CakePHP勉強会
MVCのVを極めしWebデザイナーになる - CakePHP勉強会MVCのVを極めしWebデザイナーになる - CakePHP勉強会
MVCのVを極めしWebデザイナーになる - CakePHP勉強会Kazuhiro Hara
 
Cakephp And Wordpress
Cakephp And WordpressCakephp And Wordpress
Cakephp And WordpressKazuhiro Hara
 

Plus de Kazuhiro Hara (20)

MDX with Next.js
MDX with Next.jsMDX with Next.js
MDX with Next.js
 
MDX and Next.js
MDX and Next.jsMDX and Next.js
MDX and Next.js
 
About Plone Conference Tokyo 2018 Frontend Day
About Plone Conference Tokyo 2018 Frontend DayAbout Plone Conference Tokyo 2018 Frontend Day
About Plone Conference Tokyo 2018 Frontend Day
 
Gatsby & React Static
Gatsby & React StaticGatsby & React Static
Gatsby & React Static
 
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
buddyのユーザ認証周りのデータ構造 - 使われているデータの取り回しについてのお話
 
Clojure.tokyo.descjop
Clojure.tokyo.descjopClojure.tokyo.descjop
Clojure.tokyo.descjop
 
SwaggerとAPIのデザイン
SwaggerとAPIのデザインSwaggerとAPIのデザイン
SwaggerとAPIのデザイン
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
 
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状についてClojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
 
Re-frame and A-Frame
Re-frame and A-FrameRe-frame and A-Frame
Re-frame and A-Frame
 
ひとりアドベントカレンダーのご紹介
ひとりアドベントカレンダーのご紹介ひとりアドベントカレンダーのご紹介
ひとりアドベントカレンダーのご紹介
 
(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について(IDEユーザのための) ClojureのEmacs開発環境について
(IDEユーザのための) ClojureのEmacs開発環境について
 
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 Java
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころsbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころ
 
Playbay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイPlaybay Play 2.0 plugin イロハのイ
Playbay Play 2.0 plugin イロハのイ
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
MVCのVを極めしWebデザイナーになる - CakePHP勉強会
MVCのVを極めしWebデザイナーになる - CakePHP勉強会MVCのVを極めしWebデザイナーになる - CakePHP勉強会
MVCのVを極めしWebデザイナーになる - CakePHP勉強会
 
Cakephp And Wordpress
Cakephp And WordpressCakephp And Wordpress
Cakephp And Wordpress
 

Dernier

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Dernier (10)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 | WordCamp Tokyo 2011