2013年4月12日金曜日

MySQL 5.5.3以前だと主キーが NULLでなくても IS NULLが TRUEになるらしい

MySQLで "SQL_AUTO_IS_NULL = 0" じゃないと、IS NULLで検索されたときにエライ目に遭うという話 - (゚∀゚)o彡 sasata299's blog
実はこれが曲者です!! id が NULL のデータなんて無いから必ず insert するだろうと思っていました。思っていましたが実際に試してみると、、、

なんかときどき update してるんですけどー。

MySQL 5.5.3からは変わったらしい。

MySQL :: MySQL 5.5 Reference Manual :: 12.3.2 Comparison Functions and Operators


The default value of
sql_auto_is_null is 0
as of MySQL 5.5.3, and 1 for earlier versions.


2013年4月11日木曜日

cronでエラーをログに残しつつメールも出す方法

UNIXの部屋 コマンド検索:tee (*BSD/Linux)
あるコマンドの出力をパイプを使って他のコマンドに渡したいが、画面にも表示したい、という場合、tee を使う。

やりたかったのはこれだ!

というわけで、PHPを実行して標準出力とエラー出力をログに残しつつ、エラーがある場合はメールも出す方法。(未検証)
(php test.php 1>>test.log) 2>&1 | tee -a test.log



シェルスクリプトでコマンド実行の戻り値がゼロでない場合のみ処理を実行する方法

シェルスクリプトのエラー処理を見やすく書く - ablog
みたいに書くと、コードが見づらいのでなんとかならないかと思っていたら、

ワンライナーですっきりかける!

2013年4月10日水曜日

cronでログファイルにタイムスタンプを入れる例

crontabで変数を使用するときの注意 - 今日もスミマセン。
crontabの中では、以下のようにコマンド実行時の環境変数を定義してあげることができる。

これを使って、こんな感じに日時を入れる?(終了日時まで入れればより丁寧。)
LOG_PATH=/path/to/log/foo.log
0 5 * * * date 1>>$LOG_PATH; php /path/to/app/foo.php 1>>$LOG_PATH 2>&1

2013年4月8日月曜日

WinSCPで Windowsのフォルダと Linuxのディレクトリを完全自動同期

nooopes blog: Webアプリ開発者だったら使っておくべきWinSCPの自動同期機能
WinSCPのミラーリング機能を使うと、ローカルのファイルの変更を監視して、自動でサーバにファイルを転送してくれます。

こんな機能があったのか。
削除にチェックを付けると、問答無用で削除されるので少し怖い...。削除だけは手動でやった方がいいかも。(忘れずに削除できるなら。)

WinSCPで Windowsのフォルダと Linuxのディレクトリのファイルを同期する方法

WinSCPの自動同期機能を使って、作業効率UP | てくんのプログラミングブログ
このWinSCPは、GUIで動作し、ドラップアンドドロップによって、コンピュータ間でファイル転送をする用い方が基本的な用い方ですが、実はWinSCPはコマンドでも動きます。(この時の「コマンド」の意は「windowsのコマンドプロンプト」の意味です。)
そして、そのコマンドで動作した時の自動同期機能が便利なので紹介します。


あとは自動でUpdateされれば完璧なのだが

yumで sambaをインストールする例

Samba を使ってファイル共有してみる | レンタルサーバー・自宅サーバー設定・構築のヒント
今回は、古くからWindowsネットワーク機能をUNIX 系 OSで実装した Samba を使ってファイルの共有を行ってみます。

メモ

yumで OpenVPNをインストール

OpenVPN を使って仮想LAN接続してみる | レンタルサーバー・自宅サーバー設定・構築のヒント
今回は、そのリスクを回避する1つの方法である暗号化技術(SSL/TLS)を用いたVPNの象徴的な OpenVPN を使って仮想LANを構築してみたいと思います。

メモ

2013年4月5日金曜日

Googleカレンダーで第1営業日を指定する方法?

無さそうだけど実はあるのかと思ったら、

Google カレンダーと Outlook - Google Apps ヘルプ
週の最初の平日または週末の最初の日を指定して予定の繰り返しを設定する。そのような会議を設定するには、Outlook を使用して設定してください。

なんじゃそりゃ

2013年4月4日木曜日

mod_pagespeedで Google Analyticsのスニペットを自動挿入

Insert Google Analytics - mod_pagespeed — Google Developers
The 'Insert Google Analytics' filter is enabled by specifying:

ModPagespeedEnableFilters insert_ga
ModPagespeedAnalyticsID <Analytics ID>

in the pagespeed.conf file.

これは便利そう。bodyの終了タグの直前に挿入された。

試しに元のページにGoogle Analyticsの同じIDのスニペット(しかもカスタマイズされたもの)を入れたところ、自動挿入はされなかった。重複しないように賢く判断しているようだ。

今時の開発ツールを使いこなしていた外国人さんの話

rinu's blog
1ヶ月くらい一緒にお仕事している外国人プログラマさんを観察した記録です。

探しやすくするためにメモ。

mod_pagespeedのインストール方法

mod_pagespeed を試してみました | dogmap.jp
以下、インストール方法。

と言っても、公式サイトに書いてある通りなんですが…
CentOS 64bit版の場合は、以下の通りです。

Googleの公式サイトに書いてあるやり方をコピペしたら駄目だった(詳細は見てない)けど、こちらのやり方でいけた。

キャッシュのディレクトリは /var/cache/mod_pagespeed になった。

MySQLの character_set_server

仙石浩明の日記: 文字化けしていなくても MySQL 内の文字コードが正しくない場合がある
「character_set_server」 が latin1 になっていて気持ち悪いかも知れないが、 このシステム変数は新しく database を作るときのデフォルトを設定するものなので、 (latin1 な database は金輪際作らないというのでも無い限り) 変更する必要はない。

Amazon EC2のAmazon Linuxにyumで入れたMySQL(5.5)のcharacter_set_serverがlatin1になっているが、DBの新規作成時のデフォルトの文字コード設定だけだそうなので、DB新規作成時に文字コードを(下記のように)指定すれば影響はないみたい。
CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8 */;

その他はみんなUTF-8になっていたのだけど、my.cnfを見ても文字コード設定が書いていないのはなぜだろう...?(MySQLそのもののデフォルトがほとんどUTF-8になった?)

2013年4月3日水曜日

Amazon RDSに MySQL Query Browserで SSL接続する際の参考サイト

Amazon RDS に SSL 接続する (CUI / MySQL Workbench 編)
(RDSの公開鍵のダウンロードリンクと、暗号化接続の確認SQL。)

MySQLサーバにSSLで接続する | guro_chanの日記
(下の方の画像にMySQL Query Browserの設定のスクリーンショットがある。)

ブログ アーカイブ

カテゴリー