「Nike+FuelBand」を2週間使ってみた感想
超絶久々にブログを書きます。今日は先日プレゼントでもらった「FuelBand」の使用感、レビュー等を書きたいと思います。
「FuelBand」とは?
Nikeから2013/11/6に日本で発売された腕時計型活動計。
一日の活動量(Fuel、カロリー、歩数)を計測してくれるもの。
(僕は動画のダンサーさんほどアクティブではありませんw)
サイズ
「S」、「M/L」、「XL」から選べる。
また、時計のように拡張リンクが付いているので、それによりサイズの微調整も可能。
(僕の腕は細めのため「S」サイズを購入し、それだけでは若干ほそかったので拡張リンクを使ったら違和感なくピッタリでした^^)
http://www.nike.com/jp/ja_jp/sfg/nike-plus-fuelband-sizing-chart
価格
価格は1万5,750。他製品のJawbone UPやFitbitに比べると若干高め。
Jawbone UPは、完全防水だったり、バイブで起こしてくれる機能 などもあるらしいが、僕はNikeのブランドに負けて購入。
色
「ボルト」、「ピンクフォイル」、「トータルクリムゾン」、「ブラック」の4色から選べる。
普段の服装などにもよるが無難に黒がいいのではとは思うかもしれないが、実際外側から見る分にはほとんど見えないので、むしろ黒以外の色のほうがチラッと見えてオススメ。
http://store.nike.com/jp/ja_jp/pd/nike-fuelband-se/pid-865334/pgid-865332
(ちなみに僕は緑色の「ボルト」を選びました)
あと2013/12/1から「ローズゴールド」が発売したらしい。価格は少し高めの17,850円
【12/1】ナイキ、Nike+ FuelBand SEの限定カラーモデル「ローズゴールド」を2013年12月1日(日)より数量限定販売。(17,850円)
FuelBandの操作方法 / 表示されるもの
- 黒いボタンを何度か押すことで「時間」、「活動量(Fuel)」、「カロリー」「歩数」、「Active Hour」の情報を切り替えながら表示出来る
活動量は本製品の独自の単位として"Fuel"と呼ばれており、1Fuelが1kmを指すようです。
※以下 活動量を"Fuel"と表記
(デフォルトでは"Fuel"のみの表示で、後述するPCソフト「Nike+Connect」で何を表示するか変更可能)
- 黒いボタンを2回連続して押すと、即座に時間が表示される
(最近気づいて、けっこう衝撃を受けたw 時間見たいだけなのに何度も黒いボタン押してた日々はなんだったのか、、)
- 目標とする"Fuel"に達すると「GOAL」と表示される
活動をすることでLEDディスプレイの下部のバロメーターが徐々に上がっていき、目標とする"Fuel"に達すると「GOAL」と表示される。
(これがけっこう感動する!!本製品の肝だと思われます!!)
(目標とする"Fuel"は後述するPCソフト「Nike+Connect」で設定する)
装着してみて
- 睡眠時
初めは若干気になっていたけど、今はもう気にならないです。わざわざ外すのが面倒なので付けっぱなしで寝てます。
(両手首をアゴに当てて寝てるような人は気になるかな?)
- 入浴時
先述したとおりJawbone UPは、完全防水なのですが、FuelBandはそうではないです。
シャワーはOKですが、お風呂やプールはダメらしい。。(多少なら大丈夫なようですが、自己責任で!!)
(初めてお風呂は入るときは大丈夫かな、、?と心配になりましたが、今はもうまったく気にならなくなって仲良くシャワー浴びてます^^)
- パソコン中
仕事柄、1日中パソコンを触るのですが、これも睡眠時・入浴時同様、初めは若干違和感がありましたが、今はもう気にならなくなりました。
iPhoneアプリ「FuelBand」
AppStoreからダウンロード可能。
(今のところAndroid版はないらしい)
見れる情報としては
- 今日一日のFuel
- 過去のFuel、歩数、カロリー表示
- 目標Fuelに達するとLEDディスプレイと共に「GOAL」と表示される
(あとは、「セッション」という機能があって、よりアクティブ動くときに使うらしいんだけどまだ使ってないんでよく分からないです。。^^;)
PCソフト「Nike+Connect」(win/mac)
初期設定をするときに必要。
その他に主に設定できる項目としては、
- 1日の目標とする"Fuel"
- LEDディスプレイに表示するものを設定できる(カロリー、歩数、Active Hour)
→ 「Active Hour」というは1日でアクティブに活動した時間(回数?)
(いまいち分かっていない^^;)
- ムーブリマインダー
→ 定期的にiPhoneに「さあ、今すぐ活動を初めて、5分間で勝利を得よう!」とお知らせが来るようになる
(正直、そんな急に言われても仕事中だし、、、ってのが大半w あんまりいらない機能かもw)
本ソフトは基本的には日常的に触ることはほとんどない。
(実際一番初めに設定して移行はまったく触っていないです)
ダウンロードはこちらから。
Webサイト「Nike+」
http://nikeplus.nike.com/plus/
基本的には見れる情報は、iPhoneアプリ「FuelBand」と同じ。
ただ、「Nike+」系の製品(Nike+Running)を使ってる友だちを探したりすることができる
他のNike+系アプリとの比較
FuelBandはランを記録(距離、ペース、時間)はしてくれません。
ランの記録はNike+Runningアプリ等が必要
(僕はてっきりできるもんだと勘違いしれました^^;)
下記ページに他製品との比較が詳しく書かれています。
http://nikeplus.nike.com/plus/products/#compare_section
まとめ
とにかく「GOAL」って出るのが楽しい笑
それ目的で、帰宅時などに何気なく「今日どれくらい動いたかな〜」って見て、あともうちょっとで目標Fuelに達するってなったら遠回りして帰ったり、
1駅前で降りて歩いて帰ってみたりなど、少なくともFuelBandを付けてることで普段以上に体動かすようになりました。
まだ、FuelBandをつけて走ったりフットサルしたりしたことないので、それでどれくらいFuelを稼げるのかやってみたいと思っています。
あとは、友だちが増えたりすると競いあって楽しかったりするのかなーって思います。(自分の周りにはまだFuelBand仲間がいないので早く欲しいです、、w)
まーなんにせよ、運動するちょっとしたきっかけにはなりますし、運動不足な人はもちろん、普段からアクティブに運動する人でも使ってみると楽しいかなと思います!
XcodeのArchiveを自動化しよう
いやー、お久しぶりです。
昨年の12月に更新して依頼、かなりご無沙でした。
最近、髪型を2ブロックにしたら、風通しが良くなりすぎて、ほんと寒くて、
2ブロックにしたのを若干後悔してる阿部です。
それでは本題。
ipaファイルの生成が面倒すぎる
最近はめっきりXcode(Objective-C)でアプリ制作に没頭しています。
そんな中で実機確認のため、よくipaファイル(アプリ本体)を
Xcodeから生成するんですが、これが何度も作るとなるととても面倒で。。
自動化しちゃおう
そこで、この一連の操作をシェルスクリプト使って自動化*1してしまおうという話に。
とはいえ、Xcodeに依存する操作のため、自動化なんて出来るのかなぁと思っていたのですが、
さすがApple。そういったSDKを用意して下さってるんですね( ´∀`)
Appleのデベロッパーサイトを参考にipa作成シェルスクリプトを作成してみましたので紹介します。
#!/bin/sh #SDK SDK="iphoneos5.0" # コンフィグレーション(「Debug」、「Release」、「Ad hoc」) CONFIGURATION="Release" # Xcodeのプロジェクト名 PROJ_FILE_PATH="hoge.xcodeproj" # ターゲット名 TARGET_NAME="hogeTarget" #「Build Settings」にある、プロダクト名 PRODUCT_NAME="hogeProduct" # app出力先ディレクトリ名 OUT_APP_DIR="out_app" # 出力先ipaディレクトリ名 OUT_IPA_DIR="out_ipa" # 出力されるipaファイル名 IPA_FILE_NAME="hogeIpa" # ライセンス取得時の開発者名 DEVELOPPER_NAME="iPhone Distribution: hoge Developper" # アプリのプロビジョニングファイルのパス PROVISIONING_PATH="${HOME}/Library/MobileDevice/Provisioning\ Profiles/hoge.mobileprovision" # 出力先ipaディレクトリ作成 # ------------------------- if [ ! -d ${OUT_IPA_DIR} ]; then mkdir "${OUT_IPA_DIR}" fi # クリーン # ------------------------- xcodebuild clean -project "${PROJ_FILE_PATH}" # ビルド # ------------------------- xcodebuild -project "${PROJ_FILE_PATH}" -sdk "${SDK}" -configuration "${CONFIGURATION}" -target "${TARGET_NAME}" install DSTROOT="${OUT_APP_DIR}" # Create ipa File # ------------------------- xcrun -sdk "${SDK}" PackageApplication "${PWD}/${OUT_APP_DIR}/Applications/${PRODUCT_NAME}.app" -o "${PWD}/${OUT_IPA_DIR}/${IPA_FILE_NAME}.ipa" -embed "${PROVISIONING_PATH}"
※ 設置場所はプロジェクトファイルと同階層に設置する
1. 出力用ディレクトリの作成
2. ビルドを行うと「DSTROOT」で指定したディレクトリにappファイルが生成される
3. そのappファイルをxcrunコマンドを介すことにより、ipaファイルが生成される
他にもこんなのもコマンドラインから実行可能
- $xcodebuild -list
選択可能な、Targets(ターゲット名)、Build Configurations(DebugやRelease)、Schemesが一覧で表示される
- $xcodebuild clean
Xcodeで言う、メニュー[Product] → [Clean]が可能
まとめ
いやー、これでアーカイブ化の作業がだいぶ楽になりました。
IDEに頼るとマウス作業が増え、単純作業でも何度も何度もやると手間になりますもんね。
こういった作業は出来るだけ自動化するにつきますね。
それでは今日はこのへんで。またね。
参考サイト
iOSのプロジェクトをJenkinsでビルドする @ soutaroにっき
This manual page is part of Xcode Tools version 3.2.5
iPhoneアプリのテスト用ビルドをTestFlightに簡単に登録する @ はこべブログ
よくわかるiPhoneアプリ開発の教科書【Xcode 4対応版】
- 作者: 森巧尚,まつむらまきお
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2011/07/30
- メディア: 単行本(ソフトカバー)
- 購入: 23人 クリック: 1,598回
- この商品を含むブログ (17件) を見る
【メモ】CakePHP 2系 でHtmlHelperを継承してオーバーライドする方法
こないだ風邪を引いたら上も下もやられました。今までの人生で一番キツかったです。。w
どうもおはようございます、こんにちわ、こんばんわ。
阿部です。
久々のブログになります。かなりサボってました。
気づけば今年も終わりですね。いかがお過ごしですか?
ここのところCakePHPでの業務が多いです
早速ですが今回は、本ブログの記事としては初めてのCakePHPについて書こうかと思います。
ここ数ヶ月、会社では上司に色々教わりながらCakePHPでの開発が多いのです。
そんな中、最近CakePHPのバージョン2系が安定版がリリースされて、会社で使ってみようということになりました。
まだまだ使い始めたばかりですが、メジャーバージョンアップ(?)ということだけあって、変更点が多いです。
公式の移行ガイド載せておきますのでもしよかったらご覧下さい。
- CakePHP 1.3からの2.0 移行ガイド
http://book.cakephp.org/2.0/ja/appendices/2-0-migration-guide.html
CakePHP2系でハマる。。
そして今回、2系での開発の中で表題の件のHtmlHelper継承が上手く出来なくってハマりました。。
(やっと本題に入りますw)
- 従来のCake(1.3)でのHtmlHelperの継承方法
/** * app/view/helper/my.php * (大本の自作ヘルパー) */ class MyHelper extends Helper { function fuga($str) { // 自作htmlヘルパーのインスタンス作る $this->Html= new MyHtmlHelper(); return $this->Html->hoge($str); } } /** * app/view/helper/my_html.php * (HtmlHelperを継承した自作htmlヘルパー) */ class MyHtmlHelper extends HtmlHelper { function hoge($str) { return $str; } } /** * app/view/hoge/index.php * View(自作ヘルパー呼び出し) */ <?php echo $my->fuga('test'); ?>
ってな感じだったかと思います。
(実際に試してないので動かないかも、、)
- これと同じようなことを2系試してみると、、
//Argument 1 passed to HtmlHelper::__construct() must be an instance of View, none given, called in ...... /app/View/Helper/MyHelper.php on line 9 and defined
なんじゃこりゃーーーー。
HtmlHelperのコンストラクタにはViewクラスのインスタンスが必要でっせと言ってますね。
- エラー文のとおりViewのインスタンスを渡してやる。
// app/View/Helper/MyHelper.php class MyHelper extends Helper { public function fuga($str) { // ここで自分自信をViewクラスの引数に渡したインスタンスをHtmlヘルパーに渡してあげる $view = new View($this); $this->Html= new MyHtmlHelper($view); return $this->Html->hoge($str); } }
「new View($this)」が
View自信のインスタンスになるのでこれを渡してあげることで、
これで正常に動きました^^
なんでViewが必要になったのか
ちゃーんと移行ガイドに書かれてましたw
■ViewはClassRegistryに登録されなくなりました
ビューがClassRegistryに登録されることは乱用を招き、事実上グローバルシンボルを作り出していました。
2.0では各ヘルパーは現在の View インスタンスをコンストラクタで受け取ります。
これはヘルパーにグローバルシンボルを作り出すことなく、以前の様式と同様にビューにアクセスさせることができます。
どのヘルパーでも $this->_View でビューのインスタンスにアクセスできます。
にゃるほどね。
だからViewからヘルパー呼ぶときに「$this->form」とかってなったのか。
あーすっきりした。
今日はじゃあこんなところで。
今年はやけに温暖な一年でしたが、もうかなり寒くなってきましたね。
チャリ通の自分は厳しい季節になってきました。
皆さん、風邪などひかぬようお体にお気を付け下さいね。
- 作者: 小川雄大,柄沢聡太郎,橋口誠
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/12
- メディア: 大型本
- 購入: 32人 クリック: 1,065回
- この商品を含むブログ (59件) を見る
WinSCPみたくMacでDiffを行えるソフト「Yummy FTP」
>>>>>>
おはようございます。こんにちわ。こんばんわ。
阿部です。
早速ですが、FTPソフトでファイルアップする際に
ローカルとサーバにどんな差異があるか皆さんDiffをしますよね?
その場合にいちいちローカルにファイルを持ってきてDiffソフトでDiffするなんて面倒ですよね。。
Windowsの場合、WinSCPというソフトでサーバ側のファイルとローカルのファイルを選択して
「ファイルの比較」を選択するとDiffが出来るのである。(予め別途、使用するDiffソフトなどの設定は必要)
こんぐらいのことは、Macにもそいうったソフトがあるのだろーなーと半年以上前から結構探していたんですが、
見当たらない、見当たらない。。。Transmitでも、Filezillaでも、Cyberduckでも出来なそう。。
結局、会社の先輩の助言もあり、WindowsのソフトのWinSCPをMacで
エミュレータを使って動かすようにして業務で使っていました。
そこまで大きな支障はなかったのですが、何点か気になる点が。。
自分としては、諦めていたんですが、ふとまた探していた所なんと見つけました!!!!
Yummy FTPというソフトがあるそうな!!!!
実際にDiffってみた!
サーバ側とローカルのファイルを選択して
- メニューバーの[File]>[Diff]
もしくは
- ⌘(コマンドキー)+K
Diffするソフトはもちろん任意のソフトを設定画面から指定出来る。
(デフォルトはFileMargeである)
僕の場合は、DiffForkを指定しました。
カリモク60の「Kチェア2シーター」と「リビングテーブル」が家に届い
PHPの関数にPythonでいうキーワード引数を試みる。
おはようございます、こんにちわ、こんばんわ、阿部です。
日曜日の昼、如何お過ごしですか。
僕は、一杯やりながらコードを書いてます。
ってなわけで本題です。
・Python
In [1]: def hoge(a=1, b=2, c=3): ...: return a, b, c In [2]: print hoge() ------> print(hoge()) (1, 2, 3) In [3]: print hoge(c=5) ------> print(hoge(c=5)) (1, 2, 5)
便利ですね。デフォルト引数を指定したやつのみ指定出来るってわけです。
■PHPで普通にやろうとすると、、
・PHP
function hoge($a=1, $b=2, $c=3){ return $a." ".$b." ".$c; } print hoge($c="5"); // 5 2 3
ってなっちゃうわけです。普通に第一引数目に5が入るだけ。
んで、なんとか出来ないか色々試したけど、結論から言うと、出来ないっぽいですね。
func_get_argsとか使って色々試してみたけど、出来なかったっす。
(僕の知識不足、技量不足なだけかもしれないんで、もしやり方をご存知の方は教えて欲しいっす。)
■仕方ないから、代わりにeval使ってやってみました。
・PHP
<?php function hoge($arr=array()){ // デフォルト引数指定 $a = 1; $b = 2; $c = 3; // 配列を分解してevalでキーを変数として格納 if(is_array($arr)){ foreach($arr as $key => $value){ if(!empty($key) && !is_numeric($key)){ eval("$$key = $value;"); // 「$c = 5」とかやってます } } } return $a." ".$b." ".$c."\n"; } $arg1 = array(); print hoge($arg1); // 1 2 3 $arg2['c'] = 5; print hoge($arg2); // 1 2 5 $arg3['a'] = 3; $arg3['b'] = 4; print hoge($arg3); // 3 4 3 $arg4['d'] = 5; print hoge($arg4); // 1 2 3
自分としては、要件満たしてるしこれでいいかなと、、、
なんか他にいいのあったら教えてください!!!!!!!
阿部諒が試してみた!『Titanium mobileのARマーカー検出モジュール」編 その2(完結編)
おはようございます。こんにちわ。こんばんわ。
阿部です。
前回までのあらすじ
ではまず、前回の記事「阿部諒が試してみた!『Titanium mobileのARマーカー検出モジュール』編 その1」のあらすじです。
1. 「AR(拡張現実感)」の説明から、それを実現するためのiPhoneで実現するモジュール「Titanium mobile」の紹介ヾ(´▽`*)
2. インストールからサンプルアプリが実行(○`ε´○)ノ
3. しかし、サンプルアプリを実機に転送し、実行してみたが、アプリがソッコー落ちてしまいARサンプルアプリが動かない・゚・(ノД`;)・゚・
さて、このあとどうなる!?!?!?
というか、そもそものサンプルアプリの説明を忘れてましたね。。。
@atsusyさん、自家製(?)の下記の英数字のマーカに
今回のサンプルアプリを起動し、iPhoneのカメラを向けると
「A」のマーカの箇所に小文字の「a」という文字にオーバーレイされる。とのこと。
あれからどうなった!?!?
今回は、表題にもあるように「完結編」です。
あれからどうなったかをお話します。
1. とりあえず嘆いてみたw
今回のTitanium Mobileをお作りになった、@atsusyさん宛に
@atsusy さんがお作りになった、Titanium mobile用AR検索モジュールのサンプルが、 実機に転送まで出来たが、起動するとソッコー落ちてします。。 http://atsusy.blogspot.com/2011/03/titanium-mobilear.html
とTwitter 嘆いてみたw
正直、レスは来ないだろうなぁと思っていたが、諦めていた。
が、半日も立たないうちにレスが!!!Σ(゚□゚ノ)ノ
- @atsusyさんのツイート
@RyoAbe iOS、Titanium mobileの SDKバージョン、 機器の種類(iPhone 3/3GS/4/iPod touch)を教えてもらえませんか?
そうです、このツイートにより、あきらめかけていたところに、一筋の光が見えたのです!!!
2. @atsusyさんとやりとりが始まる
- @僕のツイート
@atsusy わざわざご返信、ありがとうございます。 iOS:4.3。Titanium mobile:1.6.1。iPhone 3GSです。 ちなみに、1.6.1のためtitanium.xcconfigのTitanium mobileのバージョンを指定している箇所は修正してます。
- @atsusyさんのツイート
@RyoAbe ちなみに、シミュレータでは起動しますか?(もちろん何も表示されませんが)
- @僕のツイート
はい、起動します。アラートが英語で「デバイスで動かしてくれ」と出てきます。 RT @atsusy @RyoAbe ちなみに、シミュレータでは起動しますか?(もちろん何も表示されませんが)
- @atsusyさんのツイート
@RyoAbe 可能であれば、プロジェクト全体を圧縮して送っていただけませんか? フォローしていただけるとありがたいです。http://twitfile.jp/
おお!若干オオゴトになってきたぞと若干きょどったが、
迷うこともなく、プロジェクトごと圧縮してtwitfileで送信!!(○`ε´○)ノ
しばらくして返信が。悲しい知らせが、、(ノд-。)
- @atsusyさんのツイート
@RyoAbe ARマーカーモジュールなんですけど、iOS4.3だと動作しないようです。 原因となる箇所までは突き止めたんですが...
- @僕の内心
なぁーーにぃぃぃぃーーーーーΣ(◎д◎ノ)ノ!?!?!?!?!? こりゃ困ったなー。でも動作しないんじゃ仕方ない。
3. iOS4.3だと動作しないのか。。とりあえず、原因を聞いてみた。
- @僕のツイート
もしよろしければ、その原因を教えて頂けませんでしょうか? RT @atsusy @RyoAbe ARマーカーモジュールなんですけど、 iOS4.3だと動作しないようです。原因となる箇所までは突き止めたんですが...
- @atsusyさんのツイート
@RyoAbe ARMarkerDetector.mのcvFindExtrinsicCameraParam2というOpenCVの関数内でmallocに失敗します。 多分ですが、その中で呼ばれてるcvMulTransposedという関数がクサいっぽいなと。
- @僕の内心
ふむふむ!!なるほど! 正直よく分からない、、、OpenCVやObjective-Cを一から勉強して、色々いじって直してみようかな。。。
なーんてことを考えていたら、再度@atsusyさんからツイートが!!
- @atsusyさんのツイート
@RyoAbe 修正できたと思う(多分)ので、ソースをpullしてチャレンジしてもらえませんか?申し訳ないです...
とのこと!
4. 希望の光が見え、再度実機インストールを試みる!
言われたとおり再び、pullしなおし、
(このあと細かなやりとりが、色々あったが)
実機にインストールし直し、動かしてみる!
動いたぁぁぁぁ!!!!!!
TitaniumMobile iPhone/Androidアプリ開発入門
- 作者: 小澤栄一,増井雄一郎
- 出版社/メーカー: 秀和システム
- 発売日: 2012/01/31
- メディア: 単行本
- 購入: 9人 クリック: 169回
- この商品を含むブログ (24件) を見る