2011年2月27日日曜日

mysqlのconcatでNULLがある場合

concatは文字れるを結合するmysqlコマンドです
普通に

mysql> SELECT CONCAT('abc','def','ghi') as hoge;
+-----------+
| hoge |
+-----------+
| abcdefghi |
+-----------+
1 row in set (0.05 sec)

しかし、結合されるフィールドに一個でもNULLがあったら、全部NULLになっちゃう

mysql> SELECT CONCAT('abc','def',NULL) as hoge;
+------+
| hoge |
+------+
| NULL |
+------+
1 row in set (0.03 sec)

なのでNULLがでる可能性のあるフィールドにIFNULLを使う

mysql> SELECT CONCAT('abc','def',IFNULL(NULL,'')) as hoge;
+--------+
| hoge |
+--------+
| abcdef |
+--------+
1 row in set (0.03 sec)

2011年2月23日水曜日

mysql CREATE database GREATE user GRANT user


mysql> CREATE DATABASE mydb
mysql> CREATE USER 'tom'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON mydb.* TO 'tom'@'localhost';
mysql> FLUSH PRIVILEGES;

mysqlインストール

Linux

# yum -y install mysql mysql-devel mysql-server
...
# /sbin/chkconfig mysqld on
# /sbin/chkconfig --list

2011年2月17日木曜日

googleデスクトップを使って会社の共有サーバの中身を検索

会社の共有サーバ(NAS)は本当にぐちゃぐちゃです、意味不明なフォルダが乱立している。欲しい資料を探すには結構大変だ。
そこでGoogleデスクトップが登場!ここからダウンロード。
インストールしたら、オプションを開く、「検索場所」と「検索しない場所」を設定

※図には共有スペースだけ、自分のPCには検索しない設定です。最初のインデックス作成は時間かかる、検索対象の内容の多さによります。ちなみに、サイドバー好きじゃないなら隠せばいいです。

これで、楽だ。

2011年2月9日水曜日

SSL秘密キーとCSRファイルの作成

まずキー生成時必要なランダムファイルの作成(access.logを使ってもオッケ)

# openssl md5 * > rand.dat


そして長さ2048の秘密キーを作成

# openssl genrsa -rand rand.dat -des3 2048 > domain.com.2011.key.2048
...
Enter pass phrase:
Verifying - Enter pass phrase:

任意覚えやすいフレーズを入力する

最後CSRファイルの作成

# openssl req -new -key domain.com.2011.key.2048 -out domain.com.2011.csr.2048
Enter pass phrase for domain.com.2011.key.2048: 先入力したフレーズを入れる
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:Tokyo
Locality Name (eg, city) [Newbury]:Tokyo
Organization Name (eg, company) [My Company Ltd]:my company
Organizational Unit Name (eg, section) []:system
Common Name (eg, your name or your server's hostname) []:www.mydomain.jp
Email Address []:不要
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:不要
An optional company name []:不要

2011年2月4日金曜日

IE連続半角英数字で改行できず、幅を超えレイアウトが崩れの対応

IE独自のCSSを入れることで対応しました
  .gsc-control-cse div.gs-webResult{
   word-break:break-all;
  }

2011年2月3日木曜日

viで文字化けの時

下記のviのコマンドが役に立てます

現在の設定を確認

#文字コードの確認
:set enc?

#開いているファイルエンコードの確認
:set fenc?

#自動判別の設定確認
:set fencs?


文字コードを指定してファイルを開き直す

#EUC
:e ++enc=euc-jp

#UTF8
:e ++enc=utf8

#SJIS
:e ++enc=sjis

日本語の文字化けは大抵これで解消できると思うが、
それでもダメなら、OSのencodeとteratermの受送信encodeを調整してみよう。

2011年2月2日水曜日

lsコマンドに年を表示


# ls --time-style=long-iso -l
合計 285664
-rwxr-xr-x 1 release sortial 182 2010-10-18 13:33 dump_prod.sh
-rw-r--r-- 1 release sortial 249508962 2011-02-02 04:20 production.dump
-rw-r--r-- 1 release sortial 42704075 2010-10-18 13:32 production.dump.gz

IE7は大丈夫けど、IE8ではレイアウトが崩れ、その時の最終手段

IE8とIE7の違いが結構あるので、IE7で設計したレイアウトがIE8で崩れることがよくある。
副作用があるかもしれないが、IE8をIE7で見せかけるmetaタグがmicrosoftから提供された。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
メモしとこう!

2011年2月1日火曜日

EXCEL 2003/2007 某コラムが空の場合、行削除

Sub delEmptyRow()
    Dim c As Range

    For Each c In Range("A1:A500")
        If Trim(c.Value) = "" Then
            'Debug.Print c.Row
            c.Value = "#delete#"
            'そしてフィルターで"#delete#"の行だけ表示して、行ごと削除する
        End If
    Next c
End Sub
マクロなので、すべてのバージョン通用だと思う。
またloopが混乱しないようにrow.deleteは使わず、Excelのフィルターで削除。