2013年8月27日火曜日

Titanium Studioで"L"のWarningを消したい

titanium_validator-warningTitanium Studioのバリデーション機能を使って構文チェックしているときに"L"(Titanium.Local.getString()のショートカット)がずっとWarning表示されるので非表示するやり方を調査。

環境: Titanium Studio 3.1.2

まずはバリデーション機能を有効にするやり方

Titanium Studio → Preferences → Studio → Validation

JSLint Validatorにチェックを付ける。

image

プロジェクト内を全て再チェックしたい場合は、Project → Clean...

 

'L' was used before it was defined.

がたくさん表示されて見にくいので、フィルターの設定をする。

Titanium Studio → Preferences → Studio → Validation

JSLint Validatorを選択して、下記Filterを追加。「Missing 'new'.」はお好みで。

Missing 'new'.
'L' was .+

image

Strictモードで書いていると未定義の変数があるだけで落ちてしまうので(Android)、Titanium Studioのバリデーション機能は便利。

ファイルの先頭にJSLintのオプションを記述することも出来る。詳細はJSLint: The JavaScript Code Quality Tool

/*jslint eqeq:true, nomen:true, devel:true, plusplus:true*/

 

< Related Posts >

2013年8月25日日曜日

猫を向かい入れるために猫用品を揃える

mei_korosukeシンガポールから帰国して、結婚もしたし、念願の猫ちゃんを向かい入れることにした。

環境: 1LDK(ペット共存型マンション), 先住犬1匹(メス:トイプードル:2歳)

向かい入れたのは仔猫2匹(オスとメスの兄弟:雑種:生後4ヶ月)。

お世話になったのが、犬や猫の保護活動をしている下記NPO団体

譲渡会を定期的に開催しているので、見学に行くといろいろと丁寧に教えてくれる。詳しくは下記で。

今回私が用意(購入)したものを参考程度に載せてみる。

ジャンル 商品 コメント
ケージ

41fqV4Mx0QL._SL500_AA300_

ペットケージ 2段 PEC-902 ホワイト【アイリスプラザオリジナル】

8480円

結構でかい。
鉄製で丈夫だけど、プラスチックの方がシェルターでも使ってるし良かったかも。
プラケージ 810(1段)・812(2段)・813(3段) ベージュ・イエロー・ピンク
Amazonでも売ってる。
トイレ

31x9sVNPdzL._SL500_AA300_リッチェル コロル ネコトイレ 48 ブラウン

1029円

ケージ内用に購入。
問題なく使ってくれたし満足
トイレ 31ncJ x9 GL._SL500_AA300_散らかりにくいネコトイレ CNT-500 ライトブラウン

3781円
リビング用に購入。
先住犬がいても安心してトイレ出来るように。
一応使ってくれるけど、まだリビングには設置してない。
猫砂 41S1NjLXEnL._SL500_AA300_ペグテック トフカスサンドK 7L × 4個【まとめ買い ケース販売】

3120円
猫砂としては問題なし。
しばらくするとおしっこの臭いがきつくなるけど、猫砂の下に重曹を敷いたらかなり軽減されるようになった。
爪とぎ

51EPz1qZ66L._SL500_AA300_mju: (ミュー) ガリガリサークル

1398円

下にタオルを敷いて、ほぼベット化してる。
ボランティアの預かりの人も使ってた。
爪とぎ

41GPueziJrL._SL500_AA300_mju: (ミュー) ガリガリウォール

1980円

これもよく使ってくれてるので買って正解。
周りが噛んで壊すのでガムテープで補強してる。
爪切り

41prINgSYrL._SL500_AA300_ドギーマン ハニースマイル 猫用カーブ爪切り

558円

抱っこするときに前足を触るようにして慣れさせてる最中。
爪の出し入れも素早く出来るように練習中。
フード皿 31rS0B-cGmL._SL500_AA300_ヘルスウォーター フードボウル M

1785円 x 2
2個購入。
大きさもちょうど良かった。
水飲み皿 31XjCSqUZBL._SL500_AA300_ヘルスウォーター ボウル M

1890円
ちょっと大きめ。
Sサイズにすれば良かった。
ネコタワー 31BQiNdkPBL._SL500_AA300_キャットウォーク

13610円
リビングに設置。
猫が登ると揺れるけど、本猫たちは気になってない様子。
見た目的にもグッド。
首輪 img58893693HomeChoker Drop 1cm幅チョーカー(バックルタイプ)

1550円 x 2
名前と電話番号を入れてくれるので、迷子札にもなる。
これ書いてる時点ではまだ到着してない。

51MQ 8ziFkL._SL500_AA300_ナチュラルバランス ウルトラ プレミアム キャットフード 6.3ポンド 2.85kg

3110円

ボランティアの人も使ってるフード。
最初の印象は、臭いがきつい。
食い付きはいい。
あとで購入した下のフードに切り替えるか考え中。

31ziKFvNHYL._SL500_AA300_ヒルズ 猫用 c/d マルチケア ドライ 4kg

4500円

塩分控えめ。
値段も手頃。

トイレ 154521-1

ユニチャーム1週間消臭・抗菌デオトイレ フード付き本体セット (アイボリー)

1680円

8月追加購入。
おしっこの掃除は劇的に楽になる。

猫のトイレ臭い対策でデオトイレを買ってみる

合計するとだいたい5万円ぐらい。

 

当初は仔猫1匹だけ引き取ろうと思っていたけど、4匹の兄弟のうち2匹残っていたので、1匹にするのは可哀想だと思い(ボランティアの人の説得もあり)2匹引き取ることにした。

実際飼い始めてみると、仕事に出ているときに兄弟で遊べて寂しい思いをさせずに済むので正解。

名前は
三毛(メス)が「メイ」
黒(オス)が「コロスケ」

今後、このブログにたびたび登場する予定。

 

< Related Posts >

2013年8月9日金曜日

XdebugをInstallしてError時の呼び出し履歴を表示

xdebug_installWordPressの開発していると、よく分からないタイミングでWarningやNoticeが出力されることがあるので、これをトレース出来るようにxdebugを導入したときの覚書。

環境: CentOS 5.9, nginx 1.4.1, php 5.4.17, Xdebug 2.2.3

インストール自体は簡単。
# pecl install Xdebug
# vi /etc/php.d/xdebug.ini

zend_extension=/usr/lib64/php/modules/xdebug.so

phpinfoを確認

image

これだけでWarningとNoticeが起きた際にバックトレース(呼び出し履歴)してくれる。

image

Ajax通信やアプリからのリクエストに応答している際は、エラーログを監視しておく。
# tail -f /var/log/php-fpm/www-error.log

 

IDEからリモートデバッグしようと思ったけど、時間がないのでまた今度。

 

< Related Posts >

2013年8月8日木曜日

[Titanium Mobile] Strict ModeとJSLintで統一性のあるCoding

titanium_strict-mode jslintTitanium Mobileの開発に慣れてきたところで、strict modeとJSLintを利用してコードを綺麗にしたときの覚書。

環境: Titanium SDK 3.1.1.GA

strict mode(厳格モード)はJavaScriptを書くときに曖昧な記述がエラー扱いになる。詳しくは下記。

Titanium SDK 3.0から対応しているらしい。使い方はファイルの先頭か関数ごとに宣言する。

(function() {
    'use strict';
    // something
}());

 

JSLintはJavaScriptの文法チェックと非推奨の書き方がされていないかチェックしてくれる。

Titanium Studioにも標準で実装されているので、Titanium Studioで開発していると自動的にWarningが表示される。

ただ、アンダーバー(_)で開始される関数名を許可する場合などは、ファイルの先頭でオプションを指定する必要がある。オプションの詳細は公式サイトで。

これらを踏まえ、一つの画面を実装するためのモジュール(ファイル)は下記のような感じにした。

 

< 2014/06/03 Modified >
この書き方はイケてない。今はNode.jsのCommonJSモジュールのように書いている。

 

/**
* Description
*/
/*jslint eqeq:true, nomen:true, devel:true, plusplus:true*/
module.exports = (function() {
    'use strict';

    /**
     * @constructor
     */
    var Index = function($, params) {
        var self = this;

        this.$ = $;

        //
        // Generate Window
        //
        this.window();

        //
        // Get data
        //
        this.win.addEventListener('open', function() {
            self.getData();
        });

        return this.win;
    };

    /**
     * Generate Window
     */
    Index.prototype.window = function() {
        var Window = require('/ui/common/window');

        this.win = new Window(this.$, {
            title: L('index')
        });
    };

    /**
     * Get data
     */
    Index.prototype.getData = function() {
        var self = this;

        //
        // Get data from server
        //
        this.$.network.post('get_data', {}, function(res) {
            self.handleDataDownloaded(res);
        });
    };

    return Index;
}());

 

「$」はアプリケーション全体で使いまわすグローバルオブジェクト。必ずオブジェクトを生成するときに渡すようにしてる。

普段はxyzzyでコーディングして、たまにTitanium StudioでWarningが出てないか確認している。

綺麗にしたあとは若干アプリの挙動もサクサクになった感じがする。

コーディング規約は公式サイトのを参考に。

 

< Related Posts >

2013年8月7日水曜日

[xyzzy]JavaScript用にjava-modeのインデント量を調整

xyzzy_indentTitanium Mobileの開発でJavaScriptをxyzzy上でコーディングしていると、オブジェクトを記述するときのインデント量が気になったときの覚書。

環境: Windows 8 64bit 英語版, xyzzy 0.2.2.235

前提条件としてインデントは「タブ」でタブの幅は「4」に設定済み。

;; タブの幅は共通設定→表示で設定する
(setq *java-indent-tabs-mode* t)

デフォルトのjava-modeだとオブジェクトの要素が2つ分のスペースでインデントされる

hoge = {
  name: value
  };

これを

hoge = {
    name: value
};

に設定する。.xyzzyやsiteinit.lに下記を記述。

(add-hook 'ed::*java-mode-hook*
          #'(lambda ()
              (setq java-continued-statement-offset 0)
              (setq java-label-offset 0)))

 

Titanium Mobileの開発は公式のコーディング規約を参考に。

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives