Railsを学ぶのに必要な最低限の知識
って何が必要だろうと思って思いついたやつを羅列してみる。 Railsを理解する前にWebアプリケーションやWebの仕組みをざっくり理解するとRailsを学ぶにあたって役に立つと思うのでおすすめ。
Webアプリケーションに必要な事
- Webアプリケーションとは
- Webの基礎知識
- セキュリティ
- Dos攻撃
- SQLインジェクション
- マスアサインメント
- リレーショナル・データベース
- ブラウザ
- HTML
- CSS
- Javascript
- 開発ツール
Macでの開発で必要な事
RailsでWebアプリケーションを書くのに必要な事
- Ruby
- Rails
- Webアプリケーション・フレームワーク(WAF)
- MVCパターン
- HTTP
- RESTful
- Assets
- Asset Pipeline
- CoffeeScript
- SCSS
- セキュリティ
- strong parameters, マスアサインメント
- サニタイジング, SQLインジェクション
- リレーショナル・データベース
- Migration
- Job, Sidekiq(optional)
- Redis
- Webアプリケーション・フレームワーク(WAF)
Webアプリケーションに必要な事はRuby, Rails以外(PHPやNode.js, Perl, Python, Javaなどなど)で書く場合にも必要な知識です。 これらが何のために使われてて何が嬉しいかが少しでも理解出来てるとRailsがやってる事が少し理解できそう。
ノマドなみなさん、ワイヤレス診断使ってますか
カフェなんかでWifiを使う時に複数のwifiがあってどれが一番速いんだろって時どうしてますか。 全部接続して速そうなやつ使ってますか、そうですか。
Macにワイヤレス診断って便利なのがあるので使ってください。
使い方
- メニューバーのWifiアイコンをOptionキーを押しながらクリックするといつもより詳細な表示が出ます。
"ワイヤレス診断"を開く をクリック
すると ワイヤレス診断のダイヤログが出ます。けどこれは無視でいいです。メニューバーから ウィンドウ > スキャン を選択します。(⌘+4 のショートカットキーでもいいです)
スキャンの画面が出ました。ここを見ます。
主に見る項目
ネットワーク名
表示されてるSSID名
プロトコル
802.11みたいなやつ。ざっくり言うと ac > a/n > b/g/n 順に良い。
ac は比較的最近の技術でこのwifiルーター使ってるところは新しいルーターを使っているということなのでちょっと評価して良い。 簡単にいうとacだとMacの通信が速い。
RSSI
wifiのアクセスポイントとの電波強度。主にここを見る。数値は-で表示され、この数値が低ければ低いほど電波強度が強くwifiにつながりやすい。
バンド
プロトコルによって2.4GHz か 5 GHz が使われる。2,4GHz帯だと電子レンジと似た周波数なため電子レンジが稼働すると繋がりにくくなる。 (よく行くカフェはお昼時は電子レンジが稼働してつながらなくなるのがこれでわかった。)
ざっくりつながりやすいwifiはどれ
- RSSIの数値が低いやつ
- RSSI が同程度ならば ac > a/n > b/g/n 順に良い。
私からは以上です
Fitbit Flexを購入してHealthkitの連携した
Fitbit Flexを購入した
Fitbitとは
アクティビティ記録デバイスなどの情報が得られる Fitbit オフィシャルサイト
Niki Fuel BandやApple Watchのようにアクティビティを取得してデータ化し、視覚化する事が出来る。
Fitbit Flexには
- サイレントアラーム
- 歩数トラッカー
- 睡眠のトラッカー
など。上位機種(Charge HRなど)は脈拍も取得可能。
比較はこちら
なぜfitbitを買ったか
これまでにNike Fuel Bandを2世代使っていたので前々からアクティビティを取ることはやってた。 だけどFule Bandは使い始めて半年後くらいに壊れて、2つともダメになってしまった。 運動を視覚化するとちゃんと運動しないとなぁとか思うので結構良い。しかしウェアラブルデバイスの弱点は耐久性が低いことにあると思う。
flexを選んだ理由
悩んだのはFlexかCharge HRだった。 ZipやOneなどはポケットに入れるタイプだがポケットに入れる系のものは絶対になくすのでそもそも選択肢にない。 Charge買うぐらいならChargeHR買う。SurgeやBlazeは高機能すぎて必要ない。 なのでFlexかCharge HR。
エンジニアとしては脈拍を常時取得できるCharge HRなんかは気になる。 だけど脈拍が運動したいという気分になるかというとあまりそんな気はしていなくて、あの時高かったんだなぁというデータにしかならないかなと思った。 flexが9000円くらいでCharge HRが19000円くらい。脈拍を取るために1万円多く払うのにちょっと躊躇した。
またFuel Bandからの教訓で求めるのは耐久性と正確性。Charge HRはリストバンドそのものが本体に対して、Flexは本体は中のデバイス。リストバンドはシリコンラバーなので傷が目立ちにくい。また本体がシリコンに守られているので衝撃にも強いのではと思った。
取り出して見た図
ここにはめ込んでいるだけ
またシリコンのリストバンドが特別に機能があるわけではないので、リストバンドが消耗した場合Amazonでも買えるみたい。 サードパーティ製のもあるっぽくて良さそう。 www.amazon.co.jp
またもし壊れたりなくした場合でも9000円だとまた出して買ってもいいかなと思えるけど19000円は次買うのに躊躇するなと思った。
fitbit を長く使ってるエンジニアの先輩の@hmsk さんに聞いてみた所そんなに壊れやすいものでもなさそう。
@saboyutaka one, one, flex, force, charge, chargeと順調に3年間貢いでおります。ハートレートは不正確な件で訴えられてるのを見て手を出してないですがblazeは欲しいところ。
— Kengo Hamasaki (@hmsk) 2016, 1月 12
@saboyutaka 壊れたのはchargeを乱暴に使ったときだけです!oneは落として、forceはリコールになった以外は単純に新デバイスへ飛びついているだけ...
— Kengo Hamasaki (@hmsk) 2016, 1月 12
結果Flexを選択した。
flexを使い始めて
歩数やスリープトラッカーの取得制度が結構正確
- 仕事でPC作業してる時などにつけっぱなしで仕事してるけど歩数が増えてない。歩いていない時をちゃんと区別して計測してていい感じ。
- スリープトラッカーが寝てたら自動でログを開始して、動き始めると終了する。この精度がけっこう優秀。
ちゃんと運動をDriveしてる
つけ始めて歩くことを意識するようになったし、ちょくちょくAppを見るようになってる。まぁ買ってすぐなのですぐ飽きるかもしれないけど。。今のところは。。w
今のところ満足度が高い。
充電する頻度もそんなに多くなくてもよいし、つけててもあまり気にならないので毎日つけれる。
友人とのチャレンジがおもしろい。
何がきっかけでFitbitが流行ってるのかわからないけど、自分の周りにFitbitを購入した人が1ヶ月の間に6人くらいいる。 その人達とチャレンジ(期間を設けて歩数を競う)をすると結構おもしろかった。
Healthkit、Withingsとの連携
iPhone, iOSのHealthkitを使うことで他のHealth系Appと連携することが出来る。Fitbitは公式ではAppleとの提携をやめてしまったみたいだけど、FitbitはAPIがしっかりしてる。API最高!! なのでFitbitのAPIを叩けばHealthkitと連携することが可能。
自分はSyncSolverというAppを購入し連携することにした。 Healthkit to Fitbit と Fitbit to Healthkit が分かれているみたいなので両方購入した。
脈拍は別のAPIらしくて対応してるアプリはない?or少ない?、flexでは脈拍取れないので関係なくあまり調べてない。 SyncSolverではここを見ると対応していないのがわかる。
自分のHealthkit連携環境
Withingsの体重計で
- 体重
- 体脂肪率
を取得し、Healthkitと連携している。 体重計には毎朝乗って自動でWithingsアプリに連携される。
これをSyncSolverを使ってHealthkitからFitbitに連携する。
できた。
これでHealthkit, Fitbitで
- 歩数
- 体重
- 体脂肪率
- 睡眠時間
などが見れるようになった。
まとめ
Flex買ってよかった。やはり数値化されるとやる気出ますね。数値化したりAPI触ってみたりはやはりエンジニアからすると面白い。 体重74キロスタートで70キロくらいに戻したい。 今年こそはヘルシープログラマーを目指したい。
1週目は結構頑張って運動できたのでこれを継続していきたいですね。。
継続する力がほしいなり
— さぼ イカid:saboyutaka (@saboyutaka) 2016, 1月 15
おわり
p.s.
fitbit 買って友達になりましょう!