カテゴリー : 2013年 11月

[Android] Debug build(デバッグビルド)で課金をテストする方法

Android アプリ開発にて、Debug build(デバッグビルド)で課金をテストする方法をメモ。

まだ試してないですが、リンク先のようにビルド時のkeyをリリースビルドのものに変更して apk を署名付きビルドすれば良いらしいです。

Android デバッグビルドでもアプリ内課金をテストするには? » Tech Blog

これで、DEBUGビルドでも Google Play ストアに「アルファ版テスト」or「ベータ版テスト」で、課金処理をテストすることができそうです。

[livedoor Blog] 独自ドメインの設定 〜 blog.livedoor.jp/bakorer → blog.bakorer.com

折角、ライブドアブログの有料プランを利用しているので、特に理由はないですが独自ドメインを設定しました。

個人ブログ(Not技術ブログ)のURLが blog.livedoor.jp/bakorer から blog.bakorer.com へ変更しています。

livedoor-blog-domain-config

設定後の挙動と、リダイレクト時のステータスコードをlivedoorのサポートに問い合わせたので、その回答をメモ。

基本URLから独自ドメインへのリダイレクトは自動的にされますが、逆の流れにはリダイレクトがされませんのでご注意いただきますようお願いいたします。
独自ドメイン・サブドメイン等で検索サイトに登録された検索結果の場合、ブログのURLを基本URLに戻した場合は、検索結果はデッドリンクとなり、ブログの表示がされません。

・可能
基本URL→ドメイン・サブドメイン

・不可
ドメイン・サブドメイン→基本URL

また、リダイレクトがされた際のステータスコードは301になります。

[Shell Script] CPUコア数を取得するコマンド

CPUコア数を取得するコマンドをメモ。

$ cat /proc/cpuinfo | grep processor
processor	: 0
processor	: 1
$ echo `grep -c ^processor /proc/cpuinfo`
2

参考記事

逆引きUNIXコマンド/CPUコア数を調べる – Linuxと過ごす

[Node.js] Mongoose で簡易的な auto increment を実装する

Node.js + Mongoose で auto increment の実装をメモ。

/**
 * 新規登録時に使う code を取得する
 *
 * @param {Function} callback(error, code)
 **/
var getNewCode = function (callback){
  var new_code = 1;
 
  Books.findOne({}, {}, {
    sort: {
      code: -1
    }
  }, function(error, doc){
    if (error) {
      console.error(error.stack || error);
      return callback(error);
    }
 
    if (!doc || !doc.code) {
      return callback(null, new_code);
    }
 
    new_code = doc.code + 1;
 
    return callback(null, new_code);
  });
};

本当は参考記事のように別途、モデルでシーケンシャルな code (id) を管理した方がいいのでしょうけど、そこまでは必要ないかなと用途で書きました。

連番を管理するためのモデルを作るとデータも線形的に増えるし、メンテも面倒になりますしね。


参考情報

Two hats: Mongooseでauto incrementの実装

[Node.js] base62-node が base62.js へリネームされていた

npm モジュール base62-node が base62.js へリネームされたようで、使い方もちょっと変わっていたのでメモ。

base62-node

base62-node では new で新しくオブジェクトを生成して、使ってました。

> var Base62 = require('base62-node');
> var base62 = new Base62('09azAZ');
> base62.encode(123);
'1Z'

base62.js

それが、base62.js だと createConverter() メソッドでコンバーターのインスタンスを受け取るという使い方に変更されていました。

> var base62js = require('base62.js');
> base62js
{ table_: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
  createConverter: [Function: createConverter] }
 
> var base62 = base62js.createConverter();
> base62.encode(123);
'1Z'

以上です。