kawama.jp

トラックバックスパムが来た

カテゴリ: 雑記帖 — 2005年7月7日 00:36 — Comments (0)hatebu count

噂で聞いていた、トラックバックが来た。記念スクリーンショット。
trackbackspam.gif

firefox extention

カテゴリ: 技術関連 — 2005年7月3日 18:42 — Comments (0)hatebu count

Firefoxの便利なExtention。忘れないようにメモ。
Web Developer(css無効化などが便利)
http://chrispederick.com/work/firefox/webdeveloper/
googlebar(IE版とほぼ同等の機能)
http://googlebar.mozdev.org/

mysql tips(コマンド集)

カテゴリ: MySQL — タグ: , — 2005年7月2日 22:32 — Comments (0)hatebu count

—shellから——

▼DB一覧の表示
mysqlshow

▼DB内テーブルの表示
mysqlshow [dbname]

▼パスワードの変更
$ mysql -u root mysql
mysql> update user set Password=password('hissql') where user='root';

もしくは
$ mysqladmin -u root password [newpassword]

—MySQLから—

▼DB一覧の表示
show databases;

▼テーブルの表示
show tables from [dbname];

▼カラムの表示
show fields from [tablename] from [dbname];

—基本SQL文—

▼検索
select * from [tablename];
ex) mysql> select * from test_table;

▼挿入
insert into [tablename] ([Field],[Field],......) values (*,*,....);
ex) mysql> insert into test_table (hoge,moe) values (1,'aa');

▼更新
update [tablename] set [Field]='value' where [Field] = 'value';
ex) mysql> update test_table set hoge=2 where moe='aa';

▼削除
delete from [tablename] where....;
ex) mysql> delete from shintaro where hoge=1;

▼テーブル作成
create table [tablename] (field kata,field kata);
ex) mysql> create table test_table (num int(2),moji char(2));

▼行の数を知る
mysql> select count(*) from [tablename];

—定義SQL文—

▼テーブル名変更
alter table OLDTBLNAME rename to NEWTBLNAME;

▼カラム追加
alter table TBLNAME add column (COLNAME DATATYPE);

▼カラム削除
alter table TBLNAME drop column COLNAME;

▼インデックス追加
alter table TBLNAME add index IDXNAME (IDXCOLUMN);

—権限SQL文—

▼権限付与
mysql> grant all privileges on *.* to mysql@localhost identified by 'yoursql' with grant option;
mysql> grant all privileges on *.* to mysql@"%" identified by 'yoursql' with grant option;

▼完全なMYSQLスーパーユーザーを作る
mysql> GRANT ALL PRIVILEGES ON *.* TO [username]@localhost IDENTIFIED BY '[password]' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO [username]@"%" IDENTIFIED BY '[password]' WITH GRANT OPTION;

—その他—

▼DBの選択
mysql>use DBNAME;

▼DB作成
mysql>create database DBNAME;

▼DB削除
mysql>drop database DBNAME;

▼外部SQLファイルの実行
$ mysql DATABASE_NAME < temp.sql
(これでtemp.sqlに格納されているSQL文が実行される。)

▼ファイルへのエクスポート(実行結果を外部ファイルへ出力)
$ mysql test > out.txt
mysql> select * from test_table;
mysql> quit

(out.txtにselect文の実行結果が返ってくる。)

▼mysqldump(dumpファイル出力)
/usr/local/mysql/bin/mysqldump --all-databases > /path/to/backup_dir/dump.dat -u root --password=[password]

▼ファイルからインポート
mysql> load data local infile "hoge.csv" into table TABLE_NAME;
(※標準はタブ区切り。もしカンマ区切りのCSVファイルをインポートしたい場合は、最後に「fields terminated by ','」と付け加える。)

▼ファイルからインポート(その2)
最新のMySQLではload data....の文は使えなくなった様子なので、mysqlimportを使ったインポートをします。
mysqlimport --local --fields-terminated-by=',' DBNAME /FULL/PATH/TABLENAME.txt
--localがないとエラーになってしまうので必ずつけましょう。

▼ファイルからインポート(その3)
mysql -u root --password=[password] TARGET_DB < batch_sql.txt

▼SQLログの記録
mysqld_safe --log &
で起動すれば実行したSQLのログを記録してくれる。ログの出力場所は/usr/local/var。(たぶん環境によって異なります)
ウェブアプリのデバッグなどに便利です。

▼一括置換
update TABLE set column = replace(column, "置換前ワード", "置換後ワード");

▼今日の日付と月、前の月をまとめてゲット
select
DATE_FORMAT(current_date, '%Y/%m/%d') as today,
DATE_FORMAT(current_date, '%Y/%m') as this_month,
DATE_FORMAT(DATE_ADD(current_date, INTERVAL -1 MONTH), '%Y/%m') as before_month;

---チューニング関連---

▼ステータスの確認
# mysqladmin status
# mysqladmin variables

▼データファイルの検査
# myisamchk /usr/local/var/DBNAME/TBLNAME.MYI
※「・・・is usable but should be fixed」と出たら修復の必要がある。
# myisamchk -d /usr/local/var/DBNAME/TBLNAME.MYI

▼データファイルの修復
#myisamchk -r /usr/local/var/DBNAME/TBLNAME.MYI
#myisamchk -o /usr/local/var/DBNAME/TBLNAME.MYI

ヘルプによると、-rはrecoverで、-oはold recoverらしい。念のため両方やっておいたほうがよさそう。

ThinkpadからLet’s note Y4に乗り換え

カテゴリ: 雑記帖 — 2005年6月27日 21:08 — Comments (4)hatebu count

買っちゃいました。Let’s note Y4。長年Thinkpad党でしたが、とうとう裏切りました(笑
Thinkpad、レノボになっちゃったし、何よりもLet’s noteの軽さが衝撃的だったので乗り換えました。
まだ買って2日くらいしか経ってませんが、元Thinkpadユーザーの視点から見たLet’s noteの良いところと悪いところをまとめてみました。購入を検討してる方は参考にどうぞ。
良いところ
◆軽い!
軽い、とにかく軽い。Let’s note Y4に相当するThinkpadはTシリーズになると思いますが、Tシリーズはだいたい2.2kg程度。Y4は1.5kgなので約700g軽いのですが、持ってみると違いは歴然です。
◆ACアダプタが小さい
かなり小さいです。やはり軽量化、小型化は日本製造業の十八番。ThinkpadのACアダプタも昔に比べるとだいぶ小さくなりましたが、Let’s noteのACアダプタと比較するとまだぜんぜんでかいです。
◆Windowsキーがある
Windows+D(全ウィンドウ最小化)をよく使うので、重宝してます。ThinkpadはWindowsキーがないので以前からちょっと不満を感じてました。
悪いところ
◆タッチパッドが使いにくい
Thinkpadのトラックポイントに慣れきっているので、タッチパッドはかなり使いにくいです。どうしてもクセでキーボードのGとHの間に人差し指を出してしまいます(笑。あとY4はキーボードからタッチパッドまで若干距離があるので、両手をホームポジションに置いて親指でタッチパッド操作をしようとすると親指がつりそうになります。。
ここはぜひ改善してほしいです。もしくは昔みたいにトラックボール復活してくれないだろうか。。
◆キーボードがいまいち
Thinkpadに慣れているせいか、キーボードはちょっとぺこぺこしているというか、打ち応えがないというか、ちょっと物足りなさを感じます。
とまあ、だいたいこんなところです。
やはり軽さと小ささは日本人の、特にビジネスユーザーのココロを捉える、重要な要素だと思います。さすが世界の松下。どんどん改良を重ねて、日本を代表するノートPCになってもらいたいです。
ちなみに今回は楽天のベスト電器新宿店ネットショップで購入しました。送料込、カード決済OKです。
パナソニックノートパソコン「Let's note Y4」CF-Y4GW8AXR
パナソニックノートパソコン「Let’s note Y4」CF-Y4GW8AXR
税込234,000円(送料込)

ついでに512Mの増設メモリも楽天で購入。こちらはcatworksで買いました。
【税込です!カードOK】 アドテック品番 ADF3200M-512 

Panasonic Let’s note Y4

カテゴリ: 雑記帖 — 2005年6月20日 14:35 — Comments (0)hatebu count

友人が購入したのを見せてもらったのですが、とにかく軽い。14.1液晶で解像度は1400×1050。DVD-RAMドライブ内臓、バッテリーは7時間。それでいて重量はたったの1.5kg。今自分が使っているThinkpadとほぼ同スペックですが重量は軽く2kgを超えているので、この軽さは驚異的。欲しい。けどお金ない。。
もともと自分は熱烈なIBM Thinkpadファンなのですが、もはやレノボになってしまったので未練はありません。しばらくガマンして、次の買い替えではLet’s noteにしようと思っています。
楽天で購入
【即納可能】 パナソニック Let's note Y4 CF-Y4GW8AXR
Let’s note Y4 CF-Y4GW8AXR 217,000円(税別)
オフィシャルサイト
http://panasonic.jp/pc/products/y4g/index.html 

エクセルで色のついたセルを調べる

カテゴリ: 技術関連 — 2005年6月17日 20:49 — Comments (0)hatebu count

列Aに無色のセルと色がついたセルが混在していると仮定した場合。
1.メニューから、挿入→名前→定義。
2.名前のところに「iro」(なんでもOK)と記入して追加。追加された「iro」を選択して参照範囲のところに「=GET.CELL(38,!A1)」を記入。
3.B1のセルに=iroと入力し、コピー。
4.B1のセルを調べたい範囲までコピーする。
5.B1のセルに結果が色番号で表示されるので確認。(無色の場合は0)

php tips

カテゴリ: PHP — 2005年6月13日 23:05 — Comments (0)hatebu count

関数やテクニックを新しく知ったら、随時追加していきます。
〓文字列処理系〓
◆URLエンコード
rawurlencode($str)
◆改行を<br>に変換
nl2br($str)
◆htmlタグを変換
htmlspecialchars($str, ENT_QUOTES)
◆文字列をスラッシュでクォートする
AddSlashes($str)
◆addslashesでクォートされた文字列のクォート部分を取り除く
StripSlashes($str)
◆指定数分の文字列を切り出す(マルチバイト)
mb_substr($str, 0, 6, “SJIS”)
◆半角数字チェック
if(!ctype_digit($str){ echo “半角数字じゃないです!”; }
◆文字列を指定の桁数にする
str_pad($str, 6, “0”, STR_PAD_LEFT);
http://php.s3.to/man/function.str-pad.html
◆文字列を指定の長さにする
mb_strimwidth($str, 0, 40);
http://manual.xwd.jp/function.mb-strimwidth.html
◆正規表現でURLを抜き出して、URLをエンコードしたものと置換する
echo preg_replace_callback(
“/(https?|ftp)(://)([^[:blank:]/?+$;%,!#~*:@&=_][[:alnum:]-.]+)([[:alnum:]+$;?.%,!#~*/:@&=_-]+)?/”,
“return_enc”,
$str);
function return_enc($matches)
{
return urlencode($matches[0]);
}
http://php.s3.to/man/function.preg-replace-callback.html
http://www.gac.jp/article/index.php?stats=question&category=11&id=14551&command=msg
◆正規表現:「A~Z」「0~9」「-」「/」「 」「.」「,」にマッチ
/^[A-Z0-9-/ .,]+$/
〓mysql系〓
◆SQL実行結果から件数を取得
mysql_num_rows($res)
◆select文の結果を連想配列に入れる
mysql_fetch_array($res)
例:
if(!($res = mysql_query(“SELECT * FROM table”))){ die; }
while($row = mysql_fetch_array($res))
{
echo $row[id] . “

. $row[name] . “

. $row[address];
}
〓その他〓
◆リダイレクト
header(“Location: $PATH_TO_URI”);
◆連想配列に値を追加
その1
$arr[$a] = $b;
その2
$arr = array();
$arr += array(“a” => “b”);
$arr += array(“c” => “d”);
〓よく間違える〓
◆ループの処理をスキップして次へ
continue
※nextと書いてしまいがち
◆ループを抜ける
break
※lastと書いてしまいがち

Windowsのhostsで名前解決

カテゴリ: 技術関連 — 2005年6月1日 11:46 — Comments (0)hatebu count

仕事で使うサーバーのDNSがトラブってしまい、名前解決ができなくなってしまい、仕方ないのでWindowsクライアント機側で名前解決の設定をすることになりました。
C:\WINDOWS\system32\drivers\etc
をエディタで開き、「IPアドレス ドメイン名」で行を追加すればOK。
このファイル、Linux系の/etc/hostsと設定方法や働きが全く同じです。あくまで一時的な設定ですが、助かりました。

Yahoo! searchに登録

カテゴリ: 技術関連 — 2005年5月31日 22:22 — Comments (0)hatebu count

AltaVistaにサイト登録したいと思って調べてみたら、まず米国のYahoo!に登録してアカウントを作っておかないといけないとのこと。さっそく米Yahoo!にアカウント登録するためにフォームに必要事項を記入したのですが、、
Unable to process request at this time — error 999
という訳の分からないエラーが出て失敗してしまう。googleで調べても出てくるのは英語の検索結果ばかり。さらに家がダメなら会社で、と思って会社のPCから試してみたがやっぱりダメ。困った、万策尽きたか。。。
そのままあきらめていたのですが、その翌日ふと「米国のzipコードで登録したらどうだろう」と思って、やってみたら、、、見事に通りました!zipコードのところ、なんとなくアヤシイと思っていたのですが、予感的中でした。
ちなみに使ったzipコードは「94304-1112」。googleで調べて拾ってきたので場所がどこなのかは全くわかりません。同様の現象でお困りの方がいたら(いるのか?)試してみてください。

システム哲学

カテゴリ: 技術関連 — 2005年5月30日 21:40 — Comments (0)hatebu count

哲学なんて書くとちょっとおおげさですが、これまでの実務経験で培った自分のシステムに関する考えをメモしてみます。自分に対する戒めでもあります。

1.目的を明確にし、見失わない
システムの構築や導入は本来ビジネスや業務を加速させるものですが、時間が経つにつれていつのまにか「システムを構築・導入すること」が目的になってしまうことが非常に多い。コンピューターシステムはあくまでも”手段”なので、本来の目的を見失わないよう常に心がける。
ちなみに、システムインテグレーターなど、システムを作ることが目的の場合はこれはあてはまらないと思います。

2.なるべく既製品(パッケージ)や枯れた技術を使う
安定稼動が保証されている既製品を、フルに活用するのがベスト。
既製品をそのまま使う > 既製品をカスタマイズ > スクラッチで作る
の順番で、どんどん構築、導入、運用におけるコストがかさんでしまうから(金銭コストだけでなく人的コスト、時間的コストも含む)。スクラッチで作るのは楽しいが、ただの自慰行為になるケースが非常に多いので、誘惑に負けないよう頑張る。
また本質に影響を及ぼさないのであれば、システムにあわせてビジネスや業務を多少変えてもいいと思う。(判断が難しいが)
そして、行き詰ったらとにかく知恵を絞る。必死で考えればたいていの場合活路は開ける。
それから「枯れた」=「広く普及している&ドキュメントが多い」を意味します。例えばApacheとかPerlとかPHPとか。最新技術はよほどシステムに自信がある人、会社以外は使わないほうが良い。下手に手を出すと火傷してしまうので。

3.シンプルにする
理想に燃えてすんごいシステムを作ってはみたが、結局仕様変更やら業務内容変更、担当者の退職などにより、どうにもコントロールできない、フランケンシュタインのようなシステムを作ってしまうことがよくあります。
なので、最初のうちは汎用性や利便性はあまり考えず、目的を達成することのみに的を絞ってシンプルなシステムを作るのがベスト。「リレーションは一個まで」とか「半年間は小手先の対応でうまくやりくりする」など、ある程度決め事を作っておくといいと思う。

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress