ホーム > タグ > まとめ
まとめ
CakePHP開発者が知るべき10のこと
- 2011年3月9日 10:00 AM
- CakePHP

先日、こんな記事が上がっていました。
この記事でまとまっているのは、Android開発において必要な10の項目です。
インターフェースの設計から、データの取り扱いまで。
AndroidはモバイルデバイスのOSで、CakePHPは単なるWebフレームワーク。
しかし、予め用意されたルールやAPIを活用する点は同じです。
つまり、フレームワーク全般において、開発者が知るべきことをまとめることが出来るはずです。
ここでは、私が良く利用するCakePHPフレームワークについて、開発者が知るべき10のことをまとめます。
フォーラムにこの記事を書き込んだところ、shunさんがtipsを追記してくれています!
モデルに、配列を取り入れた経緯などを紹介してくれています。
こちらも併せてどうぞ。
1. CakePHPで良いのか

CakePHPを使う際に、知るべきことその1。
それは、あなたは本当にCakePHPを使うべきなのかということです。
現在、あらゆるフレームワークが溢れ返っています。
- Ruby
- Ruby On Rails
- Sinatra
- Python
- Django
- Pylons
- Juno
- Perl
- Catalyst
- CGI::Application
- PHP
- CakePHP
- Zend Framework
- Symforny
- Lemonade
- Java
- Stuts
- Slim3
これだけあるフレームワークの中で、なぜ、私はCakePHPを選ぶのか。
そもそも、その開発に使う言語は、本当にPHPで良いのか。
なぜ、PHPを使うのか。
例えば、Quoraを立ち上げた、Facebookの元CTOのAdam D’Angeloさんはこんなことを言っています。
PHP was out of the question. Facebook is stuck on that for legacy reasons, not because it’s the best choice right now. Our main takeaway from that experience is that programming language choice is very important and is extremely costly to change.
Why did Quora choose Python for its development?より
少し、古い記事ですが、現在のウェブではこれが現実でしょう。
Google App Engine、Amazon AWS、あるいはその他のPaaS。
環境を用意するのは、昔ほど難しくありません。
そして、コストもさほど高くありません。
私は、”PHP/CakePHPを使うな“と言っているのではありません。
盲目的にならず、その開発がどんなものかを考えて、フレームワーク選ぶべきだと言っているのです。
これは、CakePHPに限ったことではありませんが。
2. CakePHPの癖を知る

CakePHPを使うとして、次に知るべきことはCakePHPの癖です。
特にデータの取り扱い、つまりモデル周りには、癖があります。
>>> from mysite.polls.models import Poll, Choice # モデルクラスを import します。 # まだ Poll は一つもできていません。 >>> Poll.objects.all() [] # 新たな Poll を作成しましょう。 >>> import datetime >>> p = Poll(question="What's up?", pub_date=datetime.datetime.now()) # 出来たオブジェクトをデータベースに保存します。 save() は明示的に呼ば # ねばなりません。 >>> p.save() # これでオブジェクトに ID が割り当てられました。お使いのデータベースに # よっては、この値は "1" ではなく "1L" のときもあります。心配することは # ありません。単にデータベースバックエンドが Python 長整数型で値を返す # ようになっているだけのことです。 >>> p.id 1 # データベースの各カラムに Python の属性としてアクセスします。 >>> p.question "What's up?" >>> p.pub_date datetime.datetime(2007, 7, 15, 12, 00, 53) # 属性を変更して save() を呼び出すとカラムの値を変更します。 >>> p.pub_date = datetime.datetime(2007, 4, 1, 0, 0) >>> p.save() # objects.all() はデータベース上の全ての Poll を返します。 >>> Poll.objects.all() [<Poll: Poll object>]
>> p = Post.new(:content => "A new post")
=> #<Post id: nil, name: nil, title: nil,
content: "A new post", created_at: nil,
updated_at: nil>
>> p.save
=> false
>> p.errors
=> #<OrderedHash { :title=>["can't be blank",
"is too short (minimum is 5 characters)"],
:name=>["can't be blank"] }>
Ruby on Rails Guides: Getting Started with Rails: 6.6 Using the Consoleより
PythonやRubyは、あらゆるものをオブジェクトとして扱います。
そのため、データをインサートする際にも、まず、モデルのインスタンスを生成します。
その後、インサート用のメソッドを呼び出し、インサートを完了させます。
しかし、CakePHPではデータを配列で扱います。
データをインサートする際も、新しいインスタンスを作ったりしません。
function edit($id) {
//POST された form データがあるか?
if(!empty($this->data)) {
//form データが有効で保存できた場合...
if($this->Recipe->save($this->data)) {
//セッションにフラッシュメッセージをセットしリダイレクトする
$this->Session->setFlash("Recipe Saved!");
$this->redirect('/recipes');
}
}
//form データがない場合、編集する recipe を検索し
//ビューに渡す
$this->set('recipe', $this->Recipe->findById($id));
}
3 CakePHPによる開発: 3.7.4 データを保存するより
このことを知らなければ、あなたはforeachと配列の地獄に落ちるでしょう。
CakePHPでは、これをすっきりと記述するためにSetクラスが存在します。
Setクラスを活用し、配列地獄に落ちないように、気をつけましょう。
3. 高速開発手法を知る

せっかく、フレームワークを使うのだから、その資産を利用しましょう。
フレームワークの資産、それはプラグインです。
例えば、あなたがtwitter連携機能を開発しているとします。
必要なのは、あなたの書いたコードでなく、これらのプラグインです。
Facebook連携機能をエンハンスするとします。
さらに、携帯サイトに対応するとします。
これらのプラグインを作り、公開してくれる人はだいたい決まっています。
その人たちを把握しておきましょう。
- 国内
- 海外
順不同、敬称略です。
複数のCakePHPプラグインを公開している方をまとめました。
全てgithubへのリンクとなっているので、フォローしておくと良いでしょう。
4. 学習方法を知る

CakePHPを学ぶ方法を知ることは、あなたのためにも、そしてあなたの周りに居る人のためにもなります。
あなたの作ったウェブサイトを、後輩に引き継ぐかもしれない。
あるいは、新たなCakePHP開発者を追加するかもしれない。
こうした場合に、CakePHPの良い学習方法を知っていると役に立ちます。
対象者が、フレームワーク、それどころかPHPの初心者である場合、CakePHPの公式マニュアルが役に立ちます。
これは簡単なブログ作成のチュートリアルで、初心者でも手軽に始めることが出来ます。
しかし、このチュートリアルには弱点があります。
それは、MVCモデルを活用しきれていないこと。
もし、このチュートリアルだけでCakePHPを学習すると、ひどい目に遭います。
次に、学習すべきはこれです。
モデル側にロジックをまとめることを覚えましょう。
あるいは、hiromi2424さんのエントリも大変参考になります。
CakePHPを利用したウェブサイト開発を一通り学習したいのであれば、この本がお勧めです。
|
CakePHPによる実践Webアプリケーション開発
|
CakePHP v1.2を対象に書かれているため、少し情報が古い可能性があります。
しかし、その点を除いても、大変参考になります。
業務アプリケーションを対象とした開発手順は、とても実践的です。
最後に、話題のTDDをCakePHPでも取り入れましょう。
|
Webアプリケーションテスト手法
|
CakePHP 1.3で標準テスティングフレームワークSimpleTestの使い方が、わかりやすくまとまっています。
5. サイトを高速化する

サイトのアクセス負荷が増えてきたときのために、その負荷対策もCakePHP開発者は知るべきでしょう。
まず、簡単なところから。
CakePHP 2.0でも標準で取り入れられたプラグインです。
モデルの読み込みをマジックメソッドに寄せることで、プログラムのロードを高速化します。
一般的なウェブサイトであれば、全てのページが動的である必要はありません。
まずは、デフォルトのキャッシュシステムを利用しましょう。
しかし、このキャッシュシステムは完璧ではありません。
プログラムのロードが少なくなるだけで、少なからずCakePHPが呼ばれます。
そこで、静的ページには次のプラグインを利用します。
このプラグインを利用すると、HTMLの静的ファイルをwebroot以下に吐き出してくれます。
CakePHPにアクセスしないのだから、爆速ですよね。
モデル側のキャッシュは、デフォルトで用意されているキャッシュ機構を利用します。
これを有効化すると、クエリ毎に結果をキャッシュしてくれます。
ただし、1リクエスト毎のメモリキャッシュである点と、データ更新後の挙動には注意が必要です。
最後に、独自のキャッシュ機構を用意する場合。
Cacheクラスを利用します。
自動でシリアライズをしてくれたり、キャッシュの有効期限を決めれたりと、便利なクラスです。
6. デプロイを自動化する

CakePHPはデプロイが簡単です。
作成したアプリケーションを、ウェブサーバが参照出来る場所に置くだけです。
しかし、長期で運用する場合、色々と問題が生じます。
例えば、一時ファイルの問題です。
CakePHPはデフォルトでも、アプリケーションに支障が出ない範囲で様々なファイルをキャッシュし、一時ファイルに格納します。
そのため、新たなコードやファイルを追加した場合に、この一時ファイルが悪さをすることがあります。
予期せぬエラーが発生する場合、この一時ファイルが悪さをしていることが多いのです。
デプロイの度、一時ファイルを手動で消しても良いのですが、それは面倒です。
そして、ミスも増えます。
デプロイの簡単なCakePHPですが、その処理も自動化しておくと、多くのメリットが得られます。
CakePHPもCapistranoを利用し、デプロイを自動化できます。
もし、CLIに慣れないエンジニア、あるいはデザイナーが周りに居る場合は、Webistranoも良いでしょう。
Capistranoを使えば、簡単にデプロイを自動化できます。
しかし、データベースのマイグレーションが課題として残ります。
CakePHPのスキーマシェルは、とても貧弱です。
デフォルトのアップデート機能では、自動デプロイに耐えることが出来ません。
そこで、CakeDCが公開しているMigrationsPluginを利用します。
このプラグインを利用することで、Ruby On Railsのようなマイグレーションシェルを得ることが出来ます。
マイグレーションアップ、マイグレーションダウンも自由自在です。
7. 継続的インテグレーションを取り入れる

“4. 学習方法を知る“の中で、テストの話に簡単に触れました。
もし、あなたがテストケースを運用し始めたなら、継続的インテグレーションを取り入れましょう。
CakePHPでも、Hudsonを利用することで継続的インテグレーションすることが出来ます。
Ryuzeeさんの記事を見れば、数時間で環境を整えられるでしょう。
8. バリデーションを活用する

CakePHPを利用するのに欠かせない機能。
それはバリデーションです。
マニュアルの例は、とてもシンプルです。
バリデーションには、この他にも様々な使い道があります。
“4. 学習方法を知る“でも紹介しましたが、hiromi2424さんの記事を参考にしてください。
さらに、バリデーションを使うにあたって以下のことを踏まえておきましょう。
- バリデーションは必ずしも、テーブルのフィールドと1対1でなくても良い。つまり、テーブルに存在しないフィールドに対しても、バリデーションを定義出来る。
- 独自バリデーションメソッドの中から、保存予定の全てのデータにアクセス出来る。つまり、Model::$dataプロパティを利用し、複雑なバリデーションも書ける。
- Model::beforeValidate()コールバックを利用することで、オプションによってバリデーションを切り替えることが出来る。
バリデーションメソッドは、様々な可能性を秘めています。
9. エディタを活用する

CakePHPを利用出来るエディタを把握しましょう。
PHPを書くことが出来るエディタであれば、開発に支障はありません。
しかし、専用のプラグインがあるエディタを利用すれば、開発速度が上がります。
個人的に残念なのは、有用なvimプラグインがないことです。
そのうち、個人的に開発したいと思っているので、vimmerの方はしばしお待ちを。
10. 最新の情報を得る

最後に、CakePHPのトレンドを把握するために、必要な情報源を押さえましょう。
- 国内
- CakePHPフォーラム
- 24時間CakePHP
- cakephperの日記
- Shin x blog
- Copy/Cut/Paste/Hatena
- ECWorks Blog
- kanonjiの日記
- 半年前の私への教科書
- 開発メモのようなもの
- トーハム紀行
- kaz_29@はてな
- php-tips.com
- kunitの日記
- akiyan.com
- CakePHP のおいしい食べ方
- candycane development blog
- 海外
全てRSSリーダーに登録しておけば、ばっちりですね。
もし、CakePHPネタをたくさん書いてるのに、載っていない!っていう人が居たら教えてください。
掲載させて頂きます。
かなりの長文になってしまいました。
(そして、最後はヘタってしまいました:(
恐らく、生粋のCakePHP Bakerの皆さんは全て押さえているでしょう。
初級、あるいは中級者の方の参考になれば、幸いです。
また、他のフレームワークでも、”知るべき10のこと“シリーズを書いてみませんか?
英語を勉強するために行った環境改善まとめ
- 2010年11月14日 12:00 AM
- Lifehacks

毎日、更新されるブログの中で人気が高いのは”英語“というキーワードです。
なかなか、勉強できないんですよね。
仕事によっては必要性が薄く、触れる機会も少ない。
しかし、”英語が出来れば面白いことができるんじゃないか、人に自慢できるんじゃないか“と期待してこういった記事を開いてしまう。
- 英語が話せるようになる5つのtips
- 1週間でTOEICが800点になった件について
- 無料で出来る英語勉強法
色々な勉強法があって良いと思うのですが、結局、どのやり方でもそこまで効果は変わらないと私は考えています。
恐らく、語学を学ぶ上で最も重要なのは”総時間“でしょう。
どれだけその言語に触れていたか。
どれだけその言語を”自然に”理解できたか。
こういった前提で、”英語をどう勉強するか“を考えてみました。
それは単純で、”自分が一番触れているものを英語化する“という勉強法を思いつきました。
“自分が一番触れているもの”、それはMacBookとWebです。
ここまで来れば、この記事の内容がわかりますね。
そう、今日は普段使っているMacBookとWebサービスを英語化するまとめです。
MacBookを英語化する
まずは、MacBookを英語化します。

日本語のシステム環境設定

言語とテキスト

日本語の優先度を上に設定した言語とテキスト
後は再起動するだけでMacBookが英語になります。

英語のシステム環境設定
日本語で長年使っている方は、これだけで新しい発見があると思います。
様々な場面で出てくるダイアログボックスのメッセージを読んでみてください。
“日本語ではこう書くけど、英語ではこう書くのか!“と新鮮なはずです。
最も使うGoogleを英語化する
次はGoogleを英語にします。

日本語のGoogleトップページ

表示設定

英語のGoogleトップページ
これで常に英語でGoogleが使えます。
Googleを英語にしたことで大きく変わったのは以下の2点です。
- Google Instant Searchが使える
- 段落の空白が違い、日本語が見づらい
Instant Searchも地味に嬉しいのですが、英語を勉強する上で重要なのは2つ目です。
英語のGoogleは英語を基準として考えられているために、日本語で使ったときに表示が見づらいんです。
見づらいと何が起きるか。
“英語で検索してみようかな“、あるいは”英語で検索しないと!“という気持ちになります。
大抵の人はプログラミングをしているときに、構文や関数名を忘れてググると思います。
このような簡単な検索をするときに、”英語でやってみよう“という気持ちを思い出させてくれます。
さらに”検索する“ということは、”英単語を調べて打ち込む“という行為です。
英語検索は、”英単語の暗記“にも優れています。
Googleの英語化、おすすめですよ!
ソーシャルサービスを英語化する
最近は日本でも海外のサービスが流行り、多くの人が使ってます。
エンジニアがよく使うソーシャルサービスと言えば、
でしょう。
この3サービスは全て日本語に対応しているのですが、これをあえて英語で使います。
設定はどれも簡単です。
この記事を呼んでいる読者は、説明するまでもなく設定できると思います。
ですが、記事を豪華に見ry、
英語設定のスクリーンショットを載せておきます。


github

RSSで英語のフィードを購読する
Google Readerに英語のブログやソーシャルブックマークのフィードを追加します。
しかし、Google Readerは日本語のブログを購読するのにも使っています。
登録済みの日本語フィードと新しく追加する英語フィードを混ぜると、
日本語のフィードばかり読んでしまい、英語のフィードを読み飛ばす
という現象が起こります。
これじゃ、せっかく登録した英語フィードが無駄になる。
そこで、Google Readerのフォルダ機能を使います。
英語と日本語のフィードをプレフィックスで分けて管理します。

Google Reader
プレフィックスを付けなくとも、単純に“英語”と”日本語”のフォルダ名で区別できます。
しかし、決まったルールがあったほうがわかりやすいので個人的にはこの形をとっています。
自分の分かりやすい名前を付けてください。
これで、英語フィードを登録する準備ができました。
私は以下の3種類のフィードを登録しました。
- ソーシャルブックマーク
- 趣味ブログ
- 技術ブログ
ソーシャルブックマーク
ソーシャルブックマークは有名な以下のサイトを登録します。
これに加えて、Instapaperのフィードも追加。
日本の”あとで読む“に当たるサービスです。
この3種類を登録すれば、興味が沸く記事が自動で流れてきます。
“読んでみたい!“と思う記事が多いので、英語を読むモチベーションも高まります。
趣味ブログ
私は趣味ブログとして、ライフハックに関するブログを登録しました。
こういった趣味ブログを探すには、Google Readerのフィード検索機能を使います。

Google Readerのフィード検索
ここに自分の趣味のキーワードを入れて、適当に登録数の多いブログを探します。

Google Readerのフィード検索結果
先ほどのソーシャルブックマークのフィードと同じですが、自分の興味が沸くフィードを登録すると良いと思います。
技術ブログ
最後に仕事用の技術ブログを登録します。
技術ブログは少し前に、こんな記事が上がっていたので参考にします。
ここから、自分の興味が湧きそうなブログを選んで登録します。
ここでもやはり、”自分の興味が沸く“を大切にします。
記事に対するモチベーションが低いと、読めないですからね。
さらに、プラスアルファで始める
さらに、プラスアルファで個人的に始めたことを。
洋書の読書
毎日、寝る前に洋書を少しずつ読んでいます。簡単な物語から初めて、たくさんの洋書を読んでみようかと。洋書の多読はこちらの記事が参考になります。
ちなみに、私は今この本を読んでいる途中です。
|
The Curious Incident of the Dog in the Night-Time
|
映画のリスニングとシャドーイング
映画をMP3に変換して、常に聞いています。
同じ映画を聴き続け、耳を英語に慣らすためです。
もう少ししたら、シャドーイングも再開しようかと。
このあたりの話は、この本が参考になります。
|
英語は絶対、勉強するな!―学校行かない・お金かけない・だけどペラペラ
|
idea x ideaさんで紹介されていたこのソフトを使うと映画を簡単にMP3に変換できます。
11月15日まで無料だそうなので、すぐにダウンロードしちゃってください。
どうでしょうか。
参考になりましたか?
英語は1ヶ月やそこらでマスター出来るものではないと思っています。
少しでも早く初めて、少しでも多く英語に触れる。
できるだけ自然な形で、単語の使い方や意味を学ぶ。
“これがやっぱり大事かな”と思い、こんな記事を書いてみました。
それにしても、いい時代になりましたね。
ちょっと設定するだけで、英語環境が手に入るんですから。
よく考えれば、Macで使っているアプリケーションのほとんどは”英語がベース“ですからね。
これを利用しない手はないでしょう。
これだけでは英語を話したり書いたりは出来ないと思いますが、英語を勉強する取り掛かりには良いでしょう。
英語に対する障壁を下げて、徐々に学んでいきましょう。
さて、英語勉強第二弾、がんばるぞー!
(ちなみに、私の第一弾は失敗に終わっていますw)
GAEでPythonを始めるときに知りたい4つのまとめ
- 2010年8月30日 12:00 PM
- Python

最近、とても気になっていることがあります。
それが”Google App Engine + Python”です。
元々、Pythonには興味がありました。
オライリーのPython入門も読破しました。
10日でおぼえる Python 入門教室も5日まではやりました。
しかし、そこで終わりました…。
CakePHPという慣れ親しんだ言語とフレームワークがあったので、そちらに走ってしまいました。
ですが、私はPythonistaに憧れるPHPerです。
ここいらで一つ、重い腰を挙げてPythonの勉強を始めることにしました。
Pythonを勉強する一つの強い理由付けとして、”Google App Engine“の存在があります。
お知らせメールの運営を始めてから、サーバの管理には悩まされっぱなしです。
サーバ管理には多くの時間と手間が掛かります。
管理と運営は基本的に”事前準備”が大切です。完全に裏方の仕事です。
正直、サーバを触るのは好きだけど、管理はしたくない!んです。
では、サーバ管理を放棄するために何をすれば良いか?
その答えの一つが”Google App Engine”でした。
ここでは、@tfmagicianがGoogle App Engine上でPythonを勉強するための記事をまとめます。
皆さんがGAE上でPythonを勉強するときの参考にしてください。
Pythonを勉強する
個人的には最もノウハウが蓄積されているであろうDjangoをフレームワークとして使いたい。
そこで、Djangoのチュートリアルを絡め、Pythonを勉強するためのリンクと書籍を集めてみました。
- スタート ガイド: Python
- Google App Engine チュートリアル集
- Djangoチュートリアル(前編)
- Djangoチュートリアル(後編)
- Google App Engine上でLL+RDBアプリを作ろう
- Learn Python The Hard Way
Pythonモジュールのチュートリアルです。英語ですが、かなり詳細に書かれているようです。これもPythonの勉強に。
- これは実用的。Google App Engineを使ったブログエンジン「Potlatch Blog」
最後にGoogle App Engine上で動いているプログラムのソースを読みましょう。Google App Engineで動くブログシステムです。
まずは公式サイトでしょう。しっかり日本語訳されて載っています。かなりしっかりとしたチュートリアルのようです。
JavaとPythonのチュートリアルが集められています。さらにチュートリアルをやりたい場合はここから探すと良いでしょう。
Djangoのチュートリアルです。このままではGoogle App Engine上で動かすことが出来ないと思いますが、Djangoの勉強のためにどうぞ。
上記の後編です。
Google App EngineはBig Tableと呼ばれる独自のKey-Value Storeのデータベースが採用されています。それを慣れ親しんだリレーショナル・データベースとして使用するためのチュートリアルです。Key-Value Storeに慣れるのが良いのでしょうが、参考に。
![]() |
Google App Engine クラウドアプリケーション開発講座
|
![]() |
オープンソース徹底活用 Slim3 on Google App Engine for Java
|
この本だけJavaのフレームワークSlim3に関するものです。ただ、この本が最もGoogle App EngineのBig Tableについて詳しく述べられているようです。
![]() |
Programming Google App Engine
|
![]() |
Google App Engine 実践リファレンス
|
こう見ると、大々的にGoogle App Engine + Pythonについて触れられている書籍がありませんね。
特に日本ではPythonよりもJavaのほうが知名度も高く、使っている人が多いために、出版社の意向でこういった傾向になっていくのでしょうか。
Google App Engine上で動かすフレームワークを選ぶ
- 【特集】Google App Engineで開発するためのフレームワーク × 16 + α
- webapp
- Django
- Kay
- CherryPy
- Pylons
- Flask
Google App Engine上で動くJavaとPythonのフレームワークが特集されています。
Googleが用意したGoogle App Engine用のフレームワークです。公式サイトにチュートリアルがあります。
Pythonで最も使われているであろうフレームワークです。日本語で書かれた書籍が数冊出ています。
Google App Engine向けの日本製フレームワークです。これも検索するといくつか、記事を見かけました。日本語のドキュメントがあるので始めやすいのではないでしょうか。またGoogle App Engineに最適化されているのも魅力です。
“Pythonらしく”を目標に作られたフレームワークです。
比較的新しいフレームワークのようです。Ruby on Railsに強い影響を受けています。CakePHPもRoRに強い影響を受けているので、Bakerには取っ付きやすいかもしれませんね。余談ですがDropBoxのサイトもこのフレームワークで作られているそうです。
Pythonのマイクロフレームワークです。Pythonのマイクロフレームワーク「Flask」ならApp EngineのTwitter Botが15行で書けるといった記事があがっていました。
まだまだフレームワークは存在します。どれを使うか、迷いますね。
Djangoで始めようと思ったのですが、Pylonsも気になっています。
Google App Engineの運用を学ぶ
Amazon EC2との違いやGoogle App Engineの事例、Cronの使用方法などをまとめたサイトです。
- Amazon ec2とGoogle App Engineの違いを私なりにまとめてみた
- Amazon EC2とGoogle App Engineの比較(それぞれの特徴をまとめてみる)
- 事例で見るGoogle App Engineの魅力
- ここが大変だよBigTableとGoogle App Engine
- GAE/J TaskQueue メモ
- Google App Engine(GAE)でcron動かすやり方をゆとり向けにまとめてみた
Google App EngineとAmazon EC2の比較を自分の経験から書かれています。運営する上での両者の問題点がわかりやすくまとめてあります。
こちらも同様にGoogle App EngineとAmazon EC2の違いをまとめられています。上記の記事を合わせて読むと、Google App EngineとAmazon EC2の理解が深まりそうです。
PDFファイルですが、Google App Engineを使った事例がまとめられています。
BogTableの特性についてまとめられています。ここを読んでから設計を始めれば、データ周りでの躓きを減らせるかもしれません。
Google App Engine上でCronを動かすためのまとめです。Google App Engine上で走るアプリケーションには動作時間の制限があります。これを考慮したCron用のプログラムを書くときの参考になります。
同様にGoogle App Engine上でCronを動かすまとめです。チュートリアル形式になっているので大変わかりやすい記事です。
Google App Engine上の料金体系を知る
Google App Engine上でアプリケーションを作るときに気になるのが、料金体系。
わかりやすく比較しているサイトをピックアップ。
- Amazon EC2とGoogle App Engineのコスト比較
- Google App Engine/競合クラウドサービスとの比較/各料金体系
- Google App Engineの料金体系が面白い
サービスの登録ユーザ数を想定して、両者の料金体系の違いを説明されています。ここを読めば、Google App Engineでどの程度コストが掛かるかもわかると思います。
Google App Engine、Amazon EC2、Windows Azureの料金体系が図で説明されています。100万PVで月額4万円で済んだ、という事例が挙がっています。
Google App Engineの料金体系が詳細に解説されています。表面上だけでなく、リソースあたりのコストまでを踏まえてあります。本当のGoogle App Engineの料金体系を知りたいなら、ここを見てください。
ざっと、個人的にGoogle App Engine for Pythonを勉強するために必要な情報をまとめてみました。
これからGoogle App EngineでPythonを勉強する、という方はこれらの記事を見て、一緒に頑張りましょう。
あ、最後に注意ですが、自分でGoogle App Engineの情報をググるときは、”Google App Engine + キーワード“で検索したほうがたくさん見つかりますよ。
“GAE + キーワード“で始め、検索していて「なんだ、GAEって情報少ないんだなぁ。」と勘違いしていましたから(苦笑)
ホーム > タグ > まとめ
- エキスパートPythonプログラミング読書会 第二期 07の募集を開始しました! http://t.co/DuVQ32jM #expertpython 2 days ago
- 受付を撤収したので、遅れてくる方は @sanojimaru か、 @tfmagician まで声をかけてください。 #expertpython 3 days ago
- http://t.co/e4N59JH3 4章ですね、募集ページを修正しました。 #expertpython 3 days ago
- More updates...
- 無印良品の高度なFacebook連携がさすがだと思った件 « Looops 直人の備忘録
- Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
- 0から始めるiPhoneからのWordPress更新術。第9回 終わりに。一連の流れ ...
- shell.vim 0.9.6 -- Improved integration between Vim and its environment (fullscreen, open URL, etc)
- Cakephp auth refresh websites and posts on cakephp auth refresh
- さよなら、iPhone。 日本でも訴訟されて発売されるGalaxyS2の凄さがわかる動画 alpha device
- フィードからの情報をデスクトップ通知してくれるChrome拡張機能「RSS Alert」
- PHPとアジャイル開発の勉強会を開催しました | 48JIGEN
- レノボ、Android 採用の ThinkPad タブレットを今夏発売へ。Windowsタブレットは年内
- 致命的すぎるバグがgithubで話題 « A-Listers








