しろログ

日々巡り会ったものの感想・レビュー

カテゴリー: IT・コンピューター (page 2 of 15)

Let’s EncryptでSSL

Appleが2017年の1月から全てのアプリでATSを必須にするっぽい、ということで今更ながらSSL対応することに。
以前から目をつけていた、Let’s Encryptを使ってみようということで、そのメモです。

Let’s EncryptはInternet Security Research Group (ISRG) が提供している無料の認証局です。

すでに独自ドメインにてwebサーバーが稼働しているサーバー(CentOS6+apache2.2)を対象に一気にSSL化します。

cd /usr/local/
git clone https://github.com/certbot/certbot

cd certbot/
./certbot-auto

./certbot-auto certonly --webroot \
-w /path/to/www \
-d example.com \
-m info@example.com \
--agree-tos

これで
/etc/letsencrypt/
以下に必要なファイルができるので、httpd.confに

SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

などと加えて完了。後は、
・ファイヤウォール等で443を開けてやる
・apacheにmod_ssl等が無ければ加える
・httpd.confで443をLISTENする
あたりを忘れずに。

あと、証明書の有効期限が90日程度なので、定期的に更新する必要があるようです。

更新のテスト

/usr/local/certbot/certbot-auto renew --force-renew --dry-run

crontabに登録

crontab -e

00 05 01 * * /usr/local/certbot/certbot-auto renew --force-renew && /etc/init.d/httpd2 restart

割と簡単♪

安全性のチェックなど
SSL Server Test – QUALYS SSL LABS

メジャーなHTTPサーバー向けに最適なSSL configを生成してくれる
Mozilla SSL Configuration Generator

参考
Let’s Encrypt サーバー証明書の取得と自動更新設定メモ – あぱーブログ
Let’s Encrypt で手軽に HTTPS サーバを設定する – Qiita
Let’s Encrypt の使い方
Webに接続するiOSアプリは2017年1月からHTTPSの使用が絶対条件になる、デベロッパーはご注意を = TechCrunch

PHP7 + cake

なんとなくPHP7とcake phpを用意するだけのメモ

環境
CentOS 6.7
apache2系
mysql5系

ICU(intl用)

yum install libicu libicu-devel

PHP7

./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-opcache \
--enable-intl \
--with-zlib-dir

composer(無い場合)

curl -s https://getcomposer.org/installer | php
cp /usr/local/src/php-7.0.0/composer.phar /usr/local/bin/composer

cake

composer create-project --prefer-dist cakephp/app /path/to/app_name

Apache Cordovaを試す

クロスプラットフォーム開発ツールCordova。前身はPhoneGap。

いわゆる側アプリ・ハイブリッドアプリと呼ばれるタイプで、アプリに埋め込んだブラウザ内でHTML5/CSS/JavaScriptを動かすよー、というものです。
出た当初は当然もっさり感しかなくて、使い物にならないという印象しか無かったのですが、その後も開発が続けられていて、パフォーマンスが改善してきたようなので、また試してみようと思った次第。
macで試します。

nodebrewのインストール

$ curl -L git.io/nodebrew | perl - setup
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.bash_profile

Node.jsのインストール

$ nodebrew install latest
$ nodebrew use latest

確認

$ node -v
$ npm -v

Cordova

$ npm install -g cordova
$ cordova -v

Cordova導入は以上でOK。

プロジェクトを作って、対応プラットフォームを追加(ここではAndroid/iOS/Webに対応。他にもFireOSなどいろいろ)

$ cordova create /path/to/projectDir/MyApp com.example.MyApp MyApp
$ cd /path/to/projectDir/MyApp
$ cordova platform add android
$ cordova platform add ios
$ cordova platform add browser

なお、androidなどは事前にSDKをインストールし、パスなどを通しておく必要があるかと思います。
cocos2d-xなどを導入していれば、このあたりは問題なさそう。

全部ビルド
$ cordova build
Androidだけビルド
$ cordova build android
リリースビルド
$ cordova build --release

iOSを、シミュレーターで確認したい場合は入れておく

$ npm install -g ios-sim

実行

$ cordova run android
$ cordova run ios
$ cordova run browser

プロジェクトディレクトリにある
platoforms/android
platforms/ios
の中が、Android StudioやXcodeで開ける構成になっているようです。
iOSなどは普通にMyApp.xcodeprojをXcodeで開いて実行すれば実機確認が可能。

この辺のテイストはcocos2d-xなんかともかなり似てますね。
2〜3年前と比べて手軽になったなぁ。

参考:
nodebrew で Mac の Node.js 環境をスッキリさせた
Macにnodebrew(node.js, npm)をインストールする手順
よく使うCordovaコマンド

Cocos2d-x – 無料でTexturePacker的な

なんとなく画像を連結してplistが欲しいだけなのに、TexturePackerを買うのはちょっと・・
という方向け。

libGDXのTexture packerを使って、連結画像とplistを作ります。
Cocos2d-JSでも使えます。

mac向けですが、javaとperlが動かせればwindowsなどでもOK。

libGDXのTexture packerについては、詳しいオプション含めて、
GitHub libgdx/libgdx – Texture packer
に書いてありまして、nightly buildでもrunできるんだぜ、みたいに書いてありますが、自分の環境では、

エラー: メイン・クラスcom.badlogic.gdx.tools.texturepacker.TexturePackerが見つからなかったかロードできませんでした

みたいな感じに・・

なのでreleaseビルドをダウンロードします。
libGDX – download
執筆時は libgdx-1.6.1.zip でした。

この中にある
gdx.jar
extensions/gdx-tools/gdx-tools.jar
の2つを適当なディレクトリにコピります。

あとはそこで

$ java -cp gdx.jar:dx-tools.jar com.badlogic.gdx.tools.texturepacker.TexturePacker 画像のディレクトリ [出力先ディレクトリ] [出力ファイル名]

を実行するだけ。

出力ファイル名を省略すると、pack.pngファイルと、pack.atlasというファイルが出来上がります。
このpack.atlasファイルを
libGDXのTexturePackerで作った.atlasファイルをcocos2dxで読み込める.plistに変更するperlスクリプト
で変換してやります。

具体的には上のページのスクリプトを convert-plist.pl などの名前で保存し、

$ perl convert-plist.pl /path/to/pack.atlas /path/to/output-dir

と叩くだけです。

これでpack.plistができます。

ついでにCocos2d-JSでの使用例も書いておくと、

resources.js内
var res = {
    ...
    pack_plist : "res/pack.plist"
};

scene.js内
cc.spriteFrameCache.addSpriteFrames(res.pack_plist);

var sprite = new cc.Sprite("#pack/元のファイル名.png");

でOK。(#pack/のところはlibGDXでの出力ファイル名次第で変わります)

詳しくはCocos公式も参照のこと。

Cocos2d-JS ドラッグでスプライトオブジェクトを移動

1本指ならまだしも、マルチタッチで移動って処理めんどいし、うまくいかん・・と思ってたら、簡単すぎる解答がオフィシャルであった。

cc.eventManager.addListener({
    event: cc.EventListener.TOUCH_ALL_AT_ONCE,
    onTouchesMoved: function (touches, event) {
        var touch = touches[0];
        var delta = touch.getDelta();

        var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP);
        var diff = cc.pAdd(delta, node.getPosition());
        node.setPosition(diff);
    }
}, this);

A faster way to add listener to cc.eventManager

短くするならこうかな

    onTouchesMoved: function (touches, event) {
        var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP);
        node.setPosition(cc.pAdd(touches[0].getDelta(), node.getPosition()));
    }
« Older posts Newer posts »

© 2019 しろログ

Theme by Anders NorenUp ↑