if分岐を使わないFizzBuzz

プログラミング課題でよく知られたものとして、にFizzBuzz問題というものがある。 内容はWikipediaに記載されている通りで、いわばプログラミング初心者向け問題の代表格だ。 そんなプログラマなら誰でも知っているような有名な問題だからか、縛りプレイも盛んだ。

つい最近も、Twitterでif分岐を使わないでFizzBuzzを解けって課題が流れてきた。面白そうだったから、とりあえずやってみた。やってみたはいいんだけど、力技感が拭えない。もっとエレガントな感じにならないもんか。。。

あ、言語はJavaです。

import java.util.Arrays;
import java.util.List;
import java.util.function.IntFunction;

public class FizzBuzz {

    private static final IntFunction<String> FIZZ       = (v -> "FIZZ");
    private static final IntFunction<String> BUZZ       = (v -> "BUZZ");
    private static final IntFunction<String> FIZZBUZZ   = (v -> "FIZZ-BUZZ");
    private static final IntFunction<String> DEFAULT    = (v -> v + "");

    private static final List<IntFunction<String>> FUNC_DEFS = Arrays.asList(
            FIZZBUZZ, DEFAULT, DEFAULT, FIZZ, DEFAULT,
            BUZZ, FIZZ, DEFAULT, DEFAULT, FIZZ,
            BUZZ, DEFAULT, FIZZ, DEFAULT, DEFAULT
    );

    public static void main(String[] args) {
        int n = 31; // TODO: コマンドライン引数から取得する
        for (int i = 0; i < n; i++)
        {
            System.out.println(FUNC_DEFS.get(i % 15).apply(i));
        }
    }
}

ロードバイクでは痩せない

まぁ、表題の通りなんだけど、サイクリングやロードバイクを始めたからといって痩せるワケじゃない。ということに気づいた。多分、サイクリングに限らずランニングや水泳とかの有酸素運動系全般がそうなんだと思う。 事象としては体重減かもしれないけれども、実際のところ、短期的にも長期的にも痩せない。

短期的な面

僕も数年前までは「そんなことない。夏場にサイクリングして、家に帰って体重測って見たら体重減ったし。」って否定しただろう。でも、実際は脱水症状だったことに気づいてからは、運動中は体重を減らさないように心がけている。

それに、1日やそこらのライドで明らかに体重が減ったと分かるくらい脂肪を燃やすなんてなかなかできるもんじゃない。脂肪(1kg=7200kcal)なんてそうそう減らせるもんじゃない。

長期的な面

長期的な減量となると、色々な要素が必然的に重なって来るため、有酸素運動をしたから痩せたように錯覚してしまう。 故障対策や競技力向上のために、食生活を改めたり、筋トレをしたりして、自分の肉体を再構築した過程をついつい忘れてしまう。 ロードバイクは痩せるための大きなモチベーションではあるけれども、痩せた直接的な要因じゃないってのが妥当な解釈なんだと思う。

体は引き締まったとしても、体重は変わっていなかったりする。女子中学生みたいな体重原理主義を採用しているなら大問題だろうけど。このご時世にそんな「これから垂れます」みたいな愚策に走る人なんてそういないとは思うけど。

なかなか痩せなかったり、不自然な痩せ方とリバウンドを繰り返してしまう人は、痩せるのはあくまで副作用だってことを意識して計画してもいいのかもしれない。 そうしたら、〇〇オフダイエットとかに踊らされることも減ると思う。

蛇足

太れないって嘆いている人は、パンプするまで追い込み切らないで辞めてしまう傾向が多い気がする。トレーニング中だけでいいから脳筋になってみるのも楽しいよ。 あと、チートデイ設けてダイエットに成功した人ってさ、チートデイもダイエットの一部とみなしてるよね。僕からすると、チートデイって言いながら多少は節制が働いているように見える。

2020-06-02 追記

そういえば、ロードレースは8000kcal消費するようなスポーツだとうそぶいて、さもダイエットに最適な運動かのように誘導する記事があるけれども。あれはちょっといただけない。プロはすごい勢いで糖質たっぷりの補給食を摂取しながら常人には想像もできないような運動を何時間もノンストップで実施しているのを意図的に隠しているように見える。

痩せられるからっていう理由とかで自分をごまかさずに、純粋にロードバイクに乗りたいから乗る。っていう素直な気持ちを大事にした方がいいと思う。痩せるにはそのモチベーションの方が圧倒的に大切だ。

引き足にハムストリングは(あまり)使われない疑惑

引き足=ハムストリングという思い込み

ロードバイクに乗り始めた頃からずっと、筋肉は収縮しているときに力を発揮するって先入観もあって、

って二元論的に思っていた。 二元論は大抵正しくないって経験則のご多分にもれず、最近はこの説が誤っていると考えている。それに思い至った経緯(なぜかイチローとミートグッバイが出て来る)を書き出すと長いからそのうち書くとして、とりあえずサマリだけ先に書いておく。

!注意!以降はあくまで、私見です

引き足を分解する

引き足と一言に行っても、少なくとも膝から下を捲く動作と太ももを上げる動作の二つに分解することができる。(生理学的にはもっと色々な機能があるのだろうけど、調べだすと収集つかなくなるのが目に見えているので割愛する)
この二つの動作の中で、ハムストリングを使いそうなのは膝から下を捲く動作くらいだ。とはいえ、ハムストリングはデカい筋肉だから捲く動作しかしないのはちょっと無理がある。太ももをその構成要素であるハムストリングが持ち上げているなんていう論も、よく考えるまでもなくファンタジーだ。自分で自分の襟首つかんで持ち上げると浮き上がるって言っているようなもんだ。
だから実際は、

  • 腓腹筋とハムストリング少々の併用で膝下を巻いている
  • 太ももは腸骨筋がメインとなって引き上げている

って考えるのが正しそうだ。

筋肉の作用する方向3種

筋肉が発揮する力は

  • 収縮
  • 伸張
  • 維持

の3種類に分類できる。中でも、ハムストリングは伸張に秀でた筋肉なんだとか。走塁中の野球選手のハムストリングがミートグッバイするのをよく耳にするので、すんなりと腑に落ちる。

ハムストリングは踏み足で使うという推測

上の二つだけでも、ハムストリングは引き足ばかり司っているわけではなさそうだということが伺える。さらに言うと、踏み足で使うのがハムストリングっていうことも推測できる。個々の感覚がどうであれ、最も大きな推進力を生み出すのは踏み足だという話と組み合わせると、ハムストリングが推進力の源だということになる。 そう思って、pedal stroke hamstrings でググったらと下の記事が出てきた。この論、だいたい合っているぽい。

www.bikejames.com

2018/08/19 追記 ハムストリングは踏み足で使うというのは正しそうだけれども、このハムストリングが推進力を生み出すという部分に関して言えば間違いっぽい。なぜかというと、筋肉は収縮時のみで出力を得られるが、伸長時は出力を得られないからだ。関節を外さないように拮抗筋として機能するときに大きな力を発揮するのであって、推力となる力を出力をしているわけではない。

引き足とハムストリングの組み合わせについて

とはいえ引き足とハムストリングという組み合わせはけっこう良い組み合わせに思える。 引き足を改善するために、ハムストリングを鍛えたら速くなったっていう話があるけど、その実態は、(おそらく)収縮が苦手なハムストリングを収縮方向に意識することで筋肉を効率よく鍛えることができ、伸張でも大きな推進力を得られるようになった。ということなんだろう。結果オーライ。勝てば官軍。

僕のための新しいお花見の提案

お花見が苦手だ

気づいたら啓蟄が間近になり、そこから更に一月も経つとお花見のシーズンが始まる。楽しみな人も多いかもしれないけれど、僕は今からちょっと憂鬱だ。桜を眺めるのは好きだし、宴会もそれなりに好きなんだけど、お花見となるとちょっと弱る。桜が蕾の時から散るまでのちょっとした期間、のんびり眺めながら通勤するだけで満足できてしまう。そんな安上がりな人間には、わざわざ満開の桜だけを観に行ってしまうと逆に食傷気味になってしまうのだ。

他にも苦手な理由は色々ある

パブリックスペースでの飲食が苦手なのも大きい。お花見に限らず、華やかなパーティも、ちょっとした喫茶店も、イオンのフードコートのように忙しなく感じられてしまって性に合わない。
そんな性格のくせに、こういうイベントの幹事をよくやらされる。そのせいもあり、ゴミ収集所の惨状もよく知っている。だからお花見の話題が出た瞬間に、後片付けのことを想像してしまい、桜が咲く前からげんなりしてしまう。
身体的な理由もある。暖かくなったとはいえ桜の季節は風は冷たいし、夕方以降はけっこう冷える。暑がりの汗っかきだから体温調整が追いつかず、いつも凍えているし、腰も痛くなる。
車座で地べたに長時間座るのもいけない。腰が痛くなる。
場所取りで右往左往して、二次会の場所で居酒屋難民化して、結局一日中歩き回って腰が痛くなる。

つまり

つまり、苦手なコトや制約がてんこ盛りだから、お花見が苦手なのだ。悪天候で適当な居酒屋に入る方がよっぽどマシだ。

季節ごとの宴は好きだ

ここまで散々っぱらお花見が好きじゃないって言っておきながら、何かと理由をつけて小さな宴を開くことが好きだ。特に、お花見のような季節のイベントごとには目がない。押し付けられてしぶしぶ幹事をしているはずが、気づいたらノリノリで幹事をしている。これまた事態をややこしくする。でも、大所帯のお花見は幹事でなくてももうたくさんだ。お花もお酒も食事も会話も楽しめない。

こじんまりとしたお花見の形

そんな理由もあって、最近は、開き直って自宅で小さなお花見を開催すればいいんじゃないかって考え始めた。これなら雨天でもゆっくりお酒が飲めるし、後片付けもあせってやらなくていい。一服がてら、テレビで野球を観戦することもできる。(まだどの球団も希望に満ち満ちている時期だ!)
当然、「お前の家は桜みえるのか?」って話になると思うけど、一枝の桜を席に飾れば十分だろう。季節がら、みんな毎日のように桜を観ているわけだし、改めて観に行かなくてもいいだろう。桜を意識できるその場が、お花見会場だ。

ハイケイデンスは本当に遅筋を使うのか?

僕が与し易いへたれライダーだって誰にでも分かるんだろう、登り道でハイケイデンスな初心者によく追い抜かされる(僕も初心者ライダーはなんとなく分かる)。でも、大抵のハイケイデンス 初心者は自滅していってしまう。

だから最近、疑問に思うわけですよ。
ロードバイクのハイケイデンス走法は遅筋を使うっていうのは本当なのかって。

だってさ、遅筋は筋肉の収縮速度が遅いんだから90rpmなんて出せるわけないじゃん。 実際は、タイプ2aに変異した速筋を使ってるんでしょ?
遅筋を使うからロードレーサーは脚が細いってのも絶対ウソでしょ。さいたまクリテリウムでニーバリやフルームを間近で拝む機会があったけど、ケツとフトモモはとんでもない太さだったよ。太くなりにくい遅筋なワケないやん。

遅筋(と同等の性質を持ち合わせたタイプ2aの速筋)を使ったハイケイデンスっていうのが正しいんじゃないの?なら、ヘンに省略しないでそういってあげないと初心者が騙されちゃうよ。

ロゲイニング丹沢・大山

ちょっと前の話だけど、ロゲイニング丹沢・大山に参加してた。移動手段はロードバイクだ。 hadano.getterz.net

ソリスト(つまりはボッチ)ライダーの僕は、久しぶりにモチベーションの高いサイクリングを楽しめたイベントだったんだけれども、一部では不評だったようだ。

  • 全然広告見ないし、ヤル気あるのか?とか
  • Androidアプリが動作しないとか
  • 運営の対応がなってないとか
  • auはヤビツ峠電波入らないとか

記念すべき第一回大会とはいえ、実際の趣旨はテストマーケティングみたいなもんだったんだろう。小さく始めて、色々な知見を得るのが目的だったんだと思う。当然、運営もアプリ開発の予算もそんなに多くなかったのもなんとなく察せられる。そんなに多くない開発費であれば、iPhoneアプリをベースにしたクロスプラットフォーム開発が選択肢になってくるだろう。
だから、下北沢駅構内で大会のポスターを見かけたときは一発目の大会なのにこんなに広告出しちゃって大丈夫なの?って危惧したんだけど、結果的に参加者が300名前後だったみたいだし、ちょうどいい規模感だったと思う。まぁ、競争相手が少なくて賞品を楽にGETできて嬉しい(まだ賞品は届いてない)ってのがホンネなんだけどね。
話題のこれやってる自分をアピールしたい人からすると、こじんまりとした開催はあまり面白くないのかも。

iPhoneをベースにした開発だったと思われるから、Androidだとうまく動かないケースがあるのはなんとなく分かる。というか僕のAndroidでも最初は動かなかった。ダウンロードする前にアナウンスがあったらよかったとはいえ、すぐに運営からスクリプトマップを使うようにって連絡が来たからいいけどね。でも、中にはAndroidアプリが動かないっていきり勃ってる人もいたみたいだ。けど、運営側から再三にわたってAndroidユーザはスクリプトマップを使ってくれというアナウンスもあったことを考慮すると、さすがにフォローのしようがない。中には地点に到着して初めてアプリを使ったと思しき猛者もいたんだけど、さすがにこれには笑ってしまった。事前にアプリの動作確認してないとか、どんだけお気楽なんだよwwwww って。

auはヤビツ峠が電波圏外だったんだけど、運営がしっかり救済処置をとってくれたおかげで無駄足にはならなかった。運営さん、ありがとう。

事前準備や想定外の事態があることを受け入れられないタイプの人にはツラいイベントだっただろうけど、僕はかなり楽しませてもらった。最初期のmixiニコニコ動画みたいなスタートアップ特有の慌ただしさを感じられたのもよかった。

楽しい大会だったから、最近のぼっちサイクリングがちょっと味気ない。

今年買ってよかったもの

今週のお題今年買ってよかったもの

今年買ってよかったもの、それはスマートスピーカーだ。 自分が購入したのはGoogle Homeだけれども、スマートスピーカー全般すばらしい。これはすごい未来的だ。なんてったって、画面というインターフェイスがないというのがスゴい。画面をみる時間が減る。インターネットしながら家族と会話できる。素晴らしい。 それに、目が悪くても、インターネットに繋がることができる。こんな思いもよらない形で身近にユニバーサルデザインがやってくるなんて! とは言え家族ウケはいいんだけど、Geekウケはあまりよくないのは肌身に感じる。

ついでだから、VRについて思うところも書く。VRは実際に使うと驚きはするんだけど、スゴい機能がたくさんついているのも分かるんだけど、結局のところ視覚インターフェイスから脱却できていないから未来感はあまりない。VRを構成するテクノロジーはスゴい未来的に感じるのに不思議だ。キラーコンテンツがあれば違って見えるのかなぁ。