Archive for 12月, 2011

 

resolv conflict when git stash pop | Git

12月 27th, 2011

conflictしたので、mergeしてみる。
git stash
git pull
したら、conflictと出たので
該当ファイルはこんな感じに。

<<<<<<< Updated upstream
protected static $lang_codes;
public static function initLangCodes(){
if(empty($lang_codes))
self::$lang_codes = array( ‘en’,'ja’,'cn’,'fr’ );
}
public static function getLangCodes(){
self::initLangCodes();
return self::$lang_codes;
}
public static function checkLangCode($code){
self::initLangCodes();
[...]

Read full article | コメントは受け付けていません。

PDOのdsnにcharset が必要だった。|mysql php

12月 26th, 2011

mysql:host=slave.mysql.tranode.com;dbname=tranode;port=99999;charset=utf8;
みたいな。
charsetを指定しないと文字化けした。phpからだけ見てるとわからないけど
mysqlから直接見ると文字化けしてたので、文字コードが間違えて入ってるっぽい。

Read full article | コメントは受け付けていません。

iphone app 2011 memo

12月 18th, 2011

The top 20 iphone and ipad app 2011
http://techcrunch.com/2011/12/17/the-top-20-best-iphone-and-ipad-apps-of-2011/
2010 : 去年はinstgram
http://techcrunch.com/2010/12/26/top-40-iphone-apps-2010/
Apple 2011 : appleは、今年instgram ( itunes rewind 2011 .ゲームはTiny Tower
http://techcrunch.com/2011/12/08/apple-picks-instagram-as-the-iphone-app-of-the-year/

Read full article | コメントは受け付けていません。

skip slave sql error | mysql

12月 15th, 2011

slaveでsqlエラーが出ると
mysql > show slave status;

Slave_IO_Running: Yes
Slave_SQL_Running: No

Last_Errno:
Last_Error: Error ‘xxx’

となりました。
(原因はいろいろですが、単純な場合は、slave側でstart slaveの前に何かsqlを実行してそれが邪魔しているとか
飛ばしても良いエラーの場合は、

stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
start slave;

でスキップします。
====
データがある状態からstart slaveするときは。
master のポジションを確認

FLUSH TABLES WITH READ LOCK; // マスターの書き込みを停止。& dump & copy

show master status; // file positionを確認
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 | [...]

Read full article | コメントは受け付けていません。

can not use current_timestamp on 2 timestamp columns | mysql

12月 14th, 2011

create table でこれがエラーになる。

`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

http://dev.mysql.com/doc/refman/5.5/en/timestamp.html
あってそうだけど、2個 timestamp型にCURRENT_TIMESTAMPを使えないらしい。

テーブル内の1つの TIMESTAMP カラムに対して、現在のタイムスタンプをデフォルト値と自動更新値として指定する事ができます。現在のタイムスタンプを、カラムを初期化するデフォルト値にする事、または自動更新のデフォルト値にする事、またはその両方にする事が可能です。現在のタイムスタンプを、1つのカラムを初期化するデフォルト値にし、別のカラムの自動更新のデフォルト値にする事は不可能です。

ということで。

`created_at` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00′,
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

instert into で NOW() を入れてみる。

mysql> select * from users;
+———+——–+——+———-+———————+———————+
| id | authid | mail | [...]

Read full article | コメントは受け付けていません。

generate id by procedure | mysql

12月 14th, 2011

作成時は、delimiter // で ; を変えておく必要があります。
autoincrementのIDを作成して返します。

mysql > delimiter //
CREATE PROCEDURE check_user (IN s_id VARCHAR(255), OUT r_id INT(11))
BEGIN
SELECT id INTO r_id FROM users WHERE authid=s_id;
IF r_id is NULL THEN
INSERT INTO users( authid ) values( s_id );
SELECT id INTO r_id [...]

Read full article | コメントは受け付けていません。

mysqld_multi で複数起動&レプリケーション mysql_safe | mysql 5.5

12月 13th, 2011

とりあえず、2つ動かして、master-slaveをテスト環境で作る。
適当に入れて適当に起動したら。
まだ作ってませんがTRANODEもよろしくお願いします。
user tranodeで動かします。
/etc/my.cnf

[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user=root

~/.my.cnf

[mysqld1]
datadir = /home/tranode/data/my/data1
socket = /home/tranode/data/my/mysql1.sock
pid-file = /home/tranode/data/my/mysqld1.pid
port = 50431
server-id=1
log-error=/home/tranode/log/my/mysqld1.log
sync_binlog=1
log-bin=mysql-bin
log-bin-index=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin

# slave
[mysqld2]
datadir = /home/tranode/data/my/data2
socket = /home/tranode/data/my/mysql2.sock
pid-file = /home/tranode/data/my/mysqld2.pid
port = 50432
server-id=2
master-host=127.0.0.1
master-port=50432
master-user=tranode
master-password=********
log-error=/home/tranode/log/my/mysqld2.log
read_only
log-slave-updates
log-bin=mysql-bin
log-bin-index=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin

$ mysqld_multi start –log=/home/tranode/log/my/multi.log

* root以外で実行する場合logを指定しないとエラーが出る。
WARNING: Log file disabled. Maybe directory or file isn’t writable?

111213 19:21:17 [Note] Plugin ‘FEDERATED’ is disabled.
/usr/libexec/mysqld: Table ‘mysql.plugin’ doesn’t exist
111213 19:21:17 [ERROR] Can’t open the [...]

Read full article | コメントは受け付けていません。

gettextで他言語対応 | php

12月 11th, 2011

index.phpに以下のように

<?php echo _(’Here is top page.’); ?>

xgettext index.php –from-code=utf-8 -o messages.pot

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE’S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid “”
msgstr “”
“Project-Id-Version: PACKAGE VERSION\n”
“Report-Msgid-Bugs-To: \n”
“POT-Creation-Date: 2011-12-11 18:13+0900\n”
“PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n”
“Last-Translator: FULL NAME \n”
“Language-Team: LANGUAGE \n”
“MIME-Version: 1.0\n”
“Content-Type: text/plain; [...]

Read full article | コメントは受け付けていません。

dns cache flush | mac

12月 7th, 2011

gmailだけDNSエラーで繋がらなくなったので

$ dscacheutil -flushcache

したら
nslooku mail.google.com
のアドレスが変わりました。
で繋がるようになりました。

Read full article | コメントは受け付けていません。