鴨のいいカモです

ここでアヒルの話題は出てきません。予めご了承下さい。

Fetch APIを使ってみた

仕事でFetch APIを使える機会があったので、そのメモ。

Fetch 概説 - Web API インターフェイス | MDN

今回はJSONを受け取ればよかったので、こんな感じです。

fetch(url)
.then(response => {
  return response.json();
}).then(json => {
  console.log(JSON.stringify(json));
})
.catch(error => {
  console.error(error);
});

fetch()の結果はPromiseで返り、resolveにはResponseインスタンスが引数として渡されるので、それをJSONやらBlob,、ArrayBuffer、プレーンテキストにしてあげてゴニョゴニョします。詳しくは上記MDNを。それにしてもMDNってほんと素晴らしいですね。

で、ちょっと気をつけないといけないのがエラーで、fetch()は400系や500系のサーバ側エラーはエラーとして扱わないというところ。エラーになるのはネットワークエラーのみです。

fetch が成功したかチェックする | MDN

そのあたりの対応は上記にも書いてありますが、Response.okプロパティがtrueになっていれば成功扱いしてあげればよいです。

とまあここまではよかったのですが、ちょっとあれれとなったのが204の扱い。

204 No Content - HTTP | MDN

成功してるけどbodyが空なので、最初のやり方だとresponseがなくてエラーになります。今回はresponse.statusが204かどうかをチェックするみたいな方法をとりました。もうちょいうまいやり方もありそうではありますが。

花粉症

花粉症になりました。正確には花粉症ではあったんですが、そこにスギ花粉が加わりましたという話です。検査はしてないので想像なのですが、目痒いし間違いない。去年からそれっぽい傾向はあったんですが、今年本格化。花粉症の人にお祝いの言葉をいただきました。

耳鼻科へ行こうかと思ったんですが、まあ激混みですしインフルあるかもしれないしおすし。急な鼻水用にたまたま持ってたアレグラで鼻水が治まったんで、今年はこれで乗り切ることにしました。

が、アレグラ少々高いんですよね。医者行ったほうがちょいと安くすむんですよね。でも時間かかるしインフルだしおすし。時給で考えたら云々で悩んでたら、amazonジェネリックあるじゃないですか。

安い。これなら医者行かんでいい。薬局すら行かんでいい。

ということでアレルビ飲んでます。アレグラと変わらぬ効き目。よかった。

残るは目の痒さなんですが、薬局で相談したところ、あなたはダメと。市販の花粉症向け目薬、どれも緑内障の人は使えないそうです。諦めて病院行くか、洗って凌ぐしかなさそう。とほほ。

杉ムカつく。

筋膜リリース

今年に入ってから、筋膜リリースをやりはじめました。

今年の目標の1つは「前屈で床に手をつける」なのですが、それにも寄与してくれるかなと。

具体的になってることと言えば、ポールを買って、本に従ってコロコロしてるだけです。効果はどう?と言われると、今のところはマッサージ的に痛気持ちよくて、次の日が結構楽というくらいですかね。気持ちよくて続けてる感じです。床は遠い。そういえば胸は開くようになったような気がします。

本はこれを買いました。

ポールを使ったコロコロダイエット

ポールを使ったコロコロダイエット

ダイエットとか書いてて警戒心が働いてしまいますが、レビューにあるように中身はわりとしっかり筋膜リリースです。

ポールはとりあえず使えればいいやと思って安いのを。問題なく使えてます。

試してみようという方に伝えておくと、最初はほんと痛いです!

2017年度の振り返りと2018年度の話

ブログをもうちょい書こうかと思いまして。

もうすぐ2017年度が終わるので、振り返りと今後の話。

息子が生まれてから家族方面に多く時間を割いてきたんですが、そのおかげでまあ、うまくやれてる気がします。一人で本を読めるようになったのが、自分としては一番うれしかったかな。『エルマーの冒険』3部作、気に入って何度も読んでます。小学校入学前には読書の障壁をなくせたらいいなと考えてたので、それは無事成功。一度楽しさを体験していれば、離れてもまた帰ってこれるはず。

で、2018年度は、もうちょいと自分の好きなこともしようかなと。とりあえずペン字をはじめてみました。自分の字は小学生時代がピークで、できれば書道でそこまで持って行きたかったんですけど、さすがにちょっと重いかなと思って、書籍を買って手軽に実用的なペン字をやることにしました。

ワンランク上の美文字が書ける!!  極める!  ペン字・筆文字練習帳 (COSMIC MOOK)

ワンランク上の美文字が書ける!! 極める! ペン字・筆文字練習帳 (COSMIC MOOK)

この人の字、むっちゃ上手くてちょっと感動しました。何日かやってみたんですが、丁寧にかけばわりといい線いくようになってきました。

あと、もうちょいゲームと楽器やろうかと思ってます。

エアロフォン AE-10を買った

自宅練習用にエアロフォン買ったったぜー

RolandのAerophone AE-10を購入。

Roland - Aerophone AE-10 | Digital Wind Instrument

サックス習ってるけど自宅で練習できず、外出して練習の時間も取れず悩んでいたところ、サックスの先生に練習にいいよと勧められた。試奏を何度かして、行けそうだと判断し購入。

1週間ほど使ってみて、実際良かった。以下よかったところ。

  • サックスとほぼ同じのキー配置に運指。ソプラノな感。
  • キーが物理ボタンで、他のウィンドシンセのようにタッチセンサーではないため、サックスのように指を置いてても大丈夫。
  • 軽い。電池入れても軽い。
  • 吹き込んだ息は別のところから抜ける。口の横から逃したりする必要なし。
  • スピーカー付き。思いっきり吹き込んでも小さい音で鳴らせる。なんならヘッドホンつけられる。
  • そのへんにヒョイっと置け、触りたくなったらすぐ手にとって音を鳴らせる楽さ。

強めに息を吹き込みつつ指を動かすのって思ったより難しくて、運指だけの練習をしてうまくできても、息を吹き込むってことを同時にやるだけでダメになったりする。ので、それを同時にやれるのが良い。消音器系だとどうしても音を小さくしようとしてしまうし、そもそもつけるのが面倒だし重い。e-Saxのことだけど。 その点エアロフォンは気軽に手にとってその練習をやれるのが良い。

練習にあたっては、フルートのような立ち上がりが悪い音色をセレクトし、H3の思いっきり吹き込まないとならない設定にしている。このあたりは先生のオススメでもある。エアロフォンはその気になればダラーっと吹いても音を出せるのだけど、それじゃ吹き込む練習にならないので。 あと、親指での音色コントロール機能はOFFにした。意図せず触ってしまうとうざいので。

ただ、サックスと一緒ではないので、アンブシュアでのコントロールとか、太い音を出す練習とかはできない。割り切りが必要。吹き込みと運指と、あとリズム練習と割り切る。

まだ数日だが、練習の効果は出てる気がする。何より、練習すると安心する。心の安寧が得られる。

イマイチなところとしては

  • 無駄にでかいケース
  • サックスの音色

くらいかしら、今のところは。

よく言われてるサイドキーの操作しづらさは割とすぐ慣れた。あと、マウスピースパッチを貼ってあげると持ちやすさが随分上がった。

ということで、サックス練習器具としてだけでも満足している。それに加えてウィンドシンセの機能も付いてくるなんて、なんてお得!というのが、今のところの感想。

Pebble Classicがtimeline表示に対応した

いつの間にやら後継機種が大量に発売され、通称Classicとなってしまった私のPebbleですが、ファームウェアのv3.8を使うことで、Pebble Time以降に搭載されていたtimelineが使えるようになりました。

これが猛烈に便利。

Pebble – Timeline for Classic Pebbles Is Coming! Accepting Android Beta Testers Now

WatchFaceを切り替えるといういらん機能が割り当てられていた上下ボタンで、過去や未来の予定や情報がみられます。年末の20%OFFで新しいのを買おうかと思っていたらこれが来て、試してみたらすこぶる良くて、これでいいやと解決してしまいました。Classicですがぬるぬる動いて気持ちいいですよ。

で、ファームウェアv3.8へののアップデートは従来とちょいと違ってましてちょいと手数がかかるんですが、難しくはありません。

Pebble | Updated Software for Classic Pebbles

iOS版ですが、上記を要約すると

  1. iOSPebble Timeアプリをインストール
  2. 今まで使っていたiOSのPebbleアプリとPebbleとの接続を解除
  3. iOSのPebble Timeアプリを起動し、デバイスでPebbleを選択
  4. Pebbleのアカウントでのログインを促されるので、アカウントがあるならそれでログイン、なければ作る
  5. あとは流れで。バッテリー残量は注意。不安なら電源に繋いでおきましょう

今まで設定で使っていたPebbleアプリに別れを告げ、Pebble Timeアプリを使うのがポイントですね。

日本語ですが、今まで使っていた日本語language packがそのまま使えます。すでに使っていたのならそのまま引き継がれ、新しくインストールし直す必要はありませんのでご安心を。

本当にありがたい日本語language packはこちらから。Pebble language pack: 日本語言語パック

table要素でセルの幅を指定したいときはtable-layout="fixed"

背景

table要素でレイアウトせざるを得ない!ということでFlexboxで書いたものをセコセコtableへ移していたのですが、CSSでセル(tdやth)の幅を指定してもそのとおりにならないという事象が発生。たとえばこんな感じ。

td.data {
  width: 100px;
}

こう書いても、100pxとならず、内容によっていろいろ変わるという。なんだこれ。

ということで、調べてみたら、table-layoutなる仕様があるとのこと。

table-layout って何

テーブルのレイアウトアルゴリズムを指定するCSSプロパティです。値には以下の2つがあります。

  • auto
  • fixed

autoは表のデータを全部読み込んだうえでレイアウトを決定するようです。デフォルトはこちら。 fixedは1行目だけ読み込んでレイアウトを決定するそうです。

で、autoはwidthが指定されていてもそれを守らず、いい感じになるように幅を決定するみたいです。 fixedだと、幅が指定通りになるそうです。

ということで、以下のようにしてあげると、セル幅が指定通りの100pxになりました。

table {
  table-layout: fixed;
}

td.data {
  width: 100px
}

ちなみにCSS2.1仕様を見ると、autoのレイアウトアルゴリズムは仕様できっちり決まっておらず、UA任せのようです。以下抜粋。

UAs are not required to implement this algorithm to determine the table layout in the case that 'table-layout' is 'auto'; they can use any other algorithm even if it results in different behavior.