Webプログラミングをしてみよう!! このページをアンテナに追加 RSSフィード

2007-10-05

レンタルサーバの確保

さくらインターネットサーバレンタルしました. ドメイン名はitotto.sakura.ne.jpです.

http://itotto.sakura.ne.jp

# namahage.sakura.ne.jpにしようとしたら既に取られてた...

やる気加速中.

GUIとCUI

プログラムの動作環境として,GUICUIという区別があります。


GUIについて

GUIGraphical User Interfaceの略です.読み方はジーユーアイとかグイといいます.私はジーユーアイ派.

GUIとは,Internet ExplorerOutlook Expressなどのようにフォームと呼ばれる画面を持つプログラムを言います.

[長所]

(1)何をすべきか分かりやすい

(2)説明書(ヘルプ)は不要

(3)エラーが出た場合に分かりやすい

[短所]

(1)(CUIに比べて)動作が遅い → メモリを大量に消費する

(2)作業の簡易化があまり出来ない

(3)遠隔からの作業には向いていない

Windowsと言えばGUIです.


CUIについて

CUICharacter User Interfaceの略です.読み方はシーユーアイです.それ以外は聞いた事ないので多分ありません.

CUIとは,DOS(cmdで表示されるコマンドプロンプト)のような文字ベースで表示されるプログラムのことです.


[長所]

(1)(GUIに比べて)動作が速い → メモリを多く使用しない

(2)遠隔からの作業に向いている

(3)一括処理が可能(スクリプト実行可能)

[短所]

(1)使い方が分かりにくい

(2)エラーが分かりにくい

開発したいもの

最終的な成果が見えないと難しいという話だったので,今作りたいと思っているものをまとめてみる.


1. Windowsアプリケーション

(1)SSHサービス

 ログインシェルPowerShellSSHサービス

(2)ネットワークトラフィック調査ツール

 ネットワーク上を行き来するデータを解析

(3)ディスクコピーツール

 ハードディスク物理的なイメージを複写するツール


Windowsアプリケーションは,今使いたい小物は思いつくけどもお金になりそうなものはなかなか思いつきません。PCゲームっていうのもちょっと違うよな...。



2. Webサービス

複数人参加型のインターネット会議室の開発をします.


(1)基本要件

 1) ユーザ登録型の会議室(チャット)

 2) 発言者を指定してログを採取(CSV,TSV...可能)機能

 3) ホワイトボード(マウスで画面に落書きする事が可能)機能

 4) 画像閲覧(転送して画面に通知する)機能

 5) 会議形式に合わせた発言制御が可能

 6) NGワード設定


(2)開発要件

 1) 開発用および本番用に別にサーバを用意する

 2) 動作環境OSS(Linux + Apache + MySQL + Perl)

 3) IE , FireFox , Operaに対応

 4) 開発期間は3ヶ月


遠くに住む友人とのコミュニケーションオフショア開発での打ち合わせなど,さまざまな機会に利用されるスペースを開発します.

会話の内容をサーバ側に保存しておいて,必要に応じて抽出することを可能としたり(会議議事録として利用),手書き文字などを画面に表示出来るようにする事でより情報量の多いコミュニケーションを実現します.

プログラム開発をするための勉強方法

↓の本を本屋立ち読みしてみれば少しイメージがつかめるかも.一応自分の持っている本を薦めたので,それほどハズレはないはずです.


1.プログラミングの基礎

すぐわかるPerl (Software Technology)

すぐわかるPerl (Software Technology)

C言語ほど堅苦しくなくて,シェルスクリプトバッチスクリプトほどラフじゃないのがPerlのいいところです.環境作るのがちょっと面倒だけど,これを見ながらひととおり練習すれば掲示板くらいは作れるようになります.

最初の言語としてPerlはいいと思うよ.


HTML&スタイルシートレッスンブック

HTML&スタイルシートレッスンブック

HTML書いたことがなければこれをぜひ.

メモ帳とかでささっとかけるし,間違っても表示されないだけでエラーとか出ないからHTMLは気楽にかけていいよ.



2. アルゴリズム

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)

将棋に定石があるように,プログラムにも定石といえるもの(アルゴリズム)があります.また,プログラム将棋と違って相手の居ないものなのでこれらを好きに組み合わせる事で自分の思うとおりの結果を出す事が出来ます.


Cが書けないとイマイチだけど,こういうパターンを覚えてると便利.



以下,今日本屋で見てきていいと思った本.


コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?

コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?

ハードウェアの動作原理とかそこらへんが分かりやすい.


Cプログラミング入門以前

Cプログラミング入門以前

プログラミングの基礎(変数とは?とか通常の入門書よりももっと基本的な部分)が説明されてました.結構いいかも.


猫でも分かると銘打ってるだけあって詳しくていいです.