主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 google friend connect を使ってください。

>> 記事の追加

CentOS 5 の totem で WMV などを再生する

totem は gnome 標準の動画再生ソフトで、 CentOS 5 にも標準でインストールされてます。
これ実は backend で gstreamer か xine を使用して再生するようになってるんだけど、
標準の gstreamer のプラグインは WMV とか AVI, FLV とか全然再生できない。
これを xine 向けの totem でパッケージングしなおして、インストールして動画を再生できるようにしてみた。


もっと読む

CentOS 5 で RealPlayer をインストールするには

リアルプレイヤーを CentOS5 にインストールするには、 compat-libstdc++33 を入れる必要があるらしい。 libstdc++ のバージョンが 6 でリアルプレイヤーは 5 を要求するから。

# yum install compat-libstdc++*

次に以下のサイトでインストール用のバイナリをダウンロードしてインストールする。
RealPlayer for Linux

# chmod 755 ./RealPlayer10GOLD.bin
# ./RealPlayer10GOLD.bin

PostgreSQL でシーケンスキーを操作する

新たにレコード INSERT 時に、シーケンスキーの次の値を特定の項目にセットする場合は以下のように行う。

INSERT INTO TBL_NAME VALUES (nextval ('seq_name'), 1, 2);

また、その結果インクリメントされたシーケンスキーの値を参照するには

SELECT currval ('seq_name');

さらに、シーケンスキーの値を設定しなおしたい場合は、

SELECT setval ('seq_name', 10);SELECT setval ('seq_name', 10, false);

となり、前者は nextval の結果が 11 となり、後者は 10 となる。

Access の Macro や Form を Grep する

たまに Access で作成したマクロやフォームから特定の文字列を検索したいときなどがあり困るんですが、
実は Access のマクロやフォームはテキストファイルに変換できます。
しかも簡単な VB スクリプトを書くだけ。
そのやり方のメモ。


もっと読む

Linux で FLV Movie を作成する

Youtube を始めとする動画共有サイトで多く使用されている FLV 形式のムービーを Linux で作成してみた。
あまりこの分野詳しくないんだけど、 AVI ってやつと WMV ってやつ MPEG って拡張子のやつは変換できた。
環境は以下のとおり。

CentOS 5

もっと読む

FireFox のマウスジェスチャーを無効にするには

Mouse Gesture は時に便利ですが、時にうざいです。特にホイールパッドを使ってると、用もないのにがんがん操作されてしまうこともあります。
で、 FireFox の設定を立ち上げて無効にしようとしたのですが、設定項目が見当たりません。ないのでしょうか?少なくても Linux 版の FireFox には見当たりません。
しかたがないので、 All-in-One Gestures というプラグインをインストールしてこれを無効化しました。
All-in-One Gestures
本当にこれしか方法がないかは分かりません。

SELinux の状態を変更する

今さらですが、コマンドラインで SELinux の有効無効を確認するには getenforce を用いる。
# getenforce
Disabled
状態を変更するには /etc/selinux/config の SELINUX パラメータを変更します。
# vi /etc/selinux/config
SELINUX=disabled
enforcing とかそういうのは次回ってことで。

Rhythmbox で mp3 を再生するには

CentOS 5 の Rhythmbox は標準で mp3 に対応してないし、追加パッケージも存在しないみたいです。
でも DAG にある gstreamer のプラグインを追加すれば再生できるようになります。
DAG を yum レポジトリに追加したら、 gstreamer-plugins-ugly をインストールします。

# yum install gstreamer-plugins-ugly
DAG を追加する方法は CentOS 5 で DAG(rpmforge) の yum repository 追加 を参照。

CentOS 5 で同時に複数のアプリからの音を再生する

CentOS 5 に限らず Linux では alsa を使ってサウンドを再生してるが、ほとんどの Linux で複数のアプリケーションからサウンドデバイスを共有して音を出すことがデフォルトでできない。
例えば rhthmebox で音楽を再生していると gaim のサウンドが再生されなかったりするわけ。
これを有効にするには alsa の dmix プラグインを有効にすればいい。


もっと読む

CentOS 5 で Wireless LAN を使う

CentOS 5 + Let's note (Intel® PRO/Wireless 2200BG) で無線 LAN の設定をした。設定をしたと言っても別に大したことはしてないんだけど。


もっと読む

Linux の時間を合わせるには

Linux の時間を合わせるには ntpdate コマンドを使って外部の ntp サーバと同期をとるのが簡単です。
ntp server の一覧は http://www.pool.ntp.org を参照。

# ntpdate jp.pool.ntp.org

cron で定期的に実行するようにしてもいいし、 ntp server を立てて同期するようにしてもいいかも。

IIS の ASP .NET のバージョンを切り替える

Visual Studio .Net/2003/2005 などがインストールされてるマシンで、 ASP .NET のプロジェクトを作成する際に、「ASP .NET Version 1.1 が実行されていません」みたいなメッセージが表示されて、作成できないことがある。
これは、 IIS を再インストールしたり、 .Net は 1.0 、 2003 は 1.1 、 2005 は 2.0 と、 Visual Studio のバージョン毎に動作する .NET のバージョンが違うことから起きたりする。
このエラーを解消するには、 IIS で動作させたい ASP .NET のバージョンにしてやればいい。実際には以下のコマンドを打つ。
1.1.4322 の場合。

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis.exe /i
ASP.NET (1.1.4322.0) のインストールを開始します。
ASP.NET (1.1.4322.0) のインストールが完了しました。

もしくは「管理ツール」の「インターネット インフォーメーション サービス」、「既定の Web サイト」のプロパティから、 ASP .NET タブを開いて変更することもできる。

.Net から MySQL へ接続するには

.Net から MySQL に接続するには MySQL AB がリリースしている MySQL Connector/Net を使用します。
MySQL® Connector/Net
MySQL はフリーでかなり優れているので、 .Net からの使用用途もかなり増えました。
とりあえず Visual Studio 2003 で C# ASP .NET から MySQL に接続しました。


もっと読む

CVS のコマンド一覧

CVS をコマンドで使用する際のリファレンスです。
もっと読む

borland C++ Builder String tips

Borland C++ Builder の文字列操作関連のチップスです。
もっと読む

awstats のインストール(with Geo-IP plugin)

以下のサイトから RPM をダウンロードしてインストール。
http://awstats.sourceforge.net/
設定ファイルは、 /etc/awstats/ に、 awstats 用の wwwroot は /usr/local/awstats/ に展開される。


もっと読む

Mailman で Reply-To ヘッダを ML 宛にするには

Mailman で ML 環境を構築した際に、 ML の全てのメールのヘッダに Reply-To で ML のアドレスを指定するには、 /usr/lib/mailman/Mailman/ ディレクトリにある Defaults.py の DEFAULT_REPLY_GOES_TO_LIST に 1 をセットすればよい。

# vi /usr/lib/mailman/Mailman/Defaults.py
# 0 - Reply-To: not munged
# 1 - Reply-To: set back to the list
# 2 - Reply-To: set to an explicit value (reply_to_address)
DEFAULT_REPLY_GOES_TO_LIST = 1

Redhat ES 4 に mrtg をインストール

Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。


もっと読む

Munin の Plugin を作成する

Munin のプラグインを作ると言っても、単純な文字列と数値を出力するスクリプトを作成するだけでとても簡単です。
スクリプトは bash だろうが perl だろうが、 C 言語でも別に構わないので、好きな言語で作れる。
とりあえず、マザーと CPU の温度を表示するプラグインを作ってみた。
インストールの仕方や基本設定はCentOS に Munin をインストールするMunin を Debian にインストールするMunin のグラフ(plugin)の種類を変えるを参考。


もっと読む

Coldfusion 7 から MySQL 5 に接続するには

Coldfusion 7 の管理画面からデータソースへいって、データソースの設定をしようとしても、 MySQL 5 用のドライバは標準では用意されてない。
でも MySQL からしっかりと配布されているのでそれを入手して設定すれば普通に使えます。
そのときのメモ。


もっと読む

Munin のグラフ(plugin)の種類を変える

Munin の設定ファイルやプラグインを変えて、必要なグラフだけを表示するようにしてみた。
基本的にはプラグインへのシンボリックリンクを削除したり作成するだけで、グラフの数は自由に変えられる。実際のやり方をメモっておく。
インストールの仕方や基本設定はCentOS に Munin をインストールするMunin を Debian にインストールするを参考。


もっと読む

bash でファイルを一行ずつ処理したい

Linux で bash を使ってあるテキストファイルの内容を一行ずつループして処理したい場合、 read を使って以下のようなスクリプトが便利。
echo filename | while read i
do
echo $i
done

SQLServer で CSV のインポート/エクスポート

SQLServer で CSV 形式のデータファイルを import/export するには、 bcp コマンドを使用すると便利です。フォーマットファイルというのを指定することで、型の定義も可能で非常に便利。
またインポートは、 osql で BULK INSERT クエリを発行することでも対応できます。


もっと読む

SQLServer で バックアップ/リストア

SQLServer でデータを backup/restore するには osql で BACKUP/RESTORE クエリを発行することで行えます。
作成するダンプファイルにパスワードをつけることも可能です。


もっと読む

SQLServer の collation (照合順序)の設定

SQLServer で文字列検索を実行した際にアルファベットの大文字小文字やひらがなカタカナを区別しなかったりした時には、照合順序(Collation)が正しくない場合がある。
一通りの照合順序の設定方法と意味などをまとめておく。


もっと読む

ASP .NET でファイルを出力する

ASP .NET でイメージファイルや CSV ファイルを出力する aspx を作成するには、出力ヘッダを書き換えてファイルを出力してやる。
this.Response.AddHeader("Content-Disposition","attachment;filename=CSVData.csv");
this.Response.AddHeader("media-type","application/octet-stream");
this.Response.WriteFile(csvFilelPath);
this.Response.End();

C# .NET で schema.ini を使用した CSV 処理

C# .NET で CSV をOLE で読み込んで、データベース処理をするやり方のメモ。 csv ファイルの置き場所は C:\text.csv 。
string strDir = "C:\\";
string strFile = "test.csv";
OleDbConnection myConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
  + strDir + ";Extended Properties='TEXT;HDR=NO'");
myConn.Open ();
OleDbDataAdapter sqlda = new OleDbDataAdapter ("SELECT * FROM " + strFile, myConn);
DataTable dtbl = new DataTable ();
sqlda.Fill (dtbl);
dgrdCsv.DataSource = dtbl;
myConn.Close ();
ちなみに、読み込む CSV のフィールドタイプを指定した場合は、 schema.ini を用意して CSV と同じフォルダにおいておく。
[filename.csv]
ColNameHeader=True
Format=CSVDelimited
Col1=user_id Integer
Col2=user_name Char Width 32
Col3=notes LongChar

といった感じ。はじめの一行目が CSV ファイル名をセクションで指定して、二行目がヘッダの有無、三行目はデータファイルの書式(ここでは CSV )を指定してます。それ以降が実際のカラムの指定。

ASP .NET でボタンクリック時に JavaScript を実行

ASP .NET でボタンが押下されたり、サブミットされた際に、サーバにデータを送る前に confirm を実行したり、特定のチェックや処理をクライアント上で行いたい場合、 RegisterOnSubmitStatement などを使うと便利です。
public void Page_Load(Object sender, EventArgs e)
{
    RegisterOnSubmitStatement ("submit", "return window.confirm ('削除します。よろしいですか?');");
もしくは、特定のボタンのみに登録したい場合は以下も有効。
public void Page_Load(Object sender, EventArgs e) {
    Button1.Attributes["onclick"] = "return window.confirm ('削除します。よろしいですか?');";

ASP .NET の VIEWSTATE を暗号化する

ASP .NET はコントロールデータが全て一つの BASE64 エンコードされた __VIEWSTATE っていうフォーム変数に格納されてるんだけど、それ用のソフト等を使えば内容が閲覧できるし、書き換えることもできる。
これを暗号化して、改ざんされた際にはエラー処理するようにするようにするには、 web.config で Page.EnableViewStateMac を有効にすればいい。

<configuration>
<system.web>
<machineKey validation="3DES" />
<pages enableViewStateMac="true" />
</system.web>
</configuration>
Mac stands for "message authentication check".

Style Sheet(CSS) で Scroll bar

HTML で、限られたスペースに、可能な限りのドキュメントを入力してスクロールバーで制御したい場合があります。 iframe や textarea でも行えますが、スタイルシートで overflow を使用してスクロールバーを出すこともできます。
例えば幅 400x40 のスクロールバーつきエリアを作成するには以下のようにします。

<div style="overflow: auto; width: 400px; height: 40px">
    ここに入力したいドキュメントを書く。
</div>

実際どのようになるかというと、このように入力したドキュメントの長さに応じて、必要なスクロールバーを自動的に表示してくれます。当然 textarea とは違いタグも書けまし、 iframe みたいに別の HTML を作成する必要もありません。

postfix と saslauthd で SMTP-AUTH

CentOS-4.4 で Postfix と saslauthd で SMTP 認証環境を構築したときのメモ。 とりあえずは SPAM 防止ということで、全ユーザに共通のパスワードを発行してる。それぞれのユーザに IMAP と UNIX 、 SMTP-AUTH 共通の 独自パスワードを発行したいんだけど、やり方は調査してない。
もっと読む

CentOS に Munin をインストールする

MRTG みたいなツールで温度とかも簡単にグラフ化できるって専らのうわさだったので入れてみた。
ダウンロードはここ。
http://munin.projects.linpro.no/
Download リンクから munin と munin-node の最新版 RPM パッケージを入手。
CentOS には存在しない (Redhat にも存在しない) パッケージを要求されたりして結構面倒でした。


もっと読む

Linux である文字を含む行を削除したい

多分一番簡単にファイル内の行を削除するのは sed コマンドです。
その他にも grep コマンドを使用したりしても十分行えます。
sed で abc を含む行を全削除するには以下のコマンドを実行します。

$ sed '/abc/d' input.file
パイプで渡すこともできます。
$ cat input.file | sed '/abc/d'
grep コマンドで削除するには以下のコマンドです。正確には削除してるわけで無い気がしますが。
$ grep -v abc input.file
grep の -v オプションは文字列を”含まない”行を出力するためのオプションです。

Linux で改行コードを変換する

Windows で作成したテキストファイルの改行コードが CRLF で、この内の CR の部分を除去して、 Unix にあわせたい場合に便利なコマンド。
置換などに用いる tr コマンドを使う。

$ tr -d "\r" < input.file > output.file
ただしこの tr コマンドの -d オプションは注意が必要で、指定した「文字列」を削除するんじゃなくて、指定した「charactors」を全て削除することです。なので、
$ tr -d "abc" < input.file > output.file
とやると、全ての a と b と c が削除されることになります。文字列を削除したりしたい場合は sed コマンドがおすすめです。

Windows のフォルダを仮想的にドライブに見立てる

subst コマンドを使うと、 Windows 上のフォルダを仮想的にドライブにすることができる。
> subst P: C:\Util
解除するときは -D オプションをつける。
> subst P: /D P:

Apache で特定のサイトからのアクセスログを残さない

Apache でローカルアドレスや特定のサイトからのアクセスをログに残さないようにするには、環境変数を使ってやると便利。
まずは /etc/httpd/conf/httpd.conf に特定のアドレスからのアクセスに環境変数を設定するように以下のように追記。
例えば 192.168.0.0/24 からのアクセスの場合。

SetEnvIf Remote_addr 192.168.0. nolog
で、 CustomLog 設定を以下のように変更すれば終了。
CustomLog logs/access_log combined env=!nolog

be rooted

ルート権限が奪取された、は英語で it was rooted.

JavaScript で HTML Control の表示/非表示を切り替える

ものすごいベーシックですが、なぜかよく忘れるのでメモっておきます。 StyleSheet の display を使用して行うやり方です。 例えば以下のような div コントロールを対象として切り替えたい場合を取り上げます。
<div id = "tarishou">test</div>
JavaScript は以下のようになります。
var ctl = document.getElementById ("taishou");
if (ctl.style.display == "none")
    ctl.style.display = "inline";
else
    ctl.style.display = "none";

CentOS に PostgreSQL をインストールする

Yum のレポジトリに centosplus を追加すれば、以下のコマンドでインストールできます。
# yum install postgresql-server
レポジトリへの追加方法は、 CentOS に PHP5 をインストールする を参考。
もっと読む

MySQL 設定やコマンド

昔は全部コマンドラインでやっていたんだけど、最近はもうずっと phpmyadmin を使っちゃってるな。 万が一に備える意味と、初心に戻るという意味で、一応まとめておく。
もっと読む

Windows XP でファイルシステムのチェックを行う

Windows XP でファイルシステム(パーティション)のチェックを行うには CHKDSK コマンドを使います。 Windows が起動しなくなったときにも Windows XP の CD を入れて回復コンソールから実行することでパーティションが修復されて起動するようになるかもしれません。
> chkdsk C:

Coldfusion でファイルを出力する

Coldfusion でサーバ上の画像などのファイルを読み込んで出力するには、 cfcontent を使用します。
<cfcontent type = "image/gif" file = "path/to/file" />

Apache2 で Band Width を制御したい

Apache2 で IP やユーザごとに同時接続数や帯域を制限するために、 mod_cband っていうモジュールを使ってみた。
かなり細かい設定もできるし、ステータス画面は非常にシンプルだけど分かりやすいのでおすすめです。
環境は CentOS-4.4 でパッケージは無さそう。後で、ライセンスだけ確認して RPM 作るかも。
ダウンロードは以下からできる。
http://cband.linux.pl/


もっと読む

連想配列 Named array

連想配列を英語で言うと Named array.

Coldfusion で動的な Form 変数を処理する

Coldfusion で Form 内に Dynamic variable name を使った場合、その入力内容の取得したい場合 Evaluate 関数を使う。
例えば abc_ という固定 name に通し番号の 1, 2, 3 などを付加した場合を考える。

for (i = 1; i LTE < 5; i = i + 1)
{
abc[i] = Evaluate ("form.abc_" & i);
}

Coldfusion で Form 構造体に繰り返し要素を持たせる

Coldfusion で、例えば form タグ内に同じ name 属性を持った要素を複数含んでいた場合、 Form 構造体にはその名前のリストが作成されます。
言葉で伝わりづらいので具体的に以下のコードを見てください。

<form action = "./" method = "post">
<input type = "checkbox" name = "sameopt" value = "1" />
<input type = "checkbox" name = "sameopt" value = "2" />
<input type = "submit"/>
</form>
name 属性が sameopt チェックボックスが二つあります。このフォームでチェックボックスの両方にチェックをし submit すると、 Form.sameopt は以下のようにセットされます。
1,2
,区切りのリスト構造です。 PHP なら、
<form action = "./" method = "post">
<input type = "checkbox[]" name = "sameopt" value = "1" />
<input type = "checkbox[]" name = "sameopt" value = "2" />
<input type = "submit"/>
</form>
$_POST["sameopt"][0] と [1] とい感じで配列になる感じです。で、このリストを一つずつ処理するには、 list 関数を使ったり、 cfloop の list 指定で処理したりするといいでしょう。具体的には、
<cfloop index="i" list="#Form.sameopt#">
という感じです。

perl モジュールで RPM の依存関係を解決したい


cpan2rpm を使うと、 perl モジュールを RPM としてインストールできます。
以下からパッケージをダウンロードしてインストールします。
http://perl.arix.com/cpan2rpm/
↑がリンク切れてたら、↓から RedHat 4 用のも利用可。
http://atrpms.net/name/cpan2rpm/

rpm -ivh cpan2rpm-2.027-1.noarch.rpm

もっと読む

Linux で拡張子を一括変換する

for と basename などを利用して行うと簡単にできる。例えば .htm を .html にするには以下のようにする。
$ for file in *.htm; do mv $file `basename $file htm`html; done

PostgreSQL で日付計算

PostgreSQL で日付の足し算や引き算をするには 1 weeks とか -2 years とか書けて便利。
SELECT current_date() + '1 weeks' FROM table;
みたいな感じです。

PostgreSQL のシーケンス処理

serial 型のフィールドで、開始シーケンス番号をセットするには setval を使う。
SELECT setval ('seq_num', 100);
次のシーケンス番号をつけて挿入するには nextval 。
INSERT INTO table VALUES (nextval ('seq_num'), 'value');
その結果のシーケンス番号を取得するには、セッションを切らない内に currval 。
SELECT currval ('seq_num');

Smarty で年月日 drop down を簡単に作る

Smarty で年月日を表示するドロップダウンを作るには html_select_date というカスタム関数が便利。
これを使うといちいち select だ option だ、何日前を表示だ、とか考えなくてする。実際のコードはこんな感じ。

{html_select_date year_empty="-" month_empty="-" \
day_empty="-" prefix="start" start_year="-4" time=$start_time}

こうすると、ドロップダウンのトップ項目に - を含んだ 4 年前からのドロップダウンが生成され $start_time がデフォルト値になる。
prefix は name に start を付加させて startYear, startMonth とかなるような感じ。詳細は Smarty Documentation参照。

PHP を CGI として実行させ suExec

通常 PHP は Apache にモジュールとして取り込まれている。
これを cgi として動かしたいときには apache の設定ファイルに変更を加える必要がある。
PHP を cgi として動作させると、 suExec も有効にさせることができる。
ただしデメリットもあり、動作が若干遅くなる。
環境は以下のとおり。
CentOS-4.4
PHP-5.1.6


もっと読む

borland C++ Builder Form Window tips

Borland C++ Builder のフォーム、ウインドウ操作関連のチップスです。


もっと読む

ssh forwarding をコマンドラインで行うには

ssh フォワーディングを linux のコマンドラインで行うには、以下のようにする。
$ ssh host -l username -L localport:remotehost:remotehostport

java でデバグ情報を出力しないようにコンパイルする

javac コマンドでデバグ情報を非表示にするには、以下のようにコンパイルオプションを指定する。
javac -g:none *.java

AWStats で Daily や hourly にも対応する

AWStats は標準設定では月別 (Monthly) の解析しか行わないが、実は時間別や日別にも対応している。
実装は非常に簡単で、定期的に行っている更新スクリプトに -DatabaseBreak を付け加えるだけでよい。すると月別データベースとは別に時間別や日別のデータベースも作成される。


もっと読む

Coldfusion でタグをエスケープするには

HTMLEditFormat, HTMLCodeFormat 関数を使用します。
#HTMLCodeFormat (form.inputvalue)#
#HTMLEditFormat (form.inputvalue)#

Debian + Apache2 で virtual domain

Debian の Apache2 でバーチャルドメインを行うには、 /etc/apache2/sites-available/ ディレクトリにそれようの設定ファイルを作成し、 /etc/apache2/sites-enabled/ にシンボリックリンクを作る。


もっと読む

Munin を Debian にインストールする

先日 Redhat 、 CentOS と入れたんだけど、 Debian にも入れることになったので、そのメモ。 Debian はレポジトリにパッケージが取り込まれてるので、以下のコマンドを実行するだけ。
# apt-get install munin munin-node
設定はCentOS に Munin をインストールする参照。

Coldfusion + SQLServer で最後に追加された ID を取得するには

Coldfusion と SQLServer の環境で、最後に INSERT した際に自動的に発番される ID (シーケンス、オートナンバー)を取得するには @@Identity をうまいこと使ってやります。


もっと読む

Web サイトのサムネイルを Linux で生成

仮想 X サーバと firefox などのブラウザ、 ImageMagic を使用して実現します。
環境は以下のとおりです。
CentOS-4.4
xorg-x11-Xvfb
firefox
ImageMagick
全部 yum でインストールできたと思います。


もっと読む

Windows で特定のユーザ権限でプログラムを実行

runas コマンドを使用することで、 administrator を含む特定のユーザ権限でプログラムを実行できます。
コマンドプロンプトを開いて実行します。

C:\>runas /user:administrator cmd

FAT を NTFS に変換する

convert コマンドで行います。
C:\>convert C: /fs:ntfs

Linux で特定のユーザに su 許可を与える

pam 認証を使用して、指定したユーザ以外は su できないようにします。 以下の動作を行ってください。 /etc/pam.d/ の su ファイルを修正します。


もっと読む

Linux のタイムアウト時間を設定するには

Linux のコンソールのタイムアウト時間を設定するには /etc/ の profile をに TMOUT 環境変数をセットすることで行います。
/etc/profile はログインした全てのユーザに適用される設定ファイルです。


もっと読む

Linux のパスワードの長さを制限するには

Linux におけるパスワードの制限は /etc/ ディレクトリの login.defs ファイルの PASS_MIN_LEN の値を変更することで行います。
# vi /etc/login.defs
PASS_MIN_LEN    5

borland C++ Builder Directory tips

Borland C++ Builder のディレクトリ操作関連のチップスです。
もっと読む

sh でパスワードなどを入力させる時に非表示にする

sh スクリプト(sh に限らずコマンドライン全般)を作成してる際に、
ユーザにパスワードなどを入力させる事がよくあります。
そんな場合、入力されたパスワードはコンソール上には表示させないようにする必要があります。
そんな動作を実装するためには stty を使用します。


もっと読む

Java で外部コマンド実行

Runtime と Process 使って実行します。 InputStream から標準出力を読み込みます。
String command[3] = "ls", "-l", "-a";
Runtime rt = Runtime.getRuntime ();
Process pr = rt.exec (command);
InputStream is = pr.getInputStream ();

Java のオブジェクトコピーについて

Java にはシャローコピーとディープコピーがあります。
前者がポインタの書き換えで後者が実体の書き換えです。
C が分かってると分かりやすいのです。


もっと読む

PostgreSQL の Isolation Level

DBMS には隔離レベルと言うのがあって、 PostgreSQL の場合少し特殊みたいです。
デフォルトでは Read Committed なんだけど、 Transaction 中の Update 後に、他の Transaction による SELECT は Commit を待たずに実行できるようだ。


もっと読む

grep で / を条件にそのまま含めたい

grep は基本的に s/regex/string/ みたいな文法で '/' をそのまま扱いたいときは \/ と書かなければだめ。
でもこれを s@regex@string@ みたいな書き方をすることで '/' をそのまま扱える。

コマンドラインで WebDAV に接続するには

cadaver というツールが使えます。
以下のようにして Web サーバに接続し、様々なコマンドが使用できます。

$ cadaver http://example.com/webdavdir/

PostgreSQL で dump restore

PostgreSQL で dump や restore を行うには、 pg_dump を使う。
$ pg_dump -u dbname $gt; dbname.out
$ createdb dbname
$ psql -e -f dbname.out dbname

apache で他のドメインにリダイレクトさせる

ドメイン名を変更した際に、古いドメインにアクセスしてきたユーザを全て新しいドメインのページにリダイレクトしたい場合があります。
そんなときは、 apache の RedirectMatch を使います。


もっと読む

SOW

statement of work のことで、仕事の内容や納入時期、役割、賃金などが示された文書です。

Production Server

本番サーバのことです。 ちなみに、本番環境をリリースすることはを release とは言いません。 go into production とか launch と言う方が多いです。

Staging Server

テストサーバのことです。

How to Create LVM

LVM を手動で作成したときのメモ。手順としては、
  • LVM 用のパーティションの作成。
  • 物理ボリュームの作成。
  • ボリュームグループの作成。
  • 論理ボリュームの作成。
  • ext3 の作成。
  • マウント。
結構長い。
もっと読む

OVAL を試してみた

OVAL っていうのは、 Open Vulnerability and Assessment Language の略で、脆弱性を検査するためのオープンな言語です。

http://oval.mitre.org/

その昔は SQL チックな記述言語だった気がするんですが、久々に見てみたら流行の XML になってた。


もっと読む

ext2 を ext3 に変換するには

tune2fs コマンドを使います。
# init 1
# tune2fs -j /dev/hda1
変更後は /etc/fstab の変更も忘れずに。

tDiary に namazu 導入

tDiary に namazu 検索を入れるには、 namazu をインストールして、
必要な tDiary のプラグインの導入、それから cron などで定期的に namazu の index を構築してやる必要がある。


もっと読む

CentOS に PHP5 をインストールする

CentOS には RedHat クローンと呼ばれるほど、 RedHat に非常にそっくりな Linux OS 。
というか、 RedHat ES をベースに構築されてるらしい。
従って、 php なども古いバージョンが採用されたままだ。
しかし CentOS にはいくつかの Yum レポジトリが用意されており、その中の centosplus というレポジトリを使用すれば、 yum コマンド一発で php5 がインストールできる。

具体的には以下の /etc/yum.repos.d/ にある、 CentOS-Base.repo を書き換える。
もっと読む

lookbehind assersion という正規表現

ある文字列に続かないあるパターンを正規表現で検索したい。 そんなときは lookbehind assersion (後読み)が使える。 例えば hoge で終了しない改行コードとマッチさせたい場合以下のようになる。
/(?<!hoge)\r\n/

もっと読む

perl で asynchronous messaging

POE::Component::MessageQueue をいじった。
もっと読む

Linux の timezone を変更する

Linux でタイムゾーンを変更するには、 /etc/localtime のシンボリックリンク先を変更する。ディストリビューションによってはファイルをコピーする。
リンク先は、 /usr/share/zoneinfo の中から好きな場所のファイル名を探す。
もっと読む

suEXEC の現在の設定を見る

suEXEC のコンパイル時の設定を見たい場合は、以下のコマンドを実行することで見れる。
$ /usr/sbin/suexec -V

もっと読む

off-by-one buffer overflow

バッファオーバーフローの仕組み。
バッファを1バイトだけオーバーフローさせて制御を奪う方法。
ebp の下にリターンアドレスが格納されているものとしてプログラムは動いてるらしくて、 oldebp の1バイトを書き換えて、特定のメモリを指させ、その指し示したアドレスにリターンアドレスを埋め込んどく。
あとは、そのリターンアドレスの先にコードを埋め込んどけば制御が奪えるということだ。
もっと読む

shutdown shellcode

シャットダウン用のシェルコードです。
もっと読む

kick notepad shellcode

Notepad 起動用のシェルコードです。
もっと読む

advanced windows shellcode

Windows Exploit (攻撃)用のシェルコードです。
もっと読む

msjava 互換 Applet をコンパイルする

msjava は java 1.1 までのみ対応なので、 1.1 向けにコンパイルする必要あり。
$ javac -target 1.1 hoge.java

PostgreSQL でデータベース一覧を見る

pgsql でログインして以下のクエリを発行する。
dbname=# SELECT * FROM pg_database;

PostgreSQL でテーブル一覧を見る

pgsql でログインして以下のコマンドを打つ。
dbname=# \d
ページ: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank1, rank2, rank3, rank4, rank6, rank7, rank8, rank9, rank10, rank11
todo メモ
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5