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

1,310 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,310
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

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

×