yamicha.com's Blog - Presented by yamicha.com
Blog yamicha.com's Blog - 2018/01 の記事
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31]

yamicha.com's Blog
 諸事情により、現在更新休止中。ご了承ください。もし今後ブログを再開することがあるとすれば、その際にはこのブログスクリプトではなく、新しく開発したものによるかもしれません。
 当ブログ管理者についてはこちらをご参照。
開発魔法(737)
社会問題(733)
お知らせ(11)
質問・バトン回答(15)
ゲスト出演(8)
経済・知的財産(150)
ゲーム開発(182)
[Ada] 勝手に補足
- Note
- 金配りの次の一手


- Endless Ultimate Diary
- 銃世界

漢字バトン
- うるる雑記帳
- 漢字接力棒

ツキアイゲノムバトン
- ブログ@うにうに画像倉庫
- あぶ内閣

縺イ縺セ縺、縺カ縺励ヰ繝医Φ
- 月夜のボヤキ
- 騎士サーラバトン
パスワードを使う
名無し (2012/02/27)


開発者解放裁判
yamicha.com (2010/03/14)
Winnyに関しては、私も「純白」とまでは考えておりませんし、使用し..

開発者解放裁判
通りすがり (2010/03/08)
winnyに関しては「ダウンロードソフト板」なんてところを拠点に開発..

新型インフルエンザの恐怖
いげ太 (2009/11/03)
> C#などの「int Some(int , int)」は、F#では「(int * int) ->..

時効に関する思考
yamicha.com (2009/08/31)
>いげ太さんコメントありがとうございます。手元にドキュメントが少..
Homepage
Blog Top
Normal View
List View
Search
Calendar
Comment List
Trackback List
Blog RSS
Send Trackback
Phone Mode
Administrator
yamicha.com
Blog
るううるる。
Source
法令データ提供システム
FindLaw
Development
Java2 Platform SE 6
Java EE 6 API
MySQL Developer Zone
PHP Reference
MSDN Library
Ada Reference Manual
Objective Caml
Python Documentation
Erlang
Prolog Documents
 垂オ訳ございませんが、現在このブログではトラックバックを受け入れていません。

 この記事に対してリンクされる場合には、こちらのURLをご利用ください。
http://void.yamicha.com/blog/blog.cgi?mode=view&number=307
 上記URLをトリプルクリックされますと、簡単にURL全体の選択が行えます。

※以下の記事がトラックバックされます。
規制緩和も解除しては
2006/02/27(Mon)20:07:59
 以前のFTPの際、せっかくメールサーバーを導入したのに、DNSがないのでは使うことができません。しかもイントラネットといえば、やはりDNSサーバーなしには考えられません。そこでDNSサーバーの世界標準であるBINDを導入しました。
 まずドメインやIPの基礎知識ですが、これは5年ほど前に押さえておいた知識が役に立ちました。192.168がクラスCのプライベート、127.0.0.1がループバック、DNSサーバーでIPをドメインに変換する、アドレスのクライアント部分が全部0または255になるアドレスは使えない、0はブロードキャスト用に予約、それゆえにクラスCでは256ではなく254のアドレスを使うことができる、10だの172だのといった意味不明な数値を覚えたり、ビットマスクを考えたりするのは、初めてだとかなり骨の折れる作業です。
 しかし、一言でDNSを導入するといっても、これの難しさといったらありません。BINDはデフォルト設定では全く動作せず、設定を全部自分で作らなければなりません。しかも最終的に大量の設定ファイルが必要になります。今回行ったのは「内向きDNS」というもので、LAN内のIPにドメインを割り振るためのものですが、インターネットのドメインも原理は同じです。
 今回は「192.168.0.1」に「localyamicha」というドメインを割り当てました。つまり、Apache、War FTP、Mail Serverを起動しておけば、このドメインを使ってサーバーにアクセスしたり、FTPにアクセスしたり、メールを読み書きしたりできることになります(無論LAN内でのみ。新しくドメインを取るか、またはyamicha.comドメインをこのPCに割り当てれば、インターネットでもこれができるようになります。固定IPでなかったり、セキュリティが甘かったり、第一サーバーがポンコツなので、やる気はありませんが)。
 とりあえず、その道のページをいくつも探して読み漁った上、それらの情報を全部照合して色々検討し、何とか設定してみました。まずはBINDを「C:\Windows\System32\dns」にインストールし、その中の「ext」にファイルを作って色々設定をすることになります。これがとにかく大変、ユーザーに優しくありません。今回は以下の通り設定しました(実際にはkeyなども作りましたが、ここでは最小限の部分だけ)。また、ファイルの最後には必ず改行を入れなければなりません。これがなければエラーになってしまいます。
// 以下すべてのファイルを ext に作成し、テキストエディタで編集

// ファイル named.conf
acl lan{
	192.168.0.0/24;
	127.0.0.1;
};

options{
	directory "C:\WINDOWS\SYSTEM32\dns\etc";
	// 人によっては C:\WINNT\... かもしれません

	// 範囲をLANのみに限定
	allow-transfer{ lan; };
	allow-query{ lan; };
};

logging{
	channel default-log{
		file "C:\apache\logs\named.log" versions 5 size 1m;
		// ログファイルの場所。実際はどこでも構いません
		// 私はログの場所をまとめるためにApacheのlogsにしました
		severity info;
		// ログの出力レベルです
		// 上手く動作しないなら info を debug にしてログチェック
		print-time yes;
		print-category yes;
	}; 

	category lame-servers{ null; };
	category default{ default-log; }; 
};

view "local"{
	match-clients { lan; };
	// ROOT
	zone "." IN{
		type hint;
		file "named.root";
	};

	// 逆引き loopback
	zone "0.0.127.in-addr.arpa" {
		type master;
		file "named.local";
	};

	// 正引き : domain -> IP
	zone "localyamicha.com" {
		type master;
		file "localyamicha.com.zone";
	};

	// 逆引き : IP -> domain
	zone "0.168.192.in-addr.arpa" {
 	         type master;
 	         file "192.168.0";
	};
};

// ファイル 192.168.0
// webmaster.yamicha.com の部分はメールアドレスになります
// ただし @ は . に変更します
// 1	IN PTR... の部分の「1」はIP末尾の数値になります
// 例えばIPが「192.168.0.128」なら「128」に設定します
$TTL 86400
@	IN SOA	localyamicha.com. webmaster.yamicha.com. (
	2006022700 3H 15M 1W 1D )

	IN NS    localyamicha.com.
1	IN PTR  top.localyamicha.com.

// ファイル localyamicha.com.zone
// top や www はいわばサブドメインのマップです
// @ はルートを表します
$TTL 86400
@	IN SOA   localyamicha.com. webmaster.yamicha.com. (
	2006022700 3H 15M 1W 1D )

	IN NS	localyamicha.com.
	IN MX	10 localyamicha.com.

@	IN A	192.168.0.1
top	IN A	192.168.0.1
www	IN CNAME	top
mail	IN CNAME	top
ftp	IN CNAME	top

// ファイル named.local
$TTL 86400
@	IN SOA   localyamicha.com. webmaster.yamicha.com. (
	2006022700 28800 14400 3600000 86400 )

	IN NS	localyamicha.com.
1	IN PTR	localhost.

// ファイル named.root
※このファイルは特殊で、自分では作る必要がありません。
InterNICから最新版をダウンロードすることが必要です。
 ドメインの後の「.」を忘れてはいけません。ドメインは逆に解釈されるものであり(例えば void.yamicha.com は comの中のyamichaの中のvoid)、これらのトップレベルのドメインは「ルート」です。すなわち、例えば「www.yamicha.com.」という記述は「(ROOT)/com/yamicha/www」を表しているのです。
 とりあえず、ここまでで設定は完了です。後はサービス「ISC BIND」を起動してやれば、この状態でDNSは有効になっていますし、メールサーバーさえしっかり設定すればメールの送受信を行うこともできます(例によってLAN内でのみ)。しかし、ブラウザにドメインを打ち込んでもサイトを開くことは当然できません
 私の場合はADSL環境を用いているのですが、この接続に対してDNSの設定を行うことが必要になりました。具体的には接続設定の「TCP/IP」のプロパティを開き、「DNSサーバー」に自分が立てたDNSサーバー(私の場合は 192.168.0.1)を入力すれば良いのですが、これだとDNSサーバーを落とした時にサイトが見られなくなります。
 かといって自前のDNSが使えないのでは意味がありませんから、ここは「優先DNS」にISPから割り当てられたDNSサーバーのIPを指定し(アドレスは ipconfig /all で見られます)、セカンダリに「192.168.0.1」を割り当ててみました。私のように「localyamicha.com」なる他に取る人がいないであろうドメインを使うなら、これで十分でしょう。
 これでようやくDNSが使えるようになり、メールもLAN内でのみ送受信ができるようになりました。メールサーバーにアカウントを作っておきましたので、「yamicha@localyamicha.com」で送ればメールボックスにメールが蓄積され、送受信して受け取ることができます。
 そこで、記念にPHPでメールセンダーを作ってみました。PEARライブラリのMailを用いれば、Sendmailなしでもメールを送信することができます。ただし、smtpを使ってメールを送信する場合、別途「Net_SMTP」「Net_Socket」PEARをダウンロードし、この両方を「PEAR/Net」ディレクトリに投げ入れなければなりません。
 今回作ったPHPは以下の通りです。このライブラリはSMTP認証にも対応しています。
require_once 'Mail.php';

// SMTPサーバーを指定
$params["host"] = "mail.localyamicha.com";

// SMTP認証(メール送信時認証)を行うか
$params["auth"] = true;

// 行う場合はユーザー名とパスワードを指定
$params["username"] = "yamicha";
$params["password"] = "password";

// 送信方法(今回はsmtp)とデータを渡す
$mail = Mail::factory("smtp" , $params);

// メールのヘッダを作る
$headers["From"] = 'yamicha@localyamicha.com';
$headers["To"] = 'yamicha@localyamicha.com';
$headers["Subject"] = 'Test';

// 送信
$mail->send("yamicha@localyamicha.com" , $headers , "本文");
 これでメール送信は完了です。PEARさえ設定すれば簡単なものです。
 FTPは「ftp://localyamicha.com/」で動いてしまいますし、「http://www.localyamicha.com/」ならApacheのhtdocsのindexが表示されますし、これは便利です。

 それにしても最近、どうもSQLを扱う用件がありません。MySQLに関してはほぼ全部の機能を使ってしまったので当然ではありますが、これまでの開発の記憶の中で最もデリゲートデリケートな記憶はSQLです。構文が独特な上、「FOREIGN KEY(keyname) REFERENCES tablename(keyname) ON DELETE NO ACTION ON UPDATE CASCADE」「SET TRANSACTION ISOLATION LEVEL READ REPEATABLE」といった具合にひたすら長く複雑ですから(何とかここまではそらで出てきました)、少し離れるだけであっという間に忘れてしまいます。

 またもやメール問題ですが、「民主党は謝罪で収拾の方向」とのこと。これが適切かどうかは分かりませんが、少なくとも総辞職まで必要な状況ではないのは事実です。なぜなら、白黒はっきりさせるために国政調査権を発動すべきところを、自民党がそれを頑なに拒み、身の潔白を完全に証明していないためです。
 メールは偽物の可能性が高くなっていますが、内容が偽物とは限りません。これを証明するためには国政調査権の発動が必要でした。ところが、自民党がそれをしなかった以上、疑惑を黙認したとみなさなければなりません。メールは灰色、自民党の行為も灰色ですから、現状では民主党が100%悪いわけではありません。
 自民党が身の潔白を証明して初めて、メール問題は完全に「偽情報を基にした民主党の勇み足」となります。そうなれば私も前原執行部の辞任を求めますし、それをしない民主党など見限ります。しかし、この疑惑は灰色です。自民党には調査権を発動できない理由があるのですから仕方ありません。もし可能であれば、今からでも遅くはありませんから、自民党は国政調査権の発動を検討すべきなのですが。
 何にせよ、民主党の「自爆攻撃」は自民党の外壁を吹き飛ばし、「国政調査権を発動されては困るらしい事実がある」ことを明らかにしてくれました。ここで民主党が腰砕けになってしまっているのが最大の問題なのですが、自らのダメージも省みずにこれをガンガン追求して真相を明らかにする程度の気概がなくては政権は取れません
 いささかやり方はマズかったですが、自民党に「刑事訴追の恐れがありますので証言を拒否します」と言わせたのですから、これだけでもなかなかの収穫でしょう。

 こちらの方が重要ニュースなのですが、政府もいよいよ日銀の量的緩和解除を容認することに言及しました。日銀の量的緩和といえば不況の象徴のようなものですから、これが解除されるとなれば本当に日本の足腰はしっかりしてきたことになります。
 そもそも量的緩和とは何ぞや。以前にもブログで取り上げたような気はしますが、金融関係の用語というのはやたら複雑でいけません。いちいち正面から説明しても分かりづらいことこの上ありませんから、即席で考えた例え話でも。
 現在、日本は自転車の練習をしています。補助輪がついたり、人に押さえてもらっていたりしています。しかし、この状態では確かに倒れることはありませんし、安定もしているのですが、これでは自転車を乗り回したりすることはできません。だからこそ、補助輪や他人に手伝ってもらうなどして練習をするわけですが。
 量的緩和解除といいますのは、言ってみれば「補助輪を取る」「人の手伝いなしで乗ってみる」に当たります。今までの練習で十分に鍛えられていれば、自転車で自在に走ることができるようになります。しかし、練習が足りないままこれをすると転んでしまうのです。自転車に補助輪をつけるのと同様、量的緩和も過渡的措置であり正常な状態ではありませんから、いつかは解除しなければなりません。
 この不況はそもそも、それなりの時期に回復するはずでしたが、せっかくの回復が橋本消費税によって叩き落されたところから始まります。実は以前、日銀は「景気はもう回復した」と補助輪(ゼロ金利)を外したことがあったのですが、それで日本は派手に転んでしまい、景気が失速してしまいました。日銀にはこのトラウマがあるのです。
 そこで、日銀も政府も慎重になり、「補助輪を外すべきか、まだやめておくか」と思案している状況です。十分に自転車を運転できる技術が身についているのなら、補助輪や人の助力など逆に景気回復を阻害する足かせにもなりかねないものですが、自転車を使えないのにそれらをやめた場合、せっかくの回復基調の時にまたもや転んでしまう恐れがあります。
 政府がこれを容認した以上、政府にもある程度の確証があるのでしょう。目が離せなくなってきました。

 ついでに先日のSLGをプレイしてみたのですが(作った直後では気づかない点が多いため、1日置いてプレイしてみることは多いです)、面白いです。20ターンがかなりピッタリです。魔道士イリアスの「マキシマムライフ」の意地悪さといったら。回復の射程が広いので散り散りになってしまい、魔法で一掃できないのも辛いところです。
 MRを蓄積しつつ「波動諷詠剣」と「カウンター」を主体に攻め、MRが十分に蓄積したところでエクスクルージョンで倒せる相手がいるなら周りを巻き込んでエクスクルージョン、を繰り返して地道に戦力を削っていく戦法を採りました。相手の攻撃は、最もダメージが大きい「ルイネッドワールド」でも200程度にしかならないため、防御は全く考えません。
 そうしてジリジリ攻めていけば、まずアークパラディンや剣聖を倒すことができます。これだけで相手の回復力はぐっと下がりますから、引き続き戦力を切り落としていきます。革命魔道士は「リカバリー」「マキシマムライフ」ともに強烈な上、魔法も効きづらく苦戦するのですが、こちらはとにかく後回しにして他から削ります。
 あらかた削れたら、残りはデュアルナイトと革命魔道士になるでしょう。デュアルナイトは魔法が効くため、後の問題は革命魔道士です。戦い方は前と同じく、相手のLAを削りつつMRを蓄積します。MRが十分な数値になったら、相手のLAをある程度まで減らした上で、背後からのデストラクション1発で一気に撃破します。これで勝利することができました。
 ただ、戦略の幅を持たせるために「デュプリケーション」も持たせてあります。「リカバリー」「ディスパッチウィンド」「キュアーライト」は使う機会がなさそうですが、デュプリケーションはかけておけばしばらく2回攻撃、2連カウンターが可能になります。ただ、魔法の場合はMRを2回分消費(足りなければ2度目が発動しない)してしまうため、実用的ではありません。この辺りの駆け引きが面白いです。
 20ターンを終えると普通のデュアルナイトに戻りますが、万が一撃破が間に合わなかった場合、とりあえず有利な地形に陣取って戦うしかないでしょう。残った相手が革命魔道士なら、頑丈な上に回復まで使ってきて最悪ですから、革命魔道士だけはしっかり倒しておきましょう。
 それにしても今回も「リンダ・デミケル」だの「マリー」だの。幻影の名前はどういう基準でつけられるのでしょうか。「サラサーラ」というのもアレですし。「朝鮮総カレン」はさすがにかわいそうなのでは。ちなみに「ロンホー」(栄和)というのは麻雀のロン上がりです。
カテゴリ [開発魔法][社会問題][ゲーム開発] [トラックバック 0][コメント 0]
<- 前の記事を参照 次の記事を参照 ->

- Blog by yamicha.com -