2009年12月27日日曜日

windows7にgvimをインストール

ここを使用。
download : vim online
Self-installing executable gvim##.exe gvim72.exe

windows7のキーボード配置変更

ここにある「keylay21」を使った。
でもお金かかる。
http://w7.vector.jp/softrev/detail.php?s_no=66997

やならこっち。元のCtrlは使えなくなるけどね。
windows7でctrlとcapslockを入れ替える - god eat god のhowm
できました!
vistaではレジストリ変更だけでいけますが、windows7 (RC)でも同じみたい。
やり方はこちら http://www.center-left.com/blog/archives/2007/02/windows_vistacaps_lockctrl.html

2009年11月25日水曜日

POP・IMAP調査

MRA の実装変更に悩んでみる。 | ぶっちろぐ
初めて構築したときの MRA は Postfix が mbox 形式で配送をしていたので
qpopper を使用していたけど、Mailbox 形式に移行した為 Courier-IMAP
という経緯となっている。



◇電子メールシステムについて◇初心者のためのLinuxサーバー構築講座☆お便利.com☆
電子メールはインターネットサービスの中でも、最も仕組みが複雑なものの一つです。


IMAP(Cyrus IMAP)
IMAPを利用すると何ができるのか?
今回から数回に分けて、電子メールプロトコルの「IMAP (Internet Message Access Protocol)」について解説したいと思います。


IMAP(Dovecot)
Dovecot の特徴
Dovecot は速く、安全で、柔軟性があり、 既存の IMAP システムのほとんどと互換性をもつ豊富な機能を持っています。

2009年11月9日月曜日

TOINX原子力解析セミナーでの反省

TOINX原子力解析セミナーに車で行ったときの出来事。
1,駐車場の入り口がわからず、電力ビル本社を1周した。
2,屋外の駐車場に駐めたら、地下駐車場が取ってあるといわれた。
3,地下駐車場に駐めたら、この場所じゃないといわれた。
4,駐車して、電力本社ビルに入ろうとしたら、警備員にとめられた。
5,20分くらい待たされたあげく、屋外の駐車場に駐めろといわれた。

反省点(時系列)
1,事前に駐車場に関して名久井さんに確認しておくべきだった。そうすれば、少なくとも出来事1,出来事2,出来事3は回避できた。
2,屋外の警備員さんに話しかけられたとき、「どこに駐めたら良いですか」、「地下ならどこでも良いのですか」と聞くべきだった。そうすれば、少なくとも、出来事2,出来事3は回避できた。
3,地下の警備員さんに止められたとき、自分の名前、何をしにきたのか、誰に言われてきたのかをはっきり話すべきだった。そうすれば、仮に20分待たされるとしても、何も伝わって居ないのではないかという不安からは解放されたはず。

ビデオファイルから音楽のみの抽出方法

AVS Video Converterの「編集」-「オーディオ輸出」でOK。

初回費用の滞納

斉藤さんに11月6日までに、初期費用を振り込んでくださいといわれていたのに、忘れてしまった。振り込んだのは9日。3日過ぎ。

この原因は、2つある。

1つ目は、しっかりスケジュール管理できていなかったこと。毎日携帯を見る、テトロに登録する、サンバードを使う、なんでもいい。なんでもいいから、自分のスケジュールを管理できていなかったことに問題がある。

2つ目は、斉藤さんから来た封筒を開けなかったことにある。その時点では、「前日にあければいいや」と思っていた。そこがダメ。情報が得られるのであれば、それを後回しにしてはいけない。封筒が来た時点でそれをあけていれば、契約に住民票が必要なことも、6日までに振り込まなきゃいけないこともわかっていたはずなのに。

今回得たこと
1、スケジュール管理をしっかりする。
2、少しの手間を惜しまない。(封筒を開ける、ごみを捨てる、元の位置に戻す、とか)

2009年11月7日土曜日

2009年11月3日火曜日

結論を頂点とする論理階層

市岡君に納得してもらえるように、今後の方針を説明する。

そのために、話している一瞬に、結論を頂点とする論理階層を構築できる力を付けなければならない。

デバイスの知識

OCR(Optical Character Reader)
OCRとは 【光学式文字読取装置】 (Optical Character Reader) - 意味/解説/説明/定義 : IT用語辞典
OCRとは、手書き文字や印字された文字を光学的に読み取り、前もって記憶されたパターンとの照合により文字を特定し、文字データを入力する装置。スキャナで読み取った画像から文字を識別して文書に変換するOCRソフトもある。
すごいスキャナってこと。てか、これじゃないとデータ化する意味が半減。検索できないし。

OMR(Optical Mark Reader)
OMRとは 【光学式マーク読取装置】 (Optical Mark Reader) - 意味/解説/説明/定義 : IT用語辞典
マークシート用紙には、あらかじめ決められた位置に選択式の記入欄が並んでおり、回答者は鉛筆などの筆記具でこれを塗りつぶす。OMRはこの用紙に光を当て、反射光により、どの欄が塗りつぶされているかを読み取る。
TOEICで使うあれを読み込み機械。

タブレット
タブレットとは 【tablet】 - 意味/解説/説明/定義 : IT用語辞典
タブレットとは、入力装置の一つ。画面上の位置を指示するためのペン型の装置と、位置を検出するための板状の装置を組み合わせた構造になっている。
ペンタブ

TCPとUDP

TCP
・送信、受信の確認を行いながら通信する。
・メールとか、大容量のデータ送信とかで使用。

UDP
・送りっぱなしで、受信の確認はしない。
・速度重視のソフトウェア(動画とか)で使用される。

http

HyperText Transfer protorol

httpサーバ(Webサーバ)とhttpクライアント(Webブラウザ)間で、
ファイルの要求と送信を行うためのプロトコル。

httpの役割は要求と送信のみ。
描画自体はHTMLの機能。

2009年11月1日日曜日

ポート番号について

ポート番号は1~65535まで使える。
このポートの最低限のルールはIANA(internet Assigned Numbers Authority)によって決められている。この組織は、IPアドレスやドメインなどを管理し標準化している。
このポート番号は3つに分類される。

1、1~1023(Well Known Ports)
一般的に使われるポート番号。
FTP:20、21
Telnet:23
DNS:53
HTTP(Web):80
SMTP:25
POP3:110 など

2、1024~49151(Regiistered Ports)
Well Knownに当てはまらないソフトウェアやプロトコルなどをIANAに申請し、許可されることで割り当てられたポート番号。

3、49152~65535(Dynamic and/or Private Ports)
特に制限やルールはない。

開いているポートを調べるコマンド

あいているポートを調べる。
1、namp nmtc
2、netstat -tpl


ポートが全てとじているサーバは最強。

ファイアーウォールの種類

1、パケットフィルタリング型
IPアドレスやポートを元にパケットの制限を行う。つまり、セッション層、トランスポート層、ネットワーク層に関連したフィルタリング。インバウンド(WANからLANへの)の制限向き。
例、iptables

2、アプリケーションゲートウェイ型(WAF)
Webアプリが受け取る前に、送られてきた要求をチェックして,安全な要求だけをWebアプリに渡す。
WAF とは - Networkキーワード:ITpro

例、?

3、パーソナルファイアーウォール
パソコンにインストールされたアプリケーションが不正あるいはポリシーに合わない通信をしようとした際に,これをブロックすることができる。アウトバウンド(LANからWAN)の制限むき。ただし、 この機能やパケットフィルタリング機能などを併せ持つ、個人向けのファイアーウォール製品を、パーソナルファイアーウォールと呼ぶ場合もある。
例、windowsファイアーウォール

syslog-ngのログローテーション

ログローテーションとは。
日々、出力され続けるログが1つのファイルに書き続けられると、
膨大な量になってしまう。そこで、週に1回程度の割合で、
ログファイルを新しくし、古いログを圧縮する。
これにより、膨大な量にならなくてすむ。

1,デフォルトのsyslogのログローテーション。
デフォルトのsyslogのログローテーションには、logrotateが使用されている。
@IT:システム管理の基礎 syslogdの設定をマスターしよう(3/3)
logrotateは指定されたタイミングでログファイルのバックアップを取り、新しいログファイルを作成してログのローテーションを行います。

全体の設定ファイルは、/etc/logrotate.conf。
ログファイルごとの設定は、/etc/logrotate.d/syslog(など)。
これ自体は、cronで定期的に実行される。

2,logrotateを使ったsyslog-ngのログローテーション。
第22回 「syslog-ng によるセキュアなログサーバー構築」
ログのローテーションは、syslog-ng をインストールすれば自動で行われている。/etc/logrotate.d/syslog-ng というファイルがあるので設定を変更したい場合は編集しておこう。

syslog-ngをインストールすると、/etc/logrotate.d/syslog-ngも自動で設定される場合もあるようだが、marutamaの場合は設定されなかった。

3,syslog-ngのマクロを使ったログローテーション。
syslog-ngのマクロを使い、日にち毎にログを出力してしまえば、
ログローテーションの必要はない。でも、過去ログ消去はされないんじゃないかな。
マクロやテンプレでsyslog-ngを使い倒す(1/3) - @IT
syslog-ngでは設定ファイル「syslog-ng.conf」にマクロを用いることができます。マクロで指定された個所は、あらかじめ定義された規則に従って置換されます。

にわか鯖管のメモ - syslog-ng で一歩進んだログ管理
syslog-ngのマクロ機能を使い、ログの出力を制御しているので、ログローテーションする必要がない。
よって、syslogのログローテーション設定(logrotate)を削除する。



結局のところ、syslog-ngでログローテーションするといっても、
圧縮はできないし、古いファイルの削除もできない。
しかも、一番新しいログを参照するときも日にちを打たなきゃいけないのがめんどくさい。
ので、2の方法でいくことにする。
@IT:システム管理の基礎 syslogdの設定をマスターしよう(3/3)
syslogdの動作中にファイルを移動すると、syslogdは出力すべきログファイルを見失ってしまうため、syslogdにHUPシグナルを送って設定を再読み込みさせている

基本的に、/etc/logrotate.d/内のファイルで指定していることは、ログファイルのパスとログローテーション後の操作。
syslogの場合は、ログローテーション後に再起動。つまり、次のリンクみたいな感じでもOK。
syslog-ngのインストールと設定、syslogからの移行 - くわぞうメモ
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/syslog-ng.log { sharedscripts postrotate /etc/rc.d/init.d/syslog-ng reload > /dev/null 2>&1 #/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript

marutama用とnmtc用それぞれのファイルを作成。
後日見てみよう。

ニュースブログパーツ

YOL×kizasi.jpブログパーツ : YOLツール : YOMIURI ONLINE(読売新聞)
YOL×kizasi.jp ブログパーツとは

ヨミウリ・オンライン(YOL)でよく読まれているニュースとkizasiのブログで話題のキーワードがランキング形式でわかるとてもニュースなブログパーツです。


ニュースのブログパーツ

携帯テルロ

テルロを携帯で確認・変更すること出来ないかな。

そのうちできるらしいが。

何とかして、自分でみれるような環境を作れないかな。

NMTCマニュアル

NMTCのWeb環境、バックアップ環境、ログ環境をまとめたマニュアルを作るか。

結論のバックボーン

先生が言っていた内容の議論が足りないとは、結論を導くためのバックボーンが軽い。

相手にその結論を納得して貰うためには、もっと重いバックボーンを持つ必要がある。

朝のニュース

朝のニュースを車で聞ける環境を整備しよう。

読売ニュース ポッドキャスト : YOMIURI ONLINE(読売新聞)
格的な総合ニュースのポッドキャスティング番組「読売ニュース ポッドキャスト」。特ダネ満載の最新ニュースやスポーツ、街の話題をギュッと詰めて、平日の毎朝午前6時にお届けします。携帯デジタル音楽プレーヤーに入れて持ち運べば、いつでもどこでも手軽に。今すぐチェック!


ここでダウンロードできるのは、mp3形式。
ZENに入れても聞ける。
あとは、車で聞けるようにするだけ
加えて、車の電源で充電できると良いな。

それにしても、IPOD買うかな。それともi-Phone買うかな。

2009年10月31日土曜日

nmtcのセキュリティを上げるために行ったこと

1,rootのリモートログイン禁止
/etc/ssh/sshd_config
"PermitRootLogin no"にする。

2,rootになれるユーザの制限
/etc/login.defsに"SU_WHEL_ONLY yes"を追加。
/etc/pam.d/suに"auth required /lib/security/pam_wheel.so use_uid"を追加 or #外す。
/etc/groupに"wheel:x:10:root,karino"と書き換え。

ルートになれるユーザーを制限する
安全性を高めるには「su」でルートになれるユーザーを制限すべきだ

ファイルをつねに読込状態にするコマンド

ファイルをつねに読込状態にするコマンド
$tial -f file_name

topみたい。ぴょこっと飛び出るのが楽しい。

Linuxのパッケージインストール場所

各ディレクトリの役割を知ろう(サブディレクトリ編)(1/2)
/usr/local以下は、システム管理者が自分でアプリケーションをインストールする場所として利用します。ここは、システム関連のソフトウェアをアップデートしても変更されないようになっています。サブディレクトリはbin、games、include、lib、man、sbin、share、srcが必須です。各サブディレクトリの用途は、/usrや/にある同名のディレクトリに準じます。


ソースからインストールする場合は、一般的に、/usr/local/で行うらしい。
ここは、パッケージ管理システム(rpmやdk~)の管轄外に置かれる。

yum、rpm、tar.gzについて

Linuxにおけるパッケージのインストール方法は3種類
1,yumやaptを使ったネットワークインストールする方法
2,rpmやdpkgを使ったインストールする方法
3,ソースファイルをダウンロードして、コンパイルする方法

ソースからソフトウェアをインストール
RPM や APT は大変便利なのですが、 すべてのソフトウェアでこれらが使えるとは限りません。 RPM や APT はディストリビューションごとに異なるので、 作成に手間がかかるからです。


らしい。ソースファイル(主に.tar.gz形式)は、使用しているディストリビューションを気にする必要はないが、rpmパッケージ(.rpm)は使用しているディストリビューションを気にしなければならない。
逆にyumとかaptとかは、ディストリビューション気にする必要ないのかな。
それとも、レポジトリとかでディストリビューションを考慮した設定をしているのかな。

また、ソースからインストールする場合は、/usr/local/で作業を行う。

2009年10月30日金曜日

gnuplotつかうか

磯野君がgnuplotを使っているのを見た。

やっぱりかっこいいね。

gnuplot使うようにしよう。

市岡君も使えるし。

hosts.allowとhosts.deny

コラム【Linux道場 ネットワーク編】第6回 - TCPWrappers(hosts.allow,hosts.deny)とSSHの公開鍵認証について
「TCPWrappers」はネットワークを利用した接続の許可・許否を判断し、接続制御(制限)を行います。
「TCPWrappers」(デーモン名:tcpd)は、サーバープログラム(inetd)と連携して動作し、サーバープログラム(inet(telnetd/ftpdなどの/etc/inetd.confに記述されているサービス))の代わりに、接続要求を受け取り、「hosts.allow」と「hosts.deny」の二つのファイルを参照して、接続可否の判断を行います。
接続を許可した場合は、それぞれのサーバープログラムに処理を引き渡します。

NTPサーバの設定

1,NTPサーバの設定ファイル
/etc/ntp.confに、
server ntp1.tohoku.ac.jpを記載

2,自動起動設定
chkconfig ntpd on
chkconfig --list ntpd

3,動作確認
date
ntpq -p(星がついているのが現在同期しているサーバ)

サーバの時刻設定、NTPで自動設定・時刻補正 [Fedora, RedHat, CentOS] - Linux

2009年10月29日木曜日

OSI参照モデル

Open System Interconnection

第7層、アプリケーション層
 メール送信でいう、メーラ。
 マンマシンインターフェースを司る。
 例、NFS,DNS,SSH,NTP,DHCP,

第6層、プレゼンテーション層
 文字を符号化(エンコード)・復号化(デコード)する。
 文字コードの違い(UTF-8,EUC-JP,SHIFT-JISなど)を吸収して、
 同様に送受信する。
 例、HTML,XML,

第5層、セッション層
 コンピュータ間コネクション確立・開放とデータ転送を行う。
 なにをどの順番で送るかを指示する。
 例、http,https,ftp,smtp,POP,imap,telnet 

第4層、トランスポート層
 パケットの分解と組み立てを担当、
 エラー制御情報やパケット組立情報などの機能を提供
 例、TCP,UDP,SSL

第3層、ネットワーク層
 アドレス管理と経路選択を担当。
 例、IP,ICMP

第2層、データリンク層
 物理的な通信路をコントロール
 MACアドレスでの通信はこの層によるもの
 例、イーサネット,PPP

第1層、物理層
 コネクタ形状や電気特性の仕様。
 例、ハブ、電話線、光ケーブル、無線

2009年10月28日水曜日

デスクトップにJ-Payment

J-Paymentの経営理念を書いた紙を、
デスクトップにしよう。

さらに、スクリーンセイバーでは、それがスクロールで流れるようにしよう。

とりあえず固まった、スクリーンセーバーの作り方。
1,windowsムービーメーカーでwmvファイルを作成。
2,AVS Video Converter等で、wmvからswfファイル(Flash)に変換。
3,flaver Lifeを使ってスクリーンセーバーのインストーラーを作成する。

1,windowsムービーメーカー
Windowsムービーメーカー まとめ。 - 酔拳の王 だんげの方
わかりやすい。動画作成でよく使うのはトリミングと分割。分割でカットして並べなおし、ミラーやスロー、セピアなどの特殊効果をつけることが多い。結合は分割したものどうしでないと結合できないため役に立たない。 細かい動画の結合が出来れば便利なのに(特殊効果を一括でつけられたりするから)。

ムービーメーカーとテロップ: Amazing Foods
これまで、いくつか動画ファイルを作ってきたが、それらの動画ファイルは、全てWindowsXPにオマケで付いてくる、Windowsムービーメーカー(以下「ムービーメーカー」)を使って作成している。


2,スクリーンセーバー作成

あらゆるマルチメディアファイルを相互変換するフリーソフト「SUPER C」 - GIGAZINE

スクリーンセーバー開発作成ツール - fla:ver
Flashムービー(SWFファイル)を用意すればウィザードに従って操作するだけで簡単にスクリーンセーバーが作成できます。
無料ですので今すぐにどなたでもスクリーンセーバーを作成し配布することができます。

Internet ScreenSaver Builder (個人利用ライセンス)
nternet ScreenSaver Builderで、画像、テキスト、avi/wav/mp3ファイルを使ってスクリーンセーバーを作成し、インターネット上に表示させてみましょう。ウェブ上で変更を加えれば、自動的に更新されます。普通のスクリーンセーバーも作成できます。

「スクリーンセーバー開発作成ツール - fla:ver」- Buzzurl [バザール] / ソーシャルブックマーク
Flashムービー(SWFファイル)を簡単にスクリーンセーバーに変換。スクリーンセーバーの表示方法や終了条件の変更はもちろん、インストーラや設定ダイアログの画像、アイコン等ほとんどのリソースをカスタマイズ可能です。
またMac版ではIntelプロセッサにも対応しWindows版ではVistaにも対応!プラットフォームを選びません。
製品情報ページへ


wmvから変換
AVS Video Converter - 汎用の AVI → MPEG および AVI → DVD コンバータ。

NTT工事の時間

なんでNTT工事の時間を書かなかったんだろう。

予定ができたらその場で適切なアクションを起こさなければならない。

syslog-ngによるログ監視

羽野さんがnmtcに接続したら、gmailにメールが送信されるようにしよう。

syslog-ngに関するインタビュー
インタビュー:syslog-ng 2.0の開発者Balázs Scheidler氏に聞く - SourceForge.JP Magazine
現行のUnixにおける標準的なシステムイベントのログ記録アプリケーションはsyslogdであるが、その代替ソフトの1つにsyslog-ngというシステムログ記録ツールが存在する。


1-1,eventlogとsyslog-ngのrpmをダウンロード
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/eventlog-0.2.7-2.el5.i386.rpm
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/eventlog-devel-0.2.7-2.el5.i386.rpm
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/syslog-ng-2.1.4-1.el5.i386.rpm
marutamaで実施。

1-2,ソースのダウンロード

Downloads | BalaBit IT Security


nmtcで実施。

2-1,rpmを使ったeventlogとsyslog-ngをインストール(eventlogが先)
[root@marutama karino]# rpm -ivh eventlog-0.2.7-2.el5.i386.rpm
[root@marutama karino]# rpm -ivh syslog-ng-2.1.4-1.el5.i386.rpm
marutamaで実施。

2-2,ソースからのeventlogとsyslog-ngのインストール
KAJUKAJU.net: syslog-ng

syslog-ngのインストール

Linux/syslog-ng - PukiWiki Plus!

nmtcで試してみたが、glib2のエラーでできなかった。(glib2はインストールされている)

3,起動時設定
syslogの停止、起動時syslog off、起動時syslog-ng on
[root@marutama etc]# /etc/init.d/syslog stop
[root@marutama etc]# chkconfig syslog off
[root@marutama etc]# chkconfig syslog-ng on
marutamaで実施。

4-1,syslog-ngクライアント設定
クライアントに1~3を実行
syslog-ngでsyslogメッセージを集中管理 - sous le grand arbre
[root@manager1 ~]# vi /etc/syslog-ng/syslog-ng.conf ... destination d_manager { udp("192.168.0.26"); }; ... log { source(s_sys); filter(f_auth); destination(d_manager); }; ... log { source(s_sys); filter(f_default); destination(d_manager); }; ...


4-2,syslogを使ったクライアント
FreeBSD/syslog-ng - PukiWiki Plus!
# vi /etc/syslog.conf *.* @loghost # vi /etc/hosts 172.16.8.114 syslog-server.itoh.co.jp loghost

nmtcで実施。

5-1,サーバの設定(ホスト名ごとにディレクトリを作成)。
ホストごとにlogが分かれるように、/etc/syslog-ng/syslog-ng.confのdestinationを以下のようにする。
destination d_auth { file("/var/log/$HOST/secure" create_dirs(yes)); };
destination d_mail { file("/var/log/$HOST/maillog" sync(10) create_dirs(yes)); };
マクロやテンプレでsyslog-ngを使い倒す(1/3) - @IT


5-2,サーバの設定(他のホストからのログを受け取るために)。
source s_remo {
 tcp(ip(0.0.0.0)port(514));
 udp(ip(0.0.0.0)port(514));
};
destination d_remo_mesg { file("/var/log/$HOST/messages" create_dirs(yes) ); };
destination d_remo_auth { file("/var/log/$HOST/secure" create_dirs(yes) ); };
destination d_remo_mail { file("/var/log/$HOST/maillog" create_dirs(yes) sync(10) ); };
destination d_remo_spol { file("/var/log/$HOST/spooler" create_dirs(yes) ); };
destination d_remo_boot { file("/var/log/$HOST/boot.log" create_dirs(yes) ); };
destination d_remo_cron { file("/var/log/$HOST/cron" create_dirs(yes) ); };
destination d_remo_kern { file("/var/log/$HOST/kern" create_dirs(yes) ); };
log { source(s_remo); filter(f_kernel); destination(d_remo_kern); };
log { source(s_remo); filter(f_default); destination(d_remo_mesg); };
log { source(s_remo); filter(f_auth); destination(d_remo_auth); };
log { source(s_remo); filter(f_mail); destination(d_remo_mail); };
log { source(s_remo); filter(f_news); destination(d_remo_spol); };
log { source(s_remo); filter(f_boot); destination(d_remo_boot); };
log { source(s_remo); filter(f_cron); destination(d_remo_cron); };
を追加。
[syslog-ng] 他ホストのログを受信する - nullpopopo


5-,構文チェックと再起動
#syslog-ng -s
#/etc/init.d/syslog-ng restart

追記
使用している内に、logrotateが働いていないことが判明。その原因としては、次のリンクがもろ。
シンゴのblog: logrotate が動かなくなる

自分が持っている裁量権

研究室のパソコンを使い、メールサーバを立てていると、
羽野さんから、「使用許可は取られていますか」と聞かれた。

ぶっちゃけ取ってない。

自分に割り当てられたパソコンにメールサーバを入れるんだからと、
特に裁量の範囲を考えていなかったが、
確かにそのパソコンやネットワーク内で収まるものならともかく、
メールサーバは外部のPCにメールを送れるから、
自分の裁量の範囲を超えているかもしれない。
事前に確認を取るべきだったのかもしれない。

特にssh接続に関しては、
「技術的にできるかどうか」ばかり考えていて、
「裁量的にできるかどうか」は考えていなかった。

「セキュリティ的にすべきかどうか」は考えていたが。
セキュリティと裁量は別物。それが安全かを議論しているのではなく、
それをやる権利があるかどうかを議論している。

2009年10月27日火曜日

Linuxのログ

メールサーバのログは、/var/log/maillog
ssh接続のログは、/var/log/secure
に記載されている。

プログラミングとその環境

Webサーバから始めよう - @IT
Webアプリケーションを作っていて、「うまく動かない」「動くことは動くがパフォーマンスが極端に悪い」「プログラミングだけでは実現困難な要望が出てきた」「動作状況をログで確認したい」といった場合、サーバ知識があればずっとスマートに対処できる場合があります。


様々な環境を整え、プログラミングを実施する。

2009年10月26日月曜日

ポートの状態を調べる

ポートの状態を調べる。
1,netstat
2,lsof -i

プロセスを調べる
1,ps ax |grep postfix


Gmail - 狩野さん 宮崎です。 - kokuban.kumasan@gmail.com
Linuxのポート状況を確認するには、netstatコマンドを使用します。 netstatコマンドが表示する情報には、ポート情報以外に、ルーティング
テーブル、IPマスカレードなど様々な情報を得ることができます。
netstatは表示できる情報が多いため、オプションを使い分けることで
必要な情報のみを表示するようにした方が良いでしょう。


2,/usr/sbin/lsof -i。
Gmail - 狩野さん 宮崎です。 - kokuban.kumasan@gmail.com
今回紹介するlsofコマンドは、Linuxが使用してるプロセス名や
実行ユーザ名を表示するコマンドです。ポートの利用情報のみを
確認したい場合は、オプション「-i」を付けて実行します。

2009年10月23日金曜日

CF-Notifier

計算が終了するとメールを送ってくれるシステム。

作業内容
1,それぞれのマシンにメールサーバを導入。
2,計算が終了するとメールを作成・送信するプログラムを作成

それぞれのマシンにメールサーバを入れる必要があるかどうかはわからない。
実際に試してみる必要がある。次の疑問がわかる様にならなくては。

postfix,sendmailどっちが良いか。
smtpが動いてなければ送れないのか。
不正中継の踏み台にされることはないのか。
windowsからメールを送る様に、メールを送れないか。
neutorn.qse.tohoku.ac.jpに送れて、gmail.comに送れないのはなぜか。

例。
lily,oasis,merryの3つからkarino@neutron.qse.tohoku.ac.jpにメールを送信した。
lilyにはpostfix、oasisはsmtpなし、merryにはsendmailが入っている。
また、起動しているのはlilyのみ。送信できたのはlilyとmerryのみ。
oasisにはsendmailが入っていなかったため送信できなかった模様。
また、lilyのpostfixを停止してメールを送っても届かなかった。

インターネットの仕組み、物理的回線やプロバイダについて

ISPへの支払いは何に使われる? インターネットのお値段(1) インターネット-インターネットのお値段:IT-PLUS
ブロードバンドのサービスが始まっておよそ10年。この間、通信回線はADSLからより速い光へと進化し、料金も着実に下がり続けた。ところが、ここにきて一部で値上げがあったり、「料金制度を見直すべき」という議論が起きたりしている。なぜユーザーがこれだけ増えているのに値下げの余地がないのか。インターネットの「お値段」がどう決まっているのかを改めて探ってみよう。


払ったりもらったり、力で決まるISPの接続料 インターネットのお値段(2) インターネット-インターネットのお値段:IT-PLUS


動画の流行で「負け組」ISPが苦境に インターネットのお値段(3) インターネット-インターネットのお値段:IT-PLUS

「透明な料金」にはまだまだ時間 インターネットのお値段(4) インターネット-インターネットのお値段:IT-PLUS

PPPoeとは

WANのプロトコルを知る:selfup
WANに接続するプロトコルとして,PPPoE(point-to-point protocol overEthernet)というプロトコルが注目を集めている。

 PPPといえばダイヤルアップ接続というナローバンド時代の技術だったような…。なぜブロードバンドに?と不思議に思った人は多いはず。だからこそ,電話回線から光ファイバまで,あらゆるWAN(広域ネットワーク)で活躍するPPPはやっぱり理解したい。

2009年10月22日木曜日

Postfix、キュー操作コマンド

1,停滞キューの強制排出
# /usr/sbin/postfix flush
or
# /usr/sbin/postqueue -f

2,指定したキュー内を削除
# /usr/sbin/postsuper -d ALL deferred

Postfix,基礎インストールのまとめ

1,


ほぼこれと同じ。
Postfixサーバー(メール送信サーバー)をインストールして、メール送信する


特にセキュリティを考えない設定はやはり、これくらいで良いみたい。
LinuxとPostfixで最強のメールサーバーを作ろう!: 基本設定1・・・main.cfの5ヶ所
①myhostname = post1.example.com
②mydomain = example.com
③inet_interfaces = all
④mydestination = $myhostname, localhost.$mydomain, localhost, $myhostname.$mydomain, $mydomain
⑤mynetworks = 192.168.1.0/24, 127.0.0.0/8

Linuxのホスト名の確認と変更

1,ホスト名の確認
  $ hostname
2,ホスト名の変更
  ① /etc/sysconfig/network の変更
  ② /etc/hosts の変更
  ③ # hostname marutama

2009年10月21日水曜日

vimの操作をまとめよう

1,ノーマルモードで使えるコマンド
カーソル移動
h   ←
j   ↓
k   ↑ 
l   →
o  行の先頭に移動(に置き換え)
$  行末に移動  (に置き換え)
H  画面の上に移動(に置き換え)
M  画面の中に移動(に置き換え)
L  画面の下に移動(に置き換え)
 前方ページ送り
 後方ページ送り
 前方半ページ送り
 後方半ページ送り

モード移行
i インサートモードに移行
o 1行下にあけインサートモードに移行
v  ビジュアルモードに移行
V  行ビジュアルモードに移行
 矩形ビジュアルモードに移行

その他
,e   シェルを実行(カスタマイズ)

2,インサートモードで使えるコマンド
 ←
 ↓
 ↑
 →
> backspace

3,ビジュアルモードで使えるコマンド
:s/karino/tatuya/gc karinoをtatuyaに置換
y コピー
d          削除
I 挿入(矩形のみ)
ESC ノーマルモードへ移行(に置き換え)

4,オペレーター
operator d,y,c,s
textobject i,a,s
motion w,b,t

使用例
dd 行の削除
yy 行のコピー
diw  単語の削除
yiw  単語のコピー
dib 括弧内の削除
yib 括弧内のコピー
dab 括弧を含めて削除
yab 括弧を含めてコピー


5,Exコマンド
:r 現在のファイルに追加して編集
:edit 現在のファイルを終了して編集
:w 引数を渡せば、別名保存
:sh  コマンドラインに行く、exitでvimに戻る  
:execute シェルを実行

EeePCのvimrc

EeePCでなぜか、一部のvimrcが反映されない。

一部解決。超初歩的。
vimrcの後のほうで、別の設定がされていたから。

でも、Contrl-jはいまだに効かない。
と思ったら、jが小文字でなく、大文字にしなければならなかった。

32bitマシンと64bitマシンの違い

32bitマシンと64bitマシンの違いは持っているCPUの違い。
1度に32bitの計算が行えるものが32bitCPU、
1度に64bitの計算が行えるものが64bitCPU。
ここでいう「計算」とは、2進数で表されるbitの論理和、論理積。

CPU のビット数


あと、使えるメモリの量が増える。
32bitでは4G(2^32)までだが、64bitでは2^64まで使えるようになる。
CPUとメモリ(CPU編)
64ビットCPUを使うと、扱えるメモリも増えます。
 32ビットCPUだと、扱えるメモリは4GBまで(アドレス表示が2の32乗まで)ですが、
 64ビットCPUだと、理論上2の64乗までのメモリ容量が可能になります。


これは、結果的にそうなっているというだけで、実際には32bitで4G以上も取り扱えるらしい。今はまだ良くわからないけど。
【PC】32ビットOSでも4G以上のメモリは取り扱えます
また32ビットOS(32ビットCPU対応OS)というのは一度に32ビットずつデータを処理する(もしくは32ビットを扱うのに適している)OSです。32ビットのメモリ空間を扱えるOSではありません。単純に実装するとアドレスも32ビットデータで保持する(いわゆるポインタのサイズが32ビットになる)ので、結果的に32ビットのアドレス空間(≒4Gのアドレス空間)しか処理できない、そのため32ビットOSで認識するメモリは4Gと言う話になるようです。

IPアドレスの範囲のあらわし方

IPアドレスは、4byte(32bit)で表現される。

1、210.161.126.144-210.161.126.159
2、210.161.126.144/255.255.255.240(サブネットマスク)
3、210.161.126.144/28(プリフィックス)

2は、論理和を用いて、固定されているbitを判断する。
3は、固定されるbitを指定し、IPアドレスの範囲を指定する。

vimrc

6,vimrcカスタマイズ
set ignorecase " refer Web+DB press vol.52 P.66
set smartcase " refer Web+DB press vol.52 P.66set backspace=eol,indent,start " refer Web+DB press vol.52 P.66
set showmode
noremap 0
noremap $
noremap L
noremap M
noremap H" escを置き換え

inoremap
vnoremap

set tabstop=3
set expandtab
set autoindent
set smartindent
set hidden
set showmatch
set title
inoremap { {}
inoremap [ []
inoremap ( ()
inoremap " ""
inoremap ' ''
inoremap < <>

inoremap
inoremap
inoremap
inoremap

noremap ; :
noremap : ;" 実行
nmap ,e :execute '!' &ft ' %'

2009年10月20日火曜日

岩崎研ホームページバックアップ環境

岩崎研ホームページ(htmlフォルダ)をtera-stationにバックアップする環境を作ろう。
さらに、mysqlのバックアップ、リストア方法を確立して、同じものをすぐに復旧できるようにしておこう。

vim7のインストール

6.58. Vim-7.2
まず2つのアーカイブ vim-7.2.tar.bz2、 vim-7.2-lang.tar.gz を同一ディレクトリに解凍します。 (2つめのアーカイブを用いるのは任意です。)

vim、surroundプラグインとoperatorのまとめ

Vim テキストオブジェクトの深淵 - スタジオズブリ
Vimのプラグイン、surround.vimです。これが何をするかってえと、要は、aとi以外にも、s(囲み記号)でテキストの「周り」を表現できるようになるってこった。

これをインストール。
加えて、ysをカスタマイズ(Web+DB vol52 P.81)
nmap s Ysurround
nmap ss Yssurround

4、プラグインのインストール
 ① プラグイン本体を、~/.vim/pluginにコピー
 ② プラグインのドキュメントを、~/.vim/docにコピー
 ③ vimを起動し、:helptags ~/.vim/doc、を実行する。

5、operater,motion,textobject
operater : d, y, c, s
textobject : i, a, s(d,cのみ),
motion : w, b, t,

Photo-Controller、データベースのバックアップとリストア

新しい環境でホームページを作り直そうとして時、
一つ一つ写真を登録するのはしんどい。
てか、写真が入っているディレクトリ構造はそのまま残っているのだから、
データベースをリストアするだけでいいはず。

そのために調べる必要があるのは、
1、データベースのバックアップ方法
2、データベースのリストア方法

この2つがわかれば、簡単にホームページの環境を再構築できる。

2009年10月19日月曜日

windows、コマンドプロンプト全画面表示

Alt+Enter
※ 戻るときも同じ。

lilybackupコマンドの作成

lilyのバックアップの設定を行うコマンド(シェル)を作ろう。

現在のバックアップは、/etc/cron.backup/lilybackupに「rsync」の行を付け加えることで行っている。これを行うためのコマンドを、chkconfigみたいなイメージで作る。具体的には、以下の3つの機能をつける。

1、バックアップディレクトリの追加
  $ backup add /home/karino/calculation/cycle
2、バックアップonoff表示
  $ backup list
1 : off : /home/karino/calculation/cycle
2 : on : /home/karino/calculation/burn/void-fix2
3 : on : /home/karino/program/Norma-Library-Maker4
3、バックアップonoffの切替
$ backup on 1
$ backup off 2

※ 一番良いのは、ホームディレクトリを全部、毎日、差分バックアップすること。しかし、「LinkStationのおかしな機能」と「全部バックアップすると時間がかかる」という2つの理由で、バックアップするディレクトリとバックアップするか否かを頻繁に変える作業が必要になっている。この作業を行うのが、lilybackupコマンド。

このブログのバックアップ

MOONGIFT: » Bloggerのデータをバックアップする「Blogger Backup」:オープンソースを毎日紹介
あなたがもしBlogger.comで書いているならば、このソフトウェアを使ってバックアップができる。
今回紹介するオープンソース・ソフトウェアはBlogger Backup、Blogger.comのブログデータをバックアップするソフトウェアだ。


「My document」の「Blogger Backup」に保存された。
ここからリストアもできる模様。

これを定期的に実行する環境にしたいね。

PostfixのGUI管理

CentOS5で自宅サーバー構築(Postfix Admin) - Good Choice!! おっ!とくダネ!!
既にCUI型で稼動しているメールサーバに管理効率化のため、
Postfix Admin を搭載し構築し直します。
これによりバーチャルドメイン対応でのメール運用がGUI化され、
Webブウウザより楽に運用可能となります。


CUI稼働できたらやってみよう。

ホスト名とドメイン名

IPドメイン基礎講座

ホスト名はマシンで設定され、ドメインはDNSで設定される。

◇ホスト名とドメイン名の設定◇初心者のためのLinuxサーバー構築講座☆お便利.com☆

なにも指定しなかった場合、
myhostnameには/etc/syscconfig/networkのHOSTNAMEが使用され、
mydomainにはmyhostnameから*.を取り除いたものを使用する。
main.cfに記述すればそれが使われる。

◇受信するホスト名の設定◇初心者のためのLinuxサーバー構築講座☆お便利.com☆

が中心になるはずです。
更に自ホスト内で動作する アプリケーション から送信されるメールは、"@"以降に"/etc/sysconfig/network" の設定に記述されている "HOSTNAME" キーワードの値が使われるから、myhsotnameとHOSTNAMEは一致させておく。

Linux、ランレベルとは

「ランレベル」とは、Linuxの動作モードのこと。
動作モードによって、立ち上げるデーモンが異なる。
どの「ランレベル」でどのデーモンを立ち上げるかを設定するのが、「chkconfig」。

ランレベルとは
ランレベルとは、Linuxの動作モードのことだ。ランレベルには0~6の7種類があり、その数値によって動作の内容が異なる。各ランレベルの意味は以下のとおり。


chkconfigコマンド - 管理者必見! ネットワーク・コマンド集:ITpro
起動スクリプトを管理する。「/etc/rc[0-6].d」ディレクトリの配下にあるシンボリック・リンク・ファイル(実体は「/etc/init.d」ディレクトリ配下)の生成や変更・削除,各サービスの起動に関する設定をする。

カーソル移動速度を変更

windowsでキーボードのカーソル移動速度を上げる。ばびゅーん。 - 酒は血液、呑んだら献血
Vistaでの説明ですが、XPでも同様に可能です。

変更してみたら快適になったのでご紹介。

コントロールパネルから変更する方法と、

レジストリ操作で変更する方法(速さを追求するアナタに)です。


KEY_CURRENT_USER->Control Panel->Keyboard ->「KeyboardSpeed」
これを60に設定。
でも、あんまり違いがわからない。www

Postfixのセキュリティ対策

Postfixのセキュリティ対策

1,進入前調査行為への対策
2,SPAM用踏み台にならないための対策
3,セキュリティ対策(発展編)SMTP-AUTH
4,セキュリティ対策(応用編)暗号化通信

Kozupon.com - Postfixのセキュリティパラメータ(2008年10月改訂版)!

1,HELO(EHLO)ホスト制限(Hello拒否設定)
2,ホストの接続に関しての拒否(SPAM拒否設定)
3,メール中継の制限(オプションパラメータでの制限をする場合に使う)
etc...

2009年10月17日土曜日

EeePCでvimを使用する。

1、とりあえずwindowsで使用できるコマンドを確認。
Windowsコマンド一覧
ファイル操作の基本コマンド
ディスク関連の基本コマンド
ネッ

Linuxコマンドとの対応表を作成しよう。

2、path(環境変数)の設定方法を確認
Windows XP のパスの確認・通し方

※ PATHに設定するよりも、PATHが通っているところにvimのショートカットを作る方がいいかな。っと思ったけど、やってみるとだめだった。ショートカットじゃなくてシンボリックリンクならいけるかとも思ったけど、windowsXPでシンボリックリンクは使えないとのこと。

3、vimのインストール
KaoriYa.net


4、環境変数にC:\Program Files\vim;を設定。
5、環境変数にC:\Program Files\VertrigoServ\Php;を設定。
6、現在のフォルダからコマンドプロンプトを開けるようにレジストリを設定。
@IT:Windows TIPS -- Tips:エクスプローラでカレント・フォルダを選択してコマンド・プロンプトを開く
具体的には、エクスプローラでディレクトリ(フォルダ)を選択し、マウスを右クリックしたときに表示されるショートカット・メニューに項目を1つ追加して、これを実行することで、選択しているディレクトリをカレント・ディレクトリとしてコマンド・プロンプトを起動するようにする。

mysqlのrootパスワード変更

MySQLのrootパスワード設定 - Gentoo Linuxで自宅サーバ
忘れないうちに、MySQLのrootパスワードを設定しておく。設定には、SET PASSWORDを使う。


mysql> SET PASSWORD FOR root@localhost=PASSWORD('hoge');

EeePCでPHP開発環境を導入。

Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE
Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。


これ使えば超簡単にできそう。


インストール後の設定
1,岩崎研ホームページ(iwa)をドキュメントルート(C\Program Files\VertrigoServ\www)にあげる。
2,Linuxでmysqlインストール時にやった設定
Hunting Field: Webサーバの構築まとめ(Apache,php,mysql)
12,ユーザーの確認、ユーザーの追加、ユーザーの削除、パスワード設定
- select user,host,password from mysql.user;
- grant all privileges on test.* to centos@localhost identified by 'centospass';
- delete from mysql.user where user='centos' and host='localhost';
13,データベース作成、確認、
- create database iwatec;
- show databases;
14,テーブルの作成、確認、フィールドの確認,テーブルの削除
- create table photolist(title varchar(50),year int,pnum int,dir varchar(50),month int);
- show tables;
- show fields from photolist;
- drop table photolist;

とか、mysqlのrootパスワード変更とか、mysql.ini(データベース名とかユーザー名とか書いてあったやつ)を作成とか、データベースを作成とか。

仕様書(開発者心得、反省)

仕様書も書かずに、プログラミングをしサーバ構築を行っていた。

やり始めれば何とかなると思っていた。実際なんとかなるけど、完成したものは、統一性がなく網羅性もない成果物となった。


幼い。拙い。こんな人間をプロとは言わない。
何をするにも、一度、仕様書に落としてみなければ。

firefox autopagerに新しいのが出ていた

Firefoxアドオン 複数ページを1ページに AutoPager - DAW Beaker
「AutoPager」というアドオンなんですが、複数にわたるページを先読みして1ページ内にどんどん表示していってくれるというものです。


というか、前のとは別物かな。でも、こっちの方ができがいい。

firefoxで使えるブックマークへのショートカット

設定方法
1、設定したいブックマークで右クリック、プロパティを開く。
2、キーワードを設定。

使用方法
1、アドレスバーに移動、キーワードを入力。

仮名入力になっていたときちょっとめんどくさいかな。
firefoxでしか出来ないなら、今のショートカットとどっこいどっこいかな。

2009年10月16日金曜日

Paper Controller内、論文ソートのアルゴリズム

ソート・ルーチン (4)クイック・ソート
「速いソート・ルーチン」として今までシェル・ソートとヒープ・ソートを紹介してきましたが、今回は最後に残された「速いソート・ルーチン」として「クイック・ソート」を紹介します。クイック・ソートは、その名が示す通り現時点で最高速を誇るアルゴリズムであり、初期化の手間が要らず、細部の処理も簡潔であることからヒープ・ソートよりもさらに2倍は速くなるようです。


これを、できればjavascript、きつければPHPで、Paper Controllerに実装しよう。

でも、こんな話もある。簡単なもので十分かな。
ソート・ルーチン (4)クイック・ソート
クイック・ソートは再帰的なアルゴリズムであるため、ソートする配列が多くても、処理が進んで配列が細かく分割するにつれて、処理の苦手な「短い区間の群れ」に襲われ、処理速度が極端に下がってしまいます。そこで、処理を行う前に要素数をチェックして、充分小さい場合は単純なソート・アルゴリズムに切り替えることにより、処理は高速になります。

EeePCに入っているソフト

ついでだから、EeePCに入っているソフトをまとめておく。

1,office
2,firefox
3,chrome
4,Laplus
5,orchis
6,ultimate defrag

あともちろん、適当なフリーソフトで、
Caps LockをCtrlに。(CtrlはCtrlのまま)

コーヒーメーカーのそばに

コーヒーメーカーのそばに、小さいホワイトボードを置こう。

なにをしてもらうかというと、
1、コーヒーをいれたら、いれた時間をボードに書く。
2、コーヒーがなくなったら、それを消す。

これによるメリットは、
1、コーヒーが入っているか否かわかる。
2、そのコーヒーが冷めていないか否かわかる。

EeePCが使いややすくなるようにいくつか設定

4Gamer.net — Eee PC発売記念(?) この小さいマシンでゲームを動かしてみよう——その2:Windows XPを頑張って軽快にしてみる(Eee PC)

1、まずはその見てくれから。
2、起動時のオプション見直し。
の2つを実行。
そのうち「EeePCであることを再認識してみよう」もやってみたい。

EeePCのタッチパッド更新

ASUSTeK Computer Inc.-Support-

ここから、最新のタッチパッドを取得。
(ここから、BIOS更新できないかな)

デバイスを有効にして、オプションを開く。
そこで、タッピングを禁止にすれば、コードを書いていて、突然移動するなんてことはなくなる。

なかなかいいね。

EeePCのBIOSアップデート

はまった。

ASUS UPDATEからBIOSのアップデートをしようとしたら、
asusosd.exeがないと言われた。

いろいろ調べたけど解決せず。

Postfixの構造

全体の構造を確認し、セキュリティや冗長性、他の機能の位置づけをJ-Paymentの社員の方に説明できる様にする。
Postfixの運用・管理 1.はじめに・Postfixの構造

5.1.5 Postfixの構造

Postfix の構造 - メールの受信


技術屋のスキルアップサイト
Kozupon.com - Postfixの構造と導入の勘所!

このサイトはすごい。ここに書いてあることをマスターすれば、Linux使いとして2段階くらい上に行けそう。

セキュリティニュース
ChangeLog:[1999/8/26~9/15] セキュリティ

ここらで、セキュリティの全容をつかめるかな。


実際にサーバを導入することで学べることも数多くあるが、網羅的に下調べすることで学べることもまた、数多くある。
Kozupon.com - Postfixの構造と導入の勘所!
鯖構築の初心者は、キーワード検索をしてPostfixネタを見つけたらそのサイトで設定ファイル等を真似して自分の鯖を構築するのが定番だと思う。しかし、意味を納得して設定するのと意味が解らず設定するのでは、以降、自鯖への管理レベルの違いが大きく現れる。つまり、セキュリティに強い自鯖を作ることができるのだ。

激しく同意。
つまり今回のメールサーバ構築は、Linux初心者からの脱出をかけた仕事といえる。

xinetd、インターネットスーパーサーバー

Xinetd とは
インターネットスーパーサーバーとは、インターネットサービスを提供するプログラムの代わりに接続要求を待ち受け、接続要求があった時に各サービスを提供するプログラムを起動するものである。伝統的なソフトウェアとしてinetdが長く使われてきたが、inetdはセキュリティが脆弱だった。主にこの点を改良したのがxinetdである。


Linuxサーバを起動頻度によって分けると、大きく2つに分けられる。
1,常駐するサーバ(httpd,named,xinetdなど)
2,接続要求があるたびに起動するサーバ(pop3dやftpなど)

接続要求があるたびにそのサーバの起動を行うサーバが、xinetd(inetd)。
ポート監視用デーモンプログラム。
xinetdにおいてポートスキャン、最大サーバ数、アクセス制限を行える。

xinetd の設定

プリンタの分類

1、インパクトプリンタ
 機械的な衝撃を加えることで、紙にインクを押し付ける。
 例・宅配便の宛名とか

2、ノンインパクトプリンタ
 機械的な衝撃を使わず、静かに印刷出来る。
 例・レーザープリンタ(レーザーによって静電気で文字や図を書き、トナーという粉を引き寄せる)
  ・インクジェットプリンタ(インクを吹き付ける)

3、プロッタ
 ヘッドが紙面上を動いて、精密な印刷を行う。印刷する方法はレーザー、インクジェットどちらも普及している。
  ・フラットベッド式(XY軸どちらにも動く)
  ・ドラム式(ヘッドはY軸のみ、X軸は紙自体が動く)

2009年10月15日木曜日

開発者としての進化

Web DBに連載できるレベルの人間になりたい。

どうすればなれるか。現在のところ思いつくのは、開発しまくること。
アイデアを出しまくり、仕様書を書きまくり、実装しまくる。

こうしていくなかで、レベルがあがり、かつレベルのあげ方も理解できるようになる。

その前提としてある条件は、「もっと速く、もっと簡単に、もっと分かりやすく」といった向上心。
現状より上を目指す心。進化を求める心。

ビジネスの鍵

ビジネスの鍵はニュースにある。

政策献金、IT農家。

中小企業が生き残るためにはニュースを見ることで、実現可能な便利な仕組み、そしてそれを使って儲ける方法を考えなければならない。

2009年10月14日水曜日

メールサーバ構築の資料

メールサーバの構築は、
「メールサーバの調査・構築を同時進行で行ない、定期的に報告を送る。」という形で行う。


Postfix
Postfixの運用・管理 1.はじめに・Postfixの構造
PostfixはIBMのWietse.Z.Venema氏が開発したMTAです。 MTAプログラムとしてデファクトスタンダードな位置にあるSendmailやセキュリティやパフォーマンスに定評のあるqmailなどよりも後から開発が始められたため、 それぞれのソフトウェアのいいトコ取りをして開発されています。 セキュリティに関してはqmailが別格ですが、パフォーマンスに関してはqmailよりさらに高いような統計が出ていますし、 qmailと違いソフトウェアのバイナリ配布※1にも制限がないので、多くのディストリビューションに含まれるようになってきています。

CentOS5/37_Postfix/01_SMTPメールサーバー構築(Postfix) - PukiWiki
DOMAIN NAMES # # The myhostname parameter specifies the internet hostname of this # mail system. The default is to use the fully-qualified domain name # from gethostname(). $myhostname is used as a default value for many # other configuration parameters. # #myhostname = host.domain.tld #myhostname = virtual.domain.tld myhostname = mail.core-server.org ← 追加(自FQDN名を指定) # The mydomain parameter speci


xinetdについての記載があるpostfixメールサーバの構築
mailserver.html


小技
Postfixの小技


メールサーバー構築(Postfix+Dovecot) - CentOSで自宅サーバー構築
なお、Postfixは迷惑メールの不正中継に利用されないようにするため、デフォルトでは外部から外部宛(例えば、会社等で自宅サーバーのメールアドレスからプロバイダのメールアドレス宛)に送信できないようになっているが、迷惑メールの不正中継に利用されずに外部から外部宛に送信できるようにするため、SMTP-Auth機能※をもたせる。
また、DovecotはPOP/IMAPサーバーとして構築し、ユーザがPOPまたはIMAPを選択できるようにする。※POPとIMAPの違い

今回使用するサーバ。構築方法から、セキュリティまで書いてある。必読。

qmail
連載記事 「実用qmailサーバ運用・管理術」

使用しているサーバは異なるが、セキュリティ等で使用される概念を知るために読む必要あり。




トラフィック管理
1、http://www.itmedia.co.jp/enterprise/articles/0502/24/news102.html
2、http://www.itmedia.co.jp/enterprise/articles/0502/25/news087.html
3、http://www.itmedia.co.jp/enterprise/articles/0503/02/news003.html

負荷テスト
1、http://d.hatena.ne.jp/japanrock_pg/20090421/1240321762

メールサーバ構築の流れ

実際に構築する前に調べまくり、仕様書を作成する。
MTAには、どのサーバを使用するのか。MUAには、どのサーバを使用するのか。不正中継対策は具体的にどうやって行うのか。ウィルス対策は具体的にどうやって行うのか。

調べ尽くしたら、もう構築しなければ次の学習は得られないと感じたら、調べられるものを全て調べたら、実際にサーバを構築にしてみる。

思いつくままに手を動かし続けるのは、効率が悪い。サーバ構築でも、やはり、仕様書を作成するべきだ。

vimのoperatorとmotionを検索してみた

基本事項。
5月2日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど

これをマスターするだけでも、かなりのレベルアップする。
もちろん。Google Readerに追加。

vimのcommad、operator、motionのキーマッピング
Graphical vi-vim Cheat Sheet and Tutorial


vimrcの設定
5月8日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど
5月8日に行われました技術発表会の内容を撮影した動画ファイルを公開いたしました。内容は以下のとおりです。

vimのoperatorとmotionwo

Graphical vi-vim Cheat Sheet and Tutorial

SSDへのデフラグ効果

SSDのデフラグの効果を検証 - 博士課程大学院生の現実逃避日記
一方、キャッシュを搭載しないSSDのランダムライト速度はHDDより遅いことか一般的です。そのため、ディスクの空き領域が断片化していると、書き込み速度が低下してしまいます。Windows標準のデフラグは、積極的に空き領域のデフラグを行わないため、書き込み速度を回復させる効果は高くありません。


デフラグすると寿命が短くなると思ったが、むしろデフラグした方がいいみたい。寿命的にも。

2009年10月13日火曜日

ディスプレイ

1、CRTディスプレイ
CRTとは、ブラウン管のこと。
どの角度からも見やすいが、奥行きが長く、消費電力も大きい。
CRTディスプレイとは 【CRT display】 - 意味/解説/説明/定義 : IT用語辞典


2、液晶ディスプレイ
液晶という物質には、電圧をかけることで分子の配列が変わり、光を通さなくなる性質がある。液晶の表面にはRed、Blue、Greenのフィルムが張ってあり、液晶のうしろから光を当てると、電圧がかかっていない部分のみ色が表示される。

3、プラズマディスプレイ
プラズマ放電による発行を利用したディスプレイ。液晶ディスプレイより見やすく、高速で表示出来るが、消費電力は液晶より大きい。

4、有機ELディスプレイ
電圧をかけると自ら発光する有機物を利用したディスプレイ。液晶より表示が早く、見やすい上に、消費電力も液晶並に低い。しかし、寿命が数千時間と短い。携帯などで利用されている。

5、FED・SEDディスプレイ。
CRTに似た原理でCRT並に見やすいが、消費電力はCRTの半分。

画像の規格

1,gif
256色までの画像を保存することができ、JPEGが苦手なイラストやアイコンなどの保存に向いている。この規格に対応したソフトウェアを販売配布する際には特許料を支払う必要がある。
GIFとは 【Graphic Interchange Format】 - 意味/解説/説明/定義 : IT用語辞典


2,jpge
静止画像データの圧縮の際、その圧縮率を指定することが出来る。写真などの自然画の圧縮には効果的だが、コンピュータグラフィックスには向かない。
JPEGとは 【Joint Photographic Experts Group】 - 意味/解説/説明/定義 : IT用語辞典


3,png
gifで特許料を支払いたくない人たちが作った。特徴としては、
「フルカラーの自然画を劣化無しで圧縮できる」、
「1ピクセルあたりの情報量(色深度)として48ビット(赤青緑それぞれ16ビットずつ)まで扱える」、
「各ピクセル毎に透明度を指定できる」、
「ガンマ補正のパラメータを画像に持たせられる」などの特長がある。
PNGとは 【Portable Network Graphics】 - 意味/解説/説明/定義 : IT用語辞典

vimのビジュアルモードで置換

vimで選択範囲を置換 | jigen studylog
vとかをクリックしてビジュアルモード(visual)に入って、対象範囲を選択したら以下のような感じで入力して普通の置換みたいに出来る。以下の例だとbeforeという単語をafterに置換する。
ビジュアルモードの状態で「:」を入力すると自動的に「:’<,'>」までは自動的に入力されるので後は「:s/before/after/g」を入力すればOK。


便利すぎる。

lessの編集で立ち上がるエディタをvimにする

lessコマンドを実行中にvを押したら起動するエディタの指定 - Fly me to the Helios
一応メモですが、こんな感じでviを起動するように~/.bashrcに書きました。

export LESSEDIT='vi %f'


これでもできるが、manを参照した結果、
export VISUAL='vim'
でもいける。

2009年10月12日月曜日

Linuxマシンのスペック確認

1、CPU
 ・/proc/cpuinfoを確認
2、メモリ
 ・/proc/meminfoを確認
3、HDD
 ・/proc/ide/hda/modelの確認
 ・$df -h
4、NIC
 ・lspciのEthernet Controlerを確認

ECサイトのPHPと開発者のレベル

EC-CUBEはここが酷い。 - 残業プログラマの雑記
結局はPHPプログラマがいないとまともなサイトは作れないというオチが。


このブログを読んでわかったことは2つ。

1、PHPを学ぶ必要性
どうやら、ECサイトを構築するとき、PHPを使うことがあるらしい。
それならば、今、PHPをマスターすることは全然ムダではない!

2、開発者としてのレベル
やはり、創業10年そこそこの会社では、プログラミングスキルを持った人材も少ない。バックボーンのあるスキルをもつ先輩による新人教育が行えないわけだから、必然的にプログラミングスキルを持つ人間は大きな企業に集中することになり、他社から入って来ない限り若い会社にはプログラミングスキルを持った人間は少ない。

自分自身もプログラミングスキルが足りていない人間だと自覚しなければならない。
そして、スキルを持った人間になるため、1人の時間はすべてそれをなすために当てなくてはならない。このブログの様に、プロからみたらとんでもないプログラムを書いていたなんてことにならないように。

ラストワンマイルを読んで

IT産業は資産価値が低い。

回線とパソコンさえあれば出来るため、
資産(不動産、特許など?)は少なくなる。

2009年10月11日日曜日

開発者としてのさらなる進化

入社までに、プログラミングと設計の2つ、それそれの方向に、もう1段階進化する。

流れるタイピングと、機能仕様書の作成。

2009年10月8日木曜日

台風による雑誌会中止の連絡

緊急事態の連絡網を用意しておくべきだった。

いつ、どこからでも、lab-allを流せる仕組みや、
いつ、どこからでも、学生の携帯に連絡できる仕組みを用意しておくべきだった。

これは、地震の情報、台風の情報を得ることに関しても同様。
それらが来る前に、来たときの対処ができる環境を整備しておく必要がある。




動作の細部まで把握すること

基本的知識の勉強をしていると、
「こんなこと知らなくても、サーバの構築はできる」
って思ってしまうことがある。

しかし、それでは、プロとしての深みが得られない。
経験に裏打ちされた知識を持つプロにはなれない。
今ある技術(ネットで調べてわかること)以上を生み出すことはできない。

普段はまったく使わない知識だとしても、
細部の動作を知ることで、
現在行われていない技術を生み出せるかもしれない。

2009年10月1日木曜日

メールサーバ構築の流れ(逆)

Linuxでゼロから作るメールサーバ--第1話:メールサーバ構築までの道 - page2 - builder by ZDNet Japan
メールを送受信するための「メールサーバ」は、自前で作ってしまうこともできるのです。この連載では、ネットでビジネスを始めようとしている赤井君といっしょに、Linuxを使ってメールサーバを動かすまでの過程を学んでいきます。

検討する順番は逆だと思うが、参考にはなりそう。

メールサーバ、Webメールという選択肢

通常のメーラを使ったメール管理は、
POP/SMTPプロトコルを使用している。

Gmailのような、Webメールの場合は、
IMAP/SMTPプロトコルを使用している。
このプロトコルを用いたオープンソースとして
Squirrelメールがあげられる。



自社でWebメールを立ち上げた時の報告
http://www.na.rim.or.jp/~sawada_k/php/squirrelmail/jcmi2003/prez/index.html

メールの基本
http://e-mail.pc-beginner.net/mail/web_mail.html

POPとIMAPの違い
http://d.hatena.ne.jp/kazu-yamamoto/20080118/1200625877

Webメールのソフト
http://www.aconus.com/~oyaji/mail2/webmail.htm

chromeにアドオンが対応

InformationWeekが確認したところによると、『Google Chrome』が近い将来アドオン対応となるそうです。アドオンを理由に『Firefox』から離れられなかったユーザたちが、これでGoogle Chrome王国へこぞってやって来る可能性が出てきました。通常のアドオンに加え、Greasemonkey風のスクリプトも対応となる、とのこと。

http://www.lifehacker.jp/2008/09/google_chrome_1.html

2009年9月30日水曜日

作業の基本

プログラムを設計・開発をするときの基本的な作業は?。
サーバを構築するときの基本的な作業は?。

ネットなり本なりで調べ、MCMや論文データベース、メールサーバの構築で実践する。

2009年9月29日火曜日

アヒル

痛いニュース(ノ∀`):ありえないほどでかいアヒルが大阪に出現


見に行きたい。

家探し

家の条件をまとめる。
部屋に求める条件を考えよう - [一人暮らしの楽しみ方]All About
部屋探しにおいて考慮すべき条件やチェックすべきポイントなどをまとめました。自分の希望にかなう部屋を見つけるためにも、まずはここで確認してください。


HOMESで家を探そう。実際に見に行って写真を撮ろう。
富士見ヶ丘
1,
賃貸マンションの情報 杉並区上高井戸2丁目 富士見ケ丘駅 徒歩8分 | 沿線ホームズ

2,
賃貸マンションの情報 杉並区宮前4丁目 久我山駅 徒歩1分 | 沿線ホームズ

3,
賃貸マンションの情報 世田谷区北烏山1丁目 富士見ケ丘駅 徒歩10分 | 沿線ホームズ

4,http://ensen.homes.co.jp/search/detail/b[]=1059940001730/tk=3/bsg=1/route=80/o=81hyEkRP8PRjBw/


※ 富士見ヶ丘の方が当駅発が多い。電車で座りやすいかも。
富士見ヶ丘駅時刻表 |京王グループ
富士見ヶ丘 (ふじみがおか Fujimigaoka)


吉祥寺
賃貸アパートの情報 武蔵野市吉祥寺本町3 吉祥寺駅 徒歩7分 | 沿線ホームズ

2009年9月27日日曜日

スプライン補間

3次スプライン補間法
3次の自然スプライン法アルゴリズム


$ n+1$個の点 $ x_{0},x_{1},\ldots,x_{n}$で関数$ f$に対する3次スプライン補間

最小二乗法を使った3次式の係数導出

最小二乗法近似

最小二乗法近似
(1)〜(3)の作業の後、解の計算をします。左辺を書いて=の後F7(計算実行)です。 準備は面倒な作業でも、結果を出すのは簡単です。

 得られた結果(右辺)は、上から順番に、a1〜a4、即ち、0次〜3次の係数です。求める3次式は次のようになります。

2009年9月26日土曜日

メールサーバ構築に向けて

1、メールサーバの構成とそれぞれの役割
メールサーバーの基礎知識
インターネットでは送信も受信もSMTPサーバーが行う。けっしてSMTPサーバーからPOPサーバーに対してメールを送るわけではない。

メールサーバーの基礎知識
サーバーにログインして直にメールボックスの中身を見るならPOPサーバーは不要だ。しかし、それでは面倒なので、ユーザーからの要求に応じてメールボックスの中身を端末に読み込めるようにする仕組みが作られた。それがPOPサーバーである。


2、サーバの種類
SMTPサーバ
・sendmail
・qmail
・Postfix
Linuxのメール・サーバー・ソフトはどれがいい? - 【Networkゼミナール】プロが指南 サーバー活用術:ITpro
最近はsendmailを参考にして新しく開発されたソフトがいくつか登場しています。その中でもqmail(キューメール)とPostfix(ポストフィックス)の二つがよく使われています。今回は,これら二つについてsendmailとの違いを交えながら解説しましょう


POPサーバ
・qpopper
・Courier-IMAP

3、必要となるセキュリティ
メールサーバーの基礎知識
現在ではSMTPサーバーの利用に制限をかけ、一定の条件を満たした端末からしかメールを中継しないSMTPサーバーがほとんどになっている。
 自宅サーバーでSMTPサーバーを動かす場合でも不正中継の対策をしっかりととっておかなければ、外部の第三者が勝手にSMTPサーバーを利用して、スパムメールの送信などを行う可能性がある。可能性があるというより、かなりの確率でSMTPサーバーが悪用される。


4、こういうこともある
自分のメールサーバーは大丈夫?
最初の数字がまだ送られていないメールの数(+アルファ)です。この例ではまだ概略2321件くらいのメールが送られていない(すなわち送り出している最中)ということを意味しています。どうやら動作が遅かったのは沢山のメールがやりとりされているのでサーバーに負荷がかかり、また回線も占拠されていたためのようですね。

2009年9月23日水曜日

IEでPOSTできない

photo/index.phpから、写真の番号をPOSTでphoto/viewer.phpに送る構造。

firefox、chromeではできたが、IEではできなかった。

原因検討
1、input type="images"で、valueを使用できない?
input type="image"でフォームの中身をsubmitする | Webデザインのタネ
ついでにいうと、IEでかつ、type="image"の場合、value属性の値は受け渡しできないみたいです。

2、variables_orderの順番
POSTで送った引数がIEでは表示されない(Firefoxでは表示される) -OKWave
variables_order」を「GPCS」から「EPGS」に直したところ
Firefox、IE6でもPOST送信したものが表示されるようになりました。

3、formの閉じタグがない
[PHP-users 17584]Re: POST送信時にブラウザがTimeout
、つまりformの閉じタグを忘れるとこういう現象が 置きやすいという話をきいたことがあるようなないような・・・。

実際間違っていた。

解決方法(仮)
1、nameのkeyとして送信 -> OK
valueを書かずに、nameをpnumbからpnumb[$x]とする。
参照する際は、$no=key($_POST["pnumb"]);とする。



2、variable_orderの変更 -> ダメ
3、POSTではなくGETで送信 -> ダメ

2009年9月21日月曜日

政策献金

ネット献金と政策支持を合わせた仕組みは作れないだろうか。

その政策が実現されるための資金に使われ、実現されない場合は、献金した人に異なる形(ポイントとか)で返却される。これを実現させるには?。
エグゼクティブサマリーを作ってみるか。

なぜ、日本ではネット献金が出来ないのか(2) - 保坂展人のどこどこ日記
の制限の範囲内でありますれば、政治活動に関する寄附をインターネットを通じてクレジットカード決済で集めるということ自体について特段の制限はございません。


しかし、その会社自身はどこから収益を得るのか。

2009年9月18日金曜日

javascriptとmysqlの関係

Javascriptについて質問です。 JavascriptでMySQLのデータベースにアクセスし、データを取り出し、結果を出力する事って可能なのでしょうか? 例えば、Ajax方式でCSVやXML.. - 人力検索はてな
>例えば、Ajax方式でCSVやXMLのファイルを読み込んで出力するのは出来ます。

とありますが、もしかして静的に存在するCSVやXMLのファイルを読み込んでいますか?

PHPなどで動的にレスポンスされたCSVやXMLのファイルを読むようにすればよろしいかと。


Ajax Memo INDEX

スケジュール管理ツール

タスクリストを縦軸に、実行期間を横軸にとるスケジュール管理ツールを作りたい。

2009年9月17日木曜日

photo-Controlの課題点

課題。
1、画質が悪い。
2、大きくするとスクロールが出る。
3、大きくするとがたがたになる。
4、年度でわかれてない。
5、写真のコメントを書く
6、管理画面で削除する際、確認をとる。


1、画質を良くする
PHPで画像のリサイズ - Nieks ?
しかし、ImageCopyResampledという関数があることを知り
そちらを使ってみると画像もそんなに悪くなく結構使えました。
ただし、GD Ver.2.0.1 以降が必要です。

phpファイルのブラウザ出力文字コード

疑問点
1,htmlファイルでmatatagを変更すると文字化けするのに、
 phpファイルでmetatagを変更しても、なんの影響もない。
 htmlヘッダを使う必要があるのか?
PHP でデータファイルを別にすると文字化け - 教えて!goo
ちなみに、2つのファイル、どちらにおいても、
HTML(metaタグ)で文字コードを設定されているようですが、
header('content-type:text/html; charset=utf-8');
と、どちらのファイルでも、
PHP経由でエンコードする方法も試してみて下さい。
このheaderの一文は、一番上(先頭に)に書いて下さい。
この方法でも解決しそうです。(こちらの方がお勧めかも)
HTMLのmetaタグによる方法と、
PHPのheaderによる方法で、若干、効き具合が違うような話を
どこかで読んだ記憶があります。


どうやら、mbstringのoutputの設定によるものらしい。

phpで今日のづけを取得

昨日・今日の日付を取得 - phpspot
それを date コマンドに渡せば日付が得られる、という感じです。
date("Ymd",mktime(...));
webアプリケーション開発で昨日の日付を得る、といったことはたまにやるので覚えておきましょう。

変数内の文字コードの調べ方

echo mb_detect_encoding(変数);

metaタグに関して

Meta tag is created in JavaScript - メタタグ 作成ツール
META タグ の重要性

META タグとは HTML ファイル内の\ 内に記述できる特定の HTML タグのひとつです。
META タグの情報は他のタグとは違って、ウェブページ上に表現されることはありません。

Google などのロボット型検索エンジンは、インターネット上の情報を、自動巡回ロボットを使って、サイトを登録しています。
この自動巡回ロボットは、META タグの情報を、そのウェブページの情報として、最初に読み込みます。
この正確な META タグ が有るサイトと、無いサイトでは、検索結果に大きい差が出る事もあります。

また、META タグには、ロボットに情報を与える以外にも、様々な役割や機能もあります。
あなたのサイトにも、正確な記述の META タグを設置しましょう。

ロボット型検索エンジンへの対応は、アクセスアップ対策にもなり、大変重要なポイントになります。
貴方のサイトの META タグ の記述が間違っていませんか? 確認してみて下さい。


くまさんのポストイット: 検索ロボットへの情報に関して

2009年9月16日水曜日

vine linux (nmtc)のwebサーバでEUC-JPを表示させる

photo-controlをnmtcに移行する際、発生したエラー。

1,mysqlのアカウントを作ったのに入れない。
 解決法
 設定したパスワード「karino」が無効なパスワードをたらしい。
 おそらくキューさんが設定したもの。

2,ブラウザの表示がshift-jisになってしまう。
 mbstring.http_output=EUC-JP
mbstring.internal_encoding =EUC-JP
この2つが上手くできていなかったらしい。
 phpinfoでみたときにmbstring.http_output、mbstring.internal_encodingの設定が、
 SJISになっていた。
 根本的な問題として、修正する設定ファイルを間違えていた。
 教訓:「設定ファイルを変えるだけでなく、ちゃんと変わっているか確かめる」
 1,php修正 → phpinfo確認
2,計算コードインプット修正 → アウトプットのインプットエコーを確認

3,「  」が使えない。
 php.iniの設定が、short_open_tag = on になっていなかった。

PHPスクリプト講座:PHPのタグ -- そふぃのphp入門
2の形式は1「」の省略形です。このタグを使用するにはphp.iniというPHPの設定ファイルの「short_open_tag」という項目がOn(有効)になっている必要があります。


※ nmtcにおける設定ファイルの場所
/etc/apache2/conf/httpd.conf
/etc/php5/php.ini
ほとんどこれのせい。

サーバーが、どこにある設定ファイルを使用しているかを調べる必要がある。
php.iniの場合は、phpinfoに出力される。

登録したアカウントで、mysqlに入れない

rootでmysqlのアカウント"admin"を設定し、パスワードを"karino"設定したのに、
mysqlに入れない。パスワードを入力すると以下のエラーが出る。

ERROR 1045: Access denied for user: 'admin@localhost' (Using password: YES)

解決方法、パスワードの変更。
パスワードがkarinoであることがまずかったらしい。
"kari"に変更。

2009年9月15日火曜日

google chromeのページキャッシュ

個人情報のクリア : Clear browsing data - Google Chrome ヘルプ
Google Chrome でアクセスしたウェブページのコピーを削除します。ブラウザではウェブページの要素を保存し、次回のアクセス時にウェブページを読み込む時間を短縮しています。


このため、更新した要素が反映されないという事態に陥った。

php使用メモリ調査

PHPスクリプト実行時のメモリ使用量の測定方法 質問と回答(Q&A) [okyuu.com]
memory_get_usage()という関数があります。 値をログにでも書き出して見てはいかがでしょう? あとは、ご存じかもしれませんが、php.iniのmemory_limit設定あたりをいじる 必要があるかもです。


結果
開始時:147k
画像データ処理時:63M
終了時:147k

最低、70Mくらいは確保しないと動かないと判明。

メモリの調べ方は・・・。
Linux のメモリー管理(メモリ-が足りない?,メモリーリークの検出/防止)(Kodama's tips page)
メモリの利用状況を調べる方法は, free, top, ps, vmstat, /proc/meminfo 等がある.

簡単に設置できるTableをソートしてくれるJavaScript

tableの検索結果 | CSS Lecture
JavaScript Table Sorterで配布。紹介されているスクリプトなんですが、容量も少なく、設置も簡単なのでテーブルをソートさせたいと思っている方は是非使ってみて下さい。

※jQueryやPrototypeなど他のスクリプトは必要ありません。


こういうのが作りたい!!!。
この人すごいわ。

似たようなライブラリもあるらしい。
テーブルの列でソートするJavaScriptライブラリ:phpspot開発日誌
prototype.jsさえあれば、その他1つのファイルでシンプルに実装可能です。

更に実装方法も次のように簡単で第一引数にテーブルのidを指定するだけ。


超簡単にソートやリサイズ、その場編集が可能なテーブルを作成できるJavaScriptライブラリ「TableKit」:phpspot開発日誌
超簡単にソートやリサイズ、その場編集が可能なテーブルを作成できるJavaScriptライブラリ「TableKit」。
次のようなExcel風テーブルが簡単に作れます。

2009年9月14日月曜日

Google、小額決済サービスを新聞業界に提案

Google、小額決済サービスを新聞業界に提案 - japan.internet.com E-コマース
検索大手 Google が新聞業界団体に提出した文書から、同社がオンライン コンテンツへの課金に関して新聞社を支援する方法をいくつか検討していることが明らかになった。

米国新聞協会 (NAA) に提出した文書によると、Google は小額決済サービスの開発を進めており、「来年中には Google および Google 以外のプロパティが利用可能になる」という。

小額決済のほか、アフィリエイトを通じたコンテンツ配信や購読契約に関する技術の提供も検討中だと Google は述べている。

phpファイルをの文字コードを全てEUCに変更

はまった内容
フォトコントローラーを作ったが、IEでリストから出力できなかった。
その原因は文字コードがUTF-8であることだったので、
php、mysql入出力を全てEUC-jpで行うこととした。
しかし、my.cnfにujis(EUC-JP)の設定をしているにも関わらず、文字化けを起こした。

解決
文字コードがutf-8の際、作ったデータベースを使用していたため。
euc-jpに変更した後作ったデータベースでは、まともに動いた。
※ データベースの文字コードを変更する方法もあると思う。
MySQLでデータベースごとの文字コードを調べるコマンド(文字化け) - Knowledge Database IT
$ mysql mysql>USE {database_name}; mysql>SHOW VARIABLES LIKE '%character%';


以下、EUC-JPに変更するため行った作業
1、/etc/my.confの設定
default-character-set=ujis
2、/etc/php.iniの設定
php.iniの文字コードの設定 - bnote
PHPのソースをEUC-JPで保存し、ブラウザへEUC-JPで出力する設定
オプション 値 意味
output_buffering Off 出力バッファリングを指定します
default_charset EUC-JP デフォルトの文字コードを指定します
extension php_mbstring.dll マルチバイト文字列を有効にします。
mbstring.language Japanese デフォルトを日本語に設定します。
mbstring.internal_encoding EUC-JP 内部文字エンコーディングをEUC-JPに設定します。
mbstring.http_input auto HTTP入力文字エンコーディング変換をautoに設定します。
mbstring.http_output EUC-JP HTTP出力文字エンコーディング変換をEUC-JPに設定します。
mbstring.encoding_translation On 内部文字エンコーディングへの変換を有効にします。
mbstring.detect_order auto 文字コード検出をautoに設定します。
mbstring.substitute_character none 無効な文字を出力しない。

2009年9月12日土曜日

gdがつかえない

gdが使えない。

phpinfo()のgd supportはenableになっているのに。

初めて質問してしまった。
PHPからgdを使う環境についての質問です。 現在、PHPからgdを動かす環境を作ろうとしています。 OSはCentSO4.8です。 そのために、以下のパッケージをインストールしました.. - 人力検索はてな


その後、やっとできた。丸1日かかった。
問題だったのは、「PHPの実行に使用できるメモリの上限設定」
ここまで時間がかかってしまった原因は2つある。
1つ目は、本当の意味でのphp.iniの比較を行えていなかったこと。
自宅Centとlilyでphp.iniを比較すること自体は実行したが、
異なる記述の1つ1つの意味を理解しないまま、適当に影響があるか否かを判断してしまった。
2つ目は、止まって居る理由を「GDのインストールがうまくいっていないから」と決めてしまったこと。止まって居る場所が、gdを含む関数であるところまで絞り込んで起きながら、その理由が「GDのインストールがうまくいっていないから」と短絡的に考えてしまったことにある。

解決方法は、phpの設定で実行時のメモリ上限を高くすること。
/etc/php.iniのmemory_limiit =8M
lilyがもつメモリは500Mであったため、
phpのメモリ上限を200Mにした。
/proc/memoinfo MemToatal =500M

Debian etch で自宅サーバ | PHP5の導入と設定
memory_limit = 128M ; スクリプト実行用メモリの上限を128MBとする post_max_size = 16M ; POSTデータに許可される最大サイズ. 16MB とする upload_max_filesize = 8M ; アップロードできるファイルの最大サイズ. 8MBとする


ちなみに自宅CentOSでは、
+ /etc/php.ini memory_limit=16M
+ /proc/memoinfo MemToal=2G
となっていた。

2009年9月11日金曜日

自宅CentOS5.3の環境

gd、php、mysqlについてlistしてみた。

[root@localhost new-html]# yum list |grep gd
gd.i386 2.0.33-9.4.el5_1.1 installed
gdbm.i386 1.8.0-26.2.1 installed
gdm.i386 1:2.16.0-47.el5.centos installed
php-gd.i386 5.2.6-jason.1 installed
sysklogd.i386 1.4.1-44.el5 installed

[root@localhost new-html]# yum list |grep php
php.i386 5.2.6-jason.1 installed
php-cli.i386 5.2.6-jason.1 installed
php-common.i386 5.2.6-jason.1 installed
php-devel.i386 5.2.6-jason.1 installed
php-gd.i386 5.2.6-jason.1 installed
php-ldap.i386 5.2.6-jason.1 installed
php-mbstring.i386 5.2.6-jason.1 installed
php-mysql.i386 5.2.6-jason.1 installed
php-pdo.i386 5.2.6-jason.1 installed
php-pear.noarch 1:1.6.2-1.jason.1 installed

[root@localhost new-html]# yum list |grep mysql
mysql.i386 5.0.58-jason.2 installed
mysql-server.i386 5.0.58-jason.2 installed
php-mysql.i386 5.2.6-jason.1 installed

selinuxについて

LinuxをセキュアにするSELinuxとはどんなもの? - 【Networkゼミナール】プロが指南 サーバー活用術:ITpro
SELinuxの最大の特徴は,従来のLinuxやUNIXでは絶対的な権限を持っていたroot(ルート)アカウントの特権を無くしてしまったことです。リソースへの権限をユーザーやプロセスごとに細かく設定して,例外なくセキュリティ・ポリシーで制御します。必要最低限の権限しか与えないことで,クラッカに侵入されてもシステムへの影響を最小限に抑えることを目指しています。


FC4/SELinux/動作モード確認・変更と起動時の設定 - Pocketstudio.jp Linux Wiki
現在操作しているサーバ上で SELinux 機能が有効になっているかどうかは【 getenforce 】コマンドで確認が可能です。


ごった煮 - CentOS4/CentOS5導入記(覚え書き) - Apache2 - SELinux有効下でのドキュメントルートの変更
pache2のドキュメントルートの変更を行います。 SELinux有効状態では、普通にディレクトリを変更するたけではだめです。


1, /etc/httpd/conf/httpd.conf内の変更
 DocumentRootの変更、Directoryの変更
2, selinuxのラベルを付ける。
# chcon system_u:object_r:httpd_sys_content_t /home/www -R
3, ついでにDirectoryIndexに、index.htmを付け加える。

mysqlのパスワード忘れ、ホスト入力ミスの解消法

[ヅラド] MySQL の root パスワード忘れた!
まず、MySQL サーバを停止。
次に、パスワード無しアクセスできるようにオプションで指定して、MySQL サーバを起動 (Debian の /etc/init/mysql にオプションが渡せない? ので 本体の /usr/bin/mysqld_safe を直接起動する)。


# /etc/init.d/mysql stop
# /usr/bin/mysqld_safe --user=root --skip-grant-tables &

mysql クライアントからパスワードを変更。

httpdがインストールできない

ネットに載ってなくても、解決できる力をつけないと、J-Paymentでは役立たず。

どうすれば、lilyでhttpdがインストールできる様になるだろう。
くまさんのポストイット: Webサーバの構築まとめ(Apache,php,mysql)
バグった。phpバージョンアップの操作をした後、httpdをリスタートできなくなった。
そのあと、httpdを一度アンインストールしてから、再インストールしようとした。
しかし、消せたものの、もとに戻せない。同じコマンドだが、httpdを消した時に、何か別のパッケージまで消されたっぽい。下記のエラーが出て止まる。どうしよう。


その後、
# yum clean all
# yum update
をためした後、httpdをインストールしようとしたが、
うまくいかず。

追記:上記の操作は良くなかったかも。一番新しいバージョンのパッケージ(CentOS5.2用)が入れられてしまった模様。


その後、頑張った結果、直った。エラーを読め、わからないと決めつけずに。
問題は、apr.i386とapr-devel.i386のパッケージが正しいバージョンでなかったため起こったことの様だ。
Error: Missing Dependency: libapr-0.so.0 is needed by package httpd
Error: Missing Dependency: libaprutil-0.so.0 is needed by package httpd

このエラーから、aprのlibが入ってないため起こっているのではないかと考え、
# yum list |grep apr でみると、
[root@lily html]# yum list |grep apr
34:apr.i386 1.2.12-2.jason.1 installed
35:apr-util.i386 1.2.12-5.jason.1 installed
823:apr.i386 0.9.4-24.9.el4_8.2 update
824:apr-devel.i386 0.9.4-24.9.el4_8.2 update
825:apr-util.i386 0.9.4-22.el4_8.2 update
826:apr-util-devel.i386 0.9.4-22.el4_8.2 update
と、aprは入っているが、apr-develが入っていない。

このためかと考え、
[root@lily html]# yum -y install apr-devel  をしたが、
~~
Error: Missing Dependency: apr = 0.9.4-24.9.el4_8.2 is needed by package apr-devel
と、またエラー。
今度は、aprのバージョンが違うといっているらしい。
たしかにlistでは、1.2.12-2.jason.1のバージョンが入っている。

そこで、そいつを消した。
[root@lily html]# yum remove apr.i386
成功。

で、listをみると、
[root@lily html]# yum list |grep apr
821:apr.i386 0.9.4-24.9.el4_8.2 update
822:apr-devel.i386 0.9.4-24.9.el4_8.2 update
823:apr-util.i386 0.9.4-22.el4_8.2 update
824:apr-util-devel.i386 0.9.4-22.el4_8.2 update
どうやらいけそうな雰囲気。

[root@lily html]# yum -y install apr
[root@lily html]# yum -y install apr-devel.i386
成功。

改めて、
[root@lily html]# yum -y install httpd
成功。

Webサーバの構築まとめ(Apache,php,mysql)

WEBサーバ構築のまとめ

1,apacheのインストール
httpd
2,phpのインストール
php,
php-mbstring,
php-mysql,
zlib-devel,
libpng-devel,
libjpeg-devel
php-gd (?)
PHP のインストールと実行には flex と libxml2 が必要。
3,mysqlのインストール
mysql-server

順番記録
1,# yum -y install httpd
2, # yum -y install php php-mbstring
3,/etc/httpd/conf/httpd.confの修正
 1,CGI,SSIの許可
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
Options Indexes FollowSymLinks   ↓ Options Includes ExecCGI FollowSymLinks ← CGI,SSIの許可

 2,htaccessの許可
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
AllowOverride None   ↓ AllowOverride All ← .htaccessの許可

 3,AddDefaultCharsetのコメントアウト
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
AddDefaultCharset UTF-8 ↓ #AddDefaultCharset UTF-8 ← コメントアウト

 4,CGIスクリプトに.plを追加
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
#AddHandler cgi-script .cgi ↓ AddHandler cgi-script .cgi .pl ← CGIスクリプトに.plを追加

 5,DocumentRootの設定
くまさんのポストイット
1, /etc/httpd/conf/httpd.conf内の変更
 DocumentRootの変更、Directoryの変更
6, AddType applicatin/x-httpd-php .php
AddType application/xhttpd-php-source .phps を追記
2, selinuxのラベルを付ける。
# chcon system_u:object_r:httpd_sys_content_t /home/www -R
3, ついでにDirectoryIndexに、index.htmを付け加える。

4,perlコマンドへのアクセスを可能にする。
# ln -s /usr/bin/perl /usr/local/bin/perl
5,テストページの削除
 # rm -f /etc/httpd/conf.d/welcome.conf
 # rm -f /var/www/error/noindex.html
6,.html,.cgi,.shtml,.phpのそれぞれテスト
 ※ .cgiは実行ファイルなので、実行権限を忘れずに
7,phpで画像ファイル操作に必要なパケをインストール
# yum -y install zlib libjpeg-devel libpng-devel php-gd
8,phpからmysqlを操作するために必要なパケをインストール
# yum -y install php-mysql
9,httpdをリスタート
 phpinfoでgdやmysqlが入っているか確認。
10./etc/php.iniの修正
 1,default_charset ="UTF-8"
2,mbstring.language = Japanese
3,mbstring.internal_encoding = UTF-8
4,mbstring.http_input = auto
5,mbstring.http_output = UTF-8
6,mbstring.encoding_translation = On
7,mbstring.detect_order = auto

没操作,phpをバージョンアップ(これはCentOS5.2用の操作らしい、おかげでひどい目に)
CentOS5にPHP5.2.5を割と簡単にアップデートする方法★ - GuinEa Pig
しかしあきらめない私は、以下の素敵なエントリを参考にしました。


バグった。phpバージョンアップの操作をした後、httpdをリスタートできなくなった。
そのあと、httpdを一度アンインストールしてから、再インストールしようとした。
しかし、消せたものの、もとに戻せない。同じコマンドだが、httpdを消した時に、何か別のパッケージまで消されたっぽい。下記のエラーが出て止まる。どうしよう。
Error: Missing Dependency: libapr-0.so.0 is needed by package httpd
Error: Missing Dependency: libaprutil-0.so.0 is needed by package httpd

その後、できた。
くまさんのポストイット: httpdがインストールできない
その後、頑張った結果、直った。エラーを読め、わからないと決めつけずに。
問題は、apr.i386とapr-devel.i386のパッケージが正しいバージョンでなかったため起こったことの様だ。


上記が直ったら、つづきをやる。

10,mysqlのインストール
# yum -y install mysql-server
11,/etc/mysql.cnfを修正
データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築
default-character-set = utf8 ← 追加(MySQLサーバーの文字コードをUTF-8にする)

12,ユーザーの確認、ユーザーの追加、ユーザーの削除、パスワード設定
- select user,host,password from mysql.user;
- grant all privileges on test.* to centos@localhost identified by 'centospass';
- delete from mysql.user where user='centos' and host='localhost';
13,データベース作成、確認、
- create database iwatec;
- show databases;
14,テーブルの作成、確認、フィールドの確認,テーブルの削除
- create table photolist(num int,title varchar(50),year int,pnum int,dir varchar(50),month int);
- show tables;
- show fields from photolist;
- drop table photolist;

実践Web Standards Design

これよみたい。
【書評】 「実践Web Standards Design」が名著すぎる - IDEA*IDEA ~ 百式管理人のライフハックブログ
ウェブ標準やらブラウザ対応やらについては建前ちっくなものもありますが、この本では「現場で使える」手法が満載されているのが素敵すぎます。

こういう本は個々人のスキルレベルによるのでおすすめが難しいですが、CSSでのレイアウトにいまいち自信が持てない、という人にはおすすめですよ。

いいボタン

いいボタンを作りたいな。

デザイナーさんにカフェで教えてもらったこと - IDEA*IDEA ~ 百式管理人のライフハックブログ
いまっぽいボタンを作りたいならFireworks用のグラデーションをダウンロードしておくべき。さくっと作れますよ!「Web 2.0 Layer Styles for Fireworks」とか。

2009年9月10日木曜日

検索ロボットへの情報に関して

META 要素 - 検索ロボット情報


検索エンジンのロボット拒否のメタタグ一覧表 (Yahoo!/Google/Bing)

(株)豆蔵OSホールディングスグループ、Eコマース企業の中国進出支援サービスの提供開始

2009年8月20日、「豆蔵OSホールディングスグループ、Eコマース企業の中国進出支援サービスの提供開始」
オープンストリームと日本恒生ソフトウェア株式会社が業務提携。中国進出を図る日本のEコマース企業向けに、中国国内決済システムの導入、中国語サイトの開発、中国国内の消費者からの問い合わせ対応などの運用を支援するサービスを開始する。

オープンストリーム:オブジェクト指向/Javaのソフトウェア開発技術力を誇る独立系ソフトウエア開発会社です。
豆蔵OSホールディングスグループ:株式会社豆蔵、オープンストリーム、株式会社チェンジビジョンの3社を中心とする、企業グループ。
日本恒生ソフトウェア株式会社:中国金融システムベンダー、恒生電子股份有限公司(上海証券取引場上場、600570)の日本戦略子会社。

NFCモバイル決済の市場予測

2009/09/10、「NFCモバイル決済の市場予測」

モバイルクーポンとスマートポスターの収益で、2012年までに300億ドルを上回るNFCモバイル決済 - CNET Japan
クーポンやスマートポスターによるモバイル小売マーケティングツールとしてのNFC(近距離無線通信)アプリケーションは、NFCモバイル決済の取引金額の成長を促進し、2009年の80億ドルから3年で300億ドルまで成長するだろうと報告している。


NFCモバイル決済:Suicaなど。

CCCとDGが資本・業務提携

2009/09/10、「CCCとDGが資本・業務提携」

NIKKEI NET(日経ネット):企業ニュース-企業の事業戦略、合併や提携から決算や人事まで速報
カルチュア・コンビニエンス・クラブ(CCC)は13日、インターネットビジネス支援のデジタルガレージ(DG)と同日付で資本・業務提携したと発表した。DGの決済サービスをCCCのネット通販やネット宅配レンタルに導入。コンビニエンスストアでの決済など、顧客が利用料金を払える場所や手段の拡大を検討する。


カルチュア・コンビニエンス・クラブ:TSUTAYAの運営会社。
デジタルガレージ:インターネット、ブロードバンド、モバイルに関した事業を行う。
資本提携:資金を出す、つまり経営に関わる可能性がある
業務提携:業務に関する約束

Nicotto Townが累計登録ID数30万突破

2009年9月10日、「Nicotto Townが累計登録ID数30万突破」

仮想世界サービス「Nicotto Town」が累計登録ID数30万を突破:ニュース - CNET Japan
スマイルラボとニフティは9月9日、スマイルラボが運営し、ニフティがマーケティング協力をする仮想世界サービス「Nicotto Town(ニコッとタウン)」の累計登録ID数が9月5日に30万を突破したと発表した。


スマイルラボ:株式会社スクウェア・エニックス・ホールディングスの非連結子会社。決済方法に「Webmoney」を取り入れている。
ニフティ:プロバイダ?

非連結子会社とは|金融経済用語集
連結子会社は、連結の範囲では子会社と判定されるが、重要性の原則に基づく除外理由などによって、連結の範囲から除かれる会社をいう。具体的には、連結の範囲から除いても、企業グループ全体の財務状態や経営成績に関して合理的な判断を妨げない程度に重要性に乏しい会社などは、連結の範囲に含めないことができる。

イーバンク銀行の振込手数料有料化

2009年9月10日、「イーバンク銀行の振込手数料有料化」

J-CASTニュース : イーバンク銀行、評判だった「振込手数料無料」やめた
安い振込手数料が評判だったイーバンク銀行が2010年2月1日から、振込(送金)手数料の有料化に踏み切る。イーバンク銀行同士の口座の振り込みであれば手数料は無料だったが、1件あたり50円が必要になる。経営不振で楽天グループに傘下入りした同行だが、楽天主導のテコ入れ策とみられる。

2009年9月9日水曜日

ECでのネット決済、市場規模14%増

2009年8月11日、「ECでのネット決済、市場規模14%増」
ECを利用する人が増えたことで、ECを導入する店舗が増え、
決済代行サービス市場も拡大している。

ECでのネット決済、市場規模は14%増の1194億円 2009/08/11(火) 10:10:50 [サーチナ]
特にネット決済代行サービス市場について、EC市場(BtoC)の拡大に伴って、好調に売上を伸ばしている決済代行サービス事業者が多く、日本経済全体の景気悪化を招いた08年9月以降の世界同時不況の影響もほとんどなかったと指摘、新規ユーザーの獲得ペースは落ち着いているが、取引量が増加していることで、各社の売上増につながっているとしている。(編集担当:鈴木義純)


J-Paymentが好調な理由はこれ。
もし今後、市場が縮小し始めたら、J-Paymentやその他同業他社はどのような方向に進むだろうか。

相次ぐ顧客情報の流出

2009年9月8日、「相次ぐ顧客情報の流出」
管理体制の甘さをつかれ、顧客情報の流出が後を絶たないらしい。
相次ぐ顧客情報の流出、管理体制の甘さ突く セキュリティー-最新ニュース:IT-PLUS
企業の管理体制の甘さを突く形で顧客の個人情報が大量に流出する問題が後を絶たない。


管理体制の甘さとは、
1,データベースのセキュリティ(パスワードの設定、パスワードの管理)
2,Webサーバの設定(index.htmの存在、検索ロボットの巡回対象)
3,メールによる流出
4,社員の持ち出し
顧客情報の管理


技術屋としては、少なくとも1,2は徹底しなければ。

銀行口座がなくても利用可能なEコマースサービス

2009年9月8日、「銀行口座がなくても利用可能なEコマースサービス」
「eBillme Walk-In」を、eBillmeが提供する。
商品を購入するとeBillmeから請求書が送られ、
ユーザーはオンラインバンキングもしくは、
サービスに参加している実店舗で代金を支払う。

コンビニ収納代行に近いかも。

銀行口座がなくても利用可能な Eコマースサービスが登場 - japan.internet.com E-コマース
銀行口座がなくても利用可能な Eコマースサービスが登場

ビリングシステムとAlipayが提携。

2009年9月8日、「ビリングシステムとAlipayが提携」。
日本に居ながら、中国のネットユーザーに物品販売や有料サービスの提供が行える。
本年秋、提供予定。
日経プレスリリース
ビリングシステム、中国アリババグループと提携し決済・収納代行サービスを提供

中国最大オンライン決済サービス アリペイ(Alipay)が日本国内企業に導入サービス開始! 日本企業が14億人市場に販売開始できます - 株式会社シンロン
株式会社シンロン(東京都渋谷区桜丘町12-5桜丘Kビル5階)は、中国最大のオンライン決済会社であるアリペイ(支払宝網絡技術有限公司)との提携により、日本国内EC企業に決済導入の紹介業務を開始しました。



Alipay:中国の決済サービス、Alipayを日本で使ってもらうため(収益源の増大)ビリングシステムと提携。他の決済代行とも提携していると思う。
ビリングシステム:J-Paymentと同業、決済方法の1つとしてAlipayと提携。
シンロン:中国を中心に決済代行、諸々のサービスを提供。
株式会社シンロン-中国最大のオンライン決済企業アリペイ(Alipay)を使い中国向けBtoCインターネット通販のトータルサポート会社(中国広告,中国アフィリエイト,中国マーケティング

2009年9月6日日曜日

mysで出力した配列を返すクラスを作成

// 検索結果を配列で出力
function output_array(){
$x=1;
while($row=mysql_fetch_array($this->m_rows)){
$op_array[$x]=$row;
$x++;
}
return $op_array;

}

使いかた
$mysql->query("select year as year from photolist group by year order by year desc");
$karino = $mysql->output_array();

foreach($karino as $key =>$y){
echo "{$key}:{$y["year"]}
";
}

cronを実行した時、Gmailにメールを送る方法

これできたら、結構便利だね。

2009年9月4日金曜日

talbeのデータ数をカウントする

MySQLのテーブルのデータ数のカウントの仕方 - 教えて!goo
速の回答、ありがとうございます。
SELECT COUNT(*) FROM test_Tで、できました!
こんなシンプルな命令があったとは・・・。
ところで、
SELECT *をするのと、SELECT COUNT(*)では、
どのくらい負荷に違いがあるのでしょう?

tableを画面の中心へ

珍しく、はまらずにできた!
tableを画面中央に配置する方法 - 教えて!goo
画面の中心というのがいまいちよくわからないのですが・・・。

ページ全体にtableを組んで、その中にさらにtableを組んではいかがでしょう?
bodyのtopmarginとleftmarginに0を指定すれば、隙間なく表示できます。






デザインをいれる
  



これでできませんかね?
クロスブラウザ対応かは、チェックしてませんが・・・。

はずしていたらごめんなさい。

2009年9月2日水曜日

CentOSにnkfをインストール

# wget http://osdn.dl.sourceforge.jp/nkf/20770/nkf207.tar.gz
# cd nkf207
# make
# cp /usr/bin
# rm -rf nkf207
# rm nkf207.tar.gz

インストール方法(CentOS,VineでもOK)
CentOS4初期設定 - CentOSで自宅サーバー構築
(8)nkfコマンドインストール
日本語処理に必要なnkfコマンドをインストールする


使い方まとめ
文字コード変換コマンドnkfの使い方まとめ linux - Knowledge Database IT

2009年9月1日火曜日

Linuxのディストリビューションの調べ方

LinuxサーバーのバージョンやOS名を調べるコマンド(Linux) - Knowledge Database IT
・Debian系(Ubuntu)

/etc/debian_version

・RedHat系(CentOS)

/etc/redhat-release

・Fedora Core

/etc/redhat-release

・Vine Linux

/etc/vine-release

・Turbo Linux

/etc/turbolinux-release

2009年8月30日日曜日

文字化け

研究室HPを自宅のWebサーバに入れて、みようとしたら文字化けしてた。

確認事項
1、htmlのheadに文字コードが書かれているか?
2、Appacheの設定(httpd.conf)で”AddDefaultCarset”が無効になっているか?


Apache(Apache2)基本設定パート1
6.Apahce2での文字化け対策 (2のみ)
Apache2ではデフォルトで文字コードが設定されています。具体的にはhttpd.confの以下の部分です。このディレクティブがあるために、HTML内でMETAタグを使って文字コード指定した場合でも文字化けが発生してしまいます。
AddDefaultCharset ISO-8859-1
このためApache2を使用する場合には、必ず以下のようにAddDefaultCharsetディレクティブをコメントアウトしておきましょう。
#AddDefaultCharset ISO-8859-1

文字コードのまとめ

1、viにおける設定

2、CentOSにおける設定

PHPでファイルのダウンロード

これは、論文データベースに使える。

PhpTips
PHP出力をダウンロードさせる

例えば、下記のようなヘッダをつければ、 JPEG ファイルをブラウザにダウンロードさせることが可能です。

こちらは、Content-Disposition に attachment を指定しています。

mb_http_output("pass");
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=image.jpg");
header("Content-length: " . filesize("/tmp/image.jpg"));
readfile("/tmp/image.jpg");

IE で、日本語のファイル名でダウンロードさせるには、ファイル名を SJIS を指定しなければならないようです。。。

上記 Tips 提供者:松嶋@ITBoost [2002/05/31]

2009年8月29日土曜日

PHPで画像ファイルのリサイズ

1、GDライブラリのインストール

必要なライブラリ
0、gd、gdphp :
1、zlib :
2、libpng :
3、libjpeg :

# yum -y install zlib-devel libpng-devel libjpeg-devel

これは良さそう。
IT ASK ME: PHP GD インストールと設定


これは結構めんどくさそう。
WEBシステム開発: WEBサーバ構築サービス|GDライブラリのインストール


2、リサイズスクリプト

一番良さそう。
【PHP】GDライブラリを使って画像のサムネイルを作成する。

2009年8月26日水曜日

PHPからmysqlを操作するために

php-mysqlをインストール。
しかし、mysqlに接続後、ブラウザへの出力ができなくなりました。

MySQL用GUI設定ツール導入(phpMyAdmin) - CentOSで自宅サーバー構築

mysql基本コマンドまとめ

mysql> show databases;
mysql> create database karino;
mysql> use karino;
mysql> create table photolist(num int,title varchar(50));
mysql> show fields from photolist;
mysql> alter table photolist add date date;
mysql> insert into photolist values(0,'opencampass','2009-8-24');
mysql> select*from photolist;
mysql> update photolist set title='open' where num=1;
mysql> delete from photolist where num=4;
mysql> select*from photolist order by date;

はまる時間

小野和俊のブログ:プログラマーの開発速度は「はまる」時間の長さで決まる
プログラミングを始めてから今日に至るまで、
様々なタイプのプログラマーと開発を共にしてきたが、
驚くべき速度で高い品質のソフトウェアを作り上げるプログラマーには、
一つ共通の特徴があるように思える。
それは、「はまる」時間が極端に短い、ということである。

2009年8月25日火曜日

入力フォームの動的変更

Gmailのメール作成画面、「ファイルの追加」みたいなボタンを作りたい。

これかな?
1つのフォームで複数のsubmitボタン
例えば送信されたデータを%FORMに格納するとした場合、
if ( defined($FORM{'sub1'}) ) # sub1が押された?
if ( defined($FORM{'sub2'}) ) # sub2が押された?
という風に判断すればいいって事です。

2009年8月24日月曜日

今日のPHP

1、echoの短縮形
  
  つまり
  

2、プログラムの基本
  上から順に読まれる。PHPでもそれは変わらない。
  変数に、呼出より上で定義されなければ、何も入ってない。
  例外は、セッション、クッキー、スーパーグローバル変数。

3、フォームをきれいに整えるには、HTMLのが必須

  

2009年8月23日日曜日

プチPHP

1、変数の前には必ず$が必要。
  定数には必要ない。

2、PEARとPECLの違い
  どちらもPHPのライブラリ。
  ただし、PEARはPHPで書かれ、
  PECLで書かれている。
  よって、PECLのインストールにはgccなどの、
  Cコンパイラが必要。

3、.htaccessにいかを書き込むと、
  .htmlの拡張子を持つファイル内で
  PHPを使うことができる。
AddType application/x-httpd-php .html

4、セッションとクッキーの違いは、情報を保存する場所
  セッション:サーバ
  クッキー :クライアント
  ※ セッションIDはクッキーに保存される。
10日で覚えるPHPのキソ 第 10 回 セッション(SESSION) | バシャログ。

PHP,セッションの利用

セッションが使えない。
ページを移動しない場合は、参照できるが、ページを移動すると参照できない。


セッションを保存する場所がまずいのかな。
デフォルトで保存する場所の方がいいのかな。
でもそれだと、Permission Deniedに引っかかる。

使える様になった。
session_save_pathを指定を消したら、使えた。
詳細は今のところ不明。

2009年8月17日月曜日

PHPデバック環境の構築2

firebugとfirephpを使ったデバック環境。

1、firefoxのアドオンをインストール
  firebug、firephp

2、firephp pear packageを入れる
  # pear channel-discover pear.firephp.org
# pear install firephp/FirePHPCore
Firebug + FirePHPでCakePHPのデバッグ - yuhei.kagaya


3、phpコードに書き込み
されどLAMPな日々 » FirePHPでデバッグを手軽に


※ 一体全体何に使うのかわからない。


正直こんなデバック環境がなくても、プログラムは組める。
それは、規模が小さいプログラムだからだろうか。

2009年8月16日日曜日

PHPデバック環境の構築

1、pearをインストール
# yum -y install php-pear
CentOSにyum経由でPEARをインストールする方法 - Knowledge Database IT
all php-pear


2、php-develをインストール
# yum -y install php-devel
[INWorks] CentOS 5 にxdebugをインストール


2、PHPのアップデート
CentOS5にPHP5.2.5を割と簡単にアップデートする方法★ - GuinEa Pig


3、gccのインストール
# yum -y install gcc

4、xdebugのインストール
# pecl install -a xdebug

5、/etc/php.d/にxdebug.iniを作成
  zend_extension=/usr/lib/php/modules/xdebug.so
  と書き込む。
※xdebug.iniに書き込んでも、認識しなかったので、
   php.iniに直接書き込んだ。


※ インストールまではできたみたいだが、どうやって使うのかがわからない。一度、firephpに行ってみる。


6、vimのプラグインを追加
  サイトからダウンロードしたものを、/home/.vim/に展開
PHPをXDebugとVimでデバッグする (Ubuntu 8.10編とCentOS 4.5編)    - 山歩きプログラマー



6、firefoxにXdebugをHelperインストール

2009年8月14日金曜日

PHP,mySQLのインストール

1、PHP
PHP のインストール(CentOS4.x編)

必要なものはほとんどインストールされているので、php-mbstringのみインストールする。
これは、マルチバイト文字列関数のパッケージ。

PHPの設定ファイルは、/etc/php.ini。
文字コードはutf-8にする。
あまり変更しない方がいいみたい。文字化けの原因となる模様。

また、デバック用にfirefoxに以下のアドオンを導入
PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」:phpspot開発日誌
PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」。
インストールするとFireBugのようにステータスバーにアイコンが表示されXdebugによるデバッグを補助してくれるようです。


その後。
PHPからMySQLを操作するための”PHP-mysql”と
PHPで画像ファイルを取り扱うための”GDライブラリ”を導入した。

2、mySQL
データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築

  1、mySQLの設定ファイルは、/etc/my.cnf。
    デフォルト文字コードのみ追記。(utf-8)
  2、rootパスワードを登録
  3、ユーザーを新規作成 


3、PHP、mySQLの更新
CentOS5にPHP5.2.5を割と簡単にアップデートする方法★ - GuinEa Pig

Webサーバの構築

語句
1、CGI : サーバ上で動くHTMLを変更するプログラムの総称。ブラウザからのパラメータにより、HTMLを変更できる。
2、SSI : HTMLに挿入可能なコマンド。
CGI、SSI の仕組みをマスターしよう

3、.htaccess : ディレクトリ単位でアクセス制限を行う。
.htaccess実践活用術


Webサーバー構築(Apache) - CentOSで自宅サーバー構築


httpd.confの変更点
1、ServerName : WebサーバのIP
2、Options : CGI,SSIの許可
3、AllowOverride : .htaccessの許可
4、AddHandler : CGIスクリプトに.plを追加

テスト
1、Webページ表示テスト
2、GCI確認
  ※ プログラムファイルなので、実行権限が必要
3、SSI確認
  ※ 基本的にHTMLファイルなので、実行権限必要無し
4、.htaccess確認
  ※ DirectoryIndexの変更において、.html .gciへの変更はできたが、
    .shtmlに変更すると、サーバにアクセスしたときにForbiddenになる。 
→ ばか。ファイル名が間違ってた。
5、PHP確認

NFCの利用イメージ

NFCは次世代近距離通信のデファクトとなるか - @IT
まず、携帯電話のカメラを使って写真を撮る。そして、携帯電話をPCに接続したUSB型モジュールにかざす。これだけで写真データがPCへと一瞬で転送される。玉木氏は、「例えば、デジタルカメラやプリンターにNFC対応モジュールが搭載されれば、メモリを差し替えたりケーブルをつないだりしなくても、かざすだけで印刷できるようになる」と利用イメージを語る。

2009年8月11日火曜日

DHCPとIPマスカレード

DHCPとIPマスカレードの設定を行う。
これで、

1、DHCP
  (1)DHCPインストール
  (2)windowsローカルエリア接続の設定
  (3)windowsファイアーウォールの設定(ローカルエリアは適用しない)

2、IPマスカレード

# iptables -A FORWARD -i eth1 -o ppp0 -s 192.168.0.0/24 -j ACCEPT
# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

ここまでの設定で、EeePCから、CUBEを通して外部のDNSサーバにpingを通すことができる様になった。しかし、まだブラウザでWebページを表示することができない。
システム/管理/セキュリティーレベルの設定・・・からfirewallとSELinuxを全て無効にしてやってみたが効果は無い。
帰ってきてからがんばろう。

がんばった。
DHCPでDNSの設定してないからだった。

Linuxルーター構築(rp-pppoe+iptables) - CentOSで自宅サーバー構築

Linuxにおけるインストール

インストールコマンド
1、rpm
システム上にある(ダウンロードした)パッケージをインストールする。
2、yum
外部のサーバ上のパッケージをrpmを使い、インストールする。
3、dpkg
システム上にある(ダウンロードした)パッケージをインストールする。
4、apt
外部のサーバ上のパッケージをdpkgを使い、インストールする。

1,2は主にRedHat系、3,4は主にDebian系で使われる



参照
Linuxにソフトウェアをインストールする際にやってしまいがちな失敗10選 - IT業界を生き抜く秘密10箇条 - ZDNet Japan

Linux初心者向けRPMコマンドの真髄

◇rpmを管理する◇初心者のためのLinuxサーバー構築講座☆お便利.com☆

ばかみたいな質問ですが apt-get yum wget コマンドはどう違うのですか? - Yahoo!知恵袋
apt も yum も、パッケージを管理するソフトですが、
apt は内部で dpkg を呼び出し、
yum は内部で rpm を呼び出すのが一般的です。

なので、apt は Debian系のLinux、
yum は RedHat系のLinuxで利用されることが多いです。


yumのコマンドについて
yumの概念を覚えよう。fedoracore4では標準でついてます。

理性と悟性の違いを調べていて、ふと思ったこと。

悟性 - Wikipedia
一方、カテゴリーは悟性の対象となるもののみに当てはまる。すなわち感性的認識の対象とならず、単に思惟のみが可能な理性概念には当てはまらない。このためカントは従来の哲学が扱ってきた神や存在についての命題を否定する。しかし人間理性には形而上学への素質があり、本来当てはめることが出来ない対象へも悟性概念を適用しようとする。これは哲学を推進する主要な動機であり人間の本性として否定する事が出来ないが、しかしあくまでも悟性の誤用であって、人間は正しい悟性の使用を知らなければならないとされる。


”知行合一”。知識に裏打ちされない行動も、行動に裏打ちされない知識も、本当の理解ではない。
”行動に裏打ちされない知識”。これが、まさに、悟性の誤用ではないか。”感性からでなく、理性からの悟性の使用”という意味で。

ビープ音を消す

LinuxコンソールのBEEP音を消す! (技術メモ)
とりあえず下記はRedHatEnterprise3.0での設定例だが、おそらくFedoraやVineやCentOSなどのRedHat系なら共通で対処できると思う。

vi /etc/inputrc

#set bell-style none

→コメントをはずす

今日の反省

今日の反省点
1、起きる時間
2、学校居る時間
3、寝る時間

1、起きる時間
  今日起きたのは10時半。昨日は何もなかったのに早く起きれなかった。
  朝遅く起きることは、仕事量の低下につながる。原因は、夜シビィライゼーションを
  していたから。やはり、遅くても夜11時には寝なければならない。

2、学校居る時間
  学校に居たのは、12時から20時までの、8時間。
  当初の予定では、15時には家に帰り、パソコン周辺の勉強をするつもりだった。
  学校滞在が長くなった原因は3つ。
  原因1、市岡資料を作る時間が以外に長かった。
  原因2、3年生のパワポを見る必要があった。
  原因3、シビィライゼーションをやっていた。
  1と2は仕方がない。自由を主張する前に義務を果たさなければならないのだから。
  問題は原因3。別に、ゲームをやったらダメと言っているわけではない。
  ゲームをやるならやるで、自分の予定に組み込んでやるべきだと言っているだけ。
  そうすれば、9時近くまで学校に居ることにはならなかったはず。

3、寝る時間
  今から予想される今日の就寝時間は、1時半。昨日より遅くなってしまいそう。
  原因は明らかに、「ムダズモなき改革」を買って、読んでいたことにある。
  買うのはいいけど、買った時点で、そのあとの予定に思いを抱くべきだった。
  そうすれば、まんがを読んだとしても、夜11時には寝れたはず。

書いてみると、反省点がいつも同じ様な気がする。
書く反省点が同じにならない様に、反省点を書いた次の日くらいは、
その反省を活かさなければ。

2009年8月2日日曜日

Linux,今後の目標

CentOSで自宅サーバー構築

Linuxキーボードの配置変更

CUIではできなかったが、GUIではできた。

1、GUIによる設定
システム/設定/キーボード/レイアウトオプション/Ctrl key option
の設定を”Swap Ctrl and Caps Lock”にする。


2、CUIによる設定
処理系コレクション:Linux:キーボード配置を変更しよう


CentOS 4 : CapsLock と Control キーを入れ替える。 | ぶっちろぐ
でコンソール叩く事になったので安物の小さいキーボードへ初めて触れた。
CapsLock 押すと一発で大文字入力になってしまう上に Control キーがちっこい orz
そんなもんでいつも通りのキーマップにすべくファイル書き換えで対応した。

まず以下のオペしてみる。

2009年7月28日火曜日

今日の進捗3

また、寝坊した。また、12時近く寝てしまった。4時ごろに一度起きていることから、その時点で睡眠時間は十分に確保されていると思われる。そのとき十分な睡眠をとっていたにも関わらずまだ眠かったのは、最近の起床時間が10時ごろであったことと関係していると思われる。同じ時間に起きようとするシステムが働いているらしい。これを味方に付けることができれb

今日の反省

寝坊した。昨日は早起きするために夜10時に寝たのに、今日起きたのは朝10時。12時間近く寝てしまった。おまけに寝起きは体がだるく、ベッドから起き上がる気がしなかった。昨日、24時間近く起きていたのがあだとなったらしい。体へのダメージは隠せない。今日は、それほどダメージは無いはずだから、明日は朝4時に起きれるだろう。

ゼミ中に先生が言っていたように、わかりやすく説明する力は必要だ。来年から会社に入り、新しい概念を取り入れようとしたとき、それを取り入れるのは自分自身になる。つまり、新しい製品やサービスなどを理解し、その利点が良くわかるように説明する場面が少なからず出てくる。お客さんに対してや、会社の仲間に対して。

2009年7月26日日曜日

明日のための今日

僕は今、昨日の12時近くから起きている。生活リズムを正そうと思い起きつづけていたのだ。
睡眠時間を21時から3時に調整しようとたくらんでいる。そうすることで朝の時間をもっと有意義に使えると思ったからだ。3時に起き、4時に学校に行き、8時にはぺアーレ仙台で泳ぐ。11時に学校に帰り、15時まで研究を進める。15時からは、研究室のホームページやネットワーク環境の経験値を積むに当てる。こうすることで、来年J-Paymentに入ったときに即戦力かつ、差別化された人材になろうという目論見である。

1時から4時くらいまで、昨日借りてきた「ベンジャミンバトン」という映画を見ていた。老人として生まれ、年を経るにつれ若返っていく人の物語。

渡辺君に対する態度が少し素っ気無かったかな。ライフハッカーとして、融通無碍な解決法を導き出すためには、心のゆとりが必要不可欠。さらに、人を笑わせることも融通無碍な解決法や心のゆとりに通じている。

自分で決めた“21時に寝る”という目標を絶対達成しなければならない。1つ達成するごとに、“自分で決めたことを守る”という筋肉が強くなる。それを繰り返していけば、自分で道を選ぶことができる。少なくとも、自分の怠惰で自分の目標が達成できなくなることは無い。

iptablesの設定

Linux/Info/USBメモリ対応状況 - RutakeWiki オープンソース中心の技術情報
デバイスの認識の確認 †

dmeg もしくは /var/log/messageで確認する

Linuxで作るファイアウォール[NAT設定編](1/2)

【Vine Linuxで自宅サーバー】ファイヤーウォールの設定(iptables)

iptables設定シェルスクリプト@CentOS5の解析メモ #3 - blog@longkey1.net

Insider's Computer Dictionary [NetBIOS] - @IT

@IT:ステートフルパケットフィルタを使ったサービスの公開(2/6)


ログの取り方
ファイアウォールの設定
ローカル端末内のどこかにウィルスに感染しているPCがあると、そこから延々とウィルスを発生し続けてしまいます。すると、そのネットワークのルーターが固定IPならばそのIPが、また、動的IPならば最悪そのプロバイダ全体がブラックリストに登録されてしまいます。またはプロバイダからSMTPポートを閉ざされてしまいます。

最近のプロバイダでは、25番ポートは完全に閉じていて、587番ポートからSMTP-AUTH付きでないと送信できない所が多いです。それは、ユーザーのPCがウィルスに感染していてウィルスを大量にバラまいている場合に、プロバイダとしては顧客の全PCのウィルスチェックはできませんから、ブラックリスト入りを防ぐためには25番ポートを閉ざすしかないからです。

ここでは、固定IPを使っていてゲーウェイサーバーを運営する立場で考えて見ましょう。プロバイダからは25番ポートは許可されているとします。しかし、ウィルスを送信し続ければ、やがて25番ポートを封鎖されてしまうでしょう。そこで、25番ポートへの送信をログに記録させます。
IPTABLES -A FORWARD -p tcp --src 192.168.0.0/24 --dport smtp -j LOG --log-prefix "[SMTP] : " --log-level 3

これでログレベル3(ワーニング)に、25番ポートへの送信パケットのログを残すようにしました。さらに、シスログに、ログレベル3の出力先のファイル名を指定しておきます。

vi /etc/syslog.conf
kern.warning /var/log/iptables

/etc/rc.d/init.d/syslogd restart

これで、25番ポートへの送信の記録が/var/log/iptablesに記録されます。ただし、このままではログが膨大になってしまいますので、/etc/logrotate.d/syslogファイルに、ローテーションの指定を追加します。

また、記録するだけでは何の役にも立ちませんので、頻繁にcatやtail -f コマンドでこのログを監視し、SPAMやウィルスをバラまいている端末を発見したら、ただちにその端末の使用を中止させます。