【ダイエット】実践していることその1、体重計を買うべし

まぁ、まだ自分もダイエット半ばですので、偉そうなことは言えないのですが、

確実に言えるのは、本気で痩せたいなら体重計を買うべし、です。

そもそもの話、体重計に乗って、体重の変化を数字で確認しなければ、痩せたかどうかが分からないじゃ無いですか。

正直言って、これができるかできないかでダイエットに対する本気度がバレてしまうと思います。

そして、体重計を買ったら、毎日体重計に乗って、体重を記録しましょう。

できれば毎日同じタイミングでの計測が良いです。

1日でも時間によって変わりますし、食前食後でも言わずもがなですね。

オススメは朝起きて、トイレに行った直後、です。

オイラはトイレの出口から見えるところに体重計を置いて、朝起きる→トイレに行く→体重計に乗るという導線を作っています。

あと、体重計は自動的に記録してくれるものが非常に便利です。

自分で記録しなくても、アプリとかで確認できる物が良いですね。

オススメはやっぱりfitbitの体重計です。

WiFi経由でスマートフォンのアプリにデータを転送し、いつでもアプリで確認することができます。

あとは、体組成計なども計測できるものもあり、それがあれば体のデータが細かく調べられます。

まぁ、なんであれ、毎日続けられる方法を選んでください。

これ、一番大事。

毎日続けることが重要です。

fitbit Versa2を1週間使用して気が付いたこと

fitbit Versa2の開封記事をこちらに書いたのですが。

1週間使ってみて、気がついたことをまとめました。

高低差が分かるようになった。

高低差が分かるので、例えば何階分の階段を上ったか、というのも記録されるようになりました。

ランニング記録にランニングルートが記録されるようになりました。

おそらく、スマホ端末側のGPS情報を使用しているのでしょうが、ランニングルートも記録されるようになりました。

個人情報を含むのでスクショは取れませんが。

今まではアディダスアプリを使って記録していましたが、これも不要になりますね。

ウォッチフェイスを変更できる。

まぁ、スマートウォッチだから当然だわな。

エクササイズを自動的に認識してくれる。

認識自体はいままでのトラッカーでもできましたが、

例えばランニング中に信号待ちで停止した場合、それも認識してタイマーを止めてくれます。

そして、信号が青になって走り出すと、それも認識してタイマーを再開してくれます。

謎アプリStrava

なんか、エクササイズを行うと、自動的にこのアプリが動作して、何かしてくれるみたいなんですが、いまだに何もしてくれていません。

これ、何なんですかね?

こう見て見ると、やっぱり今までのInspireHRよりも遙かにパワーアップしていますね。

使用していて楽しいです。

いろんなデータが溜まっていき、それを眺めて、また明日も頑張ろうって思えます。

【LARAVEL】【ダイエット支援】グラフのデータ間隔を指定する

前回までの状況はこちら。

最新ソースはこちら(gitHub)

https://github.com/takishita2nd/diet-mng

このプログラムはこちらのリンク先で運用中です。

https://taki-lab.site:8443

さて、こちらのグラフなんですが、

現状は最近の10日間のデータをグラフに表示させているのですが、

実際、もっと昔のデータもグラフに出したいじゃないですか。

なので、これをやります。

UIとしては、右下のところに日毎、週毎、月毎のリンクを作成して、それでグラフの切り替えをやっていこうと思います。

まずはフロント部分。

            <div class="command">
                <ul>
                    <li><a @click="onClickDay">day</a></li>
                    <li><a @click="onClickWeek">week</a></li>
                    <li><a @click="onClickMonth">month</a></li>
                </ul>
                <ul>
                    <li><a @click="onClickInput">クイック入力</a></li>
                    <li><a href="/weight">詳細</a></li>
                </ul>
            </div>

こんな感じでリンクを作ります。

フロントの処理はこちら。

        onClickDay: function() {
            this.contents.interval = 1;
            this.graphUpdate();
        },
        onClickWeek: function() {
            this.contents.interval = 7;
            this.graphUpdate();
        },
        onClickMonth: function() {
            this.contents.interval = 30;
            this.graphUpdate();
        },

クリックするリンクでデータ間隔を数字で設定して、APIのパラメータとして与えます。

ではAPIの処理。

    /**
     * グラフ用データを取得する
     */
    public function graph(Request $request)
    {
        return response()->json(['datas' => $this->weightManagement->getGraphData(Auth::user(), $request->contents["interval"])]);
    }
    public function getGraphData($user, $interval, $days = 10)
    {
        $datetimes = [];
        for($i = 0; $i < $days ; $i++) {
            $datetimes[] = date('Y-m-d', strtotime('today - '.($i * $interval).' day'));
        }

        return $user->WeightManagements()
                    ->whereIn(DB::raw('date_format(datetime, "%Y-%m-%d")'), $datetimes)
                    ->get();
    }

実行結果はこちら。

日毎

週毎

月毎

データが少ないからあまり違いがわかりませんが、表示はちゃんと変わってます。