SlideShare a Scribd company logo
1 of 89
Download to read offline
8時間耐久
PHP構築の教室

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
テキスト




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
http://tech.a-listers.jp/
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
本日の対象者
  PHPを使っている
   環境構築が苦手
 真っ白になると固まる
    実行委員長



8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPの構築に
 関するイロハを
徹底的に学びます

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
本日のメニュー

    PHPの動く仕組み
     ビルドのイロハ
       設定と拡張
      最適化への道


8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPの動く仕組み
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのページが動く時
•Webサーバ (Apache等)
 URLを元にリソースを特定
•PHP
 指定されたPHPスクリプトを解析
•PHP拡張モジュール (C言語)
 PHPから必要に応じて呼び出される

  言語としては2番目のみがPHP

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
HTMLを表示する流れ
                    公開ディレクトリ
   Webサーバ



   httpd.conf
                    公開ディレクトリ
  どのディレクトリを公開す
  るか等が設定されている




ファイルを探して返すのみ
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPが動作する流れ
   Webサーバ
                          自分で書くのは大抵これ



                            PHP
      PHP
                           スクリプト


  拡張モジュール



複数のプログラムが連携
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPが動く環境

様々なプログラムが協調して
   動作する環境



 様々な知識が必要
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
自動インストール

 # yum install php
 # apt-get install php
 # port install php5


何が起きたか理解している?       訳も分からずコピペしてない?




    トラブルの原因がわかる?          設定の方法は?




 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
根源的な
    知識
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
自力での
構築と設定
 を学ぼう
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
注意

運用環境を1から構築するの
    は時代遅れ
付け焼刃の手動構築はかえっ
   て手間になる


8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
補足

    今回はVirtualBoxに
CentOS6.0のイメージを入れ
       て使います

CentOs 6.0 base x86_64
    http://virtualboxes.org/images/centos/



   8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
VM設定メモ

•DVDメディアを除去
•ネットワークをブリッジ接続に
•キーボードを us に変えておく
 /etc/sysconfig/keyboard
•複数人ならMacアドレスの変更が必要


  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
ビルドのイロハ
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
ビルドとは?
•ソースからバイナリを作る(C言語)
•コンパイルとも呼ぶ
•その環境用のバイナリを作る




 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
自動インストール

•バイナリパッケージ
•特定の環境用のバイナリを配布
•OSやCPUが違うと非互換
•RedHutのrpmがきっかけに大流行
•WindowsやMacなどでは単純
•誰かがどこかでビルドしたもの

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
gcc
•GNU Compiler Collection
•C言語、C++などをコンパイルできる
•Richard Stallman (1985)
•25年以上現役の超重要ソフトウエア




  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
gcc入ってる?

 # which gcc

•入ってない
 /usr/bin/which: no gcc in ....
•入ってる
 /usr/bin/gcc



 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
gccの導入

•gccはバイナリパッケージで入れる
•gccにもバージョンがある
•gccが古くてビルド失敗なんて事も


 # yum install gcc



 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
gccがあれば
•gccコマンドでC言語をコンパイル可能
•出来たバイナリは実行できる!
   #include <stdio.h>

   int main(void) {
     printf("Hello World");
     return 0;
   }

 $ gcc hello.c -o hello
 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
練習: gccでhello world
•まっさらなCentOS6.0
•キーボード設定・アカウント設定
•reboot
•which gcc
•yum install gcc
•hello worldのソースをコンパイル
•出来たバイナリを実行

  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
これでPHPもいける?

•PHPのソースは大量のCのソース
•環境に合わせて変更する部分とか
•コンパイルする順番も存在

周辺のツールも無いとPHPのような
大きなソフトウェアは導入できない


 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
定番なツール群
•autoconf
 環境に合わせてビルド設定を行う
•make (automake)
 順番の考慮や依存関係の解決など複
雑なビルドタスクを実行する
•sshd (openssl-server)
 sshで入って作業できると楽

  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
sshd導入
•yum install openssl-server
•/etc/ssh/sshd_config に追記
 PermitRootLogin  no


•近年は攻撃が多いので 認証が理想
•sshdの稼働ポートも課題
•iptables -F しないと入れない(邪悪)
  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
autoconf & make
•autoconf
 CentOS6では入ってた
•make
 入ってないので導入する
  # yum install make




  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのtar ball




$ curl -L -O http://jp2.php.net/get/php-5.4.4.tar.gz/
from/this/mirror
$ mv mirror php.tar.gz
$ tar zxf php.tar.gz

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのソース
 •大量のCのソース群
$ find ./ -type f | grep ".c" | wc
  905 905 27290


 •大まかなレイアウトを知っておくとト
 ラブル解決に役立つ




     8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのソース




 PHP内部の肝はZend Engine
拡張はエンジンの機能で作られる
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのソース




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
あの関数もCで書かれている




                           なにやら怪しい記述




 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
そういう事か




$ php -r "var_dump(date('Y-m-d',mktime(0,0,0,12,24,70)));"
string(10) "1970-12-24"
$ php -r "var_dump(date('Y-m-d',mktime(0,0,0,12,24,69)));"
string(10) "2069-12-24"



      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPのビルドの流れ
•configure
 ビルドに必要なライブラリの確認等
•make
 バイナリを作る
•make install
 出来上がったバイナリをコピー



  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
./configure してみた




     libxml2が無いらしい...

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
libxml2
# yum install libxml2




                         OK!
     8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
./configure してみたが?




     libxml2が無いらしい...
  (libxml2-devel も入れよう)
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
./configure 成功!




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
make


                               時間がかかる
                              (ファンも回る)




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
数分後...




                              バイナリが出来た!




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
make installの前に

•make installをするとシステムに投入
•システムの挙動が変わる
•ビルドまでの作業はrootは不要
•コマンドラインを使って動作確認

  PHPに限った話ではありません


  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
動作確認
$ ./sapi/cli/php -v
PHP 5.4.4 (cli) (built: Jul 8 2012 04:15:27)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend
Technologies


$ ./sapi/cli/php -r 'echo "Hello Wolrdn";'
Hello Wolrd




                  なんか動きそう?

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
よろしい




                              一応インストール完了




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
甘ぇよ...

                        MySQLが無い
                        mbstringが無い
                          gdが無い
                            etc..




                     WordPressとか
                       動かない

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
動かすだけなら...
$ php -S 192.168.225.15:8000
PHP 5.4.4 Development Server started at Sun Jul 8 04:50:57 2012
Listening on 192.168.225.15:8000
Document root is /home/yando/docs
Press Ctrl-C to quit.
[Sun Jul 8 04:51:00 2012] 192.168.225.5:57229 [200]: /index.php




                                          PHP5.4からの新機能
                                       (PHPだけで開発サーバになる)




        8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
ここまでのまとめ

•ツールを えて
•ソースからビルドしてインストール
•望む構成を得るにはさらに設定が必要


現代の日本人にはこれだけでは不十分


 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
練習: phpをmake
•curl -L -O {url from php.net}
•mv mirror php.tar.gz
•tar zxf php.tar.gz
•yum install make
•cd php-5.4.4
•./configure
•make

   8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
設定と拡張
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
設定と拡張の必要性

•mbstringが使いたい
•MySQLが使いたい
•gdが使いたい
•○○が使いたい
  設定により上記を可能にするのが
       PHP拡張

  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHP拡張




                           MySQLやmbstringは
                                拡張


PHP自体はセットアップできた

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
configureオプション

•configureの際にオプションを付ける
とビルドされるバイナリ、拡張が変わる
•configure後は再度、ビルドを行う
•ビルド後は変えられない設定も

 どのオプションでビルドされたか?
      がとても重要
 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
オプションの調べ方
•configure --help
•PHPのマニュアルを見る



                           ものすごくたくさん(約250種)




  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
mbstring
  •文字コードの変換などに使う
  •日本では事実上、必須の拡張
$ configure --enable-mbstring
$ make
# make install



              有効にするのは簡単

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
入った!




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
もう一つの方法
  •共有ライブラリ
  •拡張部分が別のバイナリになる
  •有効にするには php.ini の変更も必要
$ configure --enable-mbstring=shared
$ make
# make install
extension=mbstring.so

               一見面倒に見える

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
静的リンクと動的リンク
 静的リンク                  動的リンク


                           PHP
    PHP

  mbstring               mbstring


静的リンクはPHP本体のバイナリに
    拡張が組み込まれる
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
運用上の違い
•静的リンクはバイナリが大きくなる
•動的リンクは かにオーバヘッド
•拡張の更新があった場合
 静的リンクは全コンパイル
 動的リンクはライブラリのみ差替可能


  動的リンクの方が柔軟性が高い

  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
mysql / PDO_MySQL

 •MySQLに接続する機能
 •PHP5.3以前は要MySQL
$ configure --with-mysql --with-pdo-mysql
$ make
# make install


            最近はビルドが簡単に

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
GD

 •PHPから画像の処理を行う拡張
 •リサイズや変換などに使われる
$ configure --enable-gd
$ make
# make install


                     余裕余裕

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
png.h




      libpng-devel が必要

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
入りました
# yum install libpng-devel
$ configure --enable-gd
$ make
# make install




      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
全部まとめると
$ ./configure --enable-mbstring=shared 
--with-mysql=shared 
--with-pdo-mysql=shared 
--with-gd=shared

                                 はコマンドラインで改行し
                                     たい時に使う




    ./configureオプションが長くなるの
               が世の常
      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
オプションは残る




                      自分のPHPがどのようなオプ
                      ションでコンパイルされたか



8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
php.ini

•PHPの挙動を決める重要な設定
•拡張モジュールの読み込み
•トラブルシュートに欠かせない
•設定の構成や配置はインストール次第


  「php.iniを確認してください」

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
php.iniの場所

•--with-config-file-path
 通常は/usr/local/lib/php.ini
•--with-config-file-scan-dir
 複数に分割して読み込む
•pnpinfo()からも確認できる
          己のphp.iniを探す

   8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
php.iniの中身




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
php.iniの書き方

•設定名=値
•;(セミコロン)以降はコメント
•ログの出力、表示設定、文字コード、
タイムゾーン、拡張モジュールなどさま
ざまな設定項目

      不適切なphp.iniは危険

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
特に重要な項目

•display_errors
•date.timezone
•upload_max_filesize
•allow_url_fopen
•extension
•memory_limit
       運用に応じて様々な設定
   8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
練習: 実用的なビルド
$ ./configure --enable-mbstring=shared 
--with-mysql=shared 
--with-pdo-mysql=shared 
--with-gd=shared



 •make
 •make install
 •php.ini-developmentをコピー

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
最適化への道
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPをバリバリ使う

•Apache連携
•APC
•nginx

実際にサービスを安定稼働させる為に
      必要な要素

  8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
mod_php
  •ApacheからPHPを動作させる
  •PHPのソースとApacheが必要
# yum install httpd httpd-devel
$ configure --with-apxs2
$ make
# make install

   出来上がったmod_phpはapacheから
         有効にする
      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
httpd.conf
 •Apacheの設定ファイルに下記を追記

LoadModule php5_module        /usr/lib64/httpd/
modules/libphp5.so
<FilesMatch .php$>
  SetHandler application/x-httpd-php
</FilesMatch>


          Apacheを再起動すれば...

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
動いた




8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
APC

  •PHPスクリプトの解析結果を保存
  •解析抜きでZendEngineが稼働
  •WordPressなら4倍くらい速く
  •スクリプトが多い複雑なコードに効く
  •Key-Value Storeとしても使える
# pecl install apc


       8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
http://vipinkrsahu.blogspot.jp/2010/06/apc-vs-memcache-
               in-joomla-and-magento.html
       8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
php-fpm
  •スーパー高速なnginxで稼働させる
  •実はPHPにはほとんど効果がない
  •SAPIの一種
$ configure --enable-fpm
$ make
# make install


          nginxは画像やCSSに効く

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
SAPI
CLI Apache2 php-fpm などが
           ある




 PHPが外部から呼ばれる窓口

8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
apache + mod_php
     apache         公開ディレクトリ




    mod_php




PHPが不要な時もphpのバ
イナリ込みのapacheが動作
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
nginx + php-fpm
                    公開ディレクトリ
      nginx



    php-fpm
                    .php

      PHPに専念




ファイルを探して返すのみ
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
nginxの導入

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1

# yum install nginx


  /etc/yum.repos.d/nginx.repo に追加

      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
/etc/nginx/conf.d/default.conf
 location ~ .php$ {
   root       html;
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
   include     fastcgi_params;
 }

# cp -f /usr/local/etc/php-fpm.conf.default /usr/local/
etc/php-fpm.conf
# cp -f sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod 755 /etc/init.d/php-fpm
# mkdir /var/log/php-fpm
# chown -R nginx:nginx /var/log/php-fpm


        8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
色々設定

 • /etc/nginx/conf.d/default.conf
 •fastcgiparam
 •/usr/local/etc/php-fpm.conf
 •pid user group
# service nginx start
# service php-fpm start



      8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
練習: WordPressを導入
•yum install mysql-server
•service mysqld start
•/usr/share/nginx/html の下が公開
•/etc/nginx/conf.d/default.conf の
   index に index.php を足す




   8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
まとめ
8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
ビルドは基本

•全てのものはビルドが必要
•yumなどは便利なので使うべき
•yumで不足がある場合は?
  自分でソースからビルドする
  拡張だけビルドして入れ替える

  PHPに限った話ではない知識

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)
PHPの構築

•最低でも5.3.x or 5.4.x
•新しいものは早い
•APCも絶対入れるべき
•nginxは状況次第

 8時間耐久PHP構築の教室 / Yusuke Ando (@yando)

More Related Content

What's hot

Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...Kazuhiro Hara
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツールaoshiman
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性Rina Fukuda
 
PHP でファイルシステムを作ろう
PHP でファイルシステムを作ろうPHP でファイルシステムを作ろう
PHP でファイルシステムを作ろうshinjiigarashi
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013晃 遠山
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjHisateru Tanaka
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会Tetsuya Morimoto
 
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいPythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいKameko Ohmura
 
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudyそれPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy晃 遠山
 
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターRansui Iso
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)泰 増田
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone teradaManabu Terada
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。sasezaki
 
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めようPHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めようYuya Takeyama
 

What's hot (20)

Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
 
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性PHPerに覚えて欲しい日本語の重要性
PHPerに覚えて欲しい日本語の重要性
 
PHP でファイルシステムを作ろう
PHP でファイルシステムを作ろうPHP でファイルシステムを作ろう
PHP でファイルシステムを作ろう
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
H2O and php
H2O and phpH2O and php
H2O and php
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
Pythonでゲーム作る
Pythonでゲーム作るPythonでゲーム作る
Pythonでゲーム作る
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
 
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたいPythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
 
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudyそれPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
 
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクターPythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
 
wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)wxPython入門(大阪Pythonユーザの集まり2014/03)
wxPython入門(大阪Pythonユーザの集まり2014/03)
 
PyCon JP 2014 plone terada
PyCon JP 2014 plone teradaPyCon JP 2014 plone terada
PyCon JP 2014 plone terada
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
 
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めようPHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
 

Viewers also liked

Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Yusuke Ando
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツYusuke Ando
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHPYusuke Ando
 
初めてのプラグイン開発で学んだ教訓
初めてのプラグイン開発で学んだ教訓初めてのプラグイン開発で学んだ教訓
初めてのプラグイン開発で学んだ教訓Yuki Okamoto
 
忙しい人はSimplicityテーマに丸投げ
忙しい人はSimplicityテーマに丸投げ忙しい人はSimplicityテーマに丸投げ
忙しい人はSimplicityテーマに丸投げYuki Okamoto
 
超初心者向け!Php勉強法とプログラミングの基礎の基礎
超初心者向け!Php勉強法とプログラミングの基礎の基礎超初心者向け!Php勉強法とプログラミングの基礎の基礎
超初心者向け!Php勉強法とプログラミングの基礎の基礎Hiroyuki Sugimoto
 
ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大Yusuke Ando
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクトYuki Okamoto
 
夏の総決算 Blender と Unity
夏の総決算 Blender と Unity夏の総決算 Blender と Unity
夏の総決算 Blender と UnityYuichi Sato
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作Yuki Okamoto
 
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)アシアル株式会社
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方Hiroyuki Sugimoto
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4アシアル株式会社
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室Yusuke Ando
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話y-uti
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのかYoshio Hanawa
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解するWataru Terada
 

Viewers also liked (20)

Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
ゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツゴールデンウィークに最適な学習コンテンツ
ゴールデンウィークに最適な学習コンテンツ
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
Ethna Updates
Ethna UpdatesEthna Updates
Ethna Updates
 
初めてのプラグイン開発で学んだ教訓
初めてのプラグイン開発で学んだ教訓初めてのプラグイン開発で学んだ教訓
初めてのプラグイン開発で学んだ教訓
 
忙しい人はSimplicityテーマに丸投げ
忙しい人はSimplicityテーマに丸投げ忙しい人はSimplicityテーマに丸投げ
忙しい人はSimplicityテーマに丸投げ
 
超初心者向け!Php勉強法とプログラミングの基礎の基礎
超初心者向け!Php勉強法とプログラミングの基礎の基礎超初心者向け!Php勉強法とプログラミングの基礎の基礎
超初心者向け!Php勉強法とプログラミングの基礎の基礎
 
ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大ダイナミック広告の改善と拡大
ダイナミック広告の改善と拡大
 
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
 
夏の総決算 Blender と Unity
夏の総決算 Blender と Unity夏の総決算 Blender と Unity
夏の総決算 Blender と Unity
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
 
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
 
PHP超入門@LL温泉
PHP超入門@LL温泉PHP超入門@LL温泉
PHP超入門@LL温泉
 
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
 
今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4今、最もイケてるPHPフレームワークLaravel4
今、最もイケてるPHPフレームワークLaravel4
 
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのか
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
 
Php blt-vol2
Php blt-vol2Php blt-vol2
Php blt-vol2
 

Similar to 8時間耐久 PHP構築の教室

8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室Yusuke Ando
 
4時間耐久 PHP on Heroku
4時間耐久 PHP on Heroku4時間耐久 PHP on Heroku
4時間耐久 PHP on HerokuYusuke Ando
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告y-uti
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由Kenichi Mukai
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試したy-uti
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)Hiroyuki Ishiyama
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺Shogo Kawahara
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い sasezaki
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecationy-uti
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Reportgree_tech
 
Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf Toshiki Iga
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020Rui Hirokawa
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くshinjiigarashi
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3ichikaway
 

Similar to 8時間耐久 PHP構築の教室 (20)

8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
 
4時間耐久 PHP on Heroku
4時間耐久 PHP on Heroku4時間耐久 PHP on Heroku
4時間耐久 PHP on Heroku
 
PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告PHP カンファレンス福岡 参加報告
PHP カンファレンス福岡 参加報告
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由フレームワークを使うべき 3 つの理由
フレームワークを使うべき 3 つの理由
 
JIT for PHP を試した
JIT for PHP を試したJIT for PHP を試した
JIT for PHP を試した
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
Python & PyConJP 2014 Report
Python & PyConJP 2014 ReportPython & PyConJP 2014 Report
Python & PyConJP 2014 Report
 
Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf Practical migration from JSP to Thymeleaf
Practical migration from JSP to Thymeleaf
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 

More from Yusuke Ando

DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックYusuke Ando
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版Yusuke Ando
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CIYusuke Ando
 
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストTravis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストYusuke Ando
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Yusuke Ando
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Yusuke Ando
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションYusuke Ando
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行Yusuke Ando
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストYusuke Ando
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるYusuke Ando
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Yusuke Ando
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard CloudYusuke Ando
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めようYusuke Ando
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」Yusuke Ando
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室Yusuke Ando
 
Zend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_PaginatorZend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_PaginatorYusuke Ando
 

More from Yusuke Ando (20)

DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
 
Testing your app with Selenium on Travis CI
Testing your app with Selenium on Travis CITesting your app with Selenium on Travis CI
Testing your app with Selenium on Travis CI
 
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テストTravis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
 
Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発Shimokita.Unity Detonatorで爆発
Shimokita.Unity Detonatorで爆発
 
Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突Shimokita.Unity RigidbodyとColliderで衝突
Shimokita.Unity RigidbodyとColliderで衝突
 
Travis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーションTravis CIですぐに始める継続的インテグレーション
Travis CIですぐに始める継続的インテグレーション
 
ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行ブログやサイトのJekyllへの移行
ブログやサイトのJekyllへの移行
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
 
Shimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆けるShimokita.Unity パリの街をユニティちゃんが駆ける
Shimokita.Unity パリの街をユニティちゃんが駆ける
 
Dev opschef
Dev opschefDev opschef
Dev opschef
 
Paa s and oss
Paa s and ossPaa s and oss
Paa s and oss
 
New relic
New relicNew relic
New relic
 
Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境Engine Yardで作る NetCommons3のクラウド環境
Engine Yardで作る NetCommons3のクラウド環境
 
Engine Yard Cloud
Engine Yard CloudEngine Yard Cloud
Engine Yard Cloud
 
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう最近のCandyCane - PHP版Redmineでタスク管理を始めよう
最近のCandyCane - PHP版Redmineでタスク管理を始めよう
 
PHPの教室「foreachを極める」
PHPの教室「foreachを極める」PHPの教室「foreachを極める」
PHPの教室「foreachを極める」
 
20121225 php
20121225 php20121225 php
20121225 php
 
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
 
Zend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_PaginatorZend四十八手シリーズ Zend_Cache Zend_Paginator
Zend四十八手シリーズ Zend_Cache Zend_Paginator
 

8時間耐久 PHP構築の教室