2008年12月10日水曜日

[html] チェックボックスのdisable



いちご

--------
http://w-d-l.net/html/tags/body/form/input/checkbox/

2008年12月8日月曜日

[Linux] find

findコマンドはファイルやディレクトリを再帰的に検索してくれます。


[主なオプション]
-name ファイル名及びディレクトリ名にマッチするものを表示
-iname -nameと同じだが、大文字小文字を区別しない
-regex ファイル名が正規表現にマッチするものを表示
-iregex regexと同じだが、大文字小文字を区別しない
-type ファイルタイプを指定。タイプにはd(ディレクトリ)、f(ファイル)、l(シンボリックリンク)を指定
-emtpy ファイルが0byteもしくは中身のないディレクトリを表示
-size ファイルのサイズで検索。通常kオプションをつけてキロバイトにて指定


[使用例]

#空のファイルを削除
find . -empty -exec rm {}\; #ユーザ確認を求めない
find . -empty -ok rm {}\; #ユーザ確認を求める


※{}にはfindで引っかかったファイル名が引数として渡ります


#ファイルの数を調べる
find . -type f |wc -l


#findで見つかったファイルの中身をgrepする
find ./ -type f -exec grep https://www.ksknet.net {} \;


#ディレクトリ以下を再帰的に置換
sudo find . -type f -exec sed -i 's/置換前/置換後/g' {} \;


#1000kを越えるファイルを検索
find ./ -size +1000k


#ファイル所有者がtomのユーザを検索
find ./ -user tom


#ファイル名がhtmlもしくはcgiで終わるファイルを表示
find ./ -type f -iregex ".*\.html$" -or -iregex ".*\.cgi$"


#ファイル属性による検索(アクセス権限による検索)
find ./ -perm 755


#日付による検索
find ./ -daystart -ctime +2


補足 +2 と -2 では動作が異なります。+2では2日前より古いファイル、-2では2日前より新しいファイルを返します。
-ctime の他に -mtime -atime などがあります。


#日付による検索その2 (30日前より以前に作成されたファイルを削除)
find ./ -ctime +30 -type f -exec rm -f {} \;


[補足]
findは基本的にand検索をします。OR検索の場合は-oオプションを使用すること。
-------------------
http://www.ksknet.net/linuxai/find.html

2008年12月7日日曜日

[ruby] trans_sid

セッションIDの付与(Transit SID)
Cookie非対応携帯だけに付与する

class MyController
trans_sid
end

PCにも付与する

class MyController
trans_sid :always
end
--------------
http://jpmobile.rubyforge.org/rdoc/files/README.html

[ruby] mobile_filter

文字コード変換機能/絵文字のキャリア間相互変換

JpmobileではControllerにmobile_filterを指定することで,
DoCoMo、Au、SoftBankの絵文字を透過的に扱うことができる。

class MyController
mobile_filter
end

また、半角・全角の自動変換を用いる場合は

class MyController
mobile_filter :hankaku=>true
end

と指定する。

Jpmobile内では、各キャリアの絵文字はUnicode私的領域上にマッピングされ、管理される。このとき、DoCoMo、Auは公式サイト記載のマッピングが使用される。ただしSoftBankはAuとの重複を避けるため、公式のマッピングに0x1000加算しU+F001以降に割り当てる。テンプレート内ではUTF-8でエンコードするか、数値文字参照の&xHHHH;形式で指定する。

絵文字は送出時に内蔵の変換表に基づいて変換され、携帯電話のエンコーディングにあわせて送出される。携帯電話から受信した絵文字は上記マッピングに基づいてUTF-8でparamsに渡される。

mobile_filterを有効にすると以下の処理が自動で行われる。

* DoCoMo、Auとの通信時にはShift_JIS、SoftBankとの通信時にはUTF-8が使用される。
* :hankaku=>true指定時は、カタカナは半角カナに変換されて送出される。携帯電話から送られた半角カナは全角カナに変換される。
* 絵文字はキャリアにあわせて変換されて送出される。
* 携帯電話からの絵文字はUnicode私的領域にマップされ、UTF-8でparamsに格納される。
--------------
http://jpmobile.rubyforge.org/rdoc/

2008年12月2日火曜日

[Linux] ps コマンド

■psコマンド(Linux)
Linux の ps コマンドは、BSD 系 Unix のものに似ているが、 System V 系 Unix (Unix 98標準)のオプションも受け付ける。 BSD 系のものは、オプションの前に(-)を付けない。

ps
Linuxの ps(process) コマンドは、引数を付けないで実行すると、 プロセス識別子、端末名、 CPU時間、コマンド名を表示する。

----------------------------------------------------------------------
% ps [←]
PID TTY TIME CMD
23788 pts/0 00:00:00 tcsh
23819 pts/0 00:00:00 emacs
23822 pts/0 00:00:00 cat
23958 pts/0 00:00:00 ps
% []
----------------------------------------------------------------------

ただし、そのままでは、psコマンドを実行した端末と結びつけられているプロセスしか表示しない。

◆ps x
「-x」オプションを使うと、他の端末に結び付いているプロセスも表示する。

----------------------------------------------------------------------
% ps x [←]
PID TTY STAT TIME COMMAND
23788 pts/0 S 0:00 -tcsh
23819 pts/0 T 0:00 emacs -nw
23822 pts/0 T 0:00 cat
23967 pts/1 S 0:00 -tcsh
23996 pts/1 S 0:00 /bin/sh /usr/local/netscape/run-mozilla.sh /usr/local
24000 pts/1 S 0:03 /usr/local/netscape/mozilla-bin
24002 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24003 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24004 pts/1 S 0:00 /usr/local/netscape/mozilla-bin
24013 pts/0 R 0:00 ps x
% []
----------------------------------------------------------------------

◆ps -l, ps l (long)
プロセスが使っているメモリの大きさ (SZ、VSZ、RSS)、親プロセスの PID (PPIID(Parent PID))優先順位(PRI(priority)) などの プロセスの資源と属性を表示する。

----------------------------------------------------------------------
% ps -l [←]
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
100 S 1013 23788 23786 0 71 0 - 1025 rt_sig pts/0 00:00:00 tcsh
000 T 1013 23819 23788 0 69 0 - 2210 do_sig pts/0 00:00:00 emacs
000 T 1013 23822 23788 0 69 0 - 585 do_sig pts/0 00:00:00 cat
000 R 1013 24029 23788 0 74 0 - 817 - pts/0 00:00:00 ps
% ps l [←]
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
100 1013 23788 23786 13 0 4100 2152 rt_sig S pts/0 0:00 -tcsh
000 1013 23819 23788 9 0 8840 4540 do_sig T pts/0 0:00 emacs -nw
000 1013 23822 23788 9 0 2340 552 do_sig T pts/0 0:00 cat
000 1013 24030 23788 12 0 3268 1304 - R pts/0 0:00 ps l
% []
----------------------------------------------------------------------

Linux の ps は、ps -l と ps l で動きが若干異なる。-l は、System V 風、 l は、BSD 風である。

◆ps u
ps l, ps -l と同様に詳しい表示をする。

----------------------------------------------------------------------
% ps u [←]
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
yas 23788 0.0 0.8 4100 2152 pts/0 S 21:21 0:00 -tcsh
yas 23819 0.0 1.7 8840 4540 pts/0 T 21:21 0:00 emacs -nw
yas 23822 0.0 0.2 2340 552 pts/0 T 21:21 0:00 cat
yas 24047 0.0 0.3 2840 904 pts/0 R 22:04 0:00 ps u
% []
----------------------------------------------------------------------

◆ps -e (every)
全てのプロセスを表示する。System V 風。

◆ps a (all)
端末と結び付いている全てのプロセスを表示する。 x も付けた方がよい。

◆ps ax (all)
全てのプロセスを表示する。BSD風。

◆ps aux
a,u, x の組合わせ。全てのプロセスを表示する時に、よく使われる。
----------------------------------------------------------------------
http://www.coins.tsukuba.ac.jp/~yas/coins/syspro-2004/2004-04-12/ps-command.html

[Linux] ユーザーの追加

■adduser
adduserはユーザの追加を行うコマンドで、useraddコマンドにリンクされています。ユーザ追加後はパスワードがロックされているので、passwdコマンドでパスワードを設定する必要があります。
-----
root@(~) adduser nike
root@(~) passwd nike
New UNIX password: ●●●
Retype new UNIX password: ●●●
passwd: all authentication tokens updated successfully
-----
上の例ではnikeユーザが作成され、/home/nikeが用意されます。
なお、/etc/passwd にユーザ情報、/etc/shadowに暗号化された
パスワードが格納されています。
パスワードを忘れてしまった場合はrootでも分からないので、
再度passwdで付け直す必要があります(Linuxのパスワード暗号化は不可逆だから)。
------
http://sleep.mat-yan.jp/~yutaka/linux_admin/command/index.html
 ⇒[adduser] で検索

[Linux] ユーザー名の表示

登録済みのユーザー一覧を表示させるコマンド

■ユーザー確認
-----------
# ls /home
test test2
-----------

■詳細情報の確認
-----------
# ls -l /home
合計 xx
drwx------ 3 test test 4096 x月 xx 2007 test
-rw------- 1 root root 4096 x月 xx 2007 test2
-----------
http://it.kndb.jp/entry/show/id/735

[Linux] ls コマンド

ls
----------------------------------------------
【ファイルやディレクトリの情報を表示する】

現在ユーザーが作業しているディレクトリ内のファイル全てを表示します。
オプションと併用することでファイルの名前だけでなく、個々のファイルの詳細情報まで追記されます。
ls は最もよく使うコマンドといってもいいので
ls のオプションと一緒に使えるようにしておくと便利です。
ls コマンドのオプション一覧 -a 先頭にドットがあるファイルも含めて表示
----------------------------------------------
-k ファイルサイズをキロバイト(KB)単位で表示
-l ファイルの詳細を表示
-o ファイルの種類別に色を付ける
-r 逆順に表示
----------------------------------------------

<使用例>
$ls
dir1 dir2 dir3 file1.txt command.txt …
→現在アクセスしているディレクトリ内のファイルがすべて表示される。

$ls -l

total 251
drwxr-xr-x 8 user ryukoku 1024 Nov 16 19:04 .
drwxr-xr-x 6 user ryukoku 1024 Nov 13 23:57 ..
-rw-r--r-- 1 user ryukoku 1423 Nov 13 23:57 .Xdefaults
-rw-r--r-- 1 user ryukoku 124 Nov 13 23:57 .bashrc
lrwxrwxrwx 1 user ryukoku 15 Nov 16 23:11 bin -> /usr/local/bin/
drwx------ 2 user ryukoku 1024 Nov 14 00:03 nsmail
drwxr-xr-x 5 user ryukoku 1024 Nov 16 02:40 public_html
-rw-rw-r-- 1 user ryukoku 30 Nov 16 03:54 tes.dat




→ファイルの名前だけでなく、ファイルの詳細情報まで表示される。
ファイルの種類、アクセス権限、リンク・ディレクトリ数、所有者名、
グループ名、ファイルサイズ、最終更新時間、ファイル名の順に表示されます。
----------------------------------------------
http://www.seta.media.ryukoku.ac.jp/manual/linux/command/command.html#ls

[Linux] GNOME(グノーム)とは?

GNOME
----------------------
読み方 : グノーム
フルスペル : GNU Network Object Model Environment
分野 :
OS > UNIX > UI > GNOME
----------------------
FSFを中心に進められている、Linuxに洗練された
グラフィカルユーザインターフェース(GUI)を構築するプロジェクト。
また、同プロジェクトによってリリースされた
一連のLinux用GUI構築ソフトウェア。
GNOMEを使うことにより、WindowsやMac OSに似たユーザインターフェースで
Linuxを操作できるようになるため、
これまであまりLinuxと縁のなかった、技術にあまり詳しくない人々にも
Linuxの利用を促す可能性がある。
約1年半の期間と250人あまりのボランティア開発者によって開発が進められ、
1999年3月に最初のバージョンが公式にリリースされた。
フリーソフトウェアとして公開されており、
誰でもソースコードを入手して修正することができる。
------
http://e-words.jp/w/GNOME.html

2008年10月5日日曜日

[ツール] mov → (wmv) → asf 変換

■mov → wmv 変換

・SUPER v2008.build.30
http://www.altech-ads.com/product/10003305.htm
=============
[3. Select the output Adio codec]
⇒[ ADPCMIMA ] で変換
=============

■ファイル〇〇〇 .wmv はインデックスに含まれていないため、
  読み込むことができません問題
・Windows Media ファイル エディタ

===
Windows Media Encoder 9に付属するファイルエディタでそのwmvファイルを
開いて、「保存およびインデックスを作成(S)」を行います。

それでインデックスが作成されるので読み込みできるようになると思います。
もしエンコーダーがなければこちらでダウンロードできます。
http://www.microsoft.com/japan/windows/windowsmedia/download/defaul...

[追記]
わかりにくかったようなので補足しますね。
WMV ファイルにインデックスを作成するには、次の手順を実行します。

1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします
次に、[Windows Media] をポイントして、[ユーティリティ] をポイントし、[Windows Media ファイル エディタ] をクリックします。

2. [ファイル] メニューの [開く] をクリックしてインデックスを作成するファイルを選択し、[開く] をクリックします。

3. WMV ファイルを別のファイル名で保存するには、[ファイル] メニューの [名前を付けて保存およびインデックスを作成] を
クリックします。

4. [ファイル名] ボックスに新しいファイル名を入力し、[保存] をクリックします。
===
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1013839015?fr=rcmd_chie_detail


ーーーーーーーーーー

なんか、wmv変換するとムービーメーカーでエラーがでるので、
asf変換をすることによって回避。下記の設定でOK。


2008年10月2日木曜日

[ツール] mp3 の分割

・mp3ファイルを分割してくれるソフト

・Audio Editor
ダウンロード
 http://www.vector.co.jp/soft/win95/art/se143192.html?ds

[ツール] m4a → mp3 変換

・m4a → mp3 への変換。

i-tunesでできるよ。

http://zenkakuzenkaku.at.infoseek.co.jp/m4atomp3/

2008年9月29日月曜日

[AS3] Viewport3D

Viewport3Dのコンストラクタ定義

Viewport3D(
viewportWidth:Number = 640,
viewportHeight:Number = 480,
autoScaleToStage:Boolean = false,
interactive:Boolean = false,
autoClipping:Boolean = true,
autoCulling:Boolean = true
)
  • viewportWidth:ビューポートの幅
  • viewportHeight:ビューポートの高さ
  • autoScaleToStage:ステージサイズにビューポートのサイズをフィット
  • interactive:インタラクティブモード?(未確認)
  • autoClipping:ビューポート矩形範囲外をクリッピング
  • autoCulling:ビューポート矩形範囲外ポリゴンをカリング
-------------

Spriteを継承してるので、ステージ上での位置指定や背景色指定は

viewport.x = 200;
viewport.y = 200;
viewport.opaqueBackground = 0xFF0000;

とかいう感じでできる。

widthとheightに関しては

viewport.width = 200;
viewport.height = 200;

だと、当然ながらビューポート内のオブジェクトごと大きさが変わるので、ビューポート矩形のみ幅と高さを変えたい場合は、

viewport.viewportWidth = 200;
viewport.viewportHeight = 200;

ってな具合で指定するとよろし。

===============

http://blog.r3c7.net/?p=130

2008年9月26日金曜日

[AS3] extends クラス継承

・クラス継承のやり方
===
public class Main extends MovieClip
{
 ・・・
}

[AS3] 配列アクセス演算子[]

[SWF(width = "450", height = "300", frameRate = "60",
backgroundColor = "#000000")]


===

・[]は、配列アクセス演算子。

※未解決
・SWFの部分の設定について

2008年9月25日木曜日

[AS3] papervision3d ダウンロード

papervision3d のダウンロードはこちら
http://code.google.com/p/papervision3d/

2008年9月19日金曜日

[perl] プラグマ

==========================================
プラグマ
・プラグマとは、perlのスクリプトをコンパイルするときに、
   影響を与えるコンパイルオプションのようなものです。
・先頭の文字は、モジュールと違って小文字で始まります。
==========================================
http://d.hatena.ne.jp/perlcodesample/20080107/1211421143

[perl] Prototype mismatch: %s vs %s

エラーメッセージについての言及。
もうちょっと勉強しないとな。。。

==============================
Prototype mismatch: %s vs %s

(S unsafe) 以前異なる関数プロトタイプで宣言または
定義されたサブルーチンが宣言または定義されました。
==============================
http://perldoc.jp/docs/perl/5.6.1/perldiag.pod
 ⇒Prototype mismatchで検索

2008年9月17日水曜日

[Perl] 曜日の取得

曜日の求め方

=============================================
print getwday(2003, 8, 18);

# Zellarの公式で曜日を求める
# 0:日 ... 6:土
sub getwday {
my $year = shift; # 年
my $mon = shift; # 月
my $day = shift; # 日

if ($mon == 1 or $mon == 2) {
$year--;
$mon += 12;
}
my $number = ($year + int($year / 4) - int($year/100) + int($year / 400)
+ int((13 * $mon + 8) / 5) + $day) % 7;

my @list = ('sun.','mon.','the.','wed.','thu.','fri.','sat.');


return @list[$number];
}
=============================================

2008年9月8日月曜日

[MySQL] 改行を含んだデータの登録&抽出

かなり当たり前かもしれないのだけれど、
改行を含んだデータ登録は、そのデータ登録の前に、
 「改行」を「改行コード」に変換しておく
というやり方が一般的(?)なのね。

これまで感覚的にそのことを実践してきたのだけれど、
みんなそうやっているということを知って、
ちょっと安心した感はある。

でも、DBに登録した改行コードを表示させる際に、
SQL側で置換させる方法があったことは初めて知った。
これまで自分はずっとアプリケーション側で処理していたものだから。

■MySQL-フィールドの改行を削除
http://tuevin.jugem.jp/?eid=74

=======================================
$sql = 'SELECT Replace(Replace(フィールド, Char(13), ""),
Char(10), "") FROM table WHERE id=1 ';

=======================================
以下で改行を削除できる
Replace(Replace(フィールド, Char(13), ""),Char(10), "")
=======================================

機会があったら試してみようっと。

[MySQL] 重複レコードの削除

いつも思うのだけれど、重複レコードの削除を
SQL側で行うにはどうしたらいいのだろ。

やり方としては、
 1)サブクエリ(SQL)で処理
 2)新たにテーブルを作成して処理
ってのがあるんだけれど、
やっぱりやりたいのが1)かなぁ。
2)はデータが多くなったとき面倒そうだし。

そもそも、
 「重複データは登録できないようにする」
っていうキー設定を行っておくことも大事だよね。

これは、課題だなぁ。

[MySQL] 日付型の型

これまで、日付は unixtimestamp の値をとって計算していたのだけれど、
データの型として準備してあるのだったら、
そっちを使ってみようと思ったテスト。

=======================
DATETIME 型は、

日付と時刻の両方の情報を含む値を必要とするときに使用します。
MySQL では、DATETIME 型の値の取り出しと表示は
'YYYY-MM-DD HH:MM:SS' 形式で行われます。
サポートしている範囲は '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59' です
(``サポート'' 範囲より前の値でも動作する場合がありますが、
確実に動作するという保証はありません)。

DATE 型は、日付値のみ必要とし、
時刻部分は必要でない場合に使用されます。
MySQL では、DATE 型の値の取り出しと表示は
'YYYY-MM-DD' 形式で行われます。
サポートしている範囲は、'1000-01-01' ~ '9999-12-31' です。

TIMESTAMP カラム型の特性と動作は、MySQL のバージョンと
サーバでの SQL 実行モードに応じて異なります。
=======================
MySQL クライアントのバージョン: 4.1.20
http://dev.mysql.com/doc/refman/4.1/ja/datetime.html
http://q.hatena.ne.jp/1143719566


2008年9月7日日曜日

[ブラウザ] Firefox + user agent switcher編

FireFoxで携帯シミュレーターみたいなことができるらしい。
今日は発見が多い一日だなぁ。

■Firefox + user agent switcher編

http://6go.biz/moba/tool31.htm

■User Agent Switcher ユーザーエージェント一覧
http://blog.inafog.jp/archives/129

[font] さなフォン丸/SanafonMaru

かわいらしいフォント。

さなフォン丸/SanafonMaru
http://sana.s12.xrea.com/sanafonmaru.html

[google map] 静的GoogleMap

■Google マップが携帯でも表示できるようになりました
http://googlejapan.blogspot.com/2008/03/google_1433.html
http://gmaps-samples.googlecode.com/svn/trunk/simplewizard/makestaticmap.html

============
<img src="
http://maps.google.com/staticmap
?center=35.658587,139.745425
&markers=35.658587,139.745425,red
&zoom=17
&size=200x200
&key=YOUR_KEY_HERE

">
============




■GoogleMapの参考サイト
調査中にいろいろ見つけちゃったんで、スクラッチ。

========

Seis Pesos: Google Maps API 2 作り方・サンプル一覧
http://japonyol.net/editor/googlemaps.html

↑Flashなど多様されていて、今後の参考になりそう

■Google Earth API
http://googlejapan.blogspot.com/2008/06/google-earth-web.html
http://code.google.com/apis/earth/

↑マジって、感じ。後で試そう。

■Google Maps API が Flash からも使用できるようになりました
http://googlejapan.blogspot.com/2008/05/google-maps-api-flash.html

↑マジって、感じ。後で試そう。

[GPS] GPSで取得できるパラメータ

GPS情報を取得すると、下記のようなパラメータが取得できる。
結構、よく見る情報なので、スナップショット。

気づくと、緯度・経度の情報の引数が少し変わっているような。。。

■GPSで取得できるパラメータ
===========================================
http://****.ne.jp/XXXX.cgi
?ver=1
&datum=0
&unit=0
&lat=%2b36.36.14.45
&lon=%2b138.43.16.27
&alt=42
&time=20080907064719
&smaj=101
&smin=88
&vert=97
&majaa=67
&fm=1
===========================================

[Perl] デバックの方法

ずっとPerlではエラー箇所がよくわからなくていやだなぁ、
と思っていたが、普通にブラウザ上でデバックってできるのね。。。

これ知ってたら、これまでの生産性が10倍ぐらい違ってくるよ、たぶん。

■ ブラウザーでのチェック
http://perl.misty.ne.jp/20.html
======================
下記の方法で、ブラウザー上からエラーチェックを行なうことが出来ます。
「BEGIN」 から始まる1行を、Perlのパス指定の下に追加することで、ブラウザーから簡単にチェックを行なえます。
エラーがない場合は、Perl での処理結果がそのまま表示されます。
---
#!/usr/local/bin/perl
BEGIN{ $| = 1; print "Content-type: text/html\n\n"; open(STDERR, ">&STDOUT"); }
---
エラーがある場合には、エラーメッセージが標準エラー出力チャンネル(STDERR) に格納されます。
この標準エラー出力を、HTML出力としてWEBサーバーに渡します。
=======================