7月-19-2016 00-20-37

暑い季節になってきました。夏の自由研究ということで電子工作とIoTに挑戦したいと思います。
エアコンをリモートコントロール出来たら快適だなぁと思ったので、家をスマートホーム化してみました。

HomeKit と Homebridge

まずどうやってスマートホーム化するか。
iOSのHomekitというものを使えばiPhoneからHomekit対応した家電を操作することができます。
今後iOS10でHomeアプリも出て対応製品も出てくるはず、でも現在日本ではこれを扱った製品はあまり多くありません。

で既存製品でも対応できるようHomebridgeというnode.jsのライブラリが公開されています。

nfarina/homebridge
https://github.com/nfarina/homebridge

今回はこの Homebridge を使って開発しようと思います。

続きを読む



babel

ES2015(ES6)について

去年2015年6月にJavaScriptの標準仕様であるES2015が正式にリリースされ、
自分も最近ES2015で書くことが多くなってきました。クラス定義やアロー関数、定数など非常に便利です。

詳細は以下のURLが分かりやすいです。

ECMAScript 2015 Features
https://babeljs.io/docs/learn-es2015/

BabelとBrowserifyについて

ただ現在ES2015はブラウザによって対応がまちまちで、全ての機能が使えるわけではありません。
そこでJSトランスパイラすることでブラウザ間の依存を解消しようというのがBabel.jsです。

またES2015はファイル分割によるrequire機能もあるのですが、babel単体だとコンパイル時にファイルを結合できないため、Browserifyというツールとその対応版babelのBabelifyを使います。

Babel
https://babeljs.io/

Browserify
http://browserify.org/

実際に使ってみる

Babelの公式サイトでライブコーディングで試すことは出来るのですが、せっかくなので自分の環境で用意したいと思います。
事前に node.js と npm をインストールしている必要があります。

node.jsとnpmインストールとアップデート
http://jaxx2104.info/node-js-install-update

Browserify と Babelify をインストールします。
Babel は言語仕様を別途インストールする必要があります。ここではES2015。

$ npm install browserify -g
$ npm install babelify -g
$ npm install babel-preset-es2015 --save-dev

test.js というファイル名でES2015っぽいコードを書きます。

var name = "Bob", time = "today";
var test = `Hello ${name}, how are you ${time}?`
console.log(test)

以下のコマンドをたたきます。
$ browserify test.js -o bundle.js -t [ babelify --presets [ es2015 ] ]

bundle.js というファイルでコンパイルされたでしょうか。
ES2015でたくさんコードを書いていきましょう。

実際に使うときは更新の都度コンパイルするはツラいのでgulpなどのタスクランナーを使ってライブコンパイルしています。詳細はまた今度書きます。



nodejs-image-processing
node.js と npm インストール

$ sudo yum install nodejs npm –enablerepo=epel
$ sudo yum install gcc gcc-c++

n のインストール

$ sudo npm install -g n

n を使って node.js のアップデート

$ n –stable
$ sudo n –stable
$ sudo n –latest
$ sudo n latest

nam のアップデート

$ sudo npm update -g npm
$ sudo npm update -g
$ sudo npm outdated -g

こんな感じでサーバーでJSが動く

$ node
> console.log(“hello world”)
hello world



1415367437FuelPHP

環境変数の値を変更するとエラー内容を表示できる。

Apache の場合

httpd.conf

# SetEnv FUEL_ENV PRODUCTION
SetEnv FUEL_ENV DEVELOPMENT

Nginx の場合

nginx.conf

# fastcgi_param FUEL_ENV "PRODUCTION"; 
fastcgi_param FUEL_ENV "DEVELOPMENT"; 

インストール方法 – インストール – FuelPHP ドキュメント
http://fuelphp.jp/docs/1.8/installation/instructions.html



iOSの新プログラミング言語Swiftをゲームアプリを作りながら触りたいと思います。
フレームワークはSpriteKitを使います。

swift-logo-hero-1

プロジェクトの作成

まずXcodeをAppStoreからインストールし立ち上げ、[File] -> [New] -> [Project] -> [Game] と選択します。LanguageはSwiftで、GameTechnologyはSpriteKitにします。

続きを読む