投稿

6月, 2014の投稿を表示しています

球形ロボット「Sphero」で猫様満足度アップを狙う

イメージ
面白そうなガジェットを見つけた。 Sphero 2.0 - connected toy | Sphero iPhone5sでハロを操れ!『Sphero 2.0』がいきなり日本で発売に   APIが公開されているので、動きを制御したり情報を取得して表示するアプリが作れる。 Sphero Documentation | Sphero   勝手に動きまわってにゃんこたちの遊び相手になってくれたら何と素晴らしいことか!時間を作って制御するアプリを作りたい。   < Related Posts > 猫が数日お留守番出来るように自動給餌器と自動給水器を買う 猫のトイレ臭い対策でデオトイレを買ってみる 猫を向かい入れるために猫用品を揃える

安くて汎用性のあるサーバーホスティング会社を探す

イメージ
今仕事で使っている専用サーバーの契約期限がもうすぐ切れるので、他のホスティング会社を調べたときの覚書。 現在使用しているのは GMOの専用サーバー 。 コストパフォーマンスはいいのだけれど、下記の件があってからネットワークが信用できなくなった。 異様に名前解決が遅い時があった。→ いつの間にか直った。 gitコマンドを実行しようとしたら「github.com」へアクセスできず、サポートに問合せたら上位ネットワークでIP制限かけてた。 サポートの対応も、こちらが証拠を揃えないと動いてくれない。ネットワーク上でIP制限かけるのはいいけど(DOS攻撃対策とかもあるし)通知してほしいと言っても出来ないらしい。 私:「・・・ということは、御社のサービスを利用している限りは突然サーバーにアクセス出来なくなることがあるということですか?」 担当者:「そうなります。。。」 愚痴はここまで。   移行候補はこちら。 サービス コメント AWS(Amazon Web Service) 従量制なので、いくら掛かるか見積もりが難しい。 Google Compute Engine(Google Cloud Platform) AWSと同じ従量制。面白そうなので本当はこれにしたかった。 さくらVPS 安くて安心できる感じがする。複数台借りてローカルネットワークを構築出来るのもいい。 カゴヤ・クラウド/VPS CPU12core / Memory4GB / HDD800GBが月額3456円 チューニングをしっかりすれば、これで十分な気がする。 さくらVPSで複数台+ローカルネットワークにして、MySQL Clusterで運用してみようかと考え中。 参考サイト MySQL Cluster:NoSQL+SQL、NoSQLも使える高可用性インメモリRDBMS | Think IT(シンクイット) MariaDB Galera Clusterを試す (1) | さくらインターネット研究所 dbts2013:MariaDB Galera Cluster 活用例   < Related Posts > Node.js環境のためにMySQLからMariaDBに移行 Singaporeで安いレンタルサーバーを探す

体重計とBluetoothで連携するアプリを作りたい

イメージ
スマフォと連携できる体重計があるか調査 。 AppleとGoogleがデベロッパーカンファレンスで健康管理のSDK, APIを強化すると発表したのでスマフォ+医療は何か出来そうな感じがする。 Apple - iOS 8 – Health Google Fit   下記製品と連携するアプリは作れそう。 健康製品セレクション | WellnessConected   BluetoothのHDP (Health Device Profile)というプロファイルに対応している機器ならアプリとの連携もしやすい。 Bluetooth - Wikipedia   私自身は体重管理しても嬉しくないけど、我が家のにゃんことわんこ向けに健康管理アプリを作るのは楽しいかもしれない。

PhpStormエディタでPhalcon PHP開発向けの設定

イメージ
Phalcon PHPの開発をするときにPhpStormを設定したときの覚書。 クライアント環境: Windows 7 64bit, PhpStrom 8 EAP 138.567 サーバー環境: CentOS6.5, Nginx 1.6.0, PHP 5.4.29   1.自動補完出来るように 参考サイト Phalcon Developer Tools | Phalcon 1.3.0 documentation PhpstormでPhalcon PHPの補完が出来るように | レリッシャブル {{ relishable }} phalcon-devtools をダウンロード 適当な場所に解凍(C:\Users\daiki\PhpstormProjects\phalcon-devtools) PhpStormのプロジェクトの「External Libraries」を右クリック → 「Configure PHP Include Paths...」 → Include path → Add 参照するフォルダを選択(C:\Users\daiki\PhpstormProjects\phalcon-devtools\ide\1.3.2)   2.voltテンプレートを認識出来るように デフォルトで用意されている Twig として登録する。 Settings → File Types → Twigを選択 → 「*.volt」を追加   3.リモートデバッグ出来るように 参考サイト PhpStormでXdebugのリモートデバッグを設定する方法 まずはサーバー側にXdebugをインストール。yum経由は要remiリポジトリ。 # yum install php-pecl-xdebug 公式サイトのドキュメント を見ながら設定。 # vi /etc/php.d/xdebug.ini ; Enable xdebug extension module zend_extension=/usr/lib64/php/modules/xdebug.so ; see http://xdebug.org/docs/all_settings xdebug.remote_enable=1 xdebug.remote_port=900

TitaniumのAPIDocをコンパイルしてPhpStormのコード補完機能に追加

イメージ
Titaniumの開発用エディタとしてPhpStormを利用したときの覚書。 環境: Titanium SDK 3.2.3.GA, PhpStorm 8.0 EAP 138.567   < 2015/06/26 Modified > 外部ライブラリを読み込んで少し設定すれば十分快適に開発できるようになってた。 JavaScript → Libraries → Downloadで「titanium」を追加。「Node.js Globals」も追加 なぜか「Node.js v0.12.5 Core Modules」を追加しないとLが「unresolved」になる Directoriesで「Resources」ディレクトリを「Resource roots」に設定。requireを相対パスで記述すれば、「Cannot resolve directory」は解決できる。   下記を参考にしたけど、 jsca2js に置いてあるTitaniumのバージョンが古いのと、提供されているコマンドも3.2.3.GAで動かなかったので、最新のAPIドキュメントをコンパイルしてみた。 TitaniumのIDEとしてWebStormを使う(+補完機能の追加方法の紹介) - Seasons.NET 最新のAPIドキュメントをダウンロードして、 json形式 でコンパイル。 参考: Titanium Mobileのapidocのビルド | Selfkleptomaniac $ git clone https://github.com/appcelerator/titanium_mobile.git $ cd titanium_mobile $ sudo easy_install pyyaml $ sudo easy_install markdown $ sudo easy_install mako $ sudo easy_install Pygments $ cd apidoc $ ./docgen.py --format=json TiAutocomplete を利用して変換する。 $ cd ../../ $ git clone https://github.com/netpro2k/TiAutocomplete $ cp titanium_m

CentOS6 + Nginx + Phalcon PHP + MongoDBの環境構築手順

イメージ
Phalcon PHP Frameworkの環境を構築したときの覚書。 環境: CentOS 6.5 x86_64, nginx 1.6.0, php 5.4.29, mongodb 2.6.1-2 PhalconはPHPのエクステンションとしてC言語で実装されたMVCフレームワーク。特徴は何と言っても速さ。 Hello World Benchmark | Phalcon 1.3.0 documentation 最近はWordPressをベースにすることが多いけどシステム系のサイトを構築するのにいい選択肢になりそう。   1.Phalcon PHPをインストール 公式サイトを参考に。 インストール | Phalcon 1.3.1 documentation # yum install gcc make php-devel git # git clone git://github.com/phalcon/cphalcon.git # cd cphalcon/build # ./install Installing shared extensions:     /usr/lib64/php/modules/ # vi /etc/php.d/phalcon.ini extension=phalcon.so # /etc/rc.d/init.d/php-fpm restart 確認 # php --info | grep Phalcon   2.Phalcon Developer Toolsをインストール Phalconの開発ツール群。公式サイトを参考に。 Phalcon Developer Tools on Linux | Phalcon 1.3.0 documentation # cd # git clone https://github.com/phalcon/phalcon-devtools.git # cd phalcon-devtools/ # ./phalcon.sh シンボリックリンクを作成 # ln -s phalcon.php /usr/bin/phalcon # ldconfig   3.nginxの設定 これも 公式ドキュメント が十分詳しい。 # vi /etc/nginx/co

xyzzyからPhpStormに乗り換え。設定メモ

イメージ
今まで xyzzy を使ってきたけれど、他人が書いたPHPコードを読むのにさすがに限界を感じて評判のいいPhpStormを試してみた。 環境: Windows 7 64bit, PhpStorm 8.0 EAP 138.567, TortoiseSVN 1.8.7 PhpStormにしようと思った理由 似たような思いを持っている人がPhpStormで満足している 参考: PhpStormを使おう --高槻からは快速急行が早くなります #jbugj 参考: それPhpStormで出来るよ #phpstudy PhpStorm 8でWordPressがサポートされる 参考: PhpStorm 8 EAP最新版リリース | JetBrains ブログ Node.jsをサポート Titaniumの開発でも使えそう 各プラットフォーム(Windows, Mac, Linux)向けに提供しているので端末に依存せずに長く使えそう   1.PhpStorm 8 EAPをインストール WordPressの機能を試したかったのでEAP(Early Access Program)バージョンを公式サイトからダウンロードしてインストール。30日間の試用ライセンスが含まれているらしい。 PhpStorm Early Access Program - PhpStorm - Confluence   2.Subversionとの連携 TortoiseSVNをインストールする際に「command line client tools」を選択しておく。binフォルダにsvn.exeがインストールされる(環境変数Pathにも追記される)。 Settings → Version Control → Subversionの「Use command line client:」でsvnと入力(Pathに追記されているから)。 PhpStormをインストールする前に設定しておけば自動で補完される。   3.外観設定 初回起動時に選択するテーマは「Darcula」を選択。 Settings -> Colors & Fontsから「Save As...」をクリックしてコピー。下記を変更 Primary font: Consolas Siz

[Titanium][Android] 端末のGPS機能で現在位置を取得する

イメージ
定期的に現在位置を取得する方法を調査したときの覚書。 環境: Titanium SDK 3.2.3.GA, Android GPSの有効・無効の判定など、 KitchenSink を見るのが分かりやすい。 titanium_mobile/demos/KitchenSink/Resources/examples/geolocation.js at master · appcelerator/titanium_mobile · GitHub 下記のサンプルコードも参考になった。 位置情報の連続取得について | Don't Fall - Titanium Mobileユーザー会サポートBBS   私が書いたgeolocation.jsはこんな感じ(一部) var U = require('/lib/utils'); var _gpsProvider; exports.init = init; exports.release = release; /** * Initialization * * @api public */ function init() {     if (!U.isAndroid()) {         return;     }     //     // "preferredProvider" is deprecated.     // @see http://docs.appcelerator.com/titanium/3.0/#!/api/Titanium.Geolocation.Android     //     //Ti.Geolocation.preferredProvider = 'gps';     //Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_HIGH;     //Ti.Geolocation.distanceFilter = 10;     _gpsProvider = Ti.Geolocation.Android.createLocationProvider({         name: Ti.Geolocation.PROVIDER_GPS,         m

[Titanium][Android] 定期実行するServiceを起動してNotificationに表示

イメージ
バックグラウンドで定期的に動作するServiceを実装したときの覚書。 環境: Titanium SDK 3.2.3.GA, Android 参考サイト Titanium.Android.Service - Titanium 3.X - Appcelerator Docs TitaniumでAndroidのServiceを | Selfkleptomaniac 第18回 ServiceとNotification:Titanium Mobileで作る! iPhone/Androidアプリ|gihyo.jp … 技術評論社 JavaScript - Titanium Androidアプリで通知バーにメッセージを表示 - Qiita サンプルコードは上記サイトを参考に。 サービスが起動しているかどうかのチェックは次のようにする。 if (Ti.Android.isServiceRunning(Ti.Android.createServiceIntent({url: 'testservice.js'}))) {     console.log('Service IS running'); } この辺は KitchenSink のコードを見るとわかりやすい。   サービス起動中はNotificationの「進行中」に出しておきたい。 Bring running Android app from background to foreground without notification? | Community Questions & Answers | Appcelerator Developer Center 上記を参考に下記関数をserviceのstart, stopイベントにバインドする。 _service.addEventListener('start', handleStartService); _service.addEventListener('stop', handleStopService); function handleStartService(){     var pending, notification;     // Inte

iOSをDistributeするときにIDFAエラーで先に進めない

イメージ
いつものようにTitaniumで作成したアプリを公開しようとしたらValidationするときに下記エラーになった。 Improper Advertiseing Identifier [IDFA] Usage. Your app contains the Advertising Identifier [IDFA] API but you have not indicated its usage on the Prepare for Upload page in iTunes Connect. このエラーは新しいバージョンを追加するときに表示される質問 Does this app use the Advertising Identifier (IDFA)? に「No」と答えると「IDFA」のチェックが走るらしい。 でも、アプリ内で広告は表示してない。 Titaniumで作成したアプリで、もしかしたらFacebookモジュールで使っているのかな? ただIDFAの質問に対する回答を変更したくても出来ない。 新しく追加したバージョンも「Waiting for Upload」のまま削除できない。 とりあえずiTunes ConnectのContact Usから質問を送信(5月20日付)。 どうなるか。   < 2014/06/04 Modified > Facebook Moduleを使っているのが原因みたい。 [TIMODOPEN-391] Facebook module causing IDFA usage error on Xcode organizer validation - Appcelerator JIRA   < 2014/06/19 Modified > 約1ヶ月待っても返事がないので、tiapp.xmlのfacebookモジュールの部分を削除して再Validation + Submit <module platform="iphone">facebook</module> 無事完了したらiTunes ConnectのView Detail → Binay Details → Reject This Binaryをすると、再度「Ready to Up

[Titanium] fontcustomをインストールしてアイコンフォントを作成

イメージ
アプリを作成する際にアイコン画像はフォントに変換した方がよさそうなので実際にやってみたときの覚書。 環境: Mac OS X 10.9.3, Titanium SDK 3.2.3.GA 前の記事 の参考サイトでは IconMoon App というWebサービスを使っていたけど、Font Customというコマンドラインから利用できるソフトがあったのでこちらを利用することにした。 Font Custom まずは FontForge のインストール。 Homebrew は既にインストール済み。 $ brew install fontforge ttfautohint エラー cairo: Unsatisfied dependency: XQuartz Homebrew does not package XQuartz. Installers may be found at:   https://xquartz.macosforge.org Error: An unsatisfied requirement failed this build. リンク先 からXQuartz-2.7.6.dmgをダウンロード・インストール。 再トライ $ brew install fontforge ttfautohint 無事完了。次はfontcustomをインストール。 $ sudo gem install fontcustom Documents/fonts/svg/にsvgファイルを置いて試してみる。 $ cd Documents/fonts/ $ fontcustom compile svg/ fontcustomフォルダに出力された。fontcustom-preview.htmlをGoogle Chromeで開くと確認出来る。 Titanium公式サイトによると「fontFamily」で指定する値は環境によって違うらしい。iOSは「PostScript name」。Androidはファイル名。 Custom Fonts | Titanium 3.X - Appcelerator Docs なのでフォント名を指定して出力。 $ fontcustom compile svg/ -f 'icons' < 2015/