kitak's blog

Kみたいなエンジニアになりたいブログ

ランニング記録 9月4週目

9/23 ほぐしのジョグ

6:55/kmのペースで、6km。

9/24 ビルドアップ走

1時間ビルドアップ走。5:13/kmのペースで11.5km、前後に7:00/kmのペースで3.6km

9/25 疲労抜きジョグ

7:36/kmのペースで、4.1km

9/27 ジョグ

6:51/kmのペースで、6km

9/28 ジョグ

7:23/kmのペースで、5.8km

9/30 タイムトライアル

前後に軽めに3km、タイムトライアルは5:19/kmのペースで10km。

まとめ

9月の走行距離は202km。足の疲労がけっこう溜まったが、距離を積み重ねることができた。10月は疲労を抜きながら、本番に向けて調整していく。

ランニング記録 9月3週目

9/17 疲労抜きジョグ

8'00"/kmのペースで、6kmぐらいをゆっくりと。

9/19 ほぐしのジョグ

6'48"/kmのペースで、7.6km

9/20 ポイント練習

2kmぐらいジョグをした後に、4'40"/kmでペースラン。10km程度走るつもりだったが、途中でふくらはぎに違和感が出てきたので、靴紐を結び直して、インターバル走に切り替え。
多分、靴紐の結び方が固すぎて、足首とか付け根あたりが動かせなくなっていたしわ寄せがふくらはぎに来たんじゃないかな、と推測。
インターバル走は順調にこなせて、クールダウンのジョグも合わせてトータルで13.7km、平均ペースは5'56"/km

9/21 LSD

前日の疲労抜きジョグも兼ねて、LSD。昔の職場の同僚のhikarockさんと一緒に走る。
神保町スタートで、コースは特に決めずに気ままに走った。皇居、銀座、築地、月島、隅田川テラス、両国、浅草橋、御茶ノ水、皇居と回って、神保町に戻る。
LSDは人と笑顔で話せるぐらいのペースが理想なのだけど、そんなかんじのペースで楽しく走り続けることができた。LSD、ひとりで走るとついついペースが早くなってしまうし、長時間で退屈してしまうので、だれかと一緒に走るのが吉。
この日は、トータルで21km。平均ペースは8'00'/km

まとめ

ここまでの今月の走行距離は149km。若干足に違和感もあるけど、いいかんじに距離を積むことができている。
今月は走行距離200kmを達成できるかも。

ランニング記録 9月2週目

週の始めは天気が悪くて、走れなかった。

9/11 軽めのジョグ

この日も夜は雨の予報だったので、朝のちょっと空いた時間に走った。
6'41"/kmのペースで3.31km

9/12 ほぐしのジョグ

朝に6'41"/kmのペースで6.11km走った。気が向いたら夜にポイント練習しようかと思っていたけれど、気が向かなかった。

9/14 SIT

ポイント練習。SITと前後のジョグ。
トータルで平均6'02"/kmのペースで10km。前回と同様にそんなに追い込めている気がしないので、6分まわしのインターバル走に戻す予定。

9/15 疲労抜きジョグ

前日の疲労抜きジョグ。
6'21"/kmのペースで12km。疲労抜きジョグとしてはペースが早すぎたかな、という気もする。

9/16 LSD

LSD。6'57"/kmのペースで、21km。
久しぶりに20km以上、走った。家から荒川に向かい、川に着いたら北上、その後、隅田川を下って家に戻るコース。
荒川は虫が多い(走ってて虫とぶつかる)。荒川から隅田川に切り替えるあたりで道に迷った。夜は暗い。このコースは昼間に走るコースだなぁ

LSDにしては、ペースが早すぎたかな、と反省。足にけっこう疲労が溜まった。ただ、前の週の16kmのランと比べて、心肺的には楽だった。

普段、Apple Watch(series 3) の Nike run club アプリでランニングの記録をつけているのだけど、今回はうまく記録できなかった。
アクティビティを終了したタイミングで固まって、データがロストするという最悪の体験。Apple Watch、なんとなく20kmを超えるとアプリの動作が重くなる気がする( series 3 のスペックが原因かもしれないが )。 どっちにしろ、フルマラソンを走る場合は充電がもたなくて、どうにかしないといけないと思っていたので、Garmin ForeAthlete 245 に乗り換えることにした。

まとめ

前半はサボり気味だったけど、後半でしっかり練習できた。今月のトータルの走行距離は100km突破で、来月・再来月の大会に向けて、ちゃんと練習できている感がある。

ランニング記録 9月1週目

後で振り返ることができるようにメモをつけておく

9/1 ペースラン

キロ5'30"のペースで6km

9/4 ほぐしのジョグ

翌日に高負荷のトレーニングをするつもりだったので、筋肉をほぐすためのジョグ 。
ゆっくりのペースで8km、平均ペースはキロ7'00"

9/5 SIT

はじめてのSIT(スプリント・インターバル・トレーニング)。普段やっている7分まわし(1キロを4'30" + つなぎのジョグ)のインターバル走よりも主観的には楽。
ぎりぎりまで追い込まないと意味のない練習なので、もっと負荷をかけてもよさそう。 ただ高負荷のトレーニングはケガもしやすいので注意。
翌日は足に疲れが残っていた。
前後のジョグと合わせて、トータルで6.8km、平均ペースはキロ6'00"

9/7 ビルドアップ走

本当は前日にSITの疲労抜きジョグをしたかったんだけど、時間が合わなくて断念(朝走ろうと思ったら、気温が上がってしまっていた)。
SITの疲労が抜けたような気がするのと、気力十分だったのでビルドアップ走。
キロ5:40(フルマラソンサブフォー)のペースから始めて、段階的にペースを上げていく。最終的なペースはキロ4:30だった。 前後のジョグと合わせて、トータルで11.7km、平均ペースはキロ5'40"

9/8 LSD

前日の疲労抜きも兼ねて、LSDLSDをやるのは久しぶり。家から隅田川に向かって、隅田川に着いたら、隅田川テラスをひたすら下って、家に戻った。
ゆっくりペースで走るために変な走り方になっていたのか最後の方は膝が若干痛かった。久しぶりに15km以上を走ったけど、けっこうヘトヘト。
10月の東京30K秋大会に向けて、少しずつ距離を伸ばして身体を慣らしていく。 トータルで16km、平均ペースはキロ7'28"

まとめ

トータルで48.9km。東京30K秋大会(福岡マラソンのリハーサル的な位置づけ)に向けて、まずまずのスタート。
持久力が課題なので、週一のビルドアップ走 or インターバル走に併せて、LSDを週一でやっていくのと、その距離も 18k, 20k, 25k と増やしていく。

MobileSafari でダブルタップしたらズームするのを防ぐ

iOS10 から <meta name="viewport" ...user-scalable=no の指定が無効になって、ダブルタップしたらズームされるようになった。

読み物系のサイトでは問題ないと思うんだけど、ボタンを連打するようなUIを作っている場合、拡大されるとUXとしてよろしくないので、防ぎたい。

調べたら JS で touch 系のイベントリスナーを登録して、フラグが立ったら preventDefault するようなハックをよく見かけたのだけど、もう少しシンプルにできないか、と思った。
そういえばタッチの振る舞いを決める CSS プロパティがあったことを思い出して、サイト上でのタップ操作をサポートする  |  Web  |  Google Developers を読んだら、touch-action: manipulation; というドンピシャなものがあった。クリック遅延を防止するらしいので、画面をタップした際の click イベントが発火するタイミングにも良い影響があるかもしれない。

touch-action: manipulation ダブルタップ操作を無効にして、ブラウザでのクリック遅延を防止します。 スクロールやピンチズームの処理はブラウザに委ねます。

ベースの CSS に以下の記述を足しておしまい。

html {
  touch-action: manipulation;
}

寝具を買い替えた

同じ寝具でも、人によって合う合わないあると思うので、あくまで参考程度で。

引っ越したときに寝具を買い替えたのだけど、自分の身体に合わなくて、腰が痛くなっていた(メーカーや商品名は伏せるけれど、いわゆる体圧分散マットレスというやつ)

もともと、ベッドや布団も検討していたのだけど、ベッドを置くと今の部屋の広さでは窮屈、ベッドや布団から出るホコリが苦手なのもあって、「折り畳めて、立て掛けることができる or 収納ができる」「ホコリがでない」「洗濯可能」といった条件を満たすマットレスにしたのだった。

色々調べて、買い替えた結果、以下の組み合わせでぐっすり眠れるようになって、腰の痛みが改善された。 特にグースリーのマットレスが良い。羽毛を使っていないのに羽毛のようにふかふかしていて、ホコリも出ない、洗濯も可能という優れものだった。寝心地が良すぎて、朝なかなか起き上がることができなくなるぐらい。

https://www.amazon.co.jp/gp/product/B07GKR5B9Q/

rollup で Vue コンポーネントの npm パッケージを作る時に SSR も考慮する

お手伝いしている会社で、対応したやつのメモ。

Vue のコンポーネントを複数のプロジェクトで共有するために npm パッケージ化しているときに遭遇した問題。 Vue コンポーネントを npm パッケージ化する — Vue.js 等を参考にパッケージを作っている場合は、ブラウザで動作させる前提のバンドルファイルが生成されるので、これを SSR に利用すると、documentなどのブラウザのAPIにアクセスしてエラーになる。

対応としては、SSR 用のバンドルファイルを別に用意して、実行するプラットフォームに応じて利用するバンドルファイルを切り替える。 具体的には、rollup の場合、Examples | Rollup Plugin Vue に書かれているオプションを指定すると SSR 用のバンドルファイルが生成される。

切り替えは nuxt の場合、以下のようにプラットフォームごとにプラグインのファイルを用意して

foo-ui-client.js

import Vue from 'vue'
import FooUI from 'foo_ui'
Vue.use(FooUI)

foo-ui-server.js

import Vue from 'vue'
import FooUI from 'foo_ui/dist/ssr'
Vue.use(FooUI)

プラグインの設定で、作成したファイルに対して適切な mode を指定する。

plugins: [
  ....,
  { src: '@/plugins/foo-ui-client.js', mode: 'client' },
  { src: '@/plugins/foo-ui-server.js', mode: 'server' },
 ],