symfony1.4のWebワークフロー図を描いてみた

フレームワーク使う場合は,フレームワーク側とアプリケーション側の線を一目で認識したいですよね?
ということでソースコードやドキュメントを読んで図を書いてみました。



symfonyを使う場合は黄色の部分だけ作れば良いってことです,簡単ですね!
間違ってるよ!こっちの図の方が分かりやすいよ!など有りましたら,[twitter:@renoiv]まで教えて頂けると嬉しいです。


4/12変更

  • EntryPointを「Framework」から「User Created」に変更


参考元)

ゼロからはじめるsymfony

symfonyは,オープンソースで開発されている PHP5のWebアプリケーションフレームワークです。
symfonyの特徴といえば'フルスタックフレームワーク'ですが,機能や設定項目,ドキュメントもチュートリアルにリファレンスと沢山あります。
しかしながら,あまりにもドキュメント量が膨大なため「どこから始めたらいいか分からないの…」という人も少なくないのではないでしょうか?


そんな中,「symfony1.4によるWebアプリケーション開発―オープンソース徹底活用」が発売されました!


本書の「はじめに」から一部引用させて頂くと,下記の通りゼロから始めるのにふさわしい内容となっています。

<本書の対象読者>

  • 必須の知識
    • プログラミング言語PHPの構文や動作の仕組みに関する知識(PHPのインストールや基本的な構文などについては,本書では詳しくは説明しません)
    • データベース管理システムMySQLの基本的な操作方法については,本書では詳しくは説明しません
  • あると望ましい知識(必須ではありません)
    • Webサーバーに関する知識(Apache Webサーバーのインストールや設定など)
    • 一般的なWebアプリケーションの構築に関する知識
    • オブジェクト指向プログラミングに関する知識
    • コマンドによるファイル操作などの知識
    • MVCに関する知識


<本書の読み方>
Symfonyの公式ドキュメントを読む前と,公式ドキュメントを読んだあとに読む本という位置づけで執筆しています。


第1部 入門編 第1章〜第3章
第2部 初級編 第4章〜第5章
第3部 中級編(symfonyのさまざまな活用方法) 第6章〜第9章
第4部 実践編(実践的なTIPS) 第10章〜第12章


一通り読み終えましたが,私のお勧めの読み順は下記の通りです。

  1. 第1章:symfonyの基礎知識を押さえる
  2. 第2・3・4章:symfonyに実際に触れ体で覚える
  3. 第11-2章:symfonyでTDD(テスト駆動開発)に触れる
  4. 第5章:公式サイトのドキュメントの種類を知り,次の道を知る
  5. (symfony 1.x legacy website)
  6. 第10・11章:symfonyを使った実践的なTIPSを知りたい場合
  7. 第12章:symfonyを使った事例を知りたい場合
  8. 第6・7・8・9章:symfonyの内部をより詳しく知りたい場合
  9. (symfony 1.x legacy website)


この本を読み終える頃には,簡単なWebアプリケーションであれば十分に開発出来ると思います。
1点注意が必要かなと思ったのは,コマンドがunixベースなのでwindowsユーザは適宜読み替える必要があります。
symfony1.1を試して以来触っていませんでしたが,この本をきっかけにsymfony1.4でWebアプリケーションを開発してみようと思います!


symfony1.4によるWebアプリケーション開発―オープンソース徹底活用

日本Symfonyユーザー会

秀和システム 2011-03


symfony1.4によるWebアプリケーション開発―オープンソース徹底活用

Effective JavaScriptをPDFにしました

[twitter:@bleis]さんのつぶやきを見て,ここにあったのか!という驚きでした。

2003年頃の記事ですがJavaScript 1.5 (Mozilla 1) ベースなので,まだ参考になると思います。


Googleドキュメントに置きましたので必要な方はどうぞ!
Effective JavaScript - Dynamic Scripting.pdf Powered by Google ドキュメント


HTMLアーカイブGithubに置きましたので,こちらも必要な方はどうぞ。
https://github.com/renoiv/EffectiveJavaScript

2月発売のTitanium関連本

近頃話題のTitaniumですが,今月はTitanium Mobile関連の本がいくつか発売されますので紹介しておきます。


JavaScriptパターン ―優れたアプリケーションのための作法

Stoyan Stefanov 豊福 剛

オライリージャパン 2011-02-16


4873114888

Titanium MobileはJavaScriptを使って開発するのですが,もっとJavaScriptを勉強したいと思っていたところでした。
目次を見る限り非常に良さそうなので,これを読んでレベルアップしたいと思います。


Androidアプリケーション開発ガイド ―HTML+CSS+JavaScriptによる開発手法

Jonathan Stark 増井 俊之(監訳)

オライリージャパン 2011-02-24



4873114861


iPhoneアプリケーション開発ガイドAndroid版でしょうか。
私はこの本を読んでiPhoneアプリ開発を始めたので,Android開発したいけど何から始めて良いか分からない!という方に(まだ読んではいないのですが)良いと思います。
目次を読むとPhoneGapが中心のようですが,付録に「PhoneGapとTitaniumMobile」とありますのでTitaniumな方も要チェックです。


WEB+DB PRESS Vol.61

WEB+DB PRESS編集部

技術評論社 2011-02-24


どこよりも早い『WEB+DB PRESS Vol.61』の表紙画像!... on Twitpic

先日参加したTitanium新年会でWEB+DBでTitanium特集するよ!と聞いていて,遂に表紙も公開されました。
「実践!Titanium JavaScirptでiPhone&Android本格アプリ開発」という特集が組まれていますので,気になってたという方やこれから始めたいという方には良いのではないでしょうか。


何かを始めるのに遅すぎるということはないので,上記本などをキッカケにスマートフォンアプリ開発者が増えていくといいですね!

Titanium新年会に参加してきました

Titanium新年会 : ATNDに参加してきましたので,LTして頂いた内容などをブログにまとめておきます。

マウントポジション流Titanium開発」 by [twitter:@hamasyo]さん

エンジニアでなくてもTitaniumならiphoneアプリ開発にチャレンジ出来る」 by [twitter:@h5y1m141]さん

「Titanium開発事例紹介」 by [twitter:@KeiyaKanno]さん

「xib2jsで高速モック作成デモ」 by [twitter:@daoki2]さん

ちょっとしたTips(バッドノウハウ?)」 by [twitter:@kaz_konno]さん

  • TestFlightよりいいのあるよ! → ipa&plist&html方式 (ただしiOS4以降に限る)
  • 画面遷移するiPhoneアプリのモックを作る場合にTitanium便利
  • 海外のTitanium Developerの紹介

「Titanium Mobileの紹介」と「私がAppceleratorに入ったワケ」 by [twitter:@masuidrive]さん

MogSnapサービスの紹介」 by [twitter:@toru0325]さん


Titaniumで開発してるよ!リリースしたよ!という事例が増えつつあり,
参加者のモチベーションは凄く高いと思いました。
今後の展開に関してもAptanaを買収しましたし,これ1つインストールすればプログラマーじゃなくてもアプリ作れるもん!
という状況になり,一気に拡がっていくのではないでしょうか。
日本語での情報も今後増えていくでしょうし,後はAndroidなどのクロスプラットフォーム対応に期待したいですね。


企画して頂いた方,LTして頂いた方,参加された方,本当にありがとうございました!
@appcelerator we're opening Titanium new year meet up!


[twitter:@Appcelerator_Ja]のノベルティも頂きました:)

*1:http://itunes.apple.com/jp/app/mogsnap/id418843885 2/14にリリースされました!

Cinderのサンプルを一挙紹介

クリエイティブなC++ライブラリ "Cinder" の紹介 | Preferred Research

Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。

同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSXiOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。


を読んでCinder楽しそう!と思ったものの作品を見てしまうと自分で出来る気しないなぁ。。
簡単なサンプルでもあればいいのにと思って中を見てみたらサンプルが50個以上もありました!

沢山サンプルがあったのでCinderでこんなこと出来るよ!っていうのをスクリーンショット&一行説明で一挙に紹介していきます。
※動作確認はWindows XP SP3 + Cinder 0.8.2で行いました。

samples (cinder\samples\_AllSamples\vc10\AllSamples.sln Debug構成)

# プロジェクト名 スクリーンショット 一行説明
1 ArcballDemo マウスで立方体をクルクル回転できる。
2 AudioAnalysisSample (no image) Runtime Error
3 AudioGenerative マウスを上下に動かして波形(音)を変更。
4 AudioGenerativeAdvanced マウスでクリックした位置によって音を鳴らす。
5 AudioInputSample (no image) _AllSamplesソリューション外だったため未確認。
6 AudioPlayback (no image) マウスでクリックすると音が鳴る。
7 basicApp マウスのドラッグで線を描画する。
8 BasicParticle 未稿。
9 bezierPath 未稿。
10 bspline 未稿。
11 Buddhabrot CPU喰い。
12 CairoBasic クリックしたところを中心に描画。
13 CaptureAdvanced f:フルスクリーンON/OFF
r:retain a random surface to exercise the surface caching code
u:unretain retained surface to exercise the Capture's surface caching code
とあるがr押すとアプリが落ちるので注意。
14 CaptureTest f:フルスクリーンON/OFF
SPACE:キャプチャの開始・停止
だがMac専用で確認できず。
15 Earthquake (no image) Runtime Error
16 eventTest マウスダウン&アップ,キーダウン&アップのサンプル。
17 FBOBasic (no image) Runtime Error
18 FBOMultipleTargets (no image) Runtime Error
19 flickrTest flickrから画像を取得して表示。
20 fontSample キーダウンで出力文字が変更。クリックするとDebug Error。
21 FrustumCulling 「3:test points」をキーダウンして緑のポイントに変更した状態
22 GLSLLighting (no image) Runtime Error
23 HodginParticles マウスカーソルに緑の玉がついてきて,クリックするとオレンジのが弾ける。
24 HodginParticlesRedux (no image) 起動後即終了で確認できず。
25 ImageFileBasic ファイル選択ダイアログが表示され,ファイルを読み込んで表示。
26 ImageHeightField ファイル選択ダイアログが表示され,ファイルを読み込んで3D表示。
マウスで画像を回転できる。
27 imageWriterSample (no image) ファイル保存ダイアログが表示され,ファイル名を入力するも保存されず。
28 iPhoneAccelerometer (no image) _AllSamplesソリューション外だったため未確認。
29 ListenerBasic ■をドラッグアンドドロップで移動可。
クリックorドラッグで●を描画。
30 MandelbrotGLSL (no image) Runtime Error
31 MultiTouch 上手く動作させられなかったので,参考動画を。
(future) Multitouch Cinder sample from flight404 on Vimeo.
32 NormalMapping (no image) Runtime Error
33 OBJLoaderDemo (no image) Runtime Error
34 OpenGLLighting 照明のサンプル。A・S・Eをキーダウンした状態。
35 ParamsBasic 立方体と照明の各パラメータを設定して確認できる。
36 perlinTest パーリンノイズ。
37 Picking3D (no image) Runtime Error
38 QuickTime (no image) 未確認。
39 QuickTimeAdvanced (no image) 未確認。
40 QuickTimeIteration (no image) 未確認。
41 QuickTimeWriter (no image) 未確認。
42 rayMarcher よく分かりません。
43 RDiffusion (no image) Runtime Error
44 resizeTest 512*512のpngをごにょごにょ。
45 rotatingBox 文字が描かれている立方体が回転する。
46 SaveImage クリックで落ちる。
47 SerialCommunication (no image) 起動後即終了で確認できず。
48 shaderTest (no image) Runtime Error
49 shadowMap (no image) 起動後即終了で確認できず。
50 RDiffusion (no image) Runtime Error
51 SurfaceBasic 二値化。
52 TextTest テキスト描画。
53 VBOSample よく分かりません。
54 VoronoiGpu Runtime Error
55 waterSim よく分かりません。
56 Wisteria 枝が生え花が咲きます。


チュートリアルも5つほどあります。

tour (cinder\tour Debug構成)

# プロジェクト名 スクリーンショット 一行説明
1 Chapter 1:
Getting Started
In the first chapter, we will set up a new project and learn how to load and display images. We go on to show how to draw simple shapes and we even set up a basic Particle engine.
2 Chapter 2:
Personality and diversity
We continue to expand our Particle engine. We also learn how to pull color data from images and put that information to good use.
3 Chapter 3:
Influence
In chapter 3, we show how to use keyboard and mouse input to control our Particle engine.
4 Chapter 4:
Fine tuning
A birth/death cycle is added to our Particle class and Perlin noise is introduced.
5 Chapter 5:
External Forces
We show you how to use nested iterators to allow the Particles to interact with each other. We then tie everything together and marvel at how far we have come.


3Dプログラミングやビジュアルデザインやってみたかったんだ!って方は,Cinder試してみるといいと思います!
開発環境は無料で手に入るので,Download :: Cinder をまずダウンロード&解凍してWelcome.html を参照してみてください。


ちなみにWindowsな方は,以下をダウンロード&インストールすることになります。