Suche senden
Hochladen
Fuel php活用事例
•
Als PPTX, PDF herunterladen
•
6 gefällt mir
•
5,158 views
Toshiyuki Maeda
Folgen
FuelPHP 勉強会 東京 vol.3にて弊社のメンバーが発表した資料です。
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 54
Jetzt herunterladen
Empfohlen
雲の上の継続的デリバリー
雲の上の継続的デリバリー
Salesforce Developers Japan
スキニーなシステム開発にぴったりの契約形態
スキニーなシステム開発にぴったりの契約形態
Eiwa System Management, Inc.
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例
Kosuke Ito
保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725
コシキ・バリューハブ株式会社/KOSHIKI ValueHub
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
Yuki Tagami
FuelPHP
FuelPHP
Nitin Reddy Katkam
CakePHP vs FuelPHP
CakePHP vs FuelPHP
Sotaro Omura
負荷分散勉強会
負荷分散勉強会
Yuji Otani
Empfohlen
雲の上の継続的デリバリー
雲の上の継続的デリバリー
Salesforce Developers Japan
スキニーなシステム開発にぴったりの契約形態
スキニーなシステム開発にぴったりの契約形態
Eiwa System Management, Inc.
Bitbucketを活用したコードレビュー改善事例
Bitbucketを活用したコードレビュー改善事例
Kosuke Ito
保守運用コストの適正化事例 20120725
保守運用コストの適正化事例 20120725
コシキ・バリューハブ株式会社/KOSHIKI ValueHub
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
ULSアジャイル推進室 基幹系システムの再構築におけるDDD事例 20160312
Yuki Tagami
FuelPHP
FuelPHP
Nitin Reddy Katkam
CakePHP vs FuelPHP
CakePHP vs FuelPHP
Sotaro Omura
負荷分散勉強会
負荷分散勉強会
Yuji Otani
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
Takahiro Imanaka
Automation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
softlayerjp
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AzareaCluster
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
Yasuhiro Horiuchi
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
Takahiro Imanaka
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Recruit Technologies
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
Yusuke Suzuki
Spath for enterprise
Spath for enterprise
Koichiro Sumi
クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化
Hiroshi Koyama
Cloud native strategy ver1.1
Cloud native strategy ver1.1
TomohiroDoi
Data analysis platform ver1.1
Data analysis platform ver1.1
TomohiroDoi
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
Amazon Web Services Japan
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
Toshiyuki Konparu
雲の上の継続的デリバリー - Cloudforce Japan 2012
雲の上の継続的デリバリー - Cloudforce Japan 2012
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
Hiromichi Koga
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
DeNA
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
Weitere ähnliche Inhalte
Ähnlich wie Fuel php活用事例
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
Takahiro Imanaka
Automation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
softlayerjp
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AzareaCluster
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
Yasuhiro Horiuchi
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
Takahiro Imanaka
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Recruit Technologies
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
Yusuke Suzuki
Spath for enterprise
Spath for enterprise
Koichiro Sumi
クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化
Hiroshi Koyama
Cloud native strategy ver1.1
Cloud native strategy ver1.1
TomohiroDoi
Data analysis platform ver1.1
Data analysis platform ver1.1
TomohiroDoi
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
Amazon Web Services Japan
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
Toshiyuki Konparu
雲の上の継続的デリバリー - Cloudforce Japan 2012
雲の上の継続的デリバリー - Cloudforce Japan 2012
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
Hiromichi Koga
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
DeNA
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
Ähnlich wie Fuel php活用事例
(20)
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
DevOps時代到来!Engine YardのPaaSで変わるシステムの開発と運用のあり方
Automation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
はじめてのアマゾンウェブサービス @ JAWS DAYS 2014
Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
Spath for enterprise
Spath for enterprise
クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化
Cloud native strategy ver1.1
Cloud native strategy ver1.1
Data analysis platform ver1.1
Data analysis platform ver1.1
[CTO Night & Day 2019] ML services: MLOps #ctonight
[CTO Night & Day 2019] ML services: MLOps #ctonight
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev ops
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
雲の上の継続的デリバリー - Cloudforce Japan 2012
雲の上の継続的デリバリー - Cloudforce Japan 2012
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Fuel php活用事例
1.
FuelPHP活用事例
2013年3月23日 株式会社シーエー・アドバンス 技術統括本部 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
2.
シーエー・アドバンスってどんな会社?
2008年に、サイバーエージェントの子会社として設立。 インターネットメディアや広告の運用に関連する事業を中心に 行っている会社です。 従業員数は約350人で、東京と沖縄に事業所があります。 (東京約50名、沖縄約300名) エンジニアチームは東京、沖縄合計で20名ほどです。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
3.
弊社では、複数のプロジェクトでFuelPHPを採
用しています。 今日は、社内でFuelPHPをどのように利用して いるか紹介したいと思います。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
4.
時間の関係で深い部分までは紹介できないの
ですが、気になった点は終了後に質問してく ださい。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
5.
FuelPHPを採用している
社内のプロジェクト Copyright © 2013 CAADvance, Inc. All Rights Reserved.
6.
CS(カスタマーサポート)
社内業務ポータル Copyright © 2013 CAADvance, Inc. All Rights Reserved.
7.
画像・投稿監視の管理システム Copyright © 2013
CAADvance, Inc. All Rights Reserved.
8.
CS (カスタマーサポート)
社外向け業務支援システム Copyright © 2013 CAADvance, Inc. All Rights Reserved.
9.
SEM運用支援システム Copyright © 2013
CAADvance, Inc. All Rights Reserved.
10.
その他、小さいシステムも含めて多く
のプロジェクトでFuelPHPを採用して います。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
11.
今日ピックアップするプロジェクト
・CS業務支援システム ・SEM運用支援システム Copyright © 2013 CAADvance, Inc. All Rights Reserved.
12.
採用事例①
CS (カスタマーサポート) 社外向け業務支援システム Copyright © 2013 CAADvance, Inc. All Rights Reserved.
13.
システム概要
ソーシャルアプリに特化して、 ○ユーザから問い合わせの受付 ↓ ○開発者へのエスカレーション ↓ ○ユーザへの返信 までを行う事ができるシステムです。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
14.
プロジェクトメンバー
プロジェクト統 インフラ担当 コーディング担 括 倉原さん 当 鈴木さん 根岸さん Copyright © 2013 CAADvance, Inc. All Rights Reserved.
15.
開発期間
■初期開発 2012年7月〜2012年11月 ■現在のフェーズ クライアントへの導入・機能追加・改 善を続けています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
16.
システム構成
サーバ環境 :AWS OS :AmazonLinux Webサーバ :nginx DB :MySQL5.5 言語 :PHP5.4 FuelPHP :1.3 その他 :Redis, Fluentd Copyright © 2013 CAADvance, Inc. All Rights Reserved.
17.
構成はこんな感じです。
NAT Proxy 監視 ログ Batch WebAp NAT DB Cache Availability Zone Availability Zone Availability Zone Copyright © 2013 CAADvance, Inc. All Rights Reserved.
18.
FuelPHP採用の理由
① スピード感のある開発が求められた。 ② CodeIgniter経験メンバーが居た。 ③ ロゴやサイトがイケててテンションが上 がる。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
19.
開発にあたって
工夫した点をご紹介します。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
20.
ログクラスの拡張
ログ出力クラスを拡張して、システム監 視やエラー調査を効率化しています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
21.
ログクラスの拡張
① ログ出力先の変更 変更前:/logs/YYYY/MM/DD/~.php 変更後:/logs/~.php Copyright © 2013 CAADvance, Inc. All Rights Reserved.
22.
ログクラスの拡張
② ログ出力内容の変更 クラス名、ファンクション名、ユーザ名 等の情報を追加。ログからの各種調査を 行いやすいようにしています。 [YmdHis] [ClassName] [FunctionName] [UserName] [Message] ・・・ ・・・ Copyright © 2013 CAADvance, Inc. All Rights Reserved.
23.
validationクラスの拡張
validationクラスを拡張して、独自の チェック方法を追加しました。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
24.
validationクラスの拡張
機能拡張① 日付チェック (YYYY-MM-DD形式&存在する日付) Copyright © 2013 CAADvance, Inc. All Rights Reserved.
25.
validationクラスの拡張
機能拡張② 英数&記号の一括チェック Copyright © 2013 CAADvance, Inc. All Rights Reserved.
26.
validationクラスの拡張
機能拡張③ アップロードされたcsvファイルに対する チェック。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
27.
paginationのカスタマイズ
標準で実装されているpagenationはGETで行 い、URLにページ番号がつく。 ↓ ajaxのPOSTを使用してpagenationが行える ように機能を追加しています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
28.
Redisの活用
現在はセッションの管理や単純なデータ 保持にRedisを活用しています。 標準でアクセスクラスが用意されていま すので、簡単にRedisを利用する事がで きます。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
29.
Jenkinsでコーディングチェック
Jenkinsを活用してFuelPHPのコーディング 規約をチェックできるようにしています。 リリース前にコーディング規約のチェック& ユニットテストを行い、その後にリリース を行うフローをとっています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
30.
REST-APIの開発
外部システムとの連携に、REST-APIを 実装しています。 FuelPHP標準のController_Restクラス を継承して、簡単に構築することがで きました。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
31.
CS業務支援システムにおける工夫は
以上です。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
32.
採用事例②
SEM運用支援システム Copyright © 2013 CAADvance, Inc. All Rights Reserved.
33.
システム概要
インターネット広告の運用を効率的に行う ためのシステムです。 元々社内で開発・運用していた基幹システ ムを、社外の顧客に提供できるように再構 築を行っています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
34.
プロジェクトメンバー
開発リーダー 開発メンバー 前田さん 中村さん Copyright © 2013 CAADvance, Inc. All Rights Reserved.
35.
開発期間
■初期開発 2012年8月〜2012年12月 ■現在のフェーズ 機能追加や改善をどんどん行って います。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
36.
システム構成
サーバ環境 :IIJ GIO(クラウド) OS :CentOS6 Webサーバ :Apache2,2 DB :MySQL5.5 言語 :PHP5.3 FuelPHP :1.2 その他 :Memcached, Smarty Copyright © 2013 CAADvance, Inc. All Rights Reserved.
37.
構成はこんな感じです。
Intranet 監視(zabbix) Intranet VPN IIJ GIO(クラウ ド) Load Balancer Web / Cache / DB Web / Cache / DB Copyright © 2013 CAADvance, Inc. All Rights Reserved.
38.
FuelPHP採用の理由
フレームワーク未使用の社内システムから 機能を切り出した社外向けシステム。 ↓ 条件① 開発の制約が尐なく、自由度が高い。 条件② 既存の部品を再利用して高速開発できる。 この条件を満たしていたのがFuelPHPでした。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
39.
開発にあたって
工夫した点をご紹介します Copyright © 2013 CAADvance, Inc. All Rights Reserved.
40.
機能単位のサブディレクトリ
Model/Controller/Viewにサブディレク トリを作り、サブシステム単位で纏め て管理しています。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
41.
機能単位のサブディレクトリ Copyright © 2013
CAADvance, Inc. All Rights Reserved.
42.
機能単位のサブディレクトリ
controller/memu/ディレクトリにloginを配置する場合、 loginコントローラーは class Controller_Menu_Login extends Controller_Template { このように名前を付ければOKです。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
43.
Smartyの導入
テンプレートエンジンとしてSmartyを 使っています。 経験メンバーが居たので、開発スピー ドを上げるためです。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
44.
Smartyの導入
FuelPHPでは簡単にSmartyを導入するこ とができます。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
45.
Smartyの導入
■導入手順 ① fuel/app/vendor/ ここにダウンロードしたSmartyを配置。 ② fuel/app/config/config.php このファイルの always_load の packages に parser を 追加。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
46.
Smartyの導入
■導入手順 ③ コントローラーでViewを読み込む際、 Response::forge(View_Smarty::forge(XXXX', $data)); このように記述すればOKです。 viewのテンプレートとして.smartyが読み込まれま す。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
47.
Viewにオブジェクトを渡す
Viewにオブジェクトを渡せるように、 config.phpのwhitelisted_classesに該当クラ スを追加しました。 view表示の際に適用されるhtmlentitiesは、各 クラスに独自で実装する必要があります。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
48.
既存資産の活用
DB/Memcacheへのアクセスは、移植元のシステムで 作ったものをそのまま使用しています。 ログ出力クラスについても、移植元のシステムで 使っていたものを修正して使用しています。 移植の工数を減らし、既存システムの資産を最大 限活かすためです。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
49.
SEM運用支援システムにおける工夫は
以上です。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
50.
社内でFuelPHPを使用したメンバーに、
感想を聞いてみました。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
51.
採用して良かった点。
・非常にとっつきやすく、使いやすい。 ・入門書が発売されているので、学習しやすい。 ・namespace 初めは戸惑ったけど慣れると便利。 ・Coreクラスを理解・拡張しやすい。 ・バッチがとても作りやすい。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
52.
苦労した点。
・日本語のドキュメントが一部しか存在しな い。 ・URLに「_」が使用できないので戸惑った。 ・フレームワークのリリーススパンが短いた め、どのタイミングでバージョンアップする か悩む。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
53.
これからもシーエー・アドバンスは
FuelPHPを積極的に活用していきたいと 思います。 Copyright © 2013 CAADvance, Inc. All Rights Reserved.
54.
ご清聴ありがとうございました。 Copyright © 2013
CAADvance, Inc. All Rights Reserved.
Jetzt herunterladen