Archive for October, 2007
第7回 CodeGearデベロッパーキャンプセッション資料公開
第7回 CodeGearデベロッパーキャンプのセッション資料を公開しました。
http://dn.codegear.com/jp/article/37285
Delphi HourをはじめNickが行ったいくつかのセッションについては、ビデオでの公開も準備中です。
Share This | Email this page to a friend
Ruby on Rails - LightTPD + mod_proxy + Mongrel
Ruby on Rails で作成したアプリケーションを、付属の簡易Webサーバ「Mongrel」で運用するにはちょっと性能に不安があるので、ロードバランス機能を持つWebサーバ「LightTPD」を利用したクラスタリング環境を構築する手順を書いてみようと思います。今回利用したOSは「Win32」で、「C:\3rdRail\workspace」配下に「test」という名前のRailsアプリケーションが作成されていると仮定します。
■ステップ1
development環境のデータベーススキーマを保存します。
C:\>cd C:\3rdRail\workspace\test
C:\3rdRail\workspace\test>rake db:schema:dump
■ステップ2
production環境にdevelopment環境のデータベーススキーマをロードします。
C:\3rdRail\workspace\test>rake db:schema:load RAILS_ENV=production
■ステップ3
セッションデータをRDBMSで管理するよう設定します。
C:\3rdRail\workspace\test>rake db:sessions:create RAILS_ENV=production
C:\3rdRail\workspace\test>rake db:migrate RAILS_ENV=production
を実行して、
C:\3rdRail\workspace\test\config\environments\production.rb
に
config.action_controller.session_store = :active_record_store
という行を追加します。
■ステップ5
例として、Mongrelサーバを8000番と8001番ポートとで起動します。
C:\3rdRail\workspace\test>start mongrel_rails start -p 8000 -e production -a 127.0.0.1
C:\3rdRail\workspace\test>start mongrel_rails start -p 8001 -e production -a 127.0.0.1
■ステップ6
ビルド済みのLightTPDのバイナリ「LightTPD-1.4.18-1-Win32-SSL.zip」を以下のサイトからダウンロードし、ダウンロードしたZIPファイルを「C:\LightTPD」に展開します。
[LightTPD 1.4.18-1 for Win32]
http://wlmp.dtech.hu/down_lighty.php?lang=en
■ステップ7
LightTPDの設定ファイル「lighttpd-inc.conf」を編集します。
まず、「mod_proxy」モジュールを使用するので
# "mod_proxy",
の先頭のコメント#を外します。
次に、2つのMongrelサーバへの処理の振り分けを行うため、以下の行を追加します。
proxy.balance = "fair"
proxy.server = ( "/" =>
( ( "host" => "127.0.0.1", "port" => 8000 ),
( "host" => "127.0.0.1", "port" => 8001 ) ) )
■ステップ8
LightTPDを起動します。
C:\3rdRail\workspace\test>cd C:\LightTPD
C:\LightTPD>LightTPD.exe -D -f C:\LightTPD\conf\lighttpd-inc.conf -m C:\LightTPD\lib
以上の手順1~8で、Webブラウザから
http://ホスト名/アクションコントローラ/
というURLでアクセスできるようになります。
Share This | Email this page to a friend
突然ですがクイズです!!
高橋(智)です。
職務上、様々な開発言語を扱っています。そのため、Delphi,C++,Java,C#,PHP,Rubyの6種類の言語に同時に触れていると、その文法や挙動の違いに合わせて頭を切り替えるのに苦労します。実は先日の「Java読書会」でも、本文中、言語による挙動の違いが書かれた箇所があり、驚かされました。
というわけで、ここでクイズです。以下、6種類の言語を使って同じような動作を記述したのですが、1つだけ出力結果が違うものがあります。それは、どの言語でしょうか?
[Delphi]
program Project1;
{$APPTYPE CONSOLE}
type
TParent = class
public
constructor Create;
protected
procedure foo; virtual;
end;
TChild = class(TParent)
public
constructor Create;
protected
procedure foo; override;
end;
constructor TParent.Create;
begin
Self.foo;
end;
procedure TParent.foo;
begin
Writeln(’TParent#foo’);
end;
constructor TChild.Create;
begin
inherited;
end;
procedure TChild.foo;
begin
inherited;
Writeln(’TChild#foo’);
end;
begin
TChild.Create;
end.
[C++]
#include <iostream>
using namespace std;
class TParent {
public:
TParent(){
this->foo();
}
protected:
virtual void foo() {
cout << "TParent#foo" << endl;
}
};
class TChild : public TParent {
public:
TChild() : TParent(){
}
protected:
virtual void foo() {
TParent::foo();
cout << "TChild#foo" << endl;
}
};
int main(int argc, char* argv[])
{
new TChild();
return 0;
}
[Java]
package project1;
class TParent {
public TParent() {
this.foo();
}
protected void foo() {
System.out.println("TParent#foo");
}
}
class TChild extends TParent {
public TChild() {
}
protected void foo() {
super.foo();
System.out.println("TChild#foo");
}
}
public class Project1 {
public static void main(String[] args) {
new TChild();
}
}
[C#]
namespace project1 {
class TParent {
public TParent() {
this.foo();
}
protected virtual void foo() {
System.Console.WriteLine("TParent#foo");
}
}
class TChild : TParent {
public TChild() : base() {
}
protected override void foo() {
base.foo();
System.Console.WriteLine("TChild#foo");
}
}
public class Project1 {
public static void Main() {
new TChild();
}
}
}
[PHP5]
<?php
class TParent {
public function __construct() {
$this->foo();
}
protected function foo() {
echo "TParent#foo\n";
}
}
class TChild extends TParent {
public function __construct() {
parent::__construct();
}
protected function foo() {
parent::foo();
echo "TChild#foo\n";
}
}
new TChild();
?>
[Ruby]
class TParent
def initialize
foo
end
private
def foo
puts "TParent#foo"
end
end
class TChild < TParent
def initialize
super
end
private
def foo
super
puts "TChild#foo"
end
end
TChild.new
Share This | Email this page to a friend
BlackfishSQLに RAD Studio 2007から接続するには
CodeGear 米澤です。
RAD Studio 2007, Delphi 2007 for Win32 Release 2, C++Builder 2007 Release 2には Blackfish SQLが付属しています。
IDEのインストールを行うと、Blackfish SQLはサービスに登録され起動しています。
ちなみに Blackfish SQLサーバーを起動する場合は、BSQLServer.exe(\binディレクトリ内にあります)をコマンドプロンプトから実行してください。停止するには、BSQLServer.exe -shutdownとするか、Ctrl-Cでコマンドプロンプトを閉じます。
そっとサービスとして起動しているので、Blackfish SQLを「どうやって起動するの?IDEからどのように接続するの?」と疑問に思われた方も多いかと思います。
ということで、IDEから dbExpress、Ado.Netを使用して接続する手順を「RAD Studio 2007から Blackfish SQLに接続する」として掲載致しました。
Share This | Email this page to a friend
Delphi Hour in Tokyo - ご参加ありがとうございました。
昨日、第7回 CodeGearデベロッパーキャンプとDelphi Hour in Tokyoが無事終了致しました。ご参加いただいた皆さんありがとうございました。また、講師の皆さん、関係者の皆さん、お疲れ様でした。
初のリアル+バーチャルの試みであるDelphi Hour in Tokyoは、大変面白く展開することができたのではないかと思います。 バーチャルで参加されていた方は、スクリーンに投影していた映像+音声のみでしたので、開場の様子を掲載しておきます。
下の写真は、途中、ユニコードに関する話題で、急遽振られて壇上に上がったCodeGear R&Dの田川氏。シナリオのないDelphi Hourならではのハプニングでしょうか。
こうした試みは、今後も企画していきたいと思います。
Share This | Email this page to a friend
Blackfish SQL 開発者ガイドを掲載しました
CodeGear 新井です。
RAD Studio 2007 に含まれているBlackfish SQL 開発者ガイドの日本語版を CDN および CodeCentral に掲載しました。
CDN:
http://dn.codegear.com/article/36850
CodeCentral:
http://cc.codegear.com/item/25076
Share This | Email this page to a friend
第7回 CodeGearデベロッパーキャンプ開催中
本日、東京・秋葉原にて第7回 CodeGearデベロッパーキャンプを開催しています。おかげさまで、多くの方にご参加いただいています。現在午後のセッションが進行中。このあと、18時30分からは、Webからも参加いただける「Delphi Hour in Tokyo」をこちらの会場(秋葉原コンベンションホール)よりお届けします。
セットアップに若干時間がかかりますので、Webから参加される方は、お早めに。お申込みはこちら。
Share This | Email this page to a friend
10年目を迎えた「Java読書会」
高橋(智)です。
今日10/20(土)は毎月恒例の「Java読書会」の日でした。Javaの専門書の読書会を主催してもうすぐ10年になろうとしています。よくぞここまで続いたものだ、と自分でも感心してしまいます。
今読んでいる課題図書は「Java言語仕様 第3版」です。早朝から夕方5時まで、読み手が声を出して朗読しながら、随時質問や議論が飛び交う、とても刺激的な一日でした。Java読書会という集まりですが、参加者のみなさんの多くはJava以外のコンピュータ言語で仕事をされているようで、休み時間や昼食時にはありとあらゆる言語が話題に上ります。(デスマーチの話題も多いですが…)
C,C++,Java,Perl,PHP,Ruby,Delphiなどは私にも分かりますが、はすける?、おっかむる?、あーらん?に至っては、全く話題に付いて行けず、困っていまいます。
「Java言語仕様 第3版」も、あと2,3回で読み終えてしまいそうです。そろそろ次の課題図書を決めなければなりません。私的には洋書の「Filthy Rich Clients」が良いかなぁ~と思っているのですが、投票(多数決)で決めますので何に決まるかは分かりません。
また来月もJava読書会があります。東京近郊の方でJavaに興味のある方、気軽にJava読書会に参加してみてください。
Share This | Email this page to a friend
新規 Railsプロジェクトの作成
CodeGear 米澤です。
先日の 「Ruby言語入門」に続いてのビデオ解説記事として、「新規 Railsプロジェクトの作成」を公開致しました。
ビデオと併用してご覧くださいませ。
Share This | Email this page to a friend
2月のデベロッパーキャンプのセッションスピーカーを募集します
来週開催のデベロッパーキャンプに続き、次回は、2008年2月12日に開催することを決めました。次回も、セッションスピーカーを公募します。詳細は、以下の記事をご覧ください。
http://dn.codegear.com/jp/article/37238
今回、開催時期の関係で、年内の内容告知を目指していますので、 若干早めの締め切りを設定させていただきました。ご応募お待ちしております。
Share This | Email this page to a friend
Server Response from: dnrh2.codegear.com
