SlideShare ist ein Scribd-Unternehmen logo
1 von 115
最近、僕がハマった
 FuelPHPの紹介
              2012/7/20
        Fukuoka.php Vol.2
            @mawatarin
自己紹介

•   @mawatarin

•   ウェブプログラマ

•   Perlを4年くらい

•   そのあとPHPを4年くらい

•   ただ最近は専らマネジメントより
セッションを始める前に

•   まず、言い訳から始めさせてください!
セッションを始める前に

•   まず、言い訳から始めさせてください!

•   1週間前に子どもが生まれました!
セッションを始める前に

•   まず、言い訳から始めさせてください!

•   1週間前に子どもが生まれました!

•   そのため、スライドを作る時間がほとんどありません
    でしたっっっ

•   ネタとか仕込む間もなかったので、つまらなかったら
    ごめんなさい
セッションを始める前に

•   事前のヒアリングでFuelPHPに関しては名前は聞いた
    ことあるけど、使ってことがないという人が多かった
    です

•   とりあえず、ざっくりFuelPHPの概要を伝えるスライド
    を作りました
今日のお話
今日のお話
1. FuelPHPに興味を持ったきっかけ

2. FuelPHPとは

3. FuelPHPのインストールとフォルダ構成

4. FuelPHPの使い方(MVCの基本)

5. セキュリティについて

6. その他ざっくりと(デバッグ、プロファイラ、コア
  クラス一覧)
1. FuelPHPに興味を持ったきっかけ
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの

 •   たまたま空いてるPGがいなかった
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの

 •   たまたま空いてるPGがいなかった



 •   自分で作るか
1. FuelPHPに興味を持ったきっかけ

 •   なんかフレームワークを使おう
1. FuelPHPに興味を持ったきっかけ

 •   なんかフレームワークを使おう

 •   最近よく聞くようになったフレームワーク「FuelPHP」

 •   RESTコントローラが簡単っぽい

 •   試しに調べてみよう
1. FuelPHPに興味を持ったきっかけ
例えば、このようなテーブルがあったとして


 CREATE TABLE user (
     id int(11) auto_increment
    ,name varchar(50)
    ,email varchar(255)
 );
1. FuelPHPに興味を持ったきっかけ
こんな風にコントローラを実装


 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
 // 実際はもっと作り込みますが……
1. FuelPHPに興味を持ったきっかけ
こんな風にコントローラを実装
※中身は後ほど解説します

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
 // 実際はもっと作り込みますが……
1. FuelPHPに興味を持ったきっかけ
以下のURLにアクセスすると……


 http://localhost/user/list.xml?id=123
1. FuelPHPに興味を持ったきっかけ
以下のURLにアクセスすると……
XMLが返ってくる!

 http://localhost/user/list.xml?id=123


 <xml>
   <id>123</id>
   <name>foo</name>
   <email>foo@example.jp</email>
 </xml>
1. FuelPHPに興味を持ったきっかけ
拡張子をjsonに変更すると……


 http://localhost/user/list.json?id=123
1. FuelPHPに興味を持ったきっかけ
拡張子をjsonに変更すると……
JSON形式で返ってくる!

 http://localhost/user/list.json?id=123


 {
     "id":"123",
     "name":"foo",
     "email":"foo@example.jp"
 }
1. FuelPHPに興味を持ったきっかけ
拡張子をphpに変更すると……
PHP arrayで返ってくる!

 http://localhost/user/list.php?id=123


 array (
    'id' => '123',
    'name' => 'foo',
    'email' => 'foo@example.jp',
 )
1. FuelPHPに興味を持ったきっかけ
何これステキ!
1. RESTコントローラの使い方
1. RESTコントローラの使い方

 •   Controller_Rest クラスを継承します

 •   実装するメソッドには、HTTPメソッドのプレフィック
     スをつけます

 •   URLのメソッド名に続けて、出力フォーマットの拡張子
     を付けます
1. RESTコントローラの解説
Controller_Rest クラスを継承


 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
1. RESTコントローラの解説
メソッドのプレフィックスでHTTPメソッドを指定
GET, POST, PUT, DELETE が指定できます

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
1. RESTコントローラの解説
メソッド名に続けて出力フォーマットの拡張子を付けます
拡張子に応じて自動的にフォーマットしてくれます

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }

 http://localhost/user/list.xml?id=123
1. RESTコントローラの解説
以下のフォーマットに対応


     拡張子                フォーマット
    xml          XML
    json         JSON
    jsonp        JSONP
    csv          CSVファイル
    php          PHP array
    serialized   シリアライズされたデータ
1. RESTコントローラの解説
FuelPHPとの出会いはそんな感じ
2. FuelPHPとは
2. FuelPHPとは
 公式サイトより
2. FuelPHPとは
 つたない和訳ですが




      FuelPHPは他のフレームワークの
      良いところを参考にし、コミュ
      ニティ駆動で一から開発された
      PHP5.3を対象としたシンプルで
      柔軟なウェブアプリケーション
      フレームワークです。
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます

 •   2011年7月にversion 1.0が出た新しいフレームワーク

 •   その後、2011年12月に1.1、2012年6月に1.2リリース
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます

 •   2011年7月にversion 1.0が出た新しいフレームワーク

 •   その後、2011年12月に1.1、2012年6月に1.2リリース

 •   FuelPHPのコア開発者5名すべてはCodeIgniterの開発に
     関わっている(いた)

 •   他のフレームワークの良い所取りをしたCodeIgniter
     ライクなフレームワーク
2. FuelPHPとは

 •   規約より設定

 •   PHP5.3以上必須

 •   オートローダー

 •   oilコマンド
     •  スキャフォールディング
     •  DBマイグレーション
     •   テスト、タスク

 •   モジュール、パッケージ、HMVC、 ViewModel

 •   MITライセンス
3. FuelPHPのインストール
3. FuelPHPのインストール



 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
2行、それだけで。


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
インストール完了! ※要Git
3. FuelPHPのインストール
Twitter Bootstrapが取り入れられてるってのもイイ感じ
3. FuelPHPのインストール
ざっくり解説


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
oilコマンドのインストール


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
FuelPHPのファイル群を生成


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
中身はともにGitHubからのgit clone(ざっくり解説)


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのフォルダ構成
3. FuelPHPのフォルダ構成
          アプリケーションファイルを置く場所
          =僕らが書く場所
3. FuelPHPのフォルダ構成
          FuelPHPのコアが置かれた場所
          基本的に触ることはないです
3. FuelPHPのフォルダ構成
          パッケージを置く場所
3. FuelPHPのフォルダ構成
          パッケージを置く場所
          標準で5つのパッケージが
          格納されています
          自作のパッケージもここに格納します
3. FuelPHPのフォルダ構成
          スタティックファイルを置く場所
3. FuelPHPのフォルダ構成
          アプリケーションファイルの中を
          見ていきましょう
3. FuelPHPのフォルダ構成

          Model
3. FuelPHPのフォルダ構成

          View
3. FuelPHPのフォルダ構成

          Controller
3. FuelPHPのフォルダ構成

          ViewModel
          Viewファイルとは違います
3. FuelPHPのフォルダ構成

          ViewModel
          Viewファイルとは違います

          ビューモデルはビューの生成に必要なロジックを含むク
          ラスです。 コントローラがユーザ入力を処理し、必要な
          アクションを処理すると、 ビューモデルにビューに必要
          なデータを取得するように処理を引き継ぎます。
          http://press.nekoget.com/fuelphp_doc_1.2/general/
          viewmodels.html
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
          core/config
          app/config
          app/config/production or app/config/development

          の順でオーバーライドされます
          productionまたはdevelopmentは、環境に応じて読み込まれ
          ます
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
          core/config
          app/config
          app/config/production or app/config/development

          の順でオーバーライドされます
          productionまたはdevelopmentは、環境に応じて読み込まれ
          ます
          初期状態でフォルダは存在しませんが、stage, test という
          環境も定義されています
4. FuelPHPの使い方 - Controller
4. FuelPHPの使い方 - Controller

 •   APPPATH/classes/controller以下に配置

 •   ファイル名はコントローラー名で小文字にします

 •   Controllerクラスを継承します

 •   クラス名にはController_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Controllerでのお約束
 ファイル名はすべて小文字


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 Controllerクラスを継承します


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 Controller_プレフィックスをつけます


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 クラス名の単語の先頭は大文字にします


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 クラス名の単語の区切りにアンダースコアを使うとサブ
 フォルダを意味します

APPPATH/classes/controller/welcome/member.php

class Controller_Welcome_Member extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第一セグメントがクラス名


http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第二セグメントがメソッド名


http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 ブラウザから実行されるメソッド(アクションメソッ
 ド)には、action_プレフィックスをつけます

http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第三セグメント以降はパラメータ
 受け取りの際はデフォルト値を設定しておいた方が無難

http://localhost/welcome/index/123

class Controller_Welcome extends Controller
{
	

 public function action_index($page = null)
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerの定義済みメソッドとプロパティ
詳しい解説は省略します


  メソッド/プロパティ                 意味
  action_index()   メソッド名を省略されたときに実行される


  before()         アクションメソッドが実行される前に自動実行


  after()          アクションメソッドが実行された後に自動実行


  $request         Requestクラスのオブジェクトを保持


  $response        Responseクラスのオブジェクトを保持
4. Controllerクラスの種類
詳しい解説は省略します


        クラス名                         意味
   Controller            ベースコントローラ


   Controller_Template   ビューでレイアウト機能を使うコントローラ


   Controller_Rest       RESTfulなコントローラ

                         RestコントローラにTemplateコントローラが備
   Controller_Hybrid     わったもの
4. FuelPHPの使い方 - View
4. FuelPHPの使い方 - View

 •   APPPATH/views以下に配置

 •   ファイル名は小文字にします

 •   拡張子.phpをつけます
4.Viewファイル
Viewファイルの中身については、本日は割愛します。
PHPとHTMLで構成されたファイルです。
</head>
<body>
	

   <div id="header">
	

   	

    <div class="row">
	

   	

    	

   <div id="logo"></div>
	

   	

    </div>
	

   </div>
	

   <div class="container">
	

   	

    <div class="row">
	

   	

    	

   <div class="span16">
	

   	

    	

   	

    <h1><?php echo e($title); ?> <small>We can't find that!</small></h1>
	

   	

    	

   	

    <hr>
	

   	

    	

   	

    <p>The controller generating this page is found at <code>APPPATH/classes/controller/welcome.php</
code>.</p>
	

   	

    	

   	

    <p>This view is located at <code>APPPATH/views/welcome/404.php</code>.</p>
	

   	

    	

   </div>
	

   	

    </div>
	

   	

    <footer>
	

   	

    	

   <p class="pull-right">Page rendered in {exec_time}s using {mem_usage}mb of memory.</p>
	

   	

    	

   <p>
	

   	

    	

   	

    <a href="http://fuelphp.com">FuelPHP</a> is released under the MIT license.<br>
	

   	

    	

   	

    <small>Version: <?php echo e(Fuel::VERSION); ?></small>
4.Viewの読み込み
コントローラからView::forge('path/view')として読み込む
APPPATH/views/までのパスは省略します

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return View::forge('welcome/index');
	

 }
}
4.Viewに値を渡す
連想配列で値を渡す
レンダリング時にextract()されるのでキーが変数名となります

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $data = array();
	

 	

 $data['name'] = 'foo';
	

 	

 return View::forge('welcome/index', $data);
	

 }
}
4.Viewに値を渡す
他にも
set()メソッドを利用して値を渡す

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $view = View::forge('welcome/index');
	

 	

 $view->set('name', 'foo');
	

 	

 return $view;
	

 }
}
4.Viewに値を渡す
他にも
プロパティに値をセットする

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $view = View::forge('welcome/index');
	

 	

 $view->name = 'foo';
	

 	

 return $view;
	

 }
}
4. テンプレートコントローラとView
テンプレートのレイアウトを行いたいときは、
Controller_Templateを継承します

                コンテナ




       メニュー            メイン
4. FuelPHPの使い方 - Model
4. FuelPHPの使い方 - Model

 •   APPPATH/classes/model以下に配置

 •   ファイル名はモデル名で小文字にします

 •   Modelクラスを継承します

 •   クラス名にはModel_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Modelでのお約束

 •
Controllerと基本的には同じなので詳細解説は省略します
   APPPATH/classes/model以下に配置

 •   ファイル名はモデル名で小文字にします

 •   Modelクラスを継承します

 •   クラス名にはModel_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Modelクラスの種類
詳しい解説は省略します


      クラス名                  意味
  Model          ベースモデル


  Model_Crud     CRUD処理をするモデル


  OrmModel      ORMパッケージ
4. oilコマンドでModelを作ってみる
4. oilコマンドでModelを作ってみる
名前とパスワードとemailを持つユーザテーブルを作りた
いとした場合

CREATE TABLE user (
    id int(11) auto_increment
   ,name varchar(50)
   ,password varchar(255)
   ,email varchar(255)
);
4. oilコマンドでModelを作ってみる
oilコマンドだとこんな感じ


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
テーブル名


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
フィールド名


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
フィールドの型


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
マイグレーションを実行し、テーブルを作成します


$ oil g model user name:varchar[50] password:string email:string
$ oil refine migrate
4. oilコマンドでModelを作ってみる
 Userモデルができた!
 テーブルもできた!
class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name',
	

   	

  'password',
	

   	

  'email',
	

   	

  'created_at',
	

   	

  'updated_at'
	

   );
	

   protected static $_observers = array(
	

   	

   'OrmObserver_CreatedAt' => array(
	

   	

   	

   'events' => array('before_insert'),
	

   	

   	

   'mysql_timestamp' => false,
	

   	

   ),
	

   	

   'OrmObserver_UpdatedAt' => array(
	

   	

   	

   'events' => array('before_save'),
	

   	

   	

   'mysql_timestamp' => false,
	

   	

   ),
	

   );
}
4. oilコマンドでModelを作ってみる
 例えば、こんな風に書いておけば、Fieldsetクラスで自動
 的にフォームを作ってくれたり、バリデートしてくれたり
class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name' => array(
	

   	

  	

   'data_type' => 'varchar',
	

   	

  	

   'label'     => 'お名前',
	

   	

    	

   'validation' => array('required'),
	

   	

    	

   'form'       => array('type' => 'text'),
	

   	

    	

   'default'    => '',
	

   	

    ),
	

   	

    'password',
	

   	

    'email',
	

   	

    'created_at',
	

   	

    'updated_at'
	

   );

	

   // 略
4. oilコマンドでModelを作ってみる
 リレーションの設定はこんな感じ


class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name',
	

   	

  'password',
	

   	

  'email',
	

   	

  'created_at',
	

   	

  'updated_at'
	

   );
	

	

   protected static $_has_many = array(
	

   	

    comments => array(
	

   	

    	

 'model_to'       => 'Model_Comment',
	

   	

    	

 'key_from'       => 'id',
	

   	

    	

 'key_to'         => 'user_id',
	

   	

    	

 'cascade_save' => false,
	

   	

    	

 'cascade_delete' => true,
	

   ));	

 	

	

   // 略
4. FuelPHPの使い方
説明できてないことの方が多いですが、FuelPHPのざっく
りとした使い方は以上です
5. セキュリティについて
5. セキュリティについて
代表的なウェブアプリケーションのセキュリティリスク
と対応状況

         リスク名        対応状況
                ビューへ渡す値は自動的にエ
  XSS
                スケープされる

                クエリビルダ、ORMパッケー
  SQLインジェクション   ジを使えば、自動的にエス
                ケープされる
                Cookieを使ったトークンを作
  CSRF          るクラスが用意されている。
                手動で利用する
5. セキュリティについて
出力フィルタ、URIフィルタはSecurity::htmlentities()が使わ
れます
5. セキュリティについて
 出力フィルタ、URIフィルタはSecurity::htmlentities()が使わ
 れます
中身
	

   public static function htmlentities($value, $flags = null, $encoding = null, $double_encode = null)
	

   {
	

   	

   static $already_cleaned = array();

	

   	

   is_null($flags) and $flags = Config::get('security.htmlentities_flags', ENT_QUOTES);
	

   	

   is_null($encoding) and $encoding = Fuel::$encoding;
	

   	

   is_null($double_encode) and $double_encode = Config::get('security.htmlentities_double_encode', false);

	

   	

   // 略

	

   	

   if (is_string($value))
	

   	

   {
	

   	

   	

    $value = htmlentities($value, $flags, $encoding, $double_encode);
	

   	

   }

	

   	

   // 略
5. セキュリティについて
5. セキュリティについて

•   ある程度は、自動的に保護してくれる

•   または保護をするクラスが用意されている

•   ただ過信は禁物!

•   ウェブアプリケーション制作に関わる以上、アンテナを
    常に張りセキュリティに関する知識を高めておく必要が
    ある
6. その他ざっくりと
6. 開発補助 - デバッグ
エラーがあった場合は整形して表示してくれます
6. 開発補助 - プロファイラ
config で 'profiling' => true にすることで、プロファイラが
使えます
6. コアクラス一覧
•   Agent        •   Form         •   Package
•   Arr          •   Format       •   Pagination
•   Asset        •   Ftp          •   Profiler
•   Autoloader   •   Fuel         •   Redis
•   Cache        •   Html         •   Request
•   Cli          •   Image        •   Response
•   Config        •   Inflector     •   Router
•   Cookie       •   Input        •   Security
•   Crypt        •   Lang         •   Session
•   Database     •   Log          •   Str
•   Date         •   Markdown     •   Theme
•   Debug        •   Migrate      •   Upload
•   Event        •   Model_Crud   •   Uri
•   Fieldset     •   Module       •   Validation
•   File         •   Mongo_Db     •   View
•   Finder       •   Num
7月1日から20日間FuelPHPを触ってみた感想

 •   必要な機能は大凡そろってるかなー

 •   シンプルで、やりたいことがサクッとできるイメージ

 •   ただ、フィーチャーフォン(いわゆるガラケー)向け
     のウェブアプリを作ったりするのは苦手分野かな?
     (ただ単に調べきれてないとも言う)

 •   その辺は、CakePHPとかの方が一日の長がある感じ

 •   まあ実質1週間くらいしか触ってないけどね!
こんな人にはFuelPHPを勧めてみます

 •   現場から少し離れてたけど、やっぱり自分でもアプリ
     ケーションを作りたい人

 •   WordPress等を通してPHPでのアプリケーション制作に
     興味を持ったけど、何から手を付けたら良いかわから
     ない人

 •   CodeIgniterのライセンス騒動に疲弊した人

 •   このスライドを通して興味を持ったもの皆
参考文献とかウェブページとか
FuelPHP 公式サイト(英語)
http://fuelphp.com/

FuelPHP日本語訳ドキュメント
http://press.nekoget.com/fuelphp_doc/

FuelPHP Google グループ
http://groups.google.com/group/fuelphp_jp
参考文献とかウェブページとか
     FuelPHP 入門
     2012年6月20日 初版 第1刷発行

     ブログ作成を通して、FuelPHPの使い方等を学びます。
     フォーム処理、認証管理、メール送信等。




     はじめてのフレームワークとしての FuelPHP
     2012年7月2日 バージョン0.9.0発行

     フレームワークとはなんぞやという所から始まって、FuelPHPを用いた
     ウェブアプリケーション作成について学びます。テスト手法について
     しっかりと書かれているのが好印象。電子書籍のみの販売。

     達人出版会
     http://tatsu-zine.com/books/fuelphp1st
勉強会のお知らせ




 スイミー
 http://swimmy.me/
勉強会のお知らせ

•   ウェブプログラマ向けの勉強会をやってます

•   PC持ち込んでやる勉強会です

•   月に1∼2回くらいのペースです

•   現在はPHPerも、ちゃんとCIしようってことで、
    Jenkinsの勉強をしています

•   一人で悩んでても仕方ない!がコンセプトなので、
    皆さんもお気軽に、ご参加ください!
さいごに



 このような機会を与えてくださってあ
 りがとうございました。
 おかげで目標を持って勉強することが
 できました。
さいごに




   ご清聴ありがとうございました
            @mawatarin

Weitere ähnliche Inhalte

Was ist angesagt?

Goの時刻に関するテスト
Goの時刻に関するテストGoの時刻に関するテスト
Goの時刻に関するテストKentaro Kawano
 
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우IMQA
 
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)AWSKRUG - AWS한국사용자모임
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked ChangesJiyeon Seo
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったかHiroshi Tokumaru
 
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」ASTERIA User Group
 
Concurrency in action - chapter 7
Concurrency in action - chapter 7Concurrency in action - chapter 7
Concurrency in action - chapter 7JinWoo Lee
 
PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022Rui Hirokawa
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用Lorex L. Yang
 
Fluentd v0.14 Plugin API Details
Fluentd v0.14 Plugin API DetailsFluentd v0.14 Plugin API Details
Fluentd v0.14 Plugin API DetailsSATOSHI TAGOMORI
 
画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろう画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろうHiroshi Kikuchi
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring土岐 孝平
 
マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話LINE Corporation
 
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会Yukinori KITADAI
 
Network miner 使ってみた
Network miner 使ってみたNetwork miner 使ってみた
Network miner 使ってみた彰 村地
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
 

Was ist angesagt? (20)

Goの時刻に関するテスト
Goの時刻に関するテストGoの時刻に関するテスト
Goの時刻に関するテスト
 
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우
 
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)
개발자를 위한 Amazon Lightsail Deep-Dive - 정창훈(당근마켓)
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
 
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
 
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」
ASTERIA WARP運用Tips「RDB連携時のトラブルシューティング 」
 
Concurrency in action - chapter 7
Concurrency in action - chapter 7Concurrency in action - chapter 7
Concurrency in action - chapter 7
 
Scim overview
Scim overviewScim overview
Scim overview
 
PHPの今とこれから2022
PHPの今とこれから2022PHPの今とこれから2022
PHPの今とこれから2022
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 
NiFi 시작하기
NiFi 시작하기NiFi 시작하기
NiFi 시작하기
 
Fluentd v0.14 Plugin API Details
Fluentd v0.14 Plugin API DetailsFluentd v0.14 Plugin API Details
Fluentd v0.14 Plugin API Details
 
画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろう画面状態を抽象化してテスタブル設計ライフを送ろう
画面状態を抽象化してテスタブル設計ライフを送ろう
 
試験にでるSpring
試験にでるSpring試験にでるSpring
試験にでるSpring
 
マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話マルチスレッド問題の特定と再現に頑張った話
マルチスレッド問題の特定と再現に頑張った話
 
Stupid Video Tricks
Stupid Video TricksStupid Video Tricks
Stupid Video Tricks
 
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会わしわし的おすすめ  .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
 
Network miner 使ってみた
Network miner 使ってみたNetwork miner 使ってみた
Network miner 使ってみた
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 

Andere mochten auch

今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」Soudai Sone
 
CakePHP vs FuelPHP
CakePHP vs FuelPHPCakePHP vs FuelPHP
CakePHP vs FuelPHPSotaro Omura
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHPSho A
 
FuelPHP + Pagoda Box
FuelPHP + Pagoda BoxFuelPHP + Pagoda Box
FuelPHP + Pagoda BoxSotaro Omura
 
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションFuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションweb2citizen
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPPHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPKenichi Mukai
 
ぺちぱな。 はじまり
ぺちぱな。 はじまりぺちぱな。 はじまり
ぺちぱな。 はじまりRyo Tajima
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)Hiroyuki Ishiyama
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Sho A
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012Fumito Mizuno
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成kenjis
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoyakenjis
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updateTakako Miyagawa
 

Andere mochten auch (20)

今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」
 
CakePHP vs FuelPHP
CakePHP vs FuelPHPCakePHP vs FuelPHP
CakePHP vs FuelPHP
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 
FuelPHP + Pagoda Box
FuelPHP + Pagoda BoxFuelPHP + Pagoda Box
FuelPHP + Pagoda Box
 
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションFuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
 
Ospn fuel php
Ospn fuel phpOspn fuel php
Ospn fuel php
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPPHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
 
ぺちぱな。 はじまり
ぺちぱな。 はじまりぺちぱな。 はじまり
ぺちぱな。 はじまり
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
 

Ähnlich wie 最近、僕がハマったFuelPHPの紹介

FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるMakoto Shimoda
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at exciteyuki777
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方Ryo Tomidokoro
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門Mahito Ogura
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3ichikaway
 
WordPressプラグイン作成入門
WordPressプラグイン作成入門WordPressプラグイン作成入門
WordPressプラグイン作成入門Yuji Nojima
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能kimulla
 
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPNetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPJunichi Yamamoto
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 Mika Kane
 

Ähnlich wie 最近、僕がハマったFuelPHPの紹介 (20)

Osc2014
Osc2014Osc2014
Osc2014
 
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at excite
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
 
Xhprof
XhprofXhprof
Xhprof
 
Fuelphp1.8を始めたい
Fuelphp1.8を始めたいFuelphp1.8を始めたい
Fuelphp1.8を始めたい
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 
2009 PHP初心者
2009 PHP初心者2009 PHP初心者
2009 PHP初心者
 
Chef
ChefChef
Chef
 
WordPressプラグイン作成入門
WordPressプラグイン作成入門WordPressプラグイン作成入門
WordPressプラグイン作成入門
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
 
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPNetBeansではじめる FuelPHP
NetBeansではじめる FuelPHP
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
 
Apache Module
Apache ModuleApache Module
Apache Module
 

Kürzlich hochgeladen

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Kürzlich hochgeladen (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

最近、僕がハマったFuelPHPの紹介

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n