tomimemo
http://w.atwiki.jp/tmogmni/
tomimemo
ja
2006-02-08T10:51:15+09:00
1139363475
-
いろいろ
https://w.atwiki.jp/tmogmni/pages/31.html
#contents
----
*windows上でwgetを使う
http://members.at.infoseek.co.jp/futora/wget153/wget153_win32.lzh をダウンロード
解凍してできたディレクトリをwgetにリネームして適当に配置
(例 D:/tool/wgetとか)
コマンドプロンプト使って取得してみる。取得できた。
> cd /d d:\
> cd D:\tool\wget
> WGET.EXE http://www.google.co.jp/
--10:31:13-- http://www.google.co.jp:80/
=> `index.html'
Connecting to www.google.co.jp:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
0K -> ..
10:31:13 (2.65 MB/s) - `index.html' saved [2781]
オプションの指定について
-ユーザエージェントをhogehogeにする
> WGET.EXE --user-agent=hogehoge http://www.example.com/
-ユーザ名とパスワードを付加する
> WGET.EXE --http-user=username --http-passwd=password http://www.example.com/
残りはドキュメントを見れば大体OK。
ちなみにディフォルトのユーザエージェントは Wget/1.5.3 になっていた。
2006-02-08T10:51:15+09:00
1139363475
-
PHP関数等
https://w.atwiki.jp/tmogmni/pages/30.html
#contents
*date('r')
print(date('r'));
出力結果
Tue, 21 Feb 2006 19:17:03 +0900
*空のファイルを作成する
empty.txtという空のファイルが作成される
touch("/home/hoge/empty.txt");
*ファイルのコピーを作成する
hoge_cp.txtというコピーが作成される
copy("/home/hoge/hoge.txt", "/home/hoge/hoge_cp.txt");
*ファイルグループを変更する
hoge.txtがwebuserグループになる
chgrp("/home/hoge/hoge.txt", "webuser");
*ファイルのパーミッションを変更する
hoge.txtのパーミッションが0755になる
chmod("/home/hoge/hoge.txt", 0755);
*CSVデータを読み込む
以下のようなcsvデータを読み込む場合。
[hoge.csv]
1,one,hoge
2,two,hogehoge
3,three,hogehogehoge
// csvファイルを読み取り専用で開く
$fp = fopen("/home/hoge/hoge.csv", "r");
$ret = array();
$i = 0;
// csvファイルを一行ずつ読み込んで配列に格納
while ($row = fgetcsv($fp))
{
$ret[$i] = $row;
$i++;
}
// ファイルクローズ
fclose($fp);
$retには、以下のように格納されている
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => hoge
)
[1] => Array
(
[0] => 2
[1] => two
[2] => hogehoge
)
2006-02-21T19:23:23+09:00
1140517403
-
perlメモ
https://w.atwiki.jp/tmogmni/pages/29.html
#contents
*split関数
「1234567890,hogehoge」というカンマ区切り文字列をスプリットする。split_test.plというファイル名で作成。
#!/usr/bin/perl
$mojiretu = '1234567890,hogehoge';
@ret = split(/,/ , $mojiretu);
print $ret[0]."と".$ret[1]."に分割されました\n";
上記スクリプトを実行してみる。
# perl split_test.pl
1234567890とhogehogeに分割されました
「1234567890|hogehoge」という「|」で分割されている場合は、エスケープしなくてはならない。
#!/usr/bin/perl
$mojiretu = '1234567890|hogehoge';
@ret = split(/\|/ , $mojiretu);
print $ret[0]."と".$ret[1]."に分割されました\n";
*smtpメールを送ってみる
#!/usr/bin/perl
# Net::SMTPを使うための宣言
use Net::SMTP;
# メールサーバ名(IPだとだめ?)
$mail_srv_name = 'localhost';
# FROM句
$mail_from = 'from@hogehoge.com';
# TO句
$mail_to = 'to@hogehoge.com';
# Net::SMTP インスタンス生成
$smtp = Net::SMTP->new($mail_srv_name);
# 試しに2通送ってみる
# 1通目
$smtp->mail($mail_from);
$smtp->to($mail_to);
$smtp->data();
$smtp->datasend("From: ".$mail_from."\n");
$smtp->datasend("To: ".$mail_to."\n");
$smtp->datasend("Subject: test1\n");
$smtp->dat
2005-12-21T10:45:56+09:00
1135129556
-
qmailメモ
https://w.atwiki.jp/tmogmni/pages/26.html
#contents
*インストール
参考:http://www.asahi-net.or.jp/~aa4t-nngk/qmail.html
参考:http://itbtech.itboost.co.jp/inst/inst_08.php
まず、qmailホームディレクトリを作成。
# mkdir /var/qmail
次にqmailのプロセスが使用するgroupとuserを作成。
(gidとuidを600番台とするが自由)
# groupadd -g 600 nofiles
# groupadd -g 601 qmail
(以下改行されてるけど1行で記述する)
# useradd -u 600 -g nofiles -d /var/qmail/alias \
-m -k /dev/null -s /sbin/nologin alias
# useradd -u 601 -g nofiles -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmaild
# useradd -u 602 -g nofiles -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmaill
# useradd -u 603 -g nofiles -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmailp
# useradd -u 604 -g qmail -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmailq
# useradd -u 605 -g qmail -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmailr
# useradd -u 606 -g qmail -d /var/qmail \
-m -k /dev/null -s /sbin/nologin qmails
ソースをダウンロード。ここではnetqmailを使う。netqmailはいろいろパッチがあたった状態のqmailなのでインストー
2005-12-06T13:20:33+09:00
1133842833
-
php.ini関連
https://w.atwiki.jp/tmogmni/pages/25.html
#contents
*php.iniの文字コード設定
PHPプログラムをShift_JISで保存、ブラウザへShift_JISで出力する場合
output_buffering = Off
default_charset = Shift_JIS
extension=php_mbstring.dll(コメントのセミコロンを外す)
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
PHPプログラムをShift_JISで保存、ブラウザへEUC-JPで出力する場合
output_buffering = On
output_handler = mb_output_handler
default_charset = EUC-JP
extension=php_mbstring.dll(コメントのセミコロンを外す)
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
PHPプログラムをEUC-JPで保存、ブラウザへShift_JISで出力する場合
output_buffering = On
output_handler = mb_output_handler
default_charset = Shift_JIS
extension=php_mbstring.dll(コメントのセミコロンを外す)
m
2006-01-12T10:45:45+09:00
1137030345
-
携帯用webサイト開発関連
https://w.atwiki.jp/tmogmni/pages/24.html
#contents
*各キャリアのIPアドレス帯域
http://www.nttdocomo.co.jp/p_s/imode/ip/index.html
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
http://developers.vodafone.jp/dp/tech_svc/web/ip.php
#imode
210.153.84.0/24
210.136.161.0/24
203.138.180.0/24
203.138.181.0/24
203.138.203.0/24
#ez
210.169.40.0/24
210.196.3.192/26
210.196.5.192/26
210.230.128.0/24
210.230.141.192/26
210.234.105.32/29
210.234.108.64/26
210.251.1.192/26
210.251.2.0/27
211.5.1.0/24
211.5.2.128/25
211.5.7.0/24
218.222.1.0/24
61.117.0.0/24
61.117.1.0/24
61.117.2.0/26
61.202.3.0/24
219.108.158.0/26
219.125.148.0/24
222.5.63.0/24
222.7.56.0/24
#voda
210.146.7.192/26
210.146.60.192/26
210.151.9.128/26
210.169.176.0/24
210.175.1.128/25
210.228.189.0/24
211.8.159.128/25
*ドコモのメールアドレス(xxxx...xxx@xxxやxxxx.@xxx)がエラーで送れない
メールアドレスのホスト名にドットが2つ以上並んだり、最後にドットが含まれる場合、メールサーバによっては不正なメールアドレスとみなされエラーが返ります。ドコモのメールアドレスによく見られます。以下のようにホスト名を""で囲んでみてください。
<"xxxxx.
2006-01-06T11:57:39+09:00
1136516259
-
ポートスキャン
https://w.atwiki.jp/tmogmni/pages/23.html
nmapを用いたポートスキャンについて(for windows)。
まず、http://winpcap.polito.it/install/default.htm から
WinPcap auto-installer (driver +DLLs)というリンクをクリックして
WinPcap_x_x.exe(xはバージョン番号)をダウンロード後、
ダブルクリックしてインストール。
次に http://www.insecure.org/nmap/nmap_download.html から
nmap-x.xx-win32.zip(xはバージョン番号)をダウンロードして解凍。
解凍すると以下のファイルができる。
nmap.xsl
nmap.exe
CHANGELOG
COPYING
nmap-mac-prefixes
nmap-os-fingerprints
nmap-protocols
nmap-rpc
nmap-service-probes
nmap-services
README-WIN32
nmap_performance.reg
nmap_performance.regをクリックしてレジストリ登録。
これでインストール完了。
上記で解凍してできたnmap-x.xxをどこか適当なディレクトリに配置。
(ここではC:\nmap-x.xxとする)
コマンドプロンプトを開いて上記ディレクトリに移動。
>cd C:\nmap-x.xx
試しに192.168.0.1にポートスキャン。
>nmap.exe 192.168.0.1
Starting nmap 3.93 ( http://www.insecure.org/nmap ) at 2005-xx-xx xx:xx
Interesting ports on 192.168.0.1:
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
MAC Address: xx:xx:xx:xx:xx:xx (Planet Communications)
Nmap finished: 1 IP address (1 host up)
2005-09-27T18:35:44+09:00
1127813744
-
linuxメモ
https://w.atwiki.jp/tmogmni/pages/22.html
#contents
*sed でhogeファイル内の空行を削除してhogehogeとして出力
# sed '/^\r/d' hoge > hogehoge
*カレントディレクトリのファイル数を調べる
# find . -type f | wc -l
99 ← 99個のファイルがある
*viの使い方
ファイル開きたい場合は
# vi ファイル名
viには編集モードとコマンドモードがある。ファイル開いた時点ではコマンドモード。編集モードに移行する場合は「i」等のキーを押す。以下コマンド一覧。
[終了]
:q セーブせずに終了
:q! 変更した行もセーブせずに終了
:w セーブするが終了しない
:wq セーブして終了(Shift+ZZでも同じ)
[編集モードへ移るためのキー]
i 現在のカーソル位置から挿入
R 現在のカーソル位置から置換
A 現在行の末尾に追加
O 現在行の前に行挿入
o 現在行の次に行挿入
[カーソル移動キー]
h(←) 左
j(↓) 上
k(↑) 下
l(→) 右
0 行頭へ
$ 行末へ
[Enter] 次の行の先頭へ
w 次の単語へ
b 前の単語へ
ctrl + f 次画面へ
ctrl + b 前画面へ
1G 文頭へ
G 文末へ
nnG nn行目へ
[変更キー]
x 1文字削除
dd 1行削除(カット)
cw(Change Word) 1語変更
c$ カーソル位置から行末まで変更
dw(Delete Word) 1語削除
d$ カーソル位置から行末まで削除
[検索]
/正規表現 前方検索
?正規表現 後方検索
n 次の候補
N 前の候補
[置き換え]
:1,$s/正規表現/置き換え文字列/g
文書内の全ての「正規表現」を「置き換え文字列」に置換
[コピー&ペースト]
yy 1行コピー
dd 1行カット
p ペースト(張り付け)
[その他]
.(ドット) 直前の変更操作の繰り返し
u 直前の変更操作の取り消し(何回でも戻れる)
:r xxx フ
2006-02-27T17:37:58+09:00
1141029478
-
postgresqlメモ
https://w.atwiki.jp/tmogmni/pages/21.html
#contents
*数値フォーマット
0で埋める場合は以下
select to_char(12345, '00000000');
to_char
-----------
00012345
*現在日付からの加算と減算
以下の書式で書けた。便利。
■現在時刻から1年2ヶ月3日4時間5分6秒後を取得
SELECT
now()
,now() + '1year 2month 3day 4hour 5minute 6second';
now | ?column?
-------------------------------+-------------------------------
2006-01-10 16:20:42.203232+09 | 2007-03-13 20:25:48.203232+09
(1 row)
■現在時刻から1年2ヶ月3日4時間5分6秒前 を取得
SELECT
now()
,now() + '1year ago 2month ago 3day ago 4hour ago 5minute ago 6second ago';
now | ?column?
-------------------------------+-------------------------------
2006-01-10 16:21:31.433893+09 | 2004-11-07 12:16:25.433893+09
(1 row)
*psqlでファイルを読み込んでクエリ実行
psqlが実行できるユーザになる
# su postgres
ユーザのカレントディレクトリにてファイル作成
# vi /home/postgres/select.sql
select id,name from member;
以下で実行
# psql DB名 < /home/postgres/select.sql
実行結果をフ
2006-01-17T16:52:55+09:00
1137484375
-
その他メモ
https://w.atwiki.jp/tmogmni/pages/20.html
#contents
*mb_send_mailでwindowsマシンからメール送信
php.iniのmail functionのセクションで設定すれば使える??
[mail function]
; For Win32 only.
SMTP = 127.0.0.1
smtp_port = 25
; For Win32 only.
sendmail_from = hogehoge@hogehoge.com
*画像生成テスト(for windows)
php.iniの extension=php_gd2.dll を有効にする。
*javascriptをPHP5で動かす(For PHP5)
[[PHP5で書かれた JavaScriptのインタプリタ>http://j4p5.sourceforge.net/index.php]]。
JavaScriptのソースをPHP5で動かすことができるようです。
初回は起動が遅いけど、2回目以降はキャッシュ(winだと WINNT/TEMP以下、unix系だと/tmp以下に作成)を読みに行くので割と早いかも。
サンプルコード
<?php
// モジュールの読み込み
include "js.php";
// Javascriptのコード記述し$codeに代入
$code = <<<EOD
function color() {
var s=Math.floor(Math.random()*256*256*256).toString(16);
return "#" + ("00000"+s).substr(-6);
}
String.prototype.colorize = function() {
var o='';
for (var i=0;i<this.length;i++) {
o += '<span style="color:'+color()+'">'+this.charAt(i)+'</span>';
}
return o;
};
String.prototype.big = function() {
return "<span st
2006-04-10T11:52:01+09:00
1144637521