9月のランニング

160 km 走ったので、今までの中では最長になった。

soh335.hatenablog.com

の本でピッチ(足の回転)は1分間で 180 ぐらいが良いと書かれていて(実際にはこの本では両足の 90 という数字だけど同じ意味)、調べると割とそういう情報も多い。 今まで意識しないで走ると 160 ぐらいだったので、これの通りだと1分間で 20 歩さらに踏む事になり、かなり回転を上げる必要がある。

試してみると、普段ダラダラと走る 5:30 /km のペースだと170 ぐらいが限界だった。しかも最初はピッチだけを気にしたせいか、思った以上にスピードが出て 5:05 /km ぐらいになった。

ちなみに計算してみると5:30/km, 160 ピッチだと、歩幅は 1000 / (5.5 * 160) = 1.14 m, 5:05/km, 170 ピッチだと 1000 / (5.08 * 170) = 1.15m なので、歩幅があまり変わらなかった。もしかしたら腕を振ることに気を取られ、歩幅がいつも通りだったせいかもしれない。

その後何度か試して 5:30/km で 170 ピッチに合わせられたので、これだと 1000 / ( 5.5 * 170) = 1.07m となった。計算上だと 7 cm しか狭くなっていないけど、かなり小さく走るように意識してる。

試して良い点としては小さく走っていて上下動が少なくなったせいか足首が痛くなりづらくなったような気がする。

悪い点としては腕をかなり意識して振っているでだんだん疲れて、ピッチが下がってくる事。それを意図的に修正したりするのでペースがまだ安定しない事。

11 月の川崎国際多摩川マラソンにエントリーしているので、それまではこっちで走ってみる計画。

EAT&RUN 100マイルを走る僕の旅

EAT&RUN 100マイルを走る僕の旅

EAT&RUN 100マイルを走る僕の旅

ふわっと読み始めたけど結構長かった。けど、オリンピックとかとはまた違うウルトラマラソンランナーが、どう生まれて、どう考えて、どうして走ってるのかみたいなのをつらつらと書いていて、(全然知らなかったけど)とても良かった。

あと一章終わるたびに、ヴィーガン(完全菜食主義者)のこの人が食べている料理のレシピが載っていて、それも結構面白い。本当に eat and run 。

さらに大事なことは、このレースを完走した選手一人ひとりが乗り越えてきたものに敬意を払うことができた。僕は妻の実家の地下室に住み、寝たくても具合が悪くてもトレーニングをして、何度も引っ越しをしては借金を作ってきた。他のランナーたちもさまざまなことを耐えてきたに違いない。達成できるかどうか分からない何かに挑戦する力は誰もが持っている。それは一マイル走ることかもしれないし、一〇キロ走ることかもしれないし、一〇〇マイルかもしれない。転職かもしれないし、二キロ痩せることかもしれないし、誰かに愛してるって告白することかもしれない。ウェスタンステーツに挑んだランナーで、完走できると確信していた者なんていないし、ましてや優勝すると思っていた者なんて(僕を含めて)誰もいない。多くの人たちは、人生の中で偉大な何かを成し遂げたことはない。挑戦したことさえない。ここにいるみんなはそれを同時にやり遂げたんだ。ゴールに立って選手を迎えることで、きっと苦痛や不安や渇望や絶望を乗り越えてきた彼らを讃えることができた。そこに居合わせることによって、彼らが呼び起こさなければならなかった力を認め、困難な目標を定めて達成したことを祝福することができた。そのときには分からなかったけれど、こうやって僕に目的や平穏の手段を与えてくれたこのスポーツに、何か恩返しをする機会を与えてもらった。どうしてという疑問に、つかの間のはかないものであったとしても、何かしらの答えをくれたのだから。

apns ( http2 ) で Token Authentication を行う

apns ( http2 ) で新たに Token Authentication という jwt による認証機能が追加されました。 詳しい内容は下記にあります。

developer.apple.com

developer.apple.com

上にある通り、今までは証明書の期限切れという問題がありましたが、Token Authentication を行うと期限がありませんのでその問題から解放されます。 ただこれも説明にある通り、token (jwt) は1時間ほど有効なものなので、push 通知サーバ等が面倒を見る必要があります。

もう一点は利点と言えるかわかりませんが、下記の説明のように複数のアプリに使えます。

Get an authentication key to generate server-side tokens. You can use these tokens as an alternative to certificates for your notification requests. One authentication key can be used for multiple apps and does not expire.

以前 apnsapi という go のパッケージを作ったのでこちらに jwt で認証する機能を追加しました。

github.com

***.p8 というファイルを apple からダウンロードしたのちに

$ go run _example/main.go --key /path/to/file.p8 --kid $keyIdentifier --teamId $teamID --topic $topic --token $token

とすると試せます。

isucon 6 に参加しました

isucon.net

いつもどおり、hisaichi5518, kenjiskywalker と参加して今年もダメでした。

hisaichi5518.hatenablog.jp

時系列で簡単に振り返っておきます。

10 時 - 11 時

  • kenjiskywalker 最速到着
  • hisaichi5518 いつもどおり遅刻(今回は少しだけ)

azure の使い方みたりして 11 時にようやく perl の初期実装のスコアが計測される。

11 時 - 12 時

  • kenjiskywalker にインフラ周りを見てもらう
  • hisaichi5518 とアプリのコード眺めてコメントとかつけたりする
  • お昼の買出しに行く

12 時 - 15 時

  • クエリの改善
  • ちょっとしたコードの改善(ループ周りとか)

等をいろいろ入れて、50000 点ぐらいでスコアが打ち止めになる。たまにスコアが 1/2 ぐらいになることが発生。再度計測すると戻ったりしてた。

15 時 - 18 時

  • redis
  • isutar, isuda の同居(しかし、うちの環境だとスコアが下がるのでやめた。。。)

等を試みるけどほぼスコア変わらず終了。

反省点

いつも、15 時ぐらいまでのスコアで頭打ちになるのを、またしても繰り返してしまった。。。データ構造の redis 化より、html のキャッシュに時間を割くべきだったけど、最後の方疲れて単調に作業してしまった。

一回3時休憩ってことで散歩してリフレッシュすればよかったかな?という感じです(実際、お昼休憩で買出しに行っていろいろやることがまとまった)。

運営の皆様、今回もとても楽しく参加できました。ありがとうございました。