« 2008年01月 | メイン | 2008年04月 »

2008年02月 アーカイブ

2008年02月03日

H.264

H.264やばい、マジやばい。Adobeサイトで動画を見られるから今すぐ見て!
http://codezine.jp/a/article/aid/1956.aspx

ということで早速、見てみると
流石にHDレベルなので綺麗なのは当然として
ネットでどやってこれストリーミングできてんの?という疑問が。
今は解像度が720ピクセルだが、1080ピクセルまで
同バージョンで可能ということで更に綺麗な動画がネットで
見れるということだな。

Sun to Acquire MySQL

今年にはいってからの一番驚いたニュースが
サンがMySQLを買ったことだ。

まあこれで、エンタープライズ向けのデータベース層は
オラクルに好き放題されていたところを巻き返したいのだろう。

MySQLの世界的シェアをみても、大変魅力あるお買い物だったのだろうが、
しかし、よく成立したものだ。

オープンソースとしての道も保障されているようだし
MySQLの利用がますます加速するだろう。


Microsoft Bids $44.6 Billion for Yahoo

2月になってからは、マイクロソフトの米ヤフー買収の動きがはいってきたが
ん~、あまり興味なし。(笑)

2008年02月07日

Visual Studio 2008 Express Editions

Visual Studio 2008 Express Editionsをインストールしてみた。
http://www.microsoft.com/japan/msdn/vstudio/express/

Visual Studioは、10年前くらいにVersion5を購入したことがあるが、
あれは個人が購入する値段ではなかったな。

さて、このExpress Editionsは、お試し版ではなく、一通り使える機能限定版というところか。
無料で使えるので、どんなものかを試すにはよいだろう。

VC++, C#, VBとそれぞれ独立してダウンロードできるようだ。

あれもこれもは大変だが
ツールなんてものは、どんどん触ってみると感覚的に利用できりようになるものである。

今は、フリーで手に入るものが多いので
そういったものをどんどん活用して、慣れておくのがよい。

Eclipse もともとJava開発統合環境だが、今では、PHP, C/C++などプラグインが用意されている。

Pleiades All in One 日本語ディストリビューション
http://mergedoc.sourceforge.jp/

2008年02月09日

C

一番最初に覚えるプログラミング言語は、
何でもいいのだが、比較してみると

C言語がよいだろう と思う。

C++からはいると、Cの部分以外にオブジェクト指向とクラスライブラリで恐らくパンクするだろう。
まあ、最初からオブジェクト指向をすんなり理解してしまえばよいのだが
そこから手続き型へと逆行するよりは、


手続き型の言語で1つ覚えた後に
オブジェクト指向言語をおぼえることをすすめる。

その他にインタプリタの言語などは多数あるが、
必要に応じて使っていけばよいと思う。

まず、1つベースとなる言語があれば、
それを基準に話をすすめることができる。

ようするに、プログラミング言語は目的ではなく手段・道具であるから
目的にあわせて使い分けられるくらいになれればよいわけだ。

さて、C言語をつかうのであれば、
Windows上ではなく、UNIX,Linux上で覚えるのが良い。

UNIXの仕組みを内面から知ることで
ソフトウエア開発の基盤を理解できる。

ファイル入出力
ファイルとディレクトリ
標準入出力
プロセス
シグナル
ソケット通信

などなど。

UNIXとCを両方から攻めていってほしい。

Delphi

Delphi関連のURLをまとめておく。

CodeGear
* http://www.codegear.com/jp/
* http://www.codegear.com/jp/products/delphi

Wikipedia
* http://ja.wikipedia.org/wiki/Delphi

About Delphi

http://big2.big.or.jp/~osamu/Delphi/

Delphi Library [Mr.XRAY]

http://homepage2.nifty.com/Mr_XRAY/index.htm

FDELPHI

http://fdelphi.com/

Components

http://www.kanazawa-net.ne.jp/~pmansato/Components.htm

2008年02月10日

SHELL

シェルとは何か?

シェル(shell)はunixのコマンドインタプリタです。
ユーザ端末からの入力を解釈し、その指示に従って処理をするプログラムです。
シェルは他のツールと同様にunix上の1つのコマンドです。

ユーザからオペレーティングシステムの核(kernel)を貝殻のように包んでいることに由来してシェルとよばれています。

It is called the shell, beacuse, like the shell of a nut or an egg, it is the part that we see from the outside.
The inside part is called the kernel. The shell takes to us and to the kernel.
Rod Maris, Marc H. Meyer著「The UNIX Shell Programing Language」

それは、卵の殻のように、外から眺める部分なので、シェル(殻:shell)と呼ばれている。
内部は核(カーネル:kernel)と呼ばれる。シェルはカーネルと我々との仲立ちをする。

kernelはオペレーティングシステムの中枢で、プロセスやメモリ、ファイル等の管理を行う部分です。
unix上で何か仕事をする時には必ずお世話にならなければならないものですが、ユーザ側からkernelに働きかける手段はシステムコールのみです。
プログラムを書く場合は、システムコールを操れますが、対話形式ではシェルを通す以外触れる方法がありません。
シェルを通して備え付けのコマンドなり、自分の作ったプログラムを起動して初めてユーザはkernelへなんらかの指示を出すことができるわけです。
プログラムを書かないユーザにとってはシェルこそがオペレーティングシステム、あるいはコンピュータそのものに見えますから、シェルを使いこなすことがそのままコンピュータを使いこなすことになるわけです。

手続き型プログラミング言語とオブジェクト指向言語

C, Pascal,FORTRAN, COBOLなどは手続き型プログラミング言語とよばれる。
一方、C++,Java,Object Pascalなどクラスをもちオブジェクト指向に対応した言語はオブジェクト指向言語とよばれる。
PHPなどは、当初はクラス非対応であったが、PHP4の終わりからサポートされPHP5で完全に対応した。

Javaは、すべてクラスとしたことで非常にわかりやすいが、ネイティブデータ型も残した。
さらに、Rubyは全部オブジェクトとなり完全なるオブジェクト指向言語。

あとから出てくる言語は、すでにある言語の良いところを受けついで、
問題点を解決していくので、
今後も、新しい言語はでてくるでしょう。

違った視点からだと、コンパイルするのかインタプリタなのか。
スクリプトはインタプリタ。
コンパイルといっても、ネイティブな実行ファイルを生成する場合と、
中間コードを生成するだけにとどめるVBやJavaなどもあります。

サブルーチン,プロシジャー,関数

プログラミング言語によって、処理を記述する単位は、
サブルーチン,プロシジャー,関数などいろいろあるが
それぞれどんな違いがあるのかを整理しておこう

一般的に、サブルーチンやプロシジャーは処理だけを行い、結果を返さない。
関数は結果を返す。

言語により呼び方が異なる。

Cは、すべて関数。値を返さない関数はvoid型関数になる。
Pascalは、procedure(プロシジャー)と function(関数)とあり
procedureは、値を返さない。関数は値を返す。
Visual BasicはSub(サブルーチン)と Function(関数)。
サブルーチンは値を返さない。ファンクションは値を返す。
Perlは、sub(サブルーチン)だけど、関数としても機能する。
PHPは、function(すべて関数)。

Cの値を返さない関数
void function(int val)
{
/* void関数はreturnがない */
}

Cの値を返す関数
int sum(int v1, int v2)
{
return v1 + v2;
}

オブジェクト指向のオブジェクト

オブジェクト指向では、オブジェクトを中心に考える。

オブジェクトは、自律的に動作し、オブジェクト同士は相互に作用しあいながら
システムとして活動する。 オブジェクトは、「もの」であり、もっと適切な呼び方をすれば「目的となる対象物」である。
オブジェクト指向は、「機能よりもその対象を中心に考える」というニュアンスをもつ考え方である。

obj-obj.gif

イメージ的には、いろいろな担当オブジェクトさんがいて
要求を出し合っている。要求はメッセージとよばれるが、
プログラミングレベルで言えば、メソッドだ。

このオブジェクトの定義をクラスという。
この手法で行うプログラミングをオブジェクト指向プログラミングという。

クラスは、プログラミングコードレベルでのクラス定義だけではなく、
オブジェクト指向開発では、設計から一貫してクラスを中心に考えることにより、
シームレスな開発を目指している。

QuickReport

Delphiには、QuickReportという印刷コンポーネントが附属していたのだが
もう附属していないようだ。かわりにRaveというものに変わっている。

Delphi2007でのQuickReportについて
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200703/07030016.txt

QuickReport
http://www.qusoft.com/

Current QuickReport Editions
http://www.quickreport.co.uk/Currentvers.html

2008年02月11日

Skype

久しぶりにSkypeを利用しようと思ったらヘッドセットが見当たらないので
今日ヤマダ電機に買いにいき
さあ使おうと思いきや、Skypeがみあたらない。
そういえばVistaでは、まだ利用していなかったわけだが、
インストールして使ってみるとマイクがうまく使えない。

調べてみると、Vista未対応なのね。
http://snow-white.cocolog-nifty.com/first/2007/03/windows_vistask_fc8e.html

開いてるブラウザのURLを取得する

2008年02月12日

Wakame Version 0.1.0.8(2008/02/12)

http://www.iplusone.co.jp/~ishii/wakame/wakame.zip

■機能追加
インポート機能追加
エキスポート機能追加
ディレクトリリスト挿入(メニューがツリーになっているがリストが正解)

■機能変更
挿入→ディレクトリツリーをツリー→ディレクトリツリーをインポートへ移動

■バグ修正
ルートしかない場合に、下の階層にノードを追加した場合、
2つのノードにテキストが保管されてしまう問題を解決した。

UNIXを学んでいれば大抵次の項目について学ぶであろう。
そして、そられを通してC言語との関わりを知ることになる。

ログイン、シェル、ファイルとディレクトリ、標準入出力、
プログラムとプロセス、C言語、システムコールとライブラリ関数


Cで書いたプログラムはmain関数から処理がはじまる。
main関数は誰が起動しているのか?
それはスタートアップルーチンという
リンク時に結合される処理がmain関数をコールする。
その際に、プログラム起動時のパラメータと環境変数を引数で
渡すのである。

About 2008年02月

2008年02月にブログ「iPLUSONE Photo Blog」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2008年01月です。

次のアーカイブは2008年04月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34