スイーツ(笑)がハモってみた - メモあり
Upcoming SlideShare
Loading in...5
×
 

スイーツ(笑)がハモってみた - メモあり

on

  • 1,755 views

 

Statistics

Views

Total Views
1,755
Views on SlideShare
1,754
Embed Views
1

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 1

http://www.sfexception.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

スイーツ(笑)がハモってみた - メモあり スイーツ(笑)がハモってみた - メモあり Presentation Transcript

  • ス゗ーツ(笑)が ハモってみた 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