PHPに雪がつもっています

PHP関連の調べ物していた。

一応,手元にPHPの本はあるがインターネットで調べていた。

ん。そういえばPHPのオンラインマニュアルには左上にPHPのロゴみたいな画像があるんだけど,冬になると雪がつもる。
http://jp.php.net/manual/ja/index.php
寒そうだ。

通常の画像はこっち
http://jp.php.net/images/php.gif

ちなみに雪がつもっている画像はファイル名にsnowってついています。
http://jp.php.net/images/php_snow.gif
ほかにもあるのかなぁ。。。

comments

ネットワーク対戦ゲームがVB6とかブラウザで簡単に出来るActiveXコントロール

ネットワーク対戦ゲームがVB6とかブラウザで簡単に出来るActiveXコントロールの紹介。

誰かネットワーク対戦ゲームを作ってみませんか?
若干バグありですが,結構使えます。

ネットワーク対戦ゲーム作成入門・勉強にどうぞ。

これは,私が2000年から2001年頃にVisual C++を使って ATL COMで作成したActiveXコントロールです。ActiveXなので,インターネットエクスプローラとかで実行できます。あのころは若かった(何)

ソースはどこかにあると思うので(まだ非公開),ご希望の方にはあげます。

ダウンロード先: さとーしのソフトウエア
http://www2s.biglobe.ne.jp/~satosi/soft/#sinet

このActiveXは、なんと、ネットワークゲームを簡単が簡単に作成できる
システムです
方式は、TCP/IPネットワークで、TCP接続のサーバ – クライアント型です
ネットワークを使用しているという意識を出来る限り、取り除きました
簡単に作れて、かつ、強力である。というのを目標に設計しました
Visual Basic 6.0(SP4)でチャットができるサンプルプログラムが、付いています。
(DirectPlayではありません。オリジナルのプロトコルです)

これと同じコードが使われているネットワーク対戦ゲームも公開しています。(ActeiveXじゃなくて,純粋なC++コード部分だけ。)
サブマリン・デスマッチ for Win32 Version 1.01
INET25ゲーム Version 1.01
Inet 5Balls Version 1.01a
INET○×ゲーム Version 1.01
等です。いずれも学生時代に作ったネットワーク対戦ゲームです。

マニュアルとか
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/SInet.txt (付属テキスト)
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/sinet.doc (ワードの図付き説明)
http://www2s.biglobe.ne.jp/~satosi/soft/SInet/index.html (HTMLでの説明)

今は,VB.NETだよねぇ・・・。
コードが違うので,マニュアル作り直さないといけないのかなぁ・・・。
.NET用のコンポーネントをそのうち作らなきゃねぇ。

参照:
VB 6.0 ユーザーのための VB .NET 移行ガイド – ActiveX コントロールhttp://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_6.aspx

.NET からの COM コンポーネントの呼び出し
Microsoft .NET へのアップグレード
http://www.microsoft.com/japan/msdn/net/upgrade/callcomcomp.aspx

comments

ATL/WTL C++ Windowsプログラミングの紹介

WTL

ATL/WTL C++ Windowsプログラミングの紹介

C++を使ったWindowsプログラミングといえば,MFCを使ったものが標準ですが,DLLとかが必要だったり,プログラムサイズが大きくなったり,使用するメモリ量が多いので,軽量な配布しやすいプログラムを作成しにくい。

ATLは,COMプログラミングのために用意されたテンプレートクラスライブラリ。
(COMとは・・・下記参照)
Visual C++標準のATLではウインドウアプリケーションを作成できない。しかし,WTLというのをダウンロードしてVisual C++に入れてやると,ATLにウインドウアプリケーションの作成部分の機能が追加される。

C++を使って軽量なWindowアプリケーションを作れる様になる。

Win32APIをC言語で書くよりもコードが少なく,C++のオブジェクト指向でプログラムが作成できる上に,プログラムサイズもMFCを使うよりもコンパクトに仕上がる。

知っていると結構得します。C++でWindowsプログラムを気軽に書きたい。という人におすすめ。もちろん,大規模なアプリケーションの作成も出来ますよ。

ちなみに,ATLは,C++の悪名高き多重継承を当たり前の様に使う。
テンプレートも多様されています。
※多重継承やテンプレートの知識が少なくても十分使えます。
 COMが分からなくても,使えます。

WTL自体は,結構昔からあるのですが,マイクロソフトの正式サポートではないので情報が少ない。そのため多少苦労しますが,それでもWin32APIをC言語で使うよりはましな感じがします。

クラスはMFCとそっくりなので,クラスのメンバ関数の使い方はMFCのリファレンスマニュアルでいけるでしょう。
MFCプログラミングをしたことがあるひとならば,すぐに使いこなせるでしょう。

詳しくは,WTLで検索をかけてください。
わずかですが,WTLについて解説したページがあります。

参考・詳細URL:
http://msdn.microsoft.com/msdnmag/issues/07/12/WindowsCPP/default.aspx?loc=jp

ダウンロード:
Windows Template Library (WTL) 7.1 (VC++ 6.0のウイザード用)
http://www.microsoft.com/downloads/details.aspx?familyid=1BE1EB52-AA96-4685-99A5-4256737781C5

Windows Template Library (WTL)最新( 8.0 )
http://sourceforge.net/projects/wtl

—————
補足:

COMとは・・・
Windowsで用意されたプログラム部品の仕組み。
オブジェクト指向がとりいれらていて,プログラミング言語に依存しないオブジェクト(プログラムの部品)である。
IUnknowインターフェースを継承したインタフェースを実装するオブジェクト。
いまいち分かりにくいので,具体的には以下の様なものがCOMで提供されている。

DirectXのラインタイム。
Webページ組込みオブジェクトのActiveXオブジェクト(自作を含む)
Visual Basicで使えるコンポーネント(フォームの部品。ボタンとか)

APIみたいなものだが,APIは関数なのに対して,COMは,オブジェクトを作成取得して,別のプログラムの部品(オブジェクト)として使える。

comments

C言語の源流。UNIXのソースと解説

Lions’ Commentary on UNIX (Ascii books)

C言語は,UNIXというOSを記述するためにつくられた。
そして,実際に書かれたUNIXのkernelのプログラムソースリストとその解説が書かれた本だ!!
コンピュータエンジニアならば,ぜひ読むべし。(ただし,読んでいるとねむくなるが・・・。)
というか,学生向けの本である。

アマゾンレビューで星5つ!
それらのレビューを読んでいただく方がわかるかと・・・。上の本のリンクから見ることが出来ます。

今のC言語とはかなり違って,関数に戻り値の型が書かれていない(省略すればint型扱い)とか,引数の型の書き方が違うなどがあるが,OSの勉強に向いている。

たとえば,こんな感じ↓
func(a,b)
int a,b;
{
register x;
x = 10;
}

これは

int func(int a, int b)
{
int x;
x = 10;
}

と同じ。 ※register キーワードは今でも使える。
return ないから,警告でるが,問題ない。
最初のC言語は void キーワードがなかった。戻り値なしは,戻り値の型自体を書いていない。しかし,戻り値の型を省略すると int 扱いなので,return で値を返していない関数がたくさんあるという状態になっている・・・。という感じになっている。

comments

Wikipedia「削除された悪ふざけとナンセンス」な記事

Wikipediaは,情報量は多いが,信頼できない場合が多い。

Wikipedia:削除された悪ふざけとナンセンス

この項目には滑稽であるという理由で保存されている無意味な内容や冗談などを含んでおります。これらは意図されて作成されたものではなく、あくまで楽しむためだけのものであるため、(ウィキペディアそのものの研究を除いて)真面目な研究の材料にはなりえません。

Wikipedia全体の記事の数から考えると,案外数が少ない。

こう考えると記事の信憑性って,結構高いのではないだろうか?
まぁ,記事は情報操作されている可能性もあるので,気をつける必要はあるが。

Wikipedia自体を情報源として使わないで,記事の情報源(ソース)が付いているものを使おう。

comments

量子コンピュータへのおさそい

量子力学の現象を使ったコンピュータ。現在も研究中だそうです。試作品は出来ているらしい。(6qubitぐらいのもの)
現在解読不可能な暗号通信技術「公開鍵暗号」を破るといわれていることで有名。
本当に出来てしまうと,現在のインターネットセキュリティのPKI(SSL,SSH,電子署名など)が崩壊してしまうという,とんでもない技術。

量子コンピュータでは, 1ビットのことを1キュービット(quantum bit 量子ビット)とか言う。
通常1ビットは0か1のどちらかしか値を持たない。
ところが,この1キュービットは,0と1の値を持つが,どちらかだけではない。0と1が重なり合った状態で記憶できる。0と1がぼやけて重なる状態である。(?)

量子コンピュータの仕組みを大雑把に言うと,0と1の状態が重なり合うキュービットで数値を記憶し,そのまま計算できるの。このため非常に多くの数字の組み合わせの計算が1回で出来るというもの。従来のコンピュータでは結果を出すのに非常に時間がかかるものでも,短時間で結果を出せてしまうそうな。

量子力学は非常に難解で理解しがたい,原子レベルでの現象。
量子力学の確率的解釈は,あのアインシュタインでも納得できなかったらしい。(厳密には,castorさんの↓のコメントを参照
これは,天動説が当たり前の時代に地動説を聞くようなものである。

詳しくは以下のページがわかりやすいです。

参考・引用元ページ:
http://www.f5.dion.ne.jp/~mirage/hypams04/quantum.html

comments

IPv6っていつ普及するんでしょ?

IPv6っていつ普及するんでしょうか・・・。だんだん使われる様になるといわれているけど,あまり実感がない。(一部のプロバイダーなどで使われているぐらい?)

数年前までは,IPv6にOSが対応していないから普及出来なかった。
しかし,現在は主要なOSが対応済みだ。やろうと思えば,いつでも出来ます状態なのだ。

IPv6で検索すると,1999年ごろから2005年までの記事は沢山見つかるが,それ以降,話題に上がってこない。
IPv6をつかっています!という人とか,IPv6使いたなぁという人はあまり見たことがない。。。(実験的にしか使われていない感じ。)

まぁ,話題に上がらないのは,ネットワーク自体,空気みたいなものなので,自分がインターネットを使えていれば,IPv4だろうが,IPv6だろうが気にならないのではないかなぁ・・・。

確かにIPv4ではIPアドレスの数は,以前から不足しているはずだが・・・。(不足を補う技術が沢山つくられているのも一因か。)

IPv6に対応していないルーターとかがまだま沢山動いているから?
そのルータを買い換えないのは,IPv6機器が高いから?もったいないから?

一部の国ではIPアドレスが全然割り振られていないらしいので,そういう国からIPv6が普及するかも。

あとは,一般の家電製品がネットワークにつながる様にIPv6が積極的に使われるのかも。普及するのかなぁ・・・。現在は,地上波デジタル放送TVがネットワークにつながるぐらいしかないが・・・。

comments

記事紹介:まつもとゆきひろのハッカーズライフ

コンピューター系の技術者の方や技術者を目指すならば,是非読んでください。

記事紹介(Webで読めます。2005年に書かれた記事):
ITmedia エンタープライズ
まつもとゆきひろのハッカーズライフ
http://www.itmedia.co.jp/enterprise/articles/0703/20/news011.html

まつもとゆきひろさんは,Rubyというプログラミング言語の作者です。
職業はプログラマーで自称ハッカーだそうです。

ハッカーについて,色々語っています。

comments

Linuxのすすめ

coLinux X

みなさん,Linuxをはじめませんか?
Webサーバのテスト用とかに便利ですよ!

…といっても,パソコンをもう1台用意するのは困難・・・。
そこで,おすすめなのが,coLinux です。もちろんフリーで入手できます。
私はWebサーバテストやCGI,PHPの動作試験などで結構使っています。

これは,Windows上でLinuxカーネルを動かすことが出来るソフトウェアです。
Windows上で動かすLinuxの環境といえば,VMWareとかVirtualPCとかがありますが,これらは仮想コンピュータをエミュレートするので,基本的に遅くなります。なので,coLinuxの方が高速に動作します。

ただ,coLinuxの欠点としては,ひたすら設定をしないと,まともに使えるところまでいかないことです。それゆえに,いやでもLinuxの勉強をさせられます(^^;

しかし,設定しまくると,最初の画像の様に,いろんなことが出来てしまいます。

お手軽にLinuxを勉強したい方には最適だと思われます。

coLinux関連の情報:
http://www.itmedia.co.jp/enterprise/articles/0411/05/news072.html

なお,詳しい情報は coLinux で検索すれば,山の様に情報を見つけることが出来ますので,案外苦労しません。

comments

先日のETロボコンの様子が組込みネットに掲載

先日のETロボコンの様子が組込みネットに掲載されているようです。

http://www.kumikomi.net/article/report/2007/21etrb/01.html

よく見ると,この中に私の顔が2回も写っていました。

さて,どこでしょうか。

ヒント:
1つは,両手で口をふさいでいます。
2つは,顔が半分他の人にかぶっていて,半分しか見えません。

comments