Category: 未分類

11月 01 2011

CodeIgniter xajax

CodeIgniter 2.0.3へXajax 0.6 beta1を導入する
まずダウンロードhttp://www.xajax-project.org/en/download/

解凍すると [test] [xajax_core] [xjax_js] [xajax_plugins] copyright.inc.phpがあるので
[xajax_core]を[xajax]に変更してapplication/libraries/へ配置
[xajax_js]を配置index.phpと同じ場所でOK
xajax/xajax.inc.phpをxajax/xajax.phpへ変更
xajax_jsを他へ配置した場合は735行目あたりの
$sJsFile = ‘xajax_js/xajax_core.js’;を環境に合わせて変更
その時はxajax/plugin_layer/xajaxDefaultIncludePlugin.inc.phpの280行目あたりに
array($this->_getScriptFilename(‘xajax_js/xajax_core.js’), ‘xajax’);
という部分が4つほどあるのでこのパスも変更

class Test extends My_Controller {
  function __construct() {
    //ライブラリを読み込む
    $this->load->library('xajax');
    //ここにxajaxで実行したいfunctionを登録('test_function')
    $this->xajax->register(XAJAX_FUNCTION, array(&$this, 'test_function'));
    $this->xajax->processRequest();
  }

   function index(){
    //登録functionの呼び出しはxajax_をつける
    echo '$this->xajax->getJavascript(base_url().'assets/');
    echo '
';
  }

  // xajaxで呼び出されて
  //id="test_area"へ'xajaxで表示'を表示
  function test_function(){
    $res = new xajaxResponse();
     $res->assign('test_area', 'innerHTML', 'xajaxで表示');
  }

≪参考サイト≫
CodeIgniterでxajaxを利用する方法
CodeIgniter 1.6.3 と xajax 0.5 rc2 を組み合わせてみた

8月 10 2011

PayPal テスト sandbox

まずhttps://developer.paypal.com/ここで通常のPayPalとは別に開発用アカウントを作る。
この開発用アカウントはテストアカウント管理用のアカウント。

開発用アカウントの配下に最低二つ、売り手側のビジネスアカウントと買い手側のパーソナルアカウントを作成する必要がある。
この辺りアカウント作成はPaypal Sandbox(テスト環境)の利用方法
PayPal(ペイパル)テスト環境 Sandboxを参考にさせていただきました。

続いて事業設定から支払いソリューションのセットアップをしなくてはいけないのだけど「今すぐ開始」をクリックすると [500 Internal Server Error]……。。。。。

こちらのサイトで本番用のURLをsandbox用のURLに書き換えて無理やり追加するというやり方を拝見した。Paypal Sandboxの陥りがちな罠
sandboxでログインした状態で以下にアクセスすうるとPayPal for Digital Goodsが追加される。
https://www.sandbox.paypal.com/jp/cgi-bin/?cmd=_product-go&product=additional_payment&signup_profile=dg&fli=true

6月 23 2011

php5.3 で PEAR をyumでインストール 

# yum install php-pear --enablerepo=remi
5月 11 2011

Photoshop ラベル 刻印

  • 新規レイヤー1で余白を残して下地の色を塗る
  • 今回はフィルター>変形>波形や波紋やジグザグなどで適当に形をアレンジ
  • 文字を載せる新規レイヤー2を作る
  • 文字を載せたい部分を選択して色を塗る。下地より薄めが良い。これも下地と同じように形をアレンジ
  • 文字載せ部分の新規レイヤー2をレイヤー>ベベルとエンボスで凹んだようにする。
    べベル(外側)やエンボスで下にして深さなどを調整
  • 文字ツールで文字を載せる色は下地と同じが良いかも、まぁ適当に。そして文字もベベルとエンボスで加工
  • 新規レイヤー3を作り、レイヤー全体に色を塗る。青っぽいグレーだと金属っぽい
  • 新規レイヤー3にフィルター>ピクセレート>メゾティントの短いラインなどで汚れっぽのをつける
  • 新規レイヤー3をオーバーレイやソフトライトにしたりすれば、それなりに
    • レイヤー1をベベルとエンボスで凸にするのも良い感じ。

5月 02 2011

MySQL スレーブをマスターに変更する

まず現在のマスターのデータが更新されないようマスターへの書き込みをロックする
旧マスター

# mysql -u root -p
Enter password:  

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.00 sec)

データが全てスレーブ側で更新されているかを確認する。
複数のスレーブがある場合は全てで確認
旧スレーブでMySQLへログインしてSHOW PROCESSLIST\G

# mysql -u root -p
Enter password:  

mysql> SHOW PROCESSLIST\G
 *************************** 1. row ***************************
     Id: 15
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 36062
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 16
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 36090
  State: Slave has read all relay log; waiting for the slave I/O thread to update it /*Slave has read all relay logとあればOK*/
   Info: NULL
・・・・・・・・・・・
・・・・・・・・・・・
3 rows in set (0.00 sec)

続いてマスターへ変更する旧スレーブでスレーブ設定を解除する

# mysql -u root -p
Enter password:

レプリケーション用のユーザーを作る
Mysqlレプリケーション

mysql > STOP SLAVE; /*スレーブのIOスレッド停止*/
mysql > RESET MASTER; /*マスターをリセット*/
mysql > SET GLOBAL read_only = 0; /*read_onlyを解除*/

/*binのファイルとpositionを確認*/
mysql> SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      107 |              |                  |
+------------------+----------+--------------+------------------+

新マスターのMySQLを再起動

# service mysqld restart

スレーブでCHANGE MASTER TO

# mysql -u root -p
Enter password:
mysql> CHANGE MASTER TO
    -> MASTER_HOST='新マスターのIP',
    -> MASTER_USER='user名’,
    -> MASTER_PASSWORD='パスワード',
    -> MASTER_LOG_FILE='mysql-bin.000002 ',
    -> MASTER_LOG_POS=107;
 

≪参考サイト≫
MySQLレプリケーションにおけるフェイルオーバー