2013年3月13日水曜日

sftp でのポート指定

sftp コマンドでポート番号を指定してリモートサーバに接続する際のオプションは -oPort=xxxx ですが、CentOS では指定の順序が大事です。

% sftp -oPort=xxxx [Remote Server]
は OK ですが、

% sftp [Remote Server] -oPort=xxxx
は NG!

2013年3月1日金曜日

Google アナリティクスのデータをシステムにインポートする処理を自動化する

いつの間にか正式にリリースされていました。

https://developers.google.com/analytics/devguides/reporting/core/v2/gdataAuthentication?hl=ja#common_oauth


ということで以下は古い情報です。

Google API では OAuth 2.0 で認証を!と Google では推奨しているわけですが、Google Analytics (以下 GA)が Service Account に対応していなかったため、GA のデータをインポートする処理は人が オペレートせざるを得なかったのですが対応したようです。(まだ正式リリースではないようですが。)

ついに!と記事を見ながら作業したのですが、以下のエラーでつまづきました。

PHP Fatal error:  Uncaught exception 'Google_ServiceException' with message 'Error calling GET https://www.googleapis.com/analytics/v3/data/ga?ids=......(403) User does not have sufficient permissions for this profile.' in google-api-php-client-read-only/src/io/Google_REST.php:66

なになに?プロファイルに対する権限がない?
アナリティクスのユーザとして Service Account のメールアドレスを登録する際の権限は「管理者」でなければならないということだそうです。
前述のページの手順ではそのことに触れていません。
↓に小さく情報があるのを見つけました。

2010年8月17日火曜日

mysqldump: Got error: 1016: Can't open file: './mydb/mytable.frm' (errno: 24) when using LOCK TABLES

MySQL で夜間バックアップを行うスクリプトを作成して cron で実行。
翌朝確認してみると、次のようなエラーが...

mysqldump: Got error: 1016: Can't open file: './mydb/mytable.frm' (errno: 24) when using LOCK TABLES


情報がありました。
http://www.bigresource.com/Tracker/Track-mysql-L5WFTgJm/


table_cache might be too small.
Try --lock-tables=false on mysqldump.


なるほど、社内システムの夜間バックアップなのでロックは不要。
--lock-tables=fales で解決。

2009年8月29日土曜日

MySQL の geometry 型

座標をDBに入れるならこの geometry 型を使ってみよう!と思ってやってみたが、CakePHP だと座標の取得の度に 'fields'=>array('X(lnglat) AS X', 'Y(lnglat) AS Y') を書かなければならず面倒…

面倒くさがり屋の私はやはり lat decimal(9,6), lng decimal(9,6) のほうが扱いがはるかにラクということに気が付いた。
テーブルに geometry と decimal の両方のフィールドを設けて、当面様子をみることにしよう。

CIRCLE とか使って「半径 X km 以内のお店を検索」などのサービスをすることを目論んでいたが、MySQL ではまだ CIRCLE もDISTANCE もない。道は遠そうだな…

2009年8月20日木曜日

MySQL での DELETE WHERE EXISTS

MySQL では DELETE 時の WHERE 区で EXISTS, NOT EXISTS は指定できないらしい。

DELETE FROM tab_a a
WHERE NOT EXISTS
(SELECT * FROM tab_b b WHERE a.id=b.id)

みたいなのはSQLエラーとなります。
残念...

2009年8月19日水曜日

CakePHP の bake はとても便利

bake は超便利で使いまくりですが、bake が吐き出す view がとっても English なので日本語に変更しなければならずそこんとこが面倒。

bake が view を吐き出すのに使っているテンプレートは /cake/console/libs/templates/views にあるので、それらを直接書き換えてから bake するとかなり幸せ。


2007年11月24日土曜日

ユニクロ オンラインストア

いつの間にかユニクロのオンラインストアがリニューアルしてた。
画像いっぱいなのにすごい快適。
HTMLソース見てみようと思ったら表示されない!
どういう技術で構築されてるんだろう???
google でもその辺のことはヒットさせられなかった。