Home > Programing

>> 【超お得】DELLオンライン広告限定日替わりページ <<

Programing Archive

Ruby on Railsの紹介

Ruby on Rails(ルビーオンレイルズ)はRubyで書かれたオープンソースのWebアプリケーションフレームワークであり、RoRまたは単にRailsと呼ばれる。

http://rubyonrails.org/

Model View Controller(MVC)アーキテクチャに基づいて構築されている。

Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。

Railsの基本理念は「同じことを繰り返さない」(DRY:Don’t Repeat Yourself)と「設定より規約」(CoC:Convention over Configuration)です。

開発者
デンマークのプログラマであるDavid Heinemeier Hanssonにより、プロジェクト管理ツール”basecamp”の開発に用いられた知見やコードを抽出し、一般化することにより作成された。

http://www.loudthinking.com/

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ブラウザを操作するユーザによりコントローラのメソッドが起動される。

タグ: , ,

tDiaryの紹介

tDiary(ティーダイアリー)は、ただただし氏によって作成されたWeb 日記のツール。

http://www.tdiary.org/

頭文字の「t」は、「ツッコミ(Tsukkomi)」と作者の「ただ(Tada)」に由来する。Rubyによって書かれたCGIスクリプトであり、同言語の普及に寄与した。

コメント機能をこのスクリプトでは「ツッコミ機能」と呼ばれる

タグ: , ,

Radiant CMSの紹介

Radiant CMS はシンプルでフレキシブルなオープンソースのコンテンツ管理システムです。

http://radiantcms.org/

概要

  • シンプルな管理画面
  • ページ
  • スニペット
  • レイアウト
  • 柔軟なサイト構成
  • Radiusテンプレート言語
  • カスタムテキストフィルター
  • インテリジェントなキャッシュ機能
  • Ruby on Rails製
  • MIT License

タグ: , ,

Hikiの紹介

Hiki(ひき)はRubyで書かれたWikiクローンの一つ。CGIを利用しWebサーバと連携して動く。たけうちひとしさんによって製作され、現在はHiki開発チームによって開発が進められている。テーブルの記述がMediaWikiより簡単だったり、日記システムtDiaryのテーマが使えたり、ERB(埋め込みRuby)を使用した柔軟な出力ができることが特徴である。

http://hikiwiki.org/ja/

特徴

  • オリジナルWikiに似たシンプルな書式
  • CSSを使ったテーマ機能
  • プラグインによる機能拡張
  • 携帯端末対応
  • アクセス制限が可能
  • HikiFarmに対応
  • 出力するHTMLを柔軟に変更可能
  • InterWikiのサポート
  • ページにカテゴリ付けできる

タグ: , ,

Redmineの紹介

RedmineはRuby on Railsで開発されている、Webベースのプロジェクト管理ソフトウェアであり、Redmineの設計は、Tracに大きく影響を受けています。

http://www.redmine.org/

http://redmine.jp/

機能概要

タグ: , ,

メインエディタをvimにしましたっ。

昨年末位から、メインエディタを変更しようと試行錯誤を繰り替えしていました。

お仕事でサーバー管理なども行うのでsshで接続した場合はvimは必ず使用しますがこれが自分のメインエディタになるなんて思っていませんでした。

vimが色々な意味で良いことはわかっていたんですが、自分の利用範囲で全てをカバーするのがやはり、難しかったんです。

だけど、ちょっと労力を費やしてvimを好きになることから始めたら満足のいくような設定、プラグインでの拡張などができるようになりました。

vimがやっと自分のエディタ浮気性の終着駅に着いた感じになりました。

これから少しずつですがお気に入りの.vimrcの設定方法、plugin等の紹介をしていきます。

  

タグ:

NetBeans_Twilightの紹介

あけましておめでとうございます。
今年も宜しくお願いします。

さて、いきなりですが非常に気持ちの良い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のほうが面倒な設定が必要ないので良いですねー。

そんなわけで皆さん使ってみてくださいっ。

  

タグ: , , ,

Zend Frameworkでビュースクリプトの拡張子を変更する

標準ではビュースクリプトファイルの拡張子は「phtml 」です。
これを「 html 」などに変更します。

アクションコントローラ内で変更する

$this->_helper->viewRenderer->setViewSuffix('html');

こんな感じですっ☆

これでデザイナーとファイルのやり取りが楽になりますっ。

  

タグ: ,

ZFチュートリアル Zend_Controller編 (3) 基本

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


タグ: , ,

ZFチュートリアル Zend_Controller編 (2) ファイル説明

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


タグ: , , ,

ホーム > Programing

QR Barcode
QR Code for Ruby on Railsの紹介
バナー
にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ オープンソースへ    にほんブログ村 IT技術ブログ ネットワーク・SEへ
人気ブログランキングへ   




Yahoo
Twitter
あわせて読みたい
あわせて読みたいブログパーツ
ZF使いのリンク
お気に入りリンク
オフィシャルリンク

Return to page top