SlideShare a Scribd company logo
ス゗ーツ(笑)が
                          ハモってみた


                                                   2009/02/27
                                                   株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
ス゗ーツ(笑)が
                          ハモってみた
                          合奏してみた
                                                   2009/02/27
                                                   株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
0. 自己紹介



Copyright © Fusic Co., Ltd. All rights reserved.   3
0. 自己紹介
      初めてのPiFでいきなり喋ります。
      緊張しまくりです。><




Copyright © Fusic Co., Ltd. All rights reserved.   4
0. 自己紹介

                          *                        *
                   + うそです
               *
             n ∧_∧ n
          + (ヨ(* ´∀`)E)
                        *
             Y     Y


                                                       だって大半の人知ってますもん。
Copyright © Fusic Co., Ltd. All rights reserved.                         5
0. 自己紹介
      平田 哲 (id:debility)
      ・プログラマ
       主な開発言語
       - PHP
       - Java
       - Perl
       - AIR
       - lingo (Adobe director)
       - Visual C++
Copyright © Fusic Co., Ltd. All rights reserved.   6
0. 自己紹介
      平田 哲 (id:debility)
      ・プログラマ
       DBも当然使います
       - PostgreSQL
       - MySQL
       - Oracle
       - Firebird
       - Access


Copyright © Fusic Co., Ltd. All rights reserved.   7
0. 自己紹介
      平田 哲 (id:debility)
      ・プログラマ
       会社での(多分)主担当
       - サーバ周りあれこれ
       - ネットワーク周りあれこれ
       -


                                                   ・・・何屋さんなのかと。
Copyright © Fusic Co., Ltd. All rights reserved.                  8
0. 自己紹介
      平田 哲 (id:debility)
      ・プログラマ
       ここ最近の喋ったヒストリ
       - Fukuoka.pm
       - AIR Business Community
       - PHP in Fukuoka


                                                   ・・・節操がない。
Copyright © Fusic Co., Ltd. All rights reserved.               9
0. 自己紹介
      あんまし気にせずズンドコ喋ります。




Copyright © Fusic Co., Ltd. All rights reserved.   10
1. フレームワークの話



Copyright © Fusic Co., Ltd. All rights reserved.   11
1. フレームワークの話
      そもそも。
      なぜフレームワークを使うのか。


      =楽したいからに決まってます。
       苦労ばかりなら使いません。




Copyright © Fusic Co., Ltd. All rights reserved.   12
1. フレームワークの話
      個人的使う理由あれこれ
       - システム設計が固めやすい
       - 特にO/Rマッパが楽
       - 車輪の再発明があんましいらない
       - 話が通じやすい(内外とも)
       - などなど




Copyright © Fusic Co., Ltd. All rights reserved.   13
1. フレームワークの話
      特にRails以降大きく変わった気がします。
      昔はもうちょい長期的な観点で得するよ的
      だった気もするんですが。
      最近だとちょっとしたところでもさっくり
      フレームワーク使って楽してます。

      コストが下がって質が上がる
      →使ったほうが何かと便利。


Copyright © Fusic Co., Ltd. All rights reserved.   14
1. フレームワークの話
      でも、何使えばいいのかしら。
       - Zend Frameworkとか
       - CakePHPとか
       - symfonyとか
       - AlkeosとかCodeIgniterとか
       - QcodoとかSolarとか

      そりゃもうたくさんあります。


Copyright © Fusic Co., Ltd. All rights reserved.   15
1. フレームワークの話
      今日は

            - CakePHP
            - symfony

      についてざっくり喋ります。




Copyright © Fusic Co., Ltd. All rights reserved.   16
1. フレームワークの話
      特に


            - symfony

      を掘り下げます。




Copyright © Fusic Co., Ltd. All rights reserved.   17
2.ざっくりCakePHP



Copyright © Fusic Co., Ltd. All rights reserved.   18
2. ざっくりCakePHP
      CakePHP
       - 高速開発フレームワーク
       - MVC
       - O/Rマッピング
       - 「設定より規約優先」
       - Railsラ゗クらしい




Copyright © Fusic Co., Ltd. All rights reserved.   19
2. ざっくりCakePHP
      CakePHP
       - 特に小規模向けらしい
       - PHP4でも動く
       - デゖレクトリ単位で配布




Copyright © Fusic Co., Ltd. All rights reserved.   20
3. ざっくりsymfony



Copyright © Fusic Co., Ltd. All rights reserved.   21
3. ざっくりsymfony
      symfony
        - 開発パターンの自動化
        - MVC
        - O/Rマッピング
        - これもRailsラ゗クらしい




Copyright © Fusic Co., Ltd. All rights reserved.   22
3. ざっくりsymfony
      symfony
        - 特に中~大規模向けらしい
        - PHP5(最新版だと5.2以降)
        - PEARで゗ンストール
          - sandboxもある




Copyright © Fusic Co., Ltd. All rights reserved.   23
4. ざっくり両者比較



Copyright © Fusic Co., Ltd. All rights reserved.   24
4. ざっくり両者比較
      フゔ゗ル構成
                                                     symfony
                CakePHP
                                                    apps
               app                                 config
                                                     lib
                                                   plugins
              cake
                                                    test
                                                    web

Copyright © Fusic Co., Ltd. All rights reserved.               25
4. ざっくり両者比較
      CakePHPの構成掘り下げ
          app                                        config
                                                   controllers
                                                    models
                                                    plugins
                                                      tests
                                                     views
                                                    webroot

Copyright © Fusic Co., Ltd. All rights reserved.                 26
4. ざっくり両者比較
      symfonyの構成掘り下げ①
             apps                                  frontend

                                                   backend

                                                    ・・・




Copyright © Fusic Co., Ltd. All rights reserved.              27
4. ざっくり両者比較
      symfonyの構成掘り下げ②
          frontend                                  config

                                                      lib

                                                   modules      config

                                                   templates    actions

                                                               templates




Copyright © Fusic Co., Ltd. All rights reserved.                           28
4. ざっくり両者比較
      symfonyの構成掘り下げ③
                lib                                 form

                                                   model

                                                   symfony




Copyright © Fusic Co., Ltd. All rights reserved.             29
4. ざっくり両者比較
      構成を並べるとこんな感じ
                                                      symfony
                CakePHP
                                                   V/C/など     V/C/など
                  M/V/C/など                         frontend   backend
                       システム                           Model/Form
                      Cake本体                          Symfony本体
            PHP                               DB     PHP        DB


Copyright © Fusic Co., Ltd. All rights reserved.                        30
4. ざっくり両者比較
      開発の流れ
                                                   symfony
                CakePHP
               DB設計/構築                              設計する

                      (bake)                       YAML書く

                     作り込み                           自動生成

                                                    作り込み


Copyright © Fusic Co., Ltd. All rights reserved.             31
4. ざっくり両者比較
      中身の違い
                                                    symfony
                CakePHP
             そこそこ                                     かなり
           オブジェクト指向                                オブジェクト指向

                        baker                        コマンド

                          配列                         YAML




Copyright © Fusic Co., Ltd. All rights reserved.              32
4. ざっくり両者比較
      CakePHPの中身掘り下げ

             そこそこ
           オブジェクト指向

                        baker

                          配列




Copyright © Fusic Co., Ltd. All rights reserved.   33
4. ざっくり両者比較
      symfonyの中身掘り下げ

              かなり
           オブジェクト指向

                     コマンド

                        YAML




Copyright © Fusic Co., Ltd. All rights reserved.   34
ちょっと休憩。



Copyright © Fusic Co., Ltd. All rights reserved.   35
5. symfony事始め



Copyright © Fusic Co., Ltd. All rights reserved.   36
5. symfony事始め
      いくつか注意事項
      ・symfony1.1の話です(最新は1.2)
      ・作法に沿っていない部分もあります
      ・cakePHPとの比較目線で実際に使って
      みた感想を元に喋っているので、本に書い
      てあるようなこととは若干論点がずれたり
      しています。



Copyright © Fusic Co., Ltd. All rights reserved.   37
5. symfony事始め
      登場するもの
       - symfony CLI
       - YAML
       - モデル
         - Peer
         - Base/BasePeer
       - フォーム
         - バリデータ
       - ゕプリケーション
Copyright © Fusic Co., Ltd. All rights reserved.   38
5. symfony事始め
      登場するもの
       - モジュール
         - ゕクション
         - コンポーネント
         - テンプレート
           - ヘルパー
       - パーシャル
       - スロット
       - コンポーネントスロット
Copyright © Fusic Co., Ltd. All rights reserved.   39
5. symfony事始め
      登場するもの
       - プロペル
         - クラ゗テリゕ
       - オートローダ
       -
       -
       -



Copyright © Fusic Co., Ltd. All rights reserved.   40
5. symfony事始め

                         多い!




Copyright © Fusic Co., Ltd. All rights reserved.   41
5. symfony事始め
      登場するもの(重要なところだけ)
       - symfony CLI

            - YAML

            - モデル
              - Peer
              - Base/BasePeer


Copyright © Fusic Co., Ltd. All rights reserved.   42
5. symfony事始め
      登場するもの(重要なところだけ)
       - モジュール
         - ゕクション
         - コンポーネント

                   - テンプレート

            - パーシャル


Copyright © Fusic Co., Ltd. All rights reserved.   43
5. symfony事始め
      登場するもの(重要なところだけ)
       - プロペル
         - クラ゗テリゕ




Copyright © Fusic Co., Ltd. All rights reserved.   44
5. symfony事始め
      とりあえず使ってみる
       - PEARで゗ンストールか
       - sandbox落としてきて置くか

            いずれにせよまずはinit-project




Copyright © Fusic Co., Ltd. All rights reserved.   45
5. symfony事始め
      DB設計
       - YAML書く
       - YAMLからSQL生成する
       - テーブル作る
       - Model作る




Copyright © Fusic Co., Ltd. All rights reserved.   46
5. symfony事始め
      ゕプリ開発
       - init-app

            -     init-module
            -     Formオブジェクト生成
            -     YAML書く
            -     細かい動きは自分で書く

            - の繰り返し(だいたい)
Copyright © Fusic Co., Ltd. All rights reserved.   47
6. 使ってみた話



Copyright © Fusic Co., Ltd. All rights reserved.   48
6. 使ってみた話
      前提
       - 既存の二次開発
       - 入力I/F大体決まってる
       - DB構成も大体決まってる
       - symfonyに寄せきれない

      → とりあえずORMだけでも活かせれば



Copyright © Fusic Co., Ltd. All rights reserved.   49
6. 使ってみた話
      ログ゗ン
       - module作る
       - settings.ymlをちょっと書く
       - 動いた
       - ( ´∀`)




Copyright © Fusic Co., Ltd. All rights reserved.   50
6. 使ってみた話
      メニュー
       - layout.php書く
       - _menu.phpを書く
       - include_partial(‘global/menu’);
       - 動いた
       - ( ´∀`)




Copyright © Fusic Co., Ltd. All rights reserved.   51
6. 使ってみた話
      検索作る
       - 既存のSQL見る
       - Criteriaで置き換える
       - 置き換える
       - 置き換える
       - 置き換えた
       - ちゃんと取れた
       - ( ´∀`)


Copyright © Fusic Co., Ltd. All rights reserved.   52
6. 使ってみた話
      登録作る
       - Formオブジェクト作る
       - バリデーション書く
       - $paramに放り込む
       - bindする
       - isValidののちsaveする
       - 入った
       - ( ´∀`)


Copyright © Fusic Co., Ltd. All rights reserved.   53
6. 使ってみた話
      更新作る
       - $paramに放り込む
       - bindする
       - isValidののちsaveする
       - 更新された
       - ( ´∀`)




Copyright © Fusic Co., Ltd. All rights reserved.   54
6. 使ってみた話
      削除作る
       - retrieveByPKでデータ拾う
       - delete呼ぶ
       - 削除された
       - ( ´∀`)




Copyright © Fusic Co., Ltd. All rights reserved.   55
6. 使ってみた話
      論理削除
       - sfPropelParanoidBehaviorPlugin
       - 突っ込む
       - schema.yml書き換える
       - symfony propel:build-model
       - でけた
       - ( ´∀`)



Copyright © Fusic Co., Ltd. All rights reserved.   56
7. 使ってみた話(裏)



Copyright © Fusic Co., Ltd. All rights reserved.   57
7. 使ってみた話(裏)
      ログ゗ン(裏)
       - module作る
       - settings.ymlをちょっと書く
       - 動いた
       - ( ´∀`)
       - timeoutがうまく効かない
       - (; ´ Д`) ??
       - autoload.ymlに書くのが正解


Copyright © Fusic Co., Ltd. All rights reserved.   58
7. 使ってみた話(裏)
      メニュー(裏)
       - layout.php書く
       - _menu.phpを書く
       - include_partial(‘global/menu’);
       - 動かない
       - (; ´ Д`) ??
       - jQueryがとにかく怒られる
       - Prototypeと競合してた
       - noConflictで解決
Copyright © Fusic Co., Ltd. All rights reserved.   59
7. 使ってみた話(裏)
      検索作る(裏)
       - 既存のSQL見る
       - Criteriaで置き換える
       - 置き換える
       - 置き換える
       - 置き換えた
       - ちゃんと取れない
       - (; ´ Д`) ??


Copyright © Fusic Co., Ltd. All rights reserved.   60
7. 使ってみた話(裏)
      検索作る(裏)
       - YAMLが記述足りかった
       - 書く
       - 挙動がもっとおかしくなった
       - (; ´ Д`) ????
       - symfony cc
       - まだ動かない



Copyright © Fusic Co., Ltd. All rights reserved.   61
7. 使ってみた話(裏)
      検索作る(裏)
       - timestampで怒られる
       - ソース掘りさげる
       - 既存のデータが過去すぎる
       - 少し修正
       - やっと動いた




Copyright © Fusic Co., Ltd. All rights reserved.   62
7. 使ってみた話(裏)
      更新作る(裏)
       - $paramに放り込む
       - bindする
       - isValidののちsaveする
       - 入らない
       - (; ´ Д`) ??
       - 全部のパラメータをきちんとセット
       - 動いた
       - ちょっと面倒(方法ありそう)
Copyright © Fusic Co., Ltd. All rights reserved.   63
7. 使ってみた話(裏)
      論理削除(裏)
       - sfPropelParanoidBehaviorPlugin
       - 突っ込む
       - schema.yml書き換える
       - symfony propel:build-model
       - 怒られる
       - (; ´ Д`) ??



Copyright © Fusic Co., Ltd. All rights reserved.   64
7. 使ってみた話(裏)
      論理削除(裏)
       - 削除フラグは用意してた
       - デフォルトの削除判定はtimestamp
       - 動かない
       - pluginちょびっと修正
       - 動いた




Copyright © Fusic Co., Ltd. All rights reserved.   65
8. symfony雑感



Copyright © Fusic Co., Ltd. All rights reserved.   66
8. symfony雑感
      ステキなところ
       - 開発の自動化
       - YAMLでかなりの部分記述できる
       - ORMの吐くSQLがきれい
       - きちんとオブジェクト指向
       - コントロールパネルが便利
         - ↓こんなのが右上に出せる



Copyright © Fusic Co., Ltd. All rights reserved.   67
8. symfony雑感
      ステキなところ
       - 既存DBの活用が楽
         - Criteria/schema.yml
       - pluginを活用したらもっと楽
       - NetBeansが正式サポート




Copyright © Fusic Co., Ltd. All rights reserved.   68
8. symfony雑感
      微妙なところ
       - 学習コストが高い
         - 登場人物が多すぎる
       - 公式リフゔレンスが使いにくい
       - 小技のドキュメント/記事が少ない


                                                   とかあったらいいのに。


Copyright © Fusic Co., Ltd. All rights reserved.                 69
9. ざっくりまとめ



Copyright © Fusic Co., Ltd. All rights reserved.   70
9. ざっくりまとめ
      ・Railsラ゗ク ≠ Rails
      ・symfonyは巧く乗りこなすと楽できる
      → 乗りこなすまでは結構大変

      とりあえず小さいものからちょこちょこ
      作ってみるといいと思います。
      いくつかシステムを作っていくうちにクセ
      とかが身に付くので。


Copyright © Fusic Co., Ltd. All rights reserved.   71
9. ざっくりまとめ
      あと、今からsymfony始めるなら。
      NetBeansはかなり強力な助けになって
      くれるはずです。ぜひ導入検討をしてみて
      ください。

      ・・・フレームワークの話してたつもりが
      最後はIDE紹介になってしまいました。


                                                   決して   の陰謀ではありませんよ。

Copyright © Fusic Co., Ltd. All rights reserved.                        72
ご清聴ありがとうございました。




Copyright © Fusic Co., Ltd. All rights reserved.   73

More Related Content

What's hot

The History Of Video Games
The History Of  Video GamesThe History Of  Video Games
The History Of Video Games
marianneandsam
 
Pdf to word converter
Pdf to word converterPdf to word converter
Pdf to word converter
botarj
 
Pdf software
Pdf softwarePdf software
Pdf software
botarj
 
Sgp car performance
Sgp car performance Sgp car performance
Sgp car performance
nomansyed
 
Pdf pro
Pdf proPdf pro
Pdf pro
botarj
 
Pdf reader
Pdf readerPdf reader
Pdf reader
botarj
 
Pdf editor free
Pdf editor freePdf editor free
Pdf editor free
botarj
 
Pdf compressor
Pdf compressorPdf compressor
Pdf compressor
botarj
 
Pdf editor
Pdf editorPdf editor
Pdf editor
botarj
 

What's hot (9)

The History Of Video Games
The History Of  Video GamesThe History Of  Video Games
The History Of Video Games
 
Pdf to word converter
Pdf to word converterPdf to word converter
Pdf to word converter
 
Pdf software
Pdf softwarePdf software
Pdf software
 
Sgp car performance
Sgp car performance Sgp car performance
Sgp car performance
 
Pdf pro
Pdf proPdf pro
Pdf pro
 
Pdf reader
Pdf readerPdf reader
Pdf reader
 
Pdf editor free
Pdf editor freePdf editor free
Pdf editor free
 
Pdf compressor
Pdf compressorPdf compressor
Pdf compressor
 
Pdf editor
Pdf editorPdf editor
Pdf editor
 

Viewers also liked

Wakameとか仮想化とか
Wakameとか仮想化とかWakameとか仮想化とか
Wakameとか仮想化とかSatoshi Hirata
 
A Sciare
A SciareA Sciare
re:Invent 2015 参加報告
re:Invent 2015 参加報告re:Invent 2015 参加報告
re:Invent 2015 参加報告
Satoshi Hirata
 
La più bella mail del mondo
La più bella mail del mondoLa più bella mail del mondo
La più bella mail del mondo
Roberto Giacomelli
 
Balconi Premiati
Balconi PremiatiBalconi Premiati
Balconi Premiati
Roberto Giacomelli
 
YAPC::Asia 2010 参加報告(と後日談)
YAPC::Asia 2010 参加報告(と後日談)YAPC::Asia 2010 参加報告(と後日談)
YAPC::Asia 2010 参加報告(と後日談)Satoshi Hirata
 

Viewers also liked (7)

Wakameとか仮想化とか
Wakameとか仮想化とかWakameとか仮想化とか
Wakameとか仮想化とか
 
A Sciare
A SciareA Sciare
A Sciare
 
re:Invent 2015 参加報告
re:Invent 2015 参加報告re:Invent 2015 参加報告
re:Invent 2015 参加報告
 
La più bella mail del mondo
La più bella mail del mondoLa più bella mail del mondo
La più bella mail del mondo
 
Riscatto Laurea
Riscatto LaureaRiscatto Laurea
Riscatto Laurea
 
Balconi Premiati
Balconi PremiatiBalconi Premiati
Balconi Premiati
 
YAPC::Asia 2010 参加報告(と後日談)
YAPC::Asia 2010 参加報告(と後日談)YAPC::Asia 2010 参加報告(と後日談)
YAPC::Asia 2010 参加報告(と後日談)
 

Similar to スイーツ(笑)がハモってみた

20090529 Phpstudy
20090529 Phpstudy20090529 Phpstudy
20090529 Phpstudy
Yusuke Ando
 
Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)
Eduardo Pelegri-Llopart
 
Facebook.JS (JavaScript)
Facebook.JS (JavaScript)Facebook.JS (JavaScript)
Facebook.JS (JavaScript)
Yusuke Kawasaki
 
Ribbit
RibbitRibbit
090309seminar talk about Cloud Computing
090309seminar talk about Cloud Computing090309seminar talk about Cloud Computing
090309seminar talk about Cloud Computing
Kohei Nishikawa
 
AIR開発環境の導入あれこれ
AIR開発環境の導入あれこれAIR開発環境の導入あれこれ
AIR開発環境の導入あれこれ
Satoshi Hirata
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
Atsuhiro Kubo
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
devsumi2009
 
Ubuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオンUbuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオン
ubon
 
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
devsumi2009
 
Windows PowerShell V2 の新機能
Windows PowerShell V2 の新機能Windows PowerShell V2 の新機能
Windows PowerShell V2 の新機能
shigeya
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
Yusuke Ando
 
Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22
matsushita
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909
Yusuke Wada
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903
ngi group.
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 Candycane
Yusuke Ando
 
Yakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the CloudYakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the Cloud
Takao Funami
 
僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-
Fumihiko Kinoshita
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Yusuke Kawasaki
 
Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述
Chui-Wen Chiu
 

Similar to スイーツ(笑)がハモってみた (20)

20090529 Phpstudy
20090529 Phpstudy20090529 Phpstudy
20090529 Phpstudy
 
Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)Glass Fish Portfolio Launch(Japanese)
Glass Fish Portfolio Launch(Japanese)
 
Facebook.JS (JavaScript)
Facebook.JS (JavaScript)Facebook.JS (JavaScript)
Facebook.JS (JavaScript)
 
Ribbit
RibbitRibbit
Ribbit
 
090309seminar talk about Cloud Computing
090309seminar talk about Cloud Computing090309seminar talk about Cloud Computing
090309seminar talk about Cloud Computing
 
AIR開発環境の導入あれこれ
AIR開発環境の導入あれこれAIR開発環境の導入あれこれ
AIR開発環境の導入あれこれ
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
 
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
【13-A-2】 「Delphi for PHP のエバンジェリストが、日本の PHP エバンジェリストと、 PHP と IDE の今と未来を語る」~Em...
 
Ubuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオンUbuntu Firefox オススメ・アドオン
Ubuntu Firefox オススメ・アドオン
 
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
【13-C-7】 Developers [Media] Summit InfoQ のコンセプト
 
Windows PowerShell V2 の新機能
Windows PowerShell V2 の新機能Windows PowerShell V2 の新機能
Windows PowerShell V2 の新機能
 
20090313 Cakephpstudy
20090313 Cakephpstudy20090313 Cakephpstudy
20090313 Cakephpstudy
 
Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22Oracle Unconference 松下 4/22
Oracle Unconference 松下 4/22
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909
 
フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903フラクタリスト技術知識共有会発表資料 090903
フラクタリスト技術知識共有会発表資料 090903
 
20090522 Candycane
20090522 Candycane20090522 Candycane
20090522 Candycane
 
Yakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the CloudYakiniku(焼き肉) on the Cloud
Yakiniku(焼き肉) on the Cloud
 
僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-僕らのかんばん方式 -Our Kanban Board-
僕らのかんばん方式 -Our Kanban Board-
 
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)Cloud Computing - クラウドコンピューティング(会津産学懇話会)
Cloud Computing - クラウドコンピューティング(会津産学懇話会)
 
Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述Windows 7兼容性系列课程(1):Windows 7兼容性概述
Windows 7兼容性系列课程(1):Windows 7兼容性概述
 

More from Satoshi Hirata

PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介
Satoshi Hirata
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
Satoshi Hirata
 
20201102 postgresql unconference_debility
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debility
Satoshi Hirata
 
最近のPerl界隈の話とか
最近のPerl界隈の話とか最近のPerl界隈の話とか
最近のPerl界隈の話とか
Satoshi Hirata
 
ネットワーク障害を支配したい話
ネットワーク障害を支配したい話ネットワーク障害を支配したい話
ネットワーク障害を支配したい話
Satoshi Hirata
 
すごいログ解析の話
すごいログ解析の話すごいログ解析の話
すごいログ解析の話
Satoshi Hirata
 
ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話
Satoshi Hirata
 
RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話
Satoshi Hirata
 
クイズを支える技術2017
クイズを支える技術2017クイズを支える技術2017
クイズを支える技術2017
Satoshi Hirata
 
ひとりLT大会
ひとりLT大会ひとりLT大会
ひとりLT大会
Satoshi Hirata
 
PHP関数他探訪2016
PHP関数他探訪2016PHP関数他探訪2016
PHP関数他探訪2016
Satoshi Hirata
 
re:Invent 2015 参加報告
re:Invent 2015 参加報告re:Invent 2015 参加報告
re:Invent 2015 参加報告
Satoshi Hirata
 
botになる技術 (How to be a bot)
botになる技術 (How to be a bot)botになる技術 (How to be a bot)
botになる技術 (How to be a bot)
Satoshi Hirata
 
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について 福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
Satoshi Hirata
 
クイズを支える技術
クイズを支える技術クイズを支える技術
クイズを支える技術
Satoshi Hirata
 
Majibaka
MajibakaMajibaka
Majibaka
Satoshi Hirata
 
Pの付く言語の話
Pの付く言語の話Pの付く言語の話
Pの付く言語の話Satoshi Hirata
 
Perlで仮想サーバ制御(仮)
Perlで仮想サーバ制御(仮)Perlで仮想サーバ制御(仮)
Perlで仮想サーバ制御(仮)Satoshi Hirata
 
Beccoame Ver0.1
Beccoame Ver0.1Beccoame Ver0.1
Beccoame Ver0.1
Satoshi Hirata
 
bitshifters徹底攻略
bitshifters徹底攻略bitshifters徹底攻略
bitshifters徹底攻略Satoshi Hirata
 

More from Satoshi Hirata (20)

PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介PostgreSQL15 新機能紹介
PostgreSQL15 新機能紹介
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
 
20201102 postgresql unconference_debility
20201102 postgresql unconference_debility20201102 postgresql unconference_debility
20201102 postgresql unconference_debility
 
最近のPerl界隈の話とか
最近のPerl界隈の話とか最近のPerl界隈の話とか
最近のPerl界隈の話とか
 
ネットワーク障害を支配したい話
ネットワーク障害を支配したい話ネットワーク障害を支配したい話
ネットワーク障害を支配したい話
 
すごいログ解析の話
すごいログ解析の話すごいログ解析の話
すごいログ解析の話
 
ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話ピタゴラなんとかスイッチを作って破壊した話
ピタゴラなんとかスイッチを作って破壊した話
 
RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話RDS for PostgreSQLにまつわる雑多な話
RDS for PostgreSQLにまつわる雑多な話
 
クイズを支える技術2017
クイズを支える技術2017クイズを支える技術2017
クイズを支える技術2017
 
ひとりLT大会
ひとりLT大会ひとりLT大会
ひとりLT大会
 
PHP関数他探訪2016
PHP関数他探訪2016PHP関数他探訪2016
PHP関数他探訪2016
 
re:Invent 2015 参加報告
re:Invent 2015 参加報告re:Invent 2015 参加報告
re:Invent 2015 参加報告
 
botになる技術 (How to be a bot)
botになる技術 (How to be a bot)botになる技術 (How to be a bot)
botになる技術 (How to be a bot)
 
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について 福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
福岡の(多分)まじめなWeb屋さんの社内事情について、あるいは社内コミュニ ケーションのあり方について
 
クイズを支える技術
クイズを支える技術クイズを支える技術
クイズを支える技術
 
Majibaka
MajibakaMajibaka
Majibaka
 
Pの付く言語の話
Pの付く言語の話Pの付く言語の話
Pの付く言語の話
 
Perlで仮想サーバ制御(仮)
Perlで仮想サーバ制御(仮)Perlで仮想サーバ制御(仮)
Perlで仮想サーバ制御(仮)
 
Beccoame Ver0.1
Beccoame Ver0.1Beccoame Ver0.1
Beccoame Ver0.1
 
bitshifters徹底攻略
bitshifters徹底攻略bitshifters徹底攻略
bitshifters徹底攻略
 

Recently uploaded

zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 

Recently uploaded (20)

zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 

スイーツ(笑)がハモってみた

  • 1. ス゗ーツ(笑)が ハモってみた 2009/02/27 株式会社Fusic 平田 哲 Copyright © Fusic Co., Ltd. All rights reserved.
  • 2. ス゗ーツ(笑)が ハモってみた 合奏してみた 2009/02/27 株式会社Fusic 平田 哲 Copyright © Fusic Co., Ltd. All rights reserved.
  • 3. 0. 自己紹介 Copyright © Fusic Co., Ltd. All rights reserved. 3
  • 4. 0. 自己紹介 初めてのPiFでいきなり喋ります。 緊張しまくりです。>< Copyright © Fusic Co., Ltd. All rights reserved. 4
  • 5. 0. 自己紹介 * * + うそです * n ∧_∧ n + (ヨ(* ´∀`)E) * Y Y だって大半の人知ってますもん。 Copyright © Fusic Co., Ltd. All rights reserved. 5
  • 6. 0. 自己紹介 平田 哲 (id:debility) ・プログラマ 主な開発言語 - PHP - Java - Perl - AIR - lingo (Adobe director) - Visual C++ Copyright © Fusic Co., Ltd. All rights reserved. 6
  • 7. 0. 自己紹介 平田 哲 (id:debility) ・プログラマ DBも当然使います - PostgreSQL - MySQL - Oracle - Firebird - Access Copyright © Fusic Co., Ltd. All rights reserved. 7
  • 8. 0. 自己紹介 平田 哲 (id:debility) ・プログラマ 会社での(多分)主担当 - サーバ周りあれこれ - ネットワーク周りあれこれ - ・・・何屋さんなのかと。 Copyright © Fusic Co., Ltd. All rights reserved. 8
  • 9. 0. 自己紹介 平田 哲 (id:debility) ・プログラマ ここ最近の喋ったヒストリ - Fukuoka.pm - AIR Business Community - PHP in Fukuoka ・・・節操がない。 Copyright © Fusic Co., Ltd. All rights reserved. 9
  • 10. 0. 自己紹介 あんまし気にせずズンドコ喋ります。 Copyright © Fusic Co., Ltd. All rights reserved. 10
  • 11. 1. フレームワークの話 Copyright © Fusic Co., Ltd. All rights reserved. 11
  • 12. 1. フレームワークの話 そもそも。 なぜフレームワークを使うのか。 =楽したいからに決まってます。 苦労ばかりなら使いません。 Copyright © Fusic Co., Ltd. All rights reserved. 12
  • 13. 1. フレームワークの話 個人的使う理由あれこれ - システム設計が固めやすい - 特にO/Rマッパが楽 - 車輪の再発明があんましいらない - 話が通じやすい(内外とも) - などなど Copyright © Fusic Co., Ltd. All rights reserved. 13
  • 14. 1. フレームワークの話 特にRails以降大きく変わった気がします。 昔はもうちょい長期的な観点で得するよ的 だった気もするんですが。 最近だとちょっとしたところでもさっくり フレームワーク使って楽してます。 コストが下がって質が上がる →使ったほうが何かと便利。 Copyright © Fusic Co., Ltd. All rights reserved. 14
  • 15. 1. フレームワークの話 でも、何使えばいいのかしら。 - Zend Frameworkとか - CakePHPとか - symfonyとか - AlkeosとかCodeIgniterとか - QcodoとかSolarとか そりゃもうたくさんあります。 Copyright © Fusic Co., Ltd. All rights reserved. 15
  • 16. 1. フレームワークの話 今日は - CakePHP - symfony についてざっくり喋ります。 Copyright © Fusic Co., Ltd. All rights reserved. 16
  • 17. 1. フレームワークの話 特に - symfony を掘り下げます。 Copyright © Fusic Co., Ltd. All rights reserved. 17
  • 18. 2.ざっくりCakePHP Copyright © Fusic Co., Ltd. All rights reserved. 18
  • 19. 2. ざっくりCakePHP CakePHP - 高速開発フレームワーク - MVC - O/Rマッピング - 「設定より規約優先」 - Railsラ゗クらしい Copyright © Fusic Co., Ltd. All rights reserved. 19
  • 20. 2. ざっくりCakePHP CakePHP - 特に小規模向けらしい - PHP4でも動く - デゖレクトリ単位で配布 Copyright © Fusic Co., Ltd. All rights reserved. 20
  • 21. 3. ざっくりsymfony Copyright © Fusic Co., Ltd. All rights reserved. 21
  • 22. 3. ざっくりsymfony symfony - 開発パターンの自動化 - MVC - O/Rマッピング - これもRailsラ゗クらしい Copyright © Fusic Co., Ltd. All rights reserved. 22
  • 23. 3. ざっくりsymfony symfony - 特に中~大規模向けらしい - PHP5(最新版だと5.2以降) - PEARで゗ンストール - sandboxもある Copyright © Fusic Co., Ltd. All rights reserved. 23
  • 24. 4. ざっくり両者比較 Copyright © Fusic Co., Ltd. All rights reserved. 24
  • 25. 4. ざっくり両者比較 フゔ゗ル構成 symfony CakePHP apps app config lib plugins cake test web Copyright © Fusic Co., Ltd. All rights reserved. 25
  • 26. 4. ざっくり両者比較 CakePHPの構成掘り下げ app config controllers models plugins tests views webroot Copyright © Fusic Co., Ltd. All rights reserved. 26
  • 27. 4. ざっくり両者比較 symfonyの構成掘り下げ① apps frontend backend ・・・ Copyright © Fusic Co., Ltd. All rights reserved. 27
  • 28. 4. ざっくり両者比較 symfonyの構成掘り下げ② frontend config lib modules config templates actions templates Copyright © Fusic Co., Ltd. All rights reserved. 28
  • 29. 4. ざっくり両者比較 symfonyの構成掘り下げ③ lib form model symfony Copyright © Fusic Co., Ltd. All rights reserved. 29
  • 30. 4. ざっくり両者比較 構成を並べるとこんな感じ symfony CakePHP V/C/など V/C/など M/V/C/など frontend backend システム Model/Form Cake本体 Symfony本体 PHP DB PHP DB Copyright © Fusic Co., Ltd. All rights reserved. 30
  • 31. 4. ざっくり両者比較 開発の流れ symfony CakePHP DB設計/構築 設計する (bake) YAML書く 作り込み 自動生成 作り込み Copyright © Fusic Co., Ltd. All rights reserved. 31
  • 32. 4. ざっくり両者比較 中身の違い symfony CakePHP そこそこ かなり オブジェクト指向 オブジェクト指向 baker コマンド 配列 YAML Copyright © Fusic Co., Ltd. All rights reserved. 32
  • 33. 4. ざっくり両者比較 CakePHPの中身掘り下げ そこそこ オブジェクト指向 baker 配列 Copyright © Fusic Co., Ltd. All rights reserved. 33
  • 34. 4. ざっくり両者比較 symfonyの中身掘り下げ かなり オブジェクト指向 コマンド YAML Copyright © Fusic Co., Ltd. All rights reserved. 34
  • 35. ちょっと休憩。 Copyright © Fusic Co., Ltd. All rights reserved. 35
  • 36. 5. symfony事始め Copyright © Fusic Co., Ltd. All rights reserved. 36
  • 37. 5. symfony事始め いくつか注意事項 ・symfony1.1の話です(最新は1.2) ・作法に沿っていない部分もあります ・cakePHPとの比較目線で実際に使って みた感想を元に喋っているので、本に書い てあるようなこととは若干論点がずれたり しています。 Copyright © Fusic Co., Ltd. All rights reserved. 37
  • 38. 5. symfony事始め 登場するもの - symfony CLI - YAML - モデル - Peer - Base/BasePeer - フォーム - バリデータ - ゕプリケーション Copyright © Fusic Co., Ltd. All rights reserved. 38
  • 39. 5. symfony事始め 登場するもの - モジュール - ゕクション - コンポーネント - テンプレート - ヘルパー - パーシャル - スロット - コンポーネントスロット Copyright © Fusic Co., Ltd. All rights reserved. 39
  • 40. 5. symfony事始め 登場するもの - プロペル - クラ゗テリゕ - オートローダ - - - Copyright © Fusic Co., Ltd. All rights reserved. 40
  • 41. 5. symfony事始め 多い! Copyright © Fusic Co., Ltd. All rights reserved. 41
  • 42. 5. symfony事始め 登場するもの(重要なところだけ) - symfony CLI - YAML - モデル - Peer - Base/BasePeer Copyright © Fusic Co., Ltd. All rights reserved. 42
  • 43. 5. symfony事始め 登場するもの(重要なところだけ) - モジュール - ゕクション - コンポーネント - テンプレート - パーシャル Copyright © Fusic Co., Ltd. All rights reserved. 43
  • 44. 5. symfony事始め 登場するもの(重要なところだけ) - プロペル - クラ゗テリゕ Copyright © Fusic Co., Ltd. All rights reserved. 44
  • 45. 5. symfony事始め とりあえず使ってみる - PEARで゗ンストールか - sandbox落としてきて置くか いずれにせよまずはinit-project Copyright © Fusic Co., Ltd. All rights reserved. 45
  • 46. 5. symfony事始め DB設計 - YAML書く - YAMLからSQL生成する - テーブル作る - Model作る Copyright © Fusic Co., Ltd. All rights reserved. 46
  • 47. 5. symfony事始め ゕプリ開発 - init-app - init-module - Formオブジェクト生成 - YAML書く - 細かい動きは自分で書く - の繰り返し(だいたい) Copyright © Fusic Co., Ltd. All rights reserved. 47
  • 48. 6. 使ってみた話 Copyright © Fusic Co., Ltd. All rights reserved. 48
  • 49. 6. 使ってみた話 前提 - 既存の二次開発 - 入力I/F大体決まってる - DB構成も大体決まってる - symfonyに寄せきれない → とりあえずORMだけでも活かせれば Copyright © Fusic Co., Ltd. All rights reserved. 49
  • 50. 6. 使ってみた話 ログ゗ン - module作る - settings.ymlをちょっと書く - 動いた - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 50
  • 51. 6. 使ってみた話 メニュー - layout.php書く - _menu.phpを書く - include_partial(‘global/menu’); - 動いた - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 51
  • 52. 6. 使ってみた話 検索作る - 既存のSQL見る - Criteriaで置き換える - 置き換える - 置き換える - 置き換えた - ちゃんと取れた - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 52
  • 53. 6. 使ってみた話 登録作る - Formオブジェクト作る - バリデーション書く - $paramに放り込む - bindする - isValidののちsaveする - 入った - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 53
  • 54. 6. 使ってみた話 更新作る - $paramに放り込む - bindする - isValidののちsaveする - 更新された - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 54
  • 55. 6. 使ってみた話 削除作る - retrieveByPKでデータ拾う - delete呼ぶ - 削除された - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 55
  • 56. 6. 使ってみた話 論理削除 - sfPropelParanoidBehaviorPlugin - 突っ込む - schema.yml書き換える - symfony propel:build-model - でけた - ( ´∀`) Copyright © Fusic Co., Ltd. All rights reserved. 56
  • 57. 7. 使ってみた話(裏) Copyright © Fusic Co., Ltd. All rights reserved. 57
  • 58. 7. 使ってみた話(裏) ログ゗ン(裏) - module作る - settings.ymlをちょっと書く - 動いた - ( ´∀`) - timeoutがうまく効かない - (; ´ Д`) ?? - autoload.ymlに書くのが正解 Copyright © Fusic Co., Ltd. All rights reserved. 58
  • 59. 7. 使ってみた話(裏) メニュー(裏) - layout.php書く - _menu.phpを書く - include_partial(‘global/menu’); - 動かない - (; ´ Д`) ?? - jQueryがとにかく怒られる - Prototypeと競合してた - noConflictで解決 Copyright © Fusic Co., Ltd. All rights reserved. 59
  • 60. 7. 使ってみた話(裏) 検索作る(裏) - 既存のSQL見る - Criteriaで置き換える - 置き換える - 置き換える - 置き換えた - ちゃんと取れない - (; ´ Д`) ?? Copyright © Fusic Co., Ltd. All rights reserved. 60
  • 61. 7. 使ってみた話(裏) 検索作る(裏) - YAMLが記述足りかった - 書く - 挙動がもっとおかしくなった - (; ´ Д`) ???? - symfony cc - まだ動かない Copyright © Fusic Co., Ltd. All rights reserved. 61
  • 62. 7. 使ってみた話(裏) 検索作る(裏) - timestampで怒られる - ソース掘りさげる - 既存のデータが過去すぎる - 少し修正 - やっと動いた Copyright © Fusic Co., Ltd. All rights reserved. 62
  • 63. 7. 使ってみた話(裏) 更新作る(裏) - $paramに放り込む - bindする - isValidののちsaveする - 入らない - (; ´ Д`) ?? - 全部のパラメータをきちんとセット - 動いた - ちょっと面倒(方法ありそう) Copyright © Fusic Co., Ltd. All rights reserved. 63
  • 64. 7. 使ってみた話(裏) 論理削除(裏) - sfPropelParanoidBehaviorPlugin - 突っ込む - schema.yml書き換える - symfony propel:build-model - 怒られる - (; ´ Д`) ?? Copyright © Fusic Co., Ltd. All rights reserved. 64
  • 65. 7. 使ってみた話(裏) 論理削除(裏) - 削除フラグは用意してた - デフォルトの削除判定はtimestamp - 動かない - pluginちょびっと修正 - 動いた Copyright © Fusic Co., Ltd. All rights reserved. 65
  • 66. 8. symfony雑感 Copyright © Fusic Co., Ltd. All rights reserved. 66
  • 67. 8. symfony雑感 ステキなところ - 開発の自動化 - YAMLでかなりの部分記述できる - ORMの吐くSQLがきれい - きちんとオブジェクト指向 - コントロールパネルが便利 - ↓こんなのが右上に出せる Copyright © Fusic Co., Ltd. All rights reserved. 67
  • 68. 8. symfony雑感 ステキなところ - 既存DBの活用が楽 - Criteria/schema.yml - pluginを活用したらもっと楽 - NetBeansが正式サポート Copyright © Fusic Co., Ltd. All rights reserved. 68
  • 69. 8. symfony雑感 微妙なところ - 学習コストが高い - 登場人物が多すぎる - 公式リフゔレンスが使いにくい - 小技のドキュメント/記事が少ない とかあったらいいのに。 Copyright © Fusic Co., Ltd. All rights reserved. 69
  • 70. 9. ざっくりまとめ Copyright © Fusic Co., Ltd. All rights reserved. 70
  • 71. 9. ざっくりまとめ ・Railsラ゗ク ≠ Rails ・symfonyは巧く乗りこなすと楽できる → 乗りこなすまでは結構大変 とりあえず小さいものからちょこちょこ 作ってみるといいと思います。 いくつかシステムを作っていくうちにクセ とかが身に付くので。 Copyright © Fusic Co., Ltd. All rights reserved. 71
  • 72. 9. ざっくりまとめ あと、今からsymfony始めるなら。 NetBeansはかなり強力な助けになって くれるはずです。ぜひ導入検討をしてみて ください。 ・・・フレームワークの話してたつもりが 最後はIDE紹介になってしまいました。 決して の陰謀ではありませんよ。 Copyright © Fusic Co., Ltd. All rights reserved. 72