Re:

のあんのブログ

カテゴリ: 開発

そんな状況ってあまり無いしさー。


聞かなきゃ始まらないのはわかってても、何をどう聞けばいいかってことろ。

そもそも2台目以降の証明書登録がそもそもダメ(というか不要)な知識もないもんで、エラー出てるのは自分のやり方が悪いんだろうなーくらいに思ってた。


Mobile Dev. (iPhone + Objcetive C) ≫ 2台目以降のMacで実機テストをする方法
http://labs.karappo.net/iphone/index.php?itemid=274


結論はここに書いてあるとおりで、証明書の秘密鍵をメインマシンで個人情報交換(.p12)フォーマットで書きだして、それを実機インストールしたいマシンでキーチェーンに登録すればおk!ということだった。

チャットで聞いてみる…。

すると!書きだした鍵ファイルあるしw先に教えてくれよwww


無事実機へインストールすることができましたとさ。


ま、知識として蓄えられたので良かったんだと思う。



とりあえず、

libpng
libjpeg,
libtiff
zlib

&それぞれの-devel を入れておこうぜ( ・`ω・´)

Leptonicaをインストールしないとconfigureでおこられた。


Leptonicaをインストールしたらまたおこられた。

cannot find input file: `Makefile.in'

./autogen.shを実行した!


またなんか言われた。

cannot find macro directory `m4'  

$ mkdir m4


./configure
make
make install


done!

と行くと思ったら…makeでエラーが出て進まない←いまここ

strngs.h:1: error: stray '\357' in program


さて…。


追記:
含まれてるソースの一部(./ccutil/strngs.h)にBOM付きなファイルがあるせいでエラーになったようだ。

BOM削除して再度makeしたら通っタ━━━━(゚∀゚)━━━━!!


BOMのファイルを発見するコマンド

find . -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done

BOMナシに変換もできるのかもしれないけどできないってことで、発見したファイルをBOM表示させて編集にて取り除いて保存でおk!

BOM付きUTF-8テキストからBOMをとる - foursics blog
http://blog.foursics.jp/hironobu/2008/11/utf8-bom-removal.html

$ vim -b ./ccutil/strngs.h


GREE崩壊!良いシナリオだと思うな。



さて、ルールとか( ・`ω・´)


class MemberStatuses {}

const ERR_MEMBER_NOT_FOUND = 'Member Not Found!';

/**
 * phpDocumentor
 */
private $__memberStatus
protected $_memberId
public $memberName

private function __checkMember()
protected function _getMemberId()
final public function test()
public function index()

$sum = 0;
$memberCount = 0;
for($i = 0; $i < 10; $i++){
  $_n = $i + 1;
  $sum += $_n;
  $memberCount++;
}

echo $sum; # 55
echo $memberCount; # 10

echo json_encode(array('sum' => $sum, 'member_count' => $memberCount));

<script>
$(function(){
  var params = {
    page: 1,
    member_id: 123
  };
  var getData = function(response){
    var _data = $.evalJSON(response); // with jquery.json
    console.log(_data.sum);
    console.log(_data.member_count);

    $('#contents').append(
      $('<span>').addClass('member-count').text(_data.member_count)
    );
  };
  $.post('/controller/action', params, getData);
}
</script>

<style>
#contents {
  background-color: orange;
}
.member-name {
  font-size: x-large;
}
.member-count {
  color: red;
  font-weight: bold;
}
</style>

<div id="contents">
Welcome <span class="memeber-name">Nor.</span>
All of member counts: </div>



内部変数に関してはLCCで、外部変数やビューなどで扱う変数に関してはアンダースコアで小文字統一がイイと思うんだ。

扱いと流れが明確で原因の特定もしやすいだろうし。

プライベート変数とメソッドはアンダースコア2個、プロテクトは1個ではじまる。

ローカル変数も1個。 


id, class セレクタは小文字・ハイフン。


 

カテゴリがありながら、これまでのエントリー数4。

特に内容のないエントリーばかりだ…。


仕事での開発にはCakePHPが採用されていると噂は聞いているので、少し前から自宅でもCakePHPでの開発に切り替えました。

ポケットウォーズはCakePHPへシフトしてます。

というかイチから作り直してるのでシフトもクソもないんですが!


これまでCondeIgniterで開発してたわけですが、そのシンプルさは初めてフレームワークで開発するのに向いていると思います。

ちょっと便利さもあるっちゃあるので、初中級くらいの知識と中規模サービスくらいには十分。

ただ、あれもこれもやりたいと思ったりすると不便さも多少あったりして、でも日本語ドキュメントもそれなりに整備されてたりとっつきやすいよねって。 


Cakeに関してはやっぱりアソシエーションの便利さ(対して理解度の高さが求められる)。

慣れてしまえばとは言ったもので、DBとモデルがシンプルに気持ちよく、そして簡単に処理できてしまう点は賞賛できるっしょ!

hasOne, hasMany, belongsTo & contain

で、楽チン。


ざっくりと基礎習得は終わったので、つぎは楽しくするためのフェーズ&コーディングです。

しかし…ポケットウォーズのコアとなるカードに対して、その入手手段をどのように提供すればいいか悩んでます。

単純に仮想通貨で買ったら1枚ゲットっていうのはあまりにも愛がない。


どうしたものか。悩む。


※Userモデルをautoloadしてる前提
※クラスとプロパティへのアクセスサンプルが理解につながれば、っていうヒトコト


post_controller_constructorでAuthクラスのgetUserメソッドをフックする。


class Welcome extends MY_Controller {} が実行されるとき

CI_Controller -> MY_Controller -> Auth -> Welcome

class MY_Controller extends CI_Controller {
    public static $user_id = 0;
    public static $user = array();
    public $nickname = '';
    public function __construct(){
        parent::__construct();
        self::$user_id = (int)$this->input->post('user_id');
    }
}

class Auth {
    public function getUser(){
        $CI =& get_instance();
        $CI::$user = $CI->User->getUserById($CI::$user_id);
        $CI->nickname = $CI::$user['nickname'];
    }
}

class Welcome extends MY_Controller {
    public function index(){
        log_message('info', self::$user_id);
        log_message('info', var_export(self::$user, true));
        log_message('info', $this->nickname);
    }
}


↑このページのトップヘ