■メモ






CGIでファイルに書き込み


CGIでファイルに書き込む際には、予めファイルを作成し、
chmod a+rw filename
としておく必要がある。ファイルが存在しないと、apacheの方でエラーになる。エラーメッセージは
print() on closed filehandle OUT at  ***.cgi
である。


delegateで語尾変換

多機能プロキシソフトdelegateでテキストの変換を行なう実検。インストールは他のサイトを参照のこと。

やりたいことはプロキシサーバー経由でネットに接続し、結果をもらってくる際に変換の処理をおこなう。もらってくる際というのはFTOCLというキーワードで指定する。起動スクリプトはこんな感じ(dele.sh)。

#!/bin/sh

if [ -f /usr/sbin/delegated ]; then

/usr/sbin/delegated -v -P8080 SERVER='http'
FTOCL=convert.cfi
RELAY=delegate
OWNER=delegate
PERMIT=*:*:*
ACTDIR=/var/spool/delegate
VARDIR=/var/spool/delegate
fi

ここで、フィルタの内容はconvert.cfiに書かれている。その内容はこんな感じ(convet.cfi)。

#!cfi
Content-Type: text/html
Filter: ./trans.pl
Output/Content-Type: text/html


この中のさらに変換処理を行なうスクリプトがtrans.pl。この中味はこんな感じ(trans.pl)。なお、perlは5.8以上を使用。

#!/usr/bin/perl -w

use strict;
use utf8;
binmode(STDIN,":encoding(euc-jp)");
binmode(STDOUT,":encoding(euc-jp)");

undef $/;

$_ = <>;

s/です/ですぅ/g;
s/しました/したですぅ/g;
s/あります/あるんですぅ/g;
s/ありません。/ないんですぅ。/g;
s/する。/するですぅ。/g;
s/だ。/ですぅ。/g;
s/いない。/いないんですぅ。/g;
s/した。/したんですぅ。/g;
s/た。/たんですぅ。/g;
s/という。/らしいですぅ。/g;
s/る。/るんですぅ。/g;

print;


これらを適当な場所において実行する。

クライアントからのアクセスは
http://*****.**.**:8080/-_-http://www.headlines.yahoo.co.jp/******
これで、Yahooニュースの語尾が「ですぅ」に!!
(文字コードの関係でYahooニュースのみ対応)

Javaで変換を行いたい場合には、LinuxのJavaはEUC-JPにしか対応していないため、一度EUCに変換したほうがよい。手っ取り早いのはPerlに渡し、内部でEUCに変換したのちsystem関数と引数で渡す方法だと思う。




GentooでJavaで日本語で


Gentooだとフォントの設定をしないと日本語がでない。ここで、注意。
  ※JavaのLinux版のエンコーディングはEUC-JP
これは、システムのロケールに関係ない。したがって、ロケールがUTF-8だと文字化けする。そこで、やることは以下の2つ。
1.$JAVA_HOME/jre/libの中のfont.properties.jaの中の
   -watanabe-minchoを-misc-Kochi Minchoに、
   -wadalab-gothicを-misc-Kochi Gothicに置き換えて、
   JAVA_FONTの設定を行う
2.ロケールをEUC-JPにする。export LANG=ja_JP.eucJP

これで日本語表示ができるはず。(参考サイト)。なお、プログラム自体のエンコードもEUC-JPで行う必要がある。



二次元配列を渡す

 よく忘れるので書いておく。これは4列のものを渡す。
void function(int array2D[][4])


CentOSでglut


CentOSのyumにはfreeglutというパッケージがあるのでこれをインストールする。

yum install freeglut freeglut-devel

これで、/usr/include/GLの中にヘッダファイルがインストールされる(はず)。


行数を表示する


各行の行数を表示するにはcatコマンドにオプションをつけて実行する。

cat -n hoge.txt

へぇ〜。へぇ〜。へぇ〜。

emacsでコード変換


ctrl-x return f

暗号かよw

ちなみに、vine linuxの人はmule-UCSというパッケージをインストール
するとemacsがutf8対応になって幸せになれるかも。


受信パケットが0


XPを使っていたらこんな症状が。しらべてみたら、ウイルス対策ソフトのウイルスセキュリティが問題だった様子。アンインストールで解決。


macでパラメータリセット

リンゴ+option+R+Pを押しながら電源を入れる。

coutで桁をそろえる

coutでプリントする前に、cout.width(N)とする。Nは桁数。
for(int i=0; i<(int)list.size(); i++){
  cout.width(4);
  cout << list[i]  << endl;
}

のように毎回行わなくてはいけないのが、ちょっと面倒。
参考サイト: 猫でもわかるプログラミング




string->intの変換

C++で文字列からintに変換するにはistringstreamというものを使う。

#include<sstream>
#include<string>

で、

int num = 0;
string str = "123";

istringstream iss( str );
iss >> num;

とする。



pptで別のプログラムを実行する際の警告をしない

ツールメニューのオプション内のセキュリティタブのマクロセキュリティでセキュリティレベルを低に設定する。



emacsで検索

Ctrl+s

サーチのsだろうけど、セーブと間違いやすい。



iTermで日本語表示

まず、configureのwindowタブで、non-asciiのフォントをMS Pゴシックあたりにする。
次に、sessionタブのencodingをjapanese(EUC-JP)にする。
最後に、出力をnkf -e でEUCに変換する。
これで、一応日本語が読める。



検索結果をCSVに

postgresqlで結果をCSVに保存するにはこうするらしい。
psql -A -t -F , -c "クエリ" DB | nkf --sjis --windows > hogehoge.csv


URLのリストをHTMLに

URLのリストからHTMLに変換するのをawkでやる。awkで行番号はNRで参照するらしい。
cat list.txt |  awk '{printf "<a href=\"" $1 "\">" NR "</a>" "\n"}'
とすると、
 http://www.yahoo.co.jp/
 http://www.google.co.jp/
から
 <a href="http://www.yahoo.co.jp/">1</a>
 <a href="http://www.google.co.jp/">2</a>
となる。

タグ:

memo
+ タグ編集
  • タグ:
  • memo

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2006年12月02日 00:28