kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

Scalaを学ぶと何が嬉しいかを考えてみる

まえがき

Scalaを学んで何が嬉しいか」ていうのは、人によって様々な答えがあると思いますが、最近ようやく自分なりの答えが出た気がするので書いてみます。

Scala採用企業で働くのに手っ取り早い

 多くの人の言語を学ぶ動機は、就職や転職に役立つというものだと思います。この点においては、当然、JavaRubyPythonPHPといったメジャーな言語には劣るものの、こと東京であればScalaを採用している会社は少なくなく、むしろScala人材が不足している状況です。もちろん、そういう案件では、ただ、Scala言語でプログラムが書けるだけでは駄目で、JVMについての知識なども必要になりますが、特に都内ならそういう企業に就職するためにScalaを学ぶというのもありかと思います。

 ちなみに、Scala採用企業マップ(これで全部ではないです)をshinharadさんが作成されていますので、参考までに。

www.google.com

 特に、ふつーの人でも知っていそうな企業でいうと

 あたりでしょうか。念のため書いておきますと、これらの企業で全面的にScalaを採用しているとは限らない(一部チームで利用の事例もある)ので、詳細については個別に聞いてみるのが無難だと思いま)。

プログラミング言語に強くなる

 この観点は最近見出したものなのですが、Scalaはアカデミック発(当初は、スイル連邦工科大学ローザンヌ校のMartin Odersky教授の研究室で開発。現在はLightbend社がメインで開発)ということもあってか、日々いろいろな実験がされています。特に、マクロを使ったライブラリが多いのがScala界隈で特徴的なところかと思いますが、マクロというのはとどのつまり、プログラムからプログラムへの変換を行うプログラムなので、Scala界隈で色々触っていると、自然とScalaに限らず「プログラミング言語一般」に思いを馳せるようになる……のではないか、と思っています。Lispを学ぶといいよ論と似ているかもしれません

強力な型システムを使ったプログラミング体験ができる

 私見ですが、現在実用で利用されているプログラミング言語の中では、Scalaの型システムによって実現できる制約はかなり強いので、それを生かした設計も(場合によっては)学ぶことができると思います。特に、DDD界隈で一部Scala推しがあるのは、このあたりなんではと思っていたりします。

DSLを作りやすい

 これは、最近の言語だと多かれ少なかれ意識している点かと思いますが、特にScalaはマクロを利用したDSL的ライブラリが豊富なように思います。そのあたりのテクニックは、他の言語にも輸出可能なものがあるだろうと思うので、どういうDSLがあるのかという観点でScalaを学んでみるのも良いことだと感じます。

Kotlinもすぐ習得できる

 最近は、AndroidアプリではKotlnを使った開発が一般的になって来ましたし、サーバーサイドKotlinの事例もちらほら見かけるようになってきました。KotlinはScalaの文法をかなり継承しているので(キーワードとか除けば、文法はかなり近い)、Scalaを学んでおけばKotlinは割と簡単に学べるというのもある意味メリットかもしれません。

楽しい

 これに関しては個人の主観なのですが、Scalaは、一見した印象と反対に、できるだけ直交した比較的少数の機能を組み合わせることで色々なことが実現できるので、創意工夫の余地はかなりあると思います。そのことが、書き方が分裂して、コードの品質を統一しづらいという意見につながるのかもしれませんが、ともあれ試してみて損はないと思います。

 というわけで、主観ばりばりですが、いくつか思いつく点を書いてみました。いくつかの点については、Haskellを学ぶのでもいいという話はありそうですが、特にJavaな人にとってはHaskellよりハードル低いんではないかなあと思っています。

Scalaを手っ取り早く学ぶのに適したリソースを紹介する(2020年版)

はじめに

 こんにちは。水島です。例のQiita炎上の件で、「ああ、これはもう自分向きのサービスじゃないな」と思ってサックリとアカウント消して退会したわけですが、ちょっとこれくらいはレスキューしておけば良かったな…と思った記事があったので、リライトしてみました。

 昨今、Scalaは色々なところで使われている一方で、特に日本語でScalaを学習したい人には、どこから手をつけていいやらさっぱり、という状況があります。特に、古い書籍だと現状のScalaのエコシステムを反映していませんし、Webサイトでも、古い情報のままということがあります。というわけで、今、日本語でScalaを学習したい人にとって適切なリソースをご紹介したいと思います。

オンライン講座

N予備校 プログラミングコース Scala基礎

www.nnn.ed.nico

 オンライン学習サイトの一つである、N予備校にはプログラミングコースというのがあって、その中でScala基礎という講座があります。実は、制作の初期段階で私がちょびっと関わっていたのですが、それはおいといても、Scalaを学ぶためのサイトとしては非常に品質が高いです。良いところを挙げると

  • Scalaのバージョンアップにキャッチアップしている
  • Scalaの基礎的な部分を丁寧に説明している
  • ある程度実践的なWebアプリ(ニコ動ぽいもの)を作る演習がある
  • 演習問題の解答をGitHub経由で提出して、講師がコメントをくれるシステムがある
    • これは、今もあるかは未確認

 といったところでしょうか。N予備校は月額1000円のサービスですが、今は無料で公開されているので、Scalaの実践的な知識を身に付けたい人にお勧めです。

書籍

実践Scala入門

実践Scala入門

実践Scala入門

 私を含む、5名による共著のScala書籍です。この本のコンセプトは、「コンパクトなコップ本」というものでして、コップ本の重厚長大さを軽減しつつ、実践に必要な知識を身に付けられるようになっています。

  • Scala 2.12対応(現状、主に現場で使われているバージョン)
  • Scalaを使う上で必須なsbtの解説がある
  • 同様に必須な、コレクションフレームワークの解説がある
  • テスティングフレームワークの解説がある

 といった点で、お勧めできます。なお、Scala作者のMartin Odersky教授らが執筆した、Programming in Scalaの邦訳である

Scalaスケーラブルプログラミング第3版

Scalaスケーラブルプログラミング第3版

 (いわゆるコップ本)は、その重厚長大さもあって、初学者には勧めづらいなと思うに至りました。ただ、言語仕様書以外でScalaについて網羅的に解説している書籍はこれがほぼ唯一のものですし、Scalaの設計思想についても語られているので、リファレンスとして持っておいて損はありません。

Scalaをはじめよう! ─マルチパラダイム言語への招待─ (技術の泉シリーズ(NextPublishing)

 インプレスR&Dから出版されたScala本です。

  • Kindle Unlimitedに入っていれば無料で読める
  • お値段も安い
  • コンパクト
  • Scala 2.12対応
  • Scalaの基本構文だけでなく、周辺のエコシステムにもある程度追従している

 といった特徴があります。特に、お値段やコンパクトさ(実践Scala入門と比べても)という点から、お手軽にScalaを始めたい方にお勧めできます。

ゼロから学ぶScala

ゼロから学ぶScala

ゼロから学ぶScala

 この本は、主にScala言語自体の習得に重きが置かれていますが、演習問題などがちゃんとあることや、内容についても誤りは少ないことから、とりあえずScalaの概観をつかむのには適しています。ただし、情報についてはやや古い部分も見受けられるので、その点については注意してください。また、この書籍ではsbtなどのエコシステムについての記述はほとんどないので、あくまでScala言語を学ぶためのものだと割り切るのが良いです。

Webページ

Scala研修テキスト

scala-text.github.io

 私が前職の時に、当時の同僚とともに書き上げた、新卒向けScala研修テキストです。

blog.scalamatsuri.org

 という経緯があって、今はJapan Scala Association(JSA)に寄贈されています。現在は、xuwei-kさんが主にメンテナンスをしており、特に、xuwei-kさんの尽力によって、最新バージョンへの追従などが継続して行われています。このテキストは、実際にドワンゴ社でのScala研修に使われたものであり、正確さにも最大限注意を払っているので、広くお勧めできます。ただし、現状はJava言語の利用経験がある人向けの説明になっているので、その点は注意が必要です(今後、Java言語の経験を前提としない、より初学者向けのテキスト改良を考えています)。

 CC BY-NC-SA 3.0で公開されていますが、企業内での研修用途では自由に利用可能という例外条項が入っていますので、企業の研修でも自由にご利用いただくことができます。なお、営利目的で利用する場合も、JSA側で個別に許諾を与えることは可能ですので、研修以外の営利目的で利用されたい場合はご相談いただければと思います。

 このテキストは、実際にScalaを使った開発をしている企業様複数に利用されていますから、どしどし利用していって、改良のためのフィードバックをいただければと思います。

Scalaメモ(Hishidama's Scala Memo)

www.ne.jp

 ひしだまさんによる、Scalaメモです。メモとはいうものの、インストールの仕方から、サンプルコード、ひしだまさんが使う上でハマった落とし穴など、実際の経験に基づいて書かれています。特に、Scalaの落とし穴にはまった人が参照するとよいのではないかと思います。ただし、更新された年月が全般的に古いので(Scala 2.10~Scala 2.11くらいのものが多い?)、その点は注意が必要です。 

その他

 その他にも、色々なScala書籍が出ているのですが、全般的に出版された年代が古いことが多く(特に、Scala 2.9以前やScala 2.10時代に書かれたものが多い)、2020年現在、お勧めできるものがあまりありません。ただ、その中でも読んでおくと面白いかもしれない本をいくつか挙げておきます。

Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド

Scalazのコントリビュータ(当時)の人たちによって書かれた、Scala徹底して関数型プログラミングを行うための本です。注意して欲しいのは、この書籍で解説されている技法は、Scalaの現場では一般的ではないので、あくまで、純粋関数型プログラミングに近いやり方をScalaで学ぶための本だと割り切ってください(重要)。

Akka実践バイブル アクターモデルによる並行・分散システムの実現

 Scala界隈で非常に一般的につかわれている、並列・分散ミドルウェアであるAkkaの解説書です。ScalaのWebアプリケーションフレームワークであるPlayでもAkkaが内部的につかわれており、Akkaを活用するためにはこの本を読んでおいて損はありません。

Scalaパズル 36の罠から学ぶベストプラクティス

Java界隈で有名な(?) Java Puzzleに影響を受けたと思われる本です。Scalaの落とし穴や罠など、言語仕様について探求してみたい人には面白いかもしれません(あくまで読み物として楽しむくらいが良いです)

というわけで、Scalaを学ぶのに良い書籍やサイトを紹介してみました。Qiitaで書いたときにもちょろっと言及した、竹添直樹さんによる『Scala逆引きレシピ』は良書なのですが、出版年代が古く、sbtやScalaのバージョンが上がって、Scalaのエコシステムが色々変わった現在はそのまま使えない点があるのでお勧めしづらい感じです。

 リライトするときに抜け落ちてしまった情報があるかもしれないのですが、だいたい復元できただろう、と思います。

コード履歴書とかいうものを書いてみた

巷ではやっているらしい。想い出話を含めて書き起こしておくと、後の自分の役に立つかもと思ったので、書いてみる。

この他に、大学1年からプログラムを書くバイトをしてたので、C++で書かれたCORBA処理系をいじくったり、Ethernet層に相当する何かの実装をしたり、カーネルをいじったりとか、低レベル方面のプログラムも書いていた。あとは、Swingを使ったリッチクライアントフレームワークの開発に関わったりも(この言葉はもう死語だけど)。

社会人1年目に至っては、お仕事で主に使っていたのはCだった(Cじゃないと書けない系プログラムのお仕事)。

  1. 高校2年の頃のお話。私は生物部だったのだけど、文化祭の出し物で、3択クイズゲームを作ることになった。当時の同級生がまずDelphiでプロトタイプを作ったのだけど、何故か私がC++ Builderで作りなおすことに。今、このときのコード見たら憤死するんじゃないかというくらいコピペの嵐だった。
  2. 高校3年の頃、なんとなくJava Appletの勉強がてらテトリスぽいものを作った。ロジックは難しくないものの、当時はどうアニメーションさせるかで苦闘してた記憶がある。
  3. 同じく高校3年の頃、なんとなくJava Appletの勉強がてらぷよぷよもどきを作った。何故かはわからないけど、ぷよぷよもどきの判定ロジックを組むことを通じて再帰を体得できた。大学に入学した後に、同期にぷよの顔グラが「不気味」と言われたのを覚えている。
  4. 同じく高校3年の頃、プログラミング言語作りの第一歩として数式解釈して表示するJava Appletを作った。当時は、BNFという概念も、それをコードに落とし込む技術も頭の中になかったので、どうすればいいのか頭を悩ませた記憶がある。
  5. 大学2年の頃、JavaCCを使って、おもちゃ言語をいくつか作った記憶がある。授業でtinycの処理系を作るというのがあったのだが、あえてyaccではなくJavaCCで、しかも、Javaで書いてたりした。
  6. 大学3年の頃、プログラミング言語Onionを作成。クラスベースで静的型ありと、今残っているOnionの原型はだいたいあった。それに加えて、暗黙の変数宣言、クラス委譲とかのちょっぴり独自な要素を盛り込んだ。ちなみに、情報特別演習という、プチ卒論みたいな授業の一環。この時はバイトコード生成系を作る能力がなかったので、Javaへのトランスレータとして実装。
  7. 大学4年の頃、プログラミング言語Onionをバイトコード生成系としてリライト。生成したコードをバイトコードベリファイアががんがんはじくので、オペランドスタックとか、オペランドスタック上の型をベリファイアがどう認識してるかとかの、JVM層の知識が一気についた。同じく情報特別演習の一環で作成。
  8. M1-M2の頃は、何か作った気がしているのだけど、あまり印象に残っていない。
  9. D1-D3の頃は、Scalaで遊びまくって、色々なプログラムを実験的に食わせて挙動を観察したりjavapしたりしていた。
  10. D3の頃、pegexをネタで作ってみた。ついでに、talkが何故かScala Days 2010を通ったので、スイスに行くことに。アイスランドの凄い長い名前の火山が噴火したり、それで日本に帰れなくなったり色々。
  11. 社会人1年目、Scalaに関する書籍を書いたりとか色々していた。ネタ言語toysを作ったりしていた。
  12. 社会人2年目、なんか色々書いた気がするのだけど、あまり記憶にない。
  13. 社会人3年目、Scala Conference in Japan 2013を立ち上げたりとかしてた。この年で印象に残ってるのは、ISO Rubyの試験実装パーザ(by 中田育男先生)の実装のお手伝いをしたこと。ヒアドキュメントとか配列リテラルとか、Rubyの文法は凄まじいことをこの経験を通して、実感(修士の頃から問題意識はあったのだけど)。これ、リライトして最新版Rubyに対応させてみたいとふと思った。
  14. 社会人4年目、ScalaMatsuri 2014とか色々。PPL 2014で、中田育男先生が、ISO Rubyについての講演をされたのだけど、その中で自分の名前が出たらしい(Twitterで見た記憶が)。
  15. 社会人5年目、Klassicの開発を開始したり、Macro PEGを思いつきで提案してみたりした。Macro PEGは何故か、何名かの知り合いに興味を持ってもらえたようで、実装に落としこむ方法とかセマンティクスについて議論をした。
  16. 社会人6年目、Macro PEGについて第110回プログラミング研究発表会(SWoPP 2016)で発表(査読なし)。パーザコンビネータscombを開発。Kotlin用パーザコンビネータkotbinatorを開発。パーザばっかり。
  17. 社会人7年目、プログラミング言語ハンズオンのために、教育用プログラミング言語nubを設計・実装。今思うと、教育用としては筋が悪かったなと思う部分が多々あり。
  18. 社会人8年目、Dartをいじってみたり、色々な言語のパーザコンビネータを書いたり、などなど。
  19. 社会人9年目、やっぱり、やたらパーザを書いていた記憶。GitHubとかTwitter掘り起こせば色々出てきそうだけど。あと、初めてお仕事関係でOCaml使ったのが印象に残っている。
  20. 社会人10年目、今年はプログラミング言語元年、というわけじゃないけど、1か月1言語企画始動。MatlikeContinuerを開発。2月分、3月分がまだ出来てないので、そろそろ手をつけないと。

大学院以降は、思い返せば趣味ではプログラミング言語とかパーザばっかり書いてた気がする。お仕事では結構多種多様なものを作ってきたのだけど、根本的には趣味だとプログラミング言語とかパーザを作りたくなってしまうのが自分の性ぽい。

ダイエット振り返り - 2020/01/01~2020/01/19

元旦にダイエット宣言してから、半月ほど経ったので、ちょっと振り返ってみたいと思います。まずはグラフです。

f:id:kmizushima:20200119115319p:plain
2020年1月1日~2020年1月19日までの体重変化

元旦が83.8kgで、今朝が82.2kgです。その間、食事や水分摂取による上下があったことを考慮しても、1kg(適当)くらいは減って居そうな感じです。今のところ、まあまあ順調というところでしょうか。

実行しやすくシンプルな方針じゃないと続けられないので、食事は少なめで、かつ、糖質控えめでやってます(糖質制限ダイエットの本には、カロリーは減らさなくていいと書いてあるものもあるのですが、それほんとうかいなと懐疑的です)。運動も増やした方がいいに決まってるのですが、同時に運動も頑張ると意志力の問題でつらいので、基本的に食事にフォーカスしています。これ、重要。あと、極端な糖質制限は続けるのがつらいのがわかっている&無視できない副作用(頭がぼーっとする)なども見られるようなので、1食~40gくらいまでの糖質ならOKという感じでやっています。例外規則としては、糖質が避けられない場合(多人数でご飯系のお店に行く場合)はあえて制限しません。その辺制限すると、人生楽しくなくなりますしね。

糖質制限がダイエットにどの程度寄与するかは微妙な気がしますが(ケトーシス状態が継続すれば、がんがん減りそうですが、妙な作用が出そうな気もする)、糖質を減らすことは結果としてカロリーセーブにもなるし、健康にも影響は出ていないので続けてみようかと思います。あと、血糖値を毎日計測しているのですが、(原理的に当たり前とはいえ)空腹時血糖値は明らかに減っていますね。

定期的に採血もしてもらっているので、載せても恥ずかしくない状態になったら(?)、このブログにも載せてみようかなと思います。

ちなみに、私は実験も兼ねて糖質制限を試みていますが、積極的にはお勧めしません。というのは、一食当たりの糖質を制限することは、血糖値の上昇を抑える効果があるらしい、というのは、自分で計測した限りでも実感できるところなのですが、ダイエットとしてはカロリー制限ダイエットと比べて有効かは不明な点も多いし、ダイエットの際の副作用(筋肉量の減少、便秘その他)についても不明点が多いからです。

というわけで、試してみる人はあくまで自己責任でお願いします。ただ、体験談見ていると共通するのですが、(おそらく)繊維質の不足によって、便秘気味になりがちなので、食物繊維はサプリ経由などででもちゃんと摂った方がいいです。

ではでは。

IT系勉強会の参加者にお願いしたい、たった3つのこと

私は、大学院生時代含めれば、2008年から色々な勉強会を開催していて、直近数年でもそこそこの数を開いています。その動機は、技術を布教したいとか、ある分野を学ぶ人の助けになりたいとか、単に雑談の場を作りたいとか色々ありますが、別段高尚な意識があるわけでもありません。

勉強会のクオリティについてもバラツキが大きく、私がひたすらJVMの仕様を読み続ける勉強会とか、なんとなく雑談を続ける勉強会とか、色々アレなものもあり、あんまり誇れたものではないです。せっかく参加してくれたのにちょっとクオリティが微妙だったなーと反省したものも多々あります。

それはともかく、勉強会を開く中でどうしてもこれだけは守って欲しいなと思うことがあったので、年の始め頃のこの時期に書いておくことにしました。こういう記事を下手に書くと、良識ある人にだけ萎縮されてしまうみたいなリスクもありますが。

勉強会のページをちゃんと読んで、参加要件を満たしているかを確認する

最近のIT系勉強会は多くの場合、connpassで参加者を募集しています。私も、主にconnpassで参加者を募集しています。ただ、参加登録をする前に、その勉強会の参加要件を満たしているか(自分向け)かは意識して欲しいです。特に、ハンズオンやコードリーディングなど、参加者にも一定のスキルを要求する場合、そこで必要と明記している要件を満たさない方に参加されてしまうと、不必要に多くの労力を割くことになります。また、参加する方にとってもミスマッチになるかと思います。

たとえば、以前開催した、言語を作る系勉強会でいうと、Javaで作ることを前提に(当然、参加要件に明記してあった)募集していたのに、JDKのセットアップから始めていたりjavacのエラーメッセージがわからないレベルの方が参加されていたことがありました。ハンズオン企画などで、必要な要件を満たしていない方が参加されるのは主催者側のリソースを無駄に割かなければいけない行為ですし、その方が当該ハンズオンで有益なものを持ち帰ることができるわけもないので、どちらにとって良いことにはならないでしょう。

もちろん、聴講メインの勉強会では、その限りではないので、必要以上に委縮する必要はない、ということは付け加えておきます。

事情があって行けなくなったときは、必ずキャンセルする

いわゆる勉強会ドタキャン問題というやつです。

私の基準としては、急な予定が入らない限り、前日夜に、事情があっても、当日の朝までにconnpassのページ経由でキャンセルを押してもらいたいと思います。当日キャンセル自体許せないという開催者の方もいるとは思いますが、当日に体調を崩す人はいますし(私も1年くらい前まで体調不良の傾向がありました)、家庭を持っている方なら、配偶者やお子さんの体調問題で行けなくなることも仕方がないというのが私の考えです。というか、私自身が体調不良で当日キャンセルしたことがあるので、ダブルスタンダードはいかんよねという話だったりします。

ただ、そういう場合であっても、キャンセルのボタンを押せないという非常事態は滅多にないはずですので、必ずキャンセルを押して欲しいです。これは、開催者である私のモチベーションに影響するというのもありますが、キャンセル待ちの人で意欲が高い人が参加できなくなるという問題もあります(募集人数より応募人数が大幅に多い場合)。

もちろん、それでも、人間は忘れてしまう生き物ですし、何かの拍子に約束を忘れてしまうこともあるでしょう。その場合はどうしようもないですが、それを繰り返す人が主催者からどう見えるかは言うまでもありません。

自分が「お客様」ではないことを意識する

実費以上の参加費を徴収しているタイプの勉強会はその限りではないと思いますが、私に限らず、多くの(特に東京で盛んな)IT系勉強会は、有志が余暇などを割いて行っているものです。

もちろん、会場の設営などは主催者側の作業であり、必要以上に気をまわさなくても良いと思いますが、ページに記載されている注意は守って欲しいです。また、一緒にコードを読んで勉強しよう系の勉強会で、「私から講義してもらえると思った」という趣旨の言葉を一方的に言われたこともありました。もちろん、ハンズオン企画では、教えるのが前提になりますが、そうでない場合は、その旨はページに書いてあるので、ちゃんと確認して欲しいものだと思います。

あとがき

ぶっちゃけ、こういう記事を読む人には、むしろ、その辺は当然だろうという風に受け止められて、本当にメッセージを届けたい方には届かない気もしますが、それでも、書き留めておくことには意味があるかなと考えてみました。

山手線一周ウォーキング(二度目)をしてきました

一度目のときの記録

今回の記録

概要

一度目は2017なので、三年近く前のことになりますが、思い立って二度目をしてみることにしました。決意したのが昨日だったので、相方に「急にそんな運動をして大丈夫?」と心配されましたが…。なにはともあれ、昨日、二度目の山手線一周ウォーキングをしてきたのでした。

自分ルールは一度目のときと同じで、山手線を秋葉原から出発して、必ず各駅を通過して、写真をアップロードしてくること、です。

運動不足がたたったのもあり、最後の方はマジきつかったです。ジャージの上にコートを羽織っていったのですが、19:00くらいになると、寒いわ冷たい風が吹いてくるわで…。夜用に厚手のセーターとか用意しておけばよかったかもしれません。

しかし、足が限界ギリギリだったものの、10:30に出発して、23:00頃に無事、秋葉原まで戻ってくることができました。偉いぞ俺!と褒めてあげたい気持ちです。

2017のときは、秋葉原→神田→東京…というルートでしたが、今回は逆方向で、秋葉原御徒町→上野…というルートでいきました。これは、前回と変えた方が新鮮かなあと思ったのもありましたが、前回だと後半、アップダウンが激しかったり道がいりくねってたりして疲れたので、そっちを前半に回しちゃえ!みたいな理由だったりします。

感想

感想は色々ありますが、興味深かったり、面白かったことを列挙してみます。

  • 考え事がはかどる(重要)
  • 鶯谷周辺はやたらラブホがあるなあ
  • 品川以降は道がほとんどまっすぐで非常に歩きやすくて良い
  • 大崎周辺はいい感じのデートスポットがあった…がカップルが寒そうだったw
  • 色々、各駅の名物(?)とかあって、今度じっくり巡ってみたくなった

逆に、しんどかったこととしては、

  • 後半(16:00以降)、身体がしんどいが先に来て、考え事がはかどらなかった
  • 鶯谷巣鴨辺りは迷いまくりだった
  • 19:00以降、死ぬほど寒かった
  • 最後の方、足が棒だった

辺りでしょうか。凄い運動不足だったので、どうしても無理っぽそうだったら、途中で電車に乗って引き返すことも検討していましたが、そうならずに良かったです。

装備

真冬ですし、私は完膚なきまでに方向音痴ですので、色々準備していきました。

  • スマホ二台持ち
  • 大容量スマホバッテリー
    • 実際、途中でメイン機の方がバッテリー切れになったので、それがフル充電二回できるのは助かりました。
  • 断熱性高めのコート
    • これでも不十分でしたが…
  • タオル*2
    • 汗拭き用
  • アクエリアス*1
  • (追記)塩分補給手段

スマホ二台持ちは、特に良かったなあと思うところです。サブ機をGoogle Maps表示専用にしていたので、迷ったらすぐ見られましたし、メイン機のバッテリーを余計に食うこともなかったですし。ちなみに、サブ機の方がバッテリーの持ちが良く、13時間表示させ続けてましたが、半分くらいまでしかバッテリーが減ってませんでした。

あと、今日みたいに、非常にゆっくり歩くのなら、出発を1時間早めておけば、終電ぎりぎりで秋葉原から帰るというのを避けられたかもしません。

明日(今日)はきっと筋肉痛で養生してそうですけど、楽しかったです。皆さんにもお勧め…はしませんが、一周とは言わずとも、普段降りない駅を探検する旅も楽しいものだなと思ったのでした。

ダイエットします - 目標体重71kg

あけましておめでとうございます。1月1日ということで、きりがいいので、今年の目標の一つ(大きなもの)をまず宣言しておくことで、自分を追い込むメソッドを使ってみようと思います。

現在、私の身長は173cm、体重は83.4kg(今朝の起床時)。BMIは27辺りで、軽度肥満と判定されるレベルです。まあ、BMI自体はそれほど気にしていないのですが、去年の健康診断で

辺りが軒並み良くない値になっていて、生活習慣病状態です。ちなみに、酒はほとんど飲まないので、いわゆる非アルコール性脂肪肝ってやつです。中性脂肪の値なども高めです。

昨年後半あたりからダイエットを始めていて、ある程度効果は出たようなのですが、83kg~84kg辺りで体重が停滞しているのが最近の悩みです。糖質制限をしたりした結果、中性脂肪や肝機能の数値、LDLコレステロールには顕著な改善が見られたものの、体重はそこまで落ちていないように思います。

というわけで、ダイエットです。漫然とダイエットしていても仕方がないので、今年中の目標として、BMIに対する理想体重とされるよりもちょい上の70kgちょっとオーバーくらいに据えていく予定です。1か月1kgであれば、そこまで無理をせずにいけるはず…というのが目算ですが、果たしてうまく行くかどうか。 以下のようになっていれば理想です。

  • 2020年01月01日: 83kg
  • 2020年02月01日: 82kg
  • 2020年03月01日: 81kg
  • ...
  • 2021年01月01日: 71kg

現実には、漫然とダイエットしていると、停滞期が訪れるはずなので、この目標で頑張っても75kgくらいじゃないかなあと思ってますが、それでも大学1年の頃くらいにまで減るのでまあいいのではと思います。

運動はウォーキングとジョギングを増やす方向でいきますが(寒いとか調子悪いとやらないかも)、原料に支配的なのは食事ですし、基本は食事制限で行きます(去年後半もそうでした)。運動はさぼることはあっても、食事制限を継続します。

勉強会の懇親会や同僚との昼食あるいは夕食で、なんとなくしっかり食べてしまいそうな気がしますが、それ以外のものは基本的に質素にいきます。

甘いもの完全断ちとか欲望完全に絶つのは失敗するのは経験からわかりきっているので、

を買ってあります。甘いものが摂りたくなったら、これを水や炭酸水に混ぜるという戦略です。間食も完全制限とかすると、食欲抑えられなかった時に毒なので、1日1回はOKというところで行く予定(既にそんな感じ)です。ちなみに、現在の体重および過去1か月間での遷移はこんな感じです。あんまり減ってませんね(割と食べるの控えているはずなのですが)。

f:id:kmizushima:20200101083641p:plain
2020年1月時点での体重

1週間単位で振り返りをして、こつこつと減量していこうと思います。

もし、私が食事を食べ過ぎようとしていたら止めてやっていただけたら幸いです。

ではでは。