ENGINEERING&RUN

26.2マイルを走る僕の旅

ランニングアプリを大晦日ハッカソンで作った

毎度の紹介ですが、ランニングにハマっています。
どれくらいかというと、打ち合わせ中ずっと「もっと速く走れるようになれないかな」と考えているくらいです。

そんな自分ですが、大晦日に毎年参加している「大晦日ハッカソン」参加しました。
ハッカソンはマラソンとハックを混ぜたもので、まぁとにかくがーっと集中して開発するやつです。
大晦日ハッカソン2018 #大晦日ハッカソン : ATND

日中はやることが多かったので、結局開発しはじめたのは21時くらい。
だいたい3時間くらいでサクッと作りました。

作ったアプリ

今回作ったのは「月間走行距離を集計し、Twitterのプロフィールを更新するアプリ」です。
iOSのヘルスケアにワークアウトの走行データを記録し、このアプリを立ち上げると月間走行距離を計算してくれて、APIサーバ経由でTwitterのプロフィールの後ろの月間走行距離も記録してくれます。

f:id:eishis:20190326222022p:plain
アイコンすら設定できていないですが!

立ち上げたあとはこんな感じでTwitterのプロフィールが更新されます。

毎回アプリ立ち上げるんじゃなくてバックグラウンドで処理しろーという感じですが、何せ3時間の出来なのでしょうがない。

作った経緯

ランニングの記録にNike Run Clubを普段使っていますが、たまには違うアプリを使いたくなるんですよね。

Nike Run Club

Nike Run Club

  • Nike, Inc
  • ヘルスケア/フィットネス
  • 無料

具体的にはRun KeeperやRuntasticなどです。

Runkeeper- GPS ランニングトラッカー

Runkeeper- GPS ランニングトラッカー

  • FitnessKeeper, Inc.
  • ヘルスケア/フィットネス
  • 無料

Runtastic ランニング&ウォーキング

Runtastic ランニング&ウォーキング

  • runtastic
  • ヘルスケア/フィットネス
  • 無料

ですが、個々のアプリで「月間走行距離」は記録できても、当然横断的に見れるアプリはありません。
ただだいたいのアプリはヘルスケアへの同期が可能です。
それに今までの走行データを色々と使いたいので、サーバ側のDBに保存しちゃいたいなーというのがありました。

なので、ヘルスケアを集計→サーバのAPIへPOST→サーバ側でDB保存&Twitterのプロフィール更新 というフローとすることにしました。

使用した技術

アプリ側:React Native サーバ側:Ruby on Rails(既にいろんな用途に使っている空きサーバがあったので...)

さくっと作りたかったので、アプリ側はExpoを使おうと考えていました。

expo.io

ですが、残念ながらHealthKitの中でも走行距離データであるWorkOutは取得できなかったんですよね...

Pedometer - Expo Documentation

そこで普通にReact Nativeでやることに。
今回はWorkOutのデータを取得するためにこちらのパッケージを使いました。

GitHub - AFGhazy/rn-apple-healthkit: A React Native package for interacting with Apple HealthKit

まぁこんな感じで書いてあげればワークアウトのレコードを取ってこれます。

  const options = {
    startDate: "0"
  };

  return new Promise((resolve, reject) => {
    AppleHealthKit.getWorkout(options, (err, results) => {
      if (err) {
        reject(err);
        return;
      }
      const records = results.filter(
        result => result.activityName === "Running"
      );
      resolve(records);
    });
  });

あとはここのフィルタをちゃんとしてあげて、そのデータをAPIサーバに送ってあげればOKです。

サーバ側は普通に値をキャッチするだけです。 Twitterのプロフィール更新はここらへんを見ればわかります。

developer.twitter.com


そんなこんなで、まぁ雑な作りですがアプリを横断して走行距離をちゃんと把握できる便利なものができました。
ここからGASに入れてすべてSpread Sheetとかで管理できたらいいかなと思ったりしています。

あとバックグラウンドジョブ...!

それにしても今月は故障の影響もあるけど、全然走ってなさすぎて辛い

寝てはいけま10ダイエット

昨年からダイエットをしています。
ダイエット前の体重はすごく、168センチ86キロ!!

体型も去年1月時点でこんな感じでした。

ひどいもんですね...

f:id:eishis:20190324213128p:plain

今は20キロ以上痩せ、体脂肪率も16~17%くらいまでは下がりました。
去年からやったことを振り返ってみます。

まず食事制限で痩せる(1〜4月)

この状態からまずダイエットの為にやったことはこちらです。

  • 糖質をかなり制限。炭水化物は食べても1日1回程度。
  • 週3回、ひどいときは1日2回食べていたラーメンを禁止。

ちなみにラーメンは今でも食べておらず、1年2ヶ月食べていないです。
不思議なもので、あれほど大好きだったラーメンに何も魅力を感じず、全く食べる気になれないです。

これらの食事制限で8キロほど痩せました。
BMI30オーバーの状態のときは、運動せずとも食事制限だけでだいぶ落ちますね。

トレッドミルで痩せる(5〜7月)

この時期から会社の福利厚生として、ジムを契約しました。
トレッドミルで走ってみたところ、5キロ40分!
でも次に走ったら35分くらいまでに早くなったと思います。

そこからトレッドミルを週2程度やりはじめました。
食事は相変わらず炭水化物を減らしていたものの、朝はパンを食べたり食事は極端なものではなくなった気がします。

だいたい4キロくらい痩せました。

外ジョグで痩せる(8~9月)

あまりにも体重が多いとアスファルトで走るの危険だよなーと考えていましたが、だいぶ減ってきたのでこの頃から外を走るように。
月50キロ〜100キロくらい走っていたと思います。

暑い中、頑張って朝走るようにしていました。
2キロくらい痩せたかな。

この頃、ようやく5キロを24分台で走れるようになりました。

ひたすら走って痩せる(10月〜12月)

なんだろう、この頃からもう走ることの虜になっていましたね。
家(某市)から職場(代々木)まで21キロちょうど(走りやすい道を走ると)あるのですが、週1〜2で職場からの帰宅Runをしていました。
走って出勤してジムでシャワーを浴び、帰りも走って帰るみたいな日もありました。

頭おかしいのでは?と周りに心配されだした時期ですね。
この頃は月250キロ前後走っています。

また12月には初めての大会(10キロ)にも出ました。
44分と、最初の大会にしては悪くはない...のかなという記録でした。

3キロくらいこの期間で痩せました。

寝てはいけま10で痩せる(2019年1月〜現在)

ようやくタイトルのダイエット法に到達しました。
1月は正月太りもあり、また計測のタイミングを変えたこともあり、もう少し痩せないとやばいなーと思い、ストイックなダイエットを考案。

それが、「目標の体重以下になるまで寝てはいけない」というダイエットです。
毎月体重の目標を立て(毎月1キロずつ痩せる目標)、その体重を下回るまで寝ない、という鬼畜なダイエットです。

寝る間際に体重を測り、目標をオーバーしていた場合にはステッパーや夜ランなどを行い、強引に体重を落とします。
ただそこまで寝るまで運動する日は多くはなく、夜ご飯前に体重をはかり「これくらいの分量は食べてOK」という予測を立てた上で夜ご飯を食べる為です。

これで今のところ1月から3キロほど痩せました。 5キロも19分台で走れるようになりました・

このダイエットが確実に痩せられますね。
ただしんどいと思うので、おすすめはできませんね...


今ではランニングにどっぷり浸かっていますが、ランニングを本格的にはじめたのはちょっと痩せた後からでした。
結果的にこれは良かったようで、こちらの小出さんの本でも「まずウォーキングなどで痩せてから走ったほうが良い」と書かれていました。

フルマラソンは今年10月の富山が初の予定ですが、それまでにあと6キロは体重を落とす予定です。
初マラソンサブ3.5!という目標をクリアする為、余分なものを落としていきます!

ランニングを継続させるためにやっていること

2018年5月から(本格的に月100キロ以上走り出したのは8月から)ランニングを続けています。
今まで、怪我やどうしても仕事で走れない日や週1のオフを除き、一回も休むことなくサボることなく続けてきました。
部活も趣味も勉強もダイエットも、何一つ継続できないまま33年を過ごしてきた自分にとっては、本当に奇跡だと思います。

なぜ走っているのかはまた別の機会に書くとして、継続する為に自分が取り組んでいることを挙げていきます。

練習日誌をつける

継続の為にも改善をする為にも、毎日練習日誌をつけています。 f:id:eishis:20190323205411p:plain

やったことだけでなく、ダメだったときには反省点と改善案も書くようにしています。 練習メニューについては、ウェブサービスで作ってくださる方を見つけて作っていただいています。

これはGoogle Spread Sheetで管理していて、スマホでも仕事中でも(!)いつでも確認できるようにしています。

ランニング専用Twitterアカウントを運用する

Twitterのアカウントで毎日ランニングの結果やつぶやきを投稿しています。

また、ランナーをフォローしまくっているのでタイムラインはランニングのことだらけ。 超速い人、ベテランの方、まだ始めたばかりの方、いろんな方のツイートを見ているとモチベーションが上がります。

もともとは自分のアカウントで投稿していたのですが、起業関係やプログラミング関係のフォロワーさんには微妙かなーと思い分けましたが、それが良かったようです。

みんちゃれを使う

みんちゃれという三日坊主防止の為のアプリを使っています。 minchalle.com ゆるーいランニングコミュニティに入って、雑談とかしつつ成果を報告しています。 f:id:eishis:20190323214150p:plain

社内Slackに報告用チャンネルを作る

会社内のコミュニケーションツールとしてSlackを利用していますが、APIを使って色々開発しています。 slack.com

中でも、社内でstoicというチャンネルを作り、走る属性の人が成果を報告しあっています。 また/stoicというコマンドを打つことで、ポイントが貯まるようになっています。 f:id:eishis:20190323212333p:plain ※スラッシュコマンドを叩くとサーバのエンドポイントを叩き、そこでDB上の値をカウントアップして返す感じです。

また、5月には企業対抗駅伝という駅伝に会社として出ますし、社内で走るぞ!というムードになっているのもモチベーションになります。

胸を熱くする本や映画を見る

ランニングに関するモチベーションを上げる為、映画や本を読むようにしています。 ランニング入門書や専門書も面白いですが、実際のランナーの方のお話を読むのが一番モチベーション上がります。

自分が見て面白かったのはこの辺です。

ベンチャー界隈にいる身として小野さんは尊敬する方ですし、更にランニングへの熱がすごい!
audibleでオーディオブックとして聴いたのですが、北極や南極での死闘は胸が熱くなりました。 https://www.audible.co.jp/

kindle unlimitedで読みました。
かん吉さんの今までのレースやトレーニング法、当日の話などとてもおもしろかったです。
この書籍では「サブ3は才能的に自分には厳しい」と書かれていたのに、今ではサブスリーを達成されているので、継続は大事だよなーと思います。

直接マラソンの映画ではないのですが、大好きな映画です。
理由もなく走り出したくなります。

風が強く吹いている

風が強く吹いている

映画としての出来とか、ありえないだろうっていう突っ込みどころはありますが、それでも胸が熱くなりますね。
Amazon Primeで観ることができます。

定期的に大会に出場する

2ヶ月に1回くらいは大会に出るようにしています。
といっても今まで3回しか出たことないですが。

大会に出ると、自分が本当に未熟なことを痛感します。
悔しくて悔しくて眠れないくらいになるのですが、だからこそ頑張ろうーという原動力になります。


色々挙げましたが、ランニングはとても息の長いスポーツです。
40代50代でベストタイムが出るランナーも多いですし、自分も少なくともあと30年は続けていきたいと思っています。

その為には無理をせず、楽しみながら継続していきたいですね〜。
(とはいえ無理をしてしまうんだよなー)

怪我からの復帰中

ランニングを始めたのは2018年5月。
そこからというもの、そんなに怪我というものが無く走ってこれたのですが、最近は股関節が痛く練習を1週間ほど中断することに。
今も様子見ながらのリハビリで、ゆっくり少しずつ走っている状態です。

原因

恐らくオーバーユースが原因ではあるのですが、雨の日に無理して走ったあとから痛くなった気がします。
雨自体というより、普段はHOKA ONE ONEのCLIFTON 4というシューズで走っているのですが、濡れるのが嫌でもう履きつぶしている古いシューズを履いて、しかもスピードをけっこう出して走ってしまったことが原因のようです。

また、その直後に市の5.63kmの大会(なんて中途半端!)があり、結局レース当日にロキソニンを飲んで強行出場したことも悪化させる原因となったようです。
そこでの年代別入賞を目標にずっと走ってきたので、どうしても棄権はできなかったんですよね...
タイムはよくなかった(1km4"10ペース)ですが、奇跡的に入賞することができました。

このお話はまた別の機会に書くとと思います。

復帰に至るまで

まず整形外科に行きレントゲンを取っていただきましたが、特に問題はなく安静にするようにと言われました。 ただできる限りのことはしようと、これらのことはしてきました。

  • ジムで上半身筋トレ(ベンチプレス、チェストプレス、プルオーバーなど)
  • 栄養をしっかり取る。朝と夜はプロテインを飲む。
  • パワーブリーズで心肺を追い込む

POWERbreathe (パワーブリーズ) プラス 超重負荷 赤【日本正規品 2年保証】

POWERbreathe (パワーブリーズ) プラス 超重負荷 赤【日本正規品 2年保証】

現在の状況

少しずつ、ゆっくりですが走るのを再開しつつあります。

早くとにかく全力疾走したい!!!

けど必死に我慢する日々です。

とりあえずは休養しつつ、上半身トレを続けてベンチプレスの重さももう少しあげられるようにしたいと思います。

ランニングをはじめて変わったこと

去年の5月くらいからランニングをはじめた。
今は週6、毎朝時間を取って月200キロほど走っている。
本当にランナーとしてはまだまだ初心者なのだけど、始める前と「変わったね」と言われることも多くなったのでまとめてみる。

ランニングをはじめて変わったこと

ポジティブになった

家族にも、自身が経営している会社の社員にも言われる。
本当にポジティブになったねと。
そもそも自分は本当にネガティブな人間で、人の悪い点ばかりに目がいってしまっていた。
自分にも自信がなかったし。

起業してからだいぶ改善されたのだけど、走ってから更に前向きになった。
嫌なことがあっても「自分にはランニングがあるし!」と思えるようになった。
どんだけ上手くいかないことが多い日も、その日の朝には既にランニングを済ませていて、「前に進んでいる感」があるのでそんなに落ち込まなくなった。

話題が増えた

これも自分の中で大きいことかなーと思う。
今までは会話をするとき相手の話題に合わせることが多かったけど、心から好きなことが見つかったので話題にはしやすくなった。

また、去年は仕事の関係で人気バンドのメンバーと話す機会があった。
その方が毎日ストイックにランニングを続けていて、ランニングの話で少し盛り上がることができた。
ちなみに彼らはランニングに関する曲も出しているので、毎日それを聞きながらランニングしている。

体型が変わった

これも大きいかなー。
ランニングだけではないけど、体重は17キロ痩せた。
エストも20センチくらい下がった。

毎朝起きること、インターバルなどのきついトレーニング、怪我など大変なことも多い。
でもそれでも継続できる自分については、認めてあげられるというか、誇れるから継続できるのかなと思う。

起業して約2年が経った

ブログ名の通り、よっぽどのことがない限り更新しないのだけど、よっぽどのことがあった。

起業した、そして2年が経った。 最近は起業しろするな(引き抜くな)など論争があるけれど、1つの経験談としてだれか1人でも参考になればいいなと思う。

現在の状況

  • eishisという会社を2016年11月に立ち上げる。
  • 社員と役員(自分のみ)合わせて7名、業務委託やアルバイトの方合わせて15名ほど。
  • 受託開発がメイン。WebAR/VRの研究や自社サービスもいくつか出している。

なぜ起業したのか

色々あるけど、『好きな人たちと一緒に働きたかったから』が一番だと思う。
今は本当に自分が良いなーと思う人だけとしか働いていないので、毎日楽しい!
働き方の柔軟さ、仕事の楽しさ、雰囲気なども自分の理想の環境を実現できるという点も良い。

大変だったこと

もともとフリーランスだったけど、やはり人を雇うのと一人でやるのでは全く違う。
「社員を残業させない」ということを決めて守ってきたけど、この規模で守っていくのは本当に大変。
また一人ひとり当然悩みも色々あったりする。どんなに自分に余裕がなくても、社員と向き合うというのはしんどいこともある。
これはもう「覚悟」なんだろうなーと思う。

お金に関しても毎日キャッシュフローとにらめっこしている気がする。
毎月の給料日が怖いし、昇給もかなり大きい会社なのでそのたびにひえーってなる。
それでも頑張れるのは自分が決めた道だから、という覚悟なんだろうなーと。

起業に向いている人

多くの起業家の悩みはお金か人かに集約されるけど、中でも人に関する悩みが1番だと思う。
感じるのは、『人がとことん好き』か『人に興味がない』かのどちらなのかなと思う。
自分は圧倒的に前者で、従業員のことが大切すぎるから、どんな大変なことがあったり無茶言われても何とかできる。

ただ周りの起業家の人は良い意味でドライな人のほうが多い気がする。人の問題で喰らうダメージは少ないので、ある意味羨ましくもある。

今後目指すところ

IPOもバイアウトも全く興味がないので、今のまま楽しく、でもレベルは高い会社にしていきたい。
また人は大切にし続けていきたい。
従業員には「客観的に見てうちの会社を選び続けてもらえる会社にしたい」といつも言っている。
情で引き止めるのではなく、給与も仕事内容も働き方も、客観的に見てもうちの会社で働きたい、と思ってもらえるようにし続けていきたい。

今は離職者0だけど、とはいえこれから出てくるんだろうなぁ(そしてそのときは凹むんだろうなぁ)

Sierraにアップデートしたら急にsshでパスフレーズを聞かれるようになったときの対応

SierraにOSアップデートしたところ、sshパスフレーズを聞かれるようになった。
Enter passphrase for key mac
みたいな。

毎回打つのはかなり面倒だなーと思っていたら、こんな対処法を見つけた。

superuser.com

.ssh/config に以下を設定してあげればOKだった。

Host *
    UseKeychain yes

これはかなり助かった。