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