Home > Programing
Programing Archive
Ruby on Railsの紹介
- 2010-02-17 (水)
- Ruby | Ruby on Rails
Ruby on Rails(ルビーオンレイルズ)はRubyで書かれたオープンソースのWebアプリケーションフレームワークであり、RoRまたは単にRailsと呼ばれる。
Model View Controller(MVC)アーキテクチャに基づいて構築されている。
Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。
Railsの基本理念は「同じことを繰り返さない」(DRY:Don’t Repeat Yourself)と「設定より規約」(CoC:Convention over Configuration)です。
開発者
デンマークのプログラマであるDavid Heinemeier Hanssonにより、プロジェクト管理ツール”basecamp”の開発に用いられた知見やコードを抽出し、一般化することにより作成された。
Model
データベース駆動のMVC WebアプリケーションではModelはRDBMSのテーブルを表すクラスを意味する。 RailsではActive Recordを通じてModelクラスを扱う。通常プログラマはActiveRecord::Baseクラスのサブクラスを作る必要がある。そうすることでRDBMSのどのテーブルを使うべきか、どういったカラムを持つべきかを自動的に決定してくれる。
View
MVCではViewは表示のためのロジックであり、コントローラクラスからのデータをどのように表示するかを規定している。 WebアプリケーションではHTML内に若干のコードを埋め込むことで実現される。
Controller
MVCではControllerはRailsのAction Packには含まれるアプリケーションコントローラクラスによって扱われる。 WebベースMVCアプリケーションではWebブラウザを操作するユーザによりコントローラのメソッドが起動される。
- Comments: 0
- Trackbacks: 0
tDiaryの紹介
tDiary(ティーダイアリー)は、ただただし氏によって作成されたWeb 日記のツール。
頭文字の「t」は、「ツッコミ(Tsukkomi)」と作者の「ただ(Tada)」に由来する。Rubyによって書かれたCGIスクリプトであり、同言語の普及に寄与した。
コメント機能をこのスクリプトでは「ツッコミ機能」と呼ばれる
タグ: Blog, Ruby, tDiary- Comments: 0
- Trackbacks: 0
Radiant CMSの紹介
- 2010-02-15 (月)
- Radiant CMS | Ruby
Radiant CMS はシンプルでフレキシブルなオープンソースのコンテンツ管理システムです。
概要
- シンプルな管理画面
- ページ
- スニペット
- レイアウト
- 柔軟なサイト構成
- Radiusテンプレート言語
- カスタムテキストフィルター
- インテリジェントなキャッシュ機能
- Ruby on Rails製
- MIT License
- Comments: 0
- Trackbacks: 0
Hikiの紹介
Hiki(ひき)はRubyで書かれたWikiクローンの一つ。CGIを利用しWebサーバと連携して動く。たけうちひとしさんによって製作され、現在はHiki開発チームによって開発が進められている。テーブルの記述がMediaWikiより簡単だったり、日記システムtDiaryのテーマが使えたり、ERB(埋め込みRuby)を使用した柔軟な出力ができることが特徴である。
特徴
- オリジナルWikiに似たシンプルな書式
- CSSを使ったテーマ機能
- プラグインによる機能拡張
- 携帯端末対応
- アクセス制限が可能
- HikiFarmに対応
- 出力するHTMLを柔軟に変更可能
- InterWikiのサポート
- ページにカテゴリ付けできる
- Comments: 0
- Trackbacks: 0
Redmineの紹介
RedmineはRuby on Railsで開発されている、Webベースのプロジェクト管理ソフトウェアであり、Redmineの設計は、Tracに大きく影響を受けています。
機能概要
- 複数プロジェクト対応
- ロールベースの柔軟なアクセスコントロール
- 柔軟なバグ管理システム
- ガントチャート
- カレンダー
- ニュース
- 文書
- ファイル管理
- RSSフィード
- メール通知
- プロジェクトごとのwiki
- プロジェクトごとのフォーラム
- シンプルな工数管理機能
- チケット、経過時間、プロジェクト、ユーザそれぞれに対するカスタムフィールド
- バージョン管理システム との連携 (Subversion、 CVS、 Git、 Mercurial、 Bazaar、 Darcs)
- LDAP認証
- メール送信によるチケット登録
- ユーザーは自分でアカウントを登録可能
- 多言語対応
- 複数データベース対応(MySQL、 PostgreSQL、SQLite)
- プラグインによる拡張
- Comments: 0
- Trackbacks: 0
メインエディタをvimにしましたっ。
- 2010-01-28 (木)
- Vim
昨年末位から、メインエディタを変更しようと試行錯誤を繰り替えしていました。
お仕事でサーバー管理なども行うのでsshで接続した場合はvimは必ず使用しますがこれが自分のメインエディタになるなんて思っていませんでした。
vimが色々な意味で良いことはわかっていたんですが、自分の利用範囲で全てをカバーするのがやはり、難しかったんです。
だけど、ちょっと労力を費やしてvimを好きになることから始めたら満足のいくような設定、プラグインでの拡張などができるようになりました。
vimがやっと自分のエディタ浮気性の終着駅に着いた感じになりました。
これから少しずつですがお気に入りの.vimrcの設定方法、plugin等の紹介をしていきます。
タグ: vim- Comments: 0
- Trackbacks: 0
NetBeans_Twilightの紹介
- 2010-01-01 (金)
- NetBeans
あけましておめでとうございます。
今年も宜しくお願いします。
さて、いきなりですが非常に気持ちの良いNetbeans用のThemeの紹介です。
http://net.tutsplus.com/freebies/themes/netbeans-twilight-theme/

現在Yaegassyは下記のエディタを使用しています。
Textmate
Mac使ってたらTextmate使わないとアウトでしょって感じで使ってますっ。
Coda
Webといえばやはり、こいつですね。開発元のPanicさん自身が会社として非常におしゃれで好きです。
Textmateに移行する前にはCodaをメインエディタとしていた関係で今も自分のMacには入ってます。
Vim
現在メインエディタとして移行中。なんとなくそろそろ落ち着きたいで。
NetBeans
OpenSourceのソフトウェアのソースや他人が作成したソースを読んだりするのに使用していますっ。
こんな感じで用途によってエディタを使い分けてます。
TextmateやCodaは好きなんですがやっぱり、Macでだけしか使えないとなるとちょっと困っちゃうんですよね。
まーそんな前置きはさておいて、NetBeansが最近便利です。Winでも使えますしね。
eclipseより、NetBeansのほうが面倒な設定が必要ないので良いですねー。
そんなわけで皆さん使ってみてくださいっ。
タグ: Eclipse, Textmate, Theme, vim- Comments: 0
- Trackbacks: 0
Zend Frameworkでビュースクリプトの拡張子を変更する
- 2009-12-28 (月)
- Zend Framework
標準ではビュースクリプトファイルの拡張子は「phtml 」です。
これを「 html 」などに変更します。
アクションコントローラ内で変更する
$this->_helper->viewRenderer->setViewSuffix('html');
こんな感じですっ☆
これでデザイナーとファイルのやり取りが楽になりますっ。
タグ: Framework, Zend- Comments: 0
- Trackbacks: 0
ZFチュートリアル Zend_Controller編 (3) 基本
- 2009-12-28 (月)
- Zend Framework
Zend_Controller の処理の流れは、 いくつかの部品にわかれ実装されています。
処理の概要を知っておくことは有用です。
Zend_Controller_Front
Zend_Controller の処理全体を取りまとめます。FrontControllerパターンであるといえます。
サーバから受け取ったすべてのリクエストを Zend_Controller_Front が処理し、最終的にリクエストを
ActionController (Zend_Controller_Action) に委譲します。
Zend_Controller_Request_Abstract
リクエスト環境を表し、コントローラ名やアクション名 そしてリクエストパラメータを設定したり取得したりする機能を提供します。
さらに、アクションが Zend_Controller_Dispatcher でディスパッチされたかどうかを追跡する機能もあります。
この抽象リクエストオブジェクトを拡張し、 リクエスト情報をカプセル化します。
それによって、 ルータはリクエストの情報を取得して コントローラとアクションを決定できるようになります。
デフォルトでは Zend_Controller_Request_Http が用いられます。
これは、HTTP リクエスト環境全体へのアクセス機能を提供します。
Zend_Controller_Router_Interface
こちらを使用してルータを定義します。ルーティングとは、リクエストの内容を調べて、
そのリクエストを処理するコントローラとアクションを決定する処理のことです。
このコントローラとアクション、そしてリクエストパラメータがリクエストオブジェクトに設定され、
Zend_Controller_Dispatcher_Standard で処理されます。
ルーティングが発生するのは一度だけ、 つまり最初にリクエストを受け取ってから 最初のコントローラにディスパッチされるまでの間だけです。
デフォルトのルータである Zend_Controller_Router_Rewrite は、 Zend_Controller_Request_Http で指定された
URI を受け取ってそれを分解し、コントローラや アクション、そして URL に含まれたパスのパラメータを取得します。
たとえば、http://localhost/foo/bar/key/value のような URL の場合は
foo がコントローラ、 bar がアクション、そしてパラメータ key の値として value を取得します。
Zend_Controller_Router_Rewrite は、任意のパスにマッチさせることもできます。
Zend_Controller_Dispatcher_Interface
こちらを使用してディスパッチャを定義します。ディスパッチとは、 コントローラとアクションをリクエストオブジェクトから受け取り、
それを実際のコントローラファイル/クラスとメソッドに対応させる処理のことです。
コントローラやアクションが存在しない場合は、 デフォルトのコントローラやアクションにディスパッチします。
実際のディスパッチ処理では、 コントローラクラスのインスタンスの作成と そのクラスのアクションメソッドのコールを行います。
ルーティングは一度しか発生しませんが、 それとは異なりディスパッチは繰り返し発生します。
リクエストオブジェクトのディスパッチ状態がリセットされるとループが再開され、 現在リクエストオブジェクトに設定されているアクションが
コールされます。 リクエストオブジェクトのディスパッチ状態が (TRUE に) 設定された状態でループが終了すると、処理が終了します。
デフォルトのディスパッチャは Zend_Controller_Dispatcher_Standard です。
これは、MixedCasedClasses 形式の名前の最後に Controller がついたクラスをコントローラとして使用し、
アクションメソッドの名前は camelCasedMethods 形式 (最後に Action をつける) となります。
たとえば FooController::barAction() のような場合、コントローラは foo、アクションは bar となります。
Zend_Controller_Action
コントローラの基底コンポーネントです。 各コントローラはこの Zend_Controller_Action クラスを継承して作成します。
このクラスではアクションメソッドを定義します。
Zend_Controller_Response_Abstract
基底レスポンスクラスで、アクションコントローラからの応答内容を収集し、 それをレスポンスとして返します。これはヘッダと本文の両方を収集します。
デフォルトのレスポンスクラスは Zend_Controller_Response_Http で、 これは HTTP 環境での使用に適しています。
まとめ
Zend_Controller の処理の流れは比較的シンプルです。 Zend_Controller_Front がリクエストを受け取り、
Zend_Controller_Router_Rewrite をコールして、 配送先となるコントローラ (そしてコントローラ内のアクション) を決定します。
Zend_Controller_Router_Rewrite は URI を分解し、リクエストからコントローラ名とアクション名を取得します。
その後、Zend_Controller_Front はディスパッチループに突入します。 まず Zend_Controller_Dispatcher_Standard を
コールしてそこにリクエストを渡し、 リクエストで指定されたコントローラとアクションを取得します (あるいはデフォルトを使用します)。
コントローラが終了すると、処理は Zend_Controller_Front に戻ります。リクエストのディスパッチ状態がリセットされ、
別のコントローラをディスパッチするように指示された場合は、 ループが続けられて次の配送処理が行われます。
それ以外の場合は、処理がそこで終了します。それ以外の場合は、 処理が終了します。
ZFチュートリアル目次
http://yaegassy.jp/zend-framework.html#4
タグ: Framework, Zend, ZFチュートリアル
- Comments: 0
- Trackbacks: 0
ZFチュートリアル Zend_Controller編 (2) ファイル説明
- 2009-12-28 (月)
- Zend Framework
Version 1.9.6のZend_Controllerを解剖してみます。
Zend_Controller (Ver.1.9.6)
ファイル数: 50ファイル
※拡張子がないものはディレクトリになります。
Action -- Exception.php -- Helper ---- Abstract.php ---- ActionStack.php ---- AjaxContext.php ---- AutoComplete ------ Abstract.php ---- AutoCompleteDojo.php ---- AutoCompleteScriptaculous.php ---- ContextSwitch.php ---- FlashMessenger.php ---- Json.php ---- Redirector.php ---- Url.php ---- ViewRenderer.php -- HelperBroker ---- PriorityStack.php HelperBroker.php Interface.php Action.php Dispatcher -- Abstract.php -- Exception.php -- Interface.php -- Standard.php Exception.php Front.php Plugin -- Abstract.php -- ActionStack.php -- Broker.php -- ErrorHandler.php -- PutHandler.php Request -- Abstract.php -- Apache404.php -- Exception.php -- Http.php -- HttpTestCase.php -- Simple.php Response -- Abstract.php -- Cli.php -- Exception.php -- Http.php -- HttpTestCase.php Router -- Abstract.php -- Exception.php -- Interface.php -- Rewrite.php -- Route ---- Abstract.php ---- Chain.php ---- Hostname.php ---- Interface.php ---- Module.php ---- Regex.php ---- Static.php
ZFチュートリアル目次
http://yaegassy.jp/zend-framework.html#4
タグ: Framework, PHP, Zend, ZFチュートリアル
- Comments: 0
- Trackbacks: 0
ホーム > Programing
-
-
- satoruyoshidaの日記
- WEB RHODIA
- GWSメモ
- Lord of the Phantom
- Akra's DevNotes
- ZF Snippets
- Rob Allen's DevNotes
- 例えば、PHPを使う
- ありがとう。また会おう。
- popowa
- Nullyのぶろぐ
- 携帯サイト開発を極める!開発チームリーダーのブログ
- Phly, boy, phly
- noopな日々
- Heavens hell
- Live Commerce
- Digitalus CMS
- ZendCasts
- Zend Framework Tutorial
- Devel::Bayside
- twk @ ふらっと
- へっぽこ開発室
- 田舎っぺWeb関係者の日記


















