<<
<
2017 年 12 月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

2016/1/1 から日記を書いています。
今まで 711 件の日記を書きました。

この日記で公開されている写真293 枚です。

去年やった 2016 年に買ってよかったものの今年版である。

5 位: MediaPad M3 Lite 10

詳しくは MediaPad M3 Lite 10 ファーストインプレッションを参照。 スマホだけでも一通りのことはできるが、やはりタブレットがあると Kindle や動画鑑賞などゆったりと観ることができて便利だ。 ただ、メインで使おうとすると Lite 版だからか処理速度の遅さがちょっと気になってきてしまったし、実は 8 インチ級のタブレットでも問題ないのかもしれない。 なので MediaPad M3 の次の製品を待っている。

4 位: Anker コンパクトマルチアングルスタンド

タブレットを立てて使うスタンド。 安い割にとても便利で、実はタブレットだけでなくスマホでも結構使える。 2 台買って会社に 1 台置いて開発に使用している。 これを使う前提ならばタブレットのケースはあえてスタンド機能がついていない普通のポリウレタン製のケースがいい。

3 位: GSM26706 ゴアテックスレイングローブ

バイク乗りならば 1 つは持っておきたいレイングローブであるが、実は春秋用のグローブとしても使えるのですごく役に立つ。 ウインターグローブほどではないが防寒性能もそこそこあるので、冬にパッセンジャー用のグローブとして使ってみるのもアリではないだろうか。

2 位: Mate 9

HUAWEI Mate 9 を参照。 正確には購入したのは去年末だが、去年はレビューすることができなかったので今年のものとして計上しておく。 これのカメラ性能が素晴らしくいいので撮影に少し拘るようになった。 処理性能も申し分なく、電池持ちもいいのでバイクナビとして重宝している。 防水がついていないのだけが不満ではある。

1 位: GSM1052 G ベクターライディングシューズ

バイク用のライディングシューズだがあまりバイク用に見えないデザインで普段使いでもいける。 しっかり目のスニーカーといった感じでとても歩きやすいし、何より防水がついているのが秀逸で同じく防水の GSM13655 GWS ウォームライドパンツと組み合わせると雨が全く怖くなくなる。 値段も安い所で買えば一般の靴と大差ない。 ソールも頑丈でやたらと持つ。 異常にコスパが良い。

山間部は終了

もう 12 月も半ばに入り、ツーリングに行くとしても市街地か海岸線沿いを流すのがメインとなる時期になってしまった。 鎌倉・湘南方面に行ってみようと下道でゆっくりでかけた。 今日は気温がそこそこ上がるような予報だったが、それでも朝はとても寒い。 防寒用のオーバーソックスを仕込まなかったのでしばらく走ると足先が冷えてしまった。

用賀 PA は初

用賀 PA 自動販売機

首都高には決まった方向から行かないと入れないのでなかなか行く機会が訪れない PA がいくつか存在する。 この用賀 PA もその一つで、これは東名高速から東京方面に行き首都高速 3 号線を中央環状線 C2 に向かって走っていくと途中の料金所の近くに存在するものだ。 地下に降りていくと休憩所があるタイプで思ったより広い。 そして写真の通り首都高 PA のシンボルともいえる「デリスカフェ」という自動販売機がたくさん置かれたコーナーがある。 この自動販売機の佇まいと誰もいない休憩所のテーブル、椅子を見ると大人の隠れ家といった雰囲気を感じてワクワクする。 私は「オールドファッション」と「コーンポタージュスープ」を購入し食べながらしばし休憩した。 こういう休憩所はとても楽しいので C2 環状線を走っている途中にも欲しいくらいである。

そのまま鎌倉の方に走っていって大仏でも見ようかと思ったのだが、高徳院にはバイクの駐車場は無いようで昼近くになってしまったのもあって人通りがかなり多かったので面倒になってそのまま素通りした。 また別の機会としたい。

ビーナスカフェ

ビーナスカフェ チーズバーガー

湘南の海岸線沿いを流していたのだが、お昼時なのもあってとても渋滞していた。 この辺りを堪能するならばもっと朝早く来ないと駄目のようだ。 しかしこの寒い時期に朝早く来るのは厳しい……。

休憩がてら食事しようと、たまたま目に入ったハンバーガーの看板を頼りに駐車して店に入った。 このビーナスカフェは湘南の海岸線沿いにあるのでとても眺めがよく、かつ店内が広く雰囲気がお洒落な感じでリゾート感満載だった。 店員さんの対応も良く好感が持てた。

ハンバーガーの他にタコスや他のメニューもあったのだが、チーズバーガーセットを選択。 ハンバーガーよりもセットのグレープフルーツジュースの方がグレープフルーツの切り身を添えてあって一味違うな、と思った。 ハンバーガー自体は中の上くらいの感じでそれなりに美味しかったのだが、正直特徴に欠ける感じがした。 つまりハンバーガーを食べに来るというよりも気分良く小休止するために来るのが適切といった感じだ。

食事を終え、そのまま江ノ島方面に走っていった。

湘南海岸公園

湘南海岸公園 平和の像

江ノ島はちょうど去年に行ったので今回はスルーした。 代わりに近くにある海岸公園の砂浜から海でも眺めようと考え、近くの駐輪場に停めた。 写真はその湘南海岸公園にある「平和の像」である。

明治以来、国の礎になった英霊を顕彰し、戦争の悲惨と不幸を二度と繰り返してはならないという藤沢市民の悲願をこめて、昭和40年に建てられました。

公式サイトに書かれている。 海岸の方には多数の人がいるのにこの像の周辺には誰もいない。

海岸の方に行ってみると、この寒い時期にも関わらずサーフィンをしている人たちがそれなりにいた。 海の中は気温の変化に対してそんなに水温が変わらないから問題ないということだろうか。 冬に海で遊んだことがないからよく分からなかった。

砂浜でしばらく海を眺めて休憩し、満足しそのまま帰路についた。

いつもの自宅での休日

今日はとても寒そうだったので自宅でゆっくりしていた。 MJ モバイルのギャンブル卓で MJ チップ稼ぎに勤しむ。 以前大負けして凹んでいたのだが、今日は割と調子が良くて大幅に勝ち越せてよかった。 普通の三麻ならば良いのだが、ギャンブル卓はかなりの猛者に高確率で当たる為全く気が抜けない。 このヒリヒリした感覚がまた楽しいのではあるが、だからといって本物のギャンブルには手を出さない。

昼は外に少し出たのだが、天気予報で表示されている気温よりは体感暖かく感じる。 やはり日が出ていると大分違う。

本場のカレーショップ

近所のネパール人がやっているカレーのお店に行ったのだが、今までは休日のランチ時でもかなり席が空いていたのだが今日行ったらほぼ満席状態になって驚いた。 立地が悪かったのでお客さんが伸びないのだと思っていたのだが、口コミで徐々に人が増えてきたのだろうか。 確かにこのお店は元々ランチメニューが料理がいっぱいついてくるのにお手頃な値段設定だったため個人的に「穴場」だと思っていたのだが。

しかしこうやって地元の店が繁盛してくれるのは嬉しいところだ。 お店にある程度お客さんが入っていないと経営が行き詰まってしまう。 スタッフも日本語が不自由な外国人がほとんどで、このような言葉も慣れない土地に来るだけでも大変なのに、その上店舗を運営するのは並大抵のことではないはずだ。 そういった意味では素直にすごいと思う。 とても真似出来ない。

いつもの夕食当番

休日は私が食事を担当している。 今日は青椒肉絲とジャガイモの味噌汁、サラダという献立とした。 青椒肉絲は全ての具材を油通しして作る。 我が家は中華鍋とジャーレンまで備え付けてあるのでこのあたりはやりやすい。 個人的にジャーレンは中華料理の油通しは勿論のこと、普通の揚げ物が気軽に作りやすくなるのでお勧めな調理器具である。

E25BT というエントリーモデルのアルミ版

今回 JBL の Bluetooth イヤホンである JBL DUET MINI BT を購入し使用してみた。 このイヤホンは E25BT というプラスチック製のモデルをアルミ製にして高級感を出したモデルである。 その代わり E25BT に対して 1,500 円ほど高価になっている。 見た目は確かに良くなったのだが費用対効果は正直微妙なところで、逆にプラスチック製のほうが雑に扱いやすいような気がする。 アルミ製のイヤホンは束ねた時などの金属の感触があまりよろしくない。

というわけで DUET MINI BT のレビューなのだがほぼすべて E25BT のレビューとしても当てはまるであろう、ということを注釈しておく。 尚、私は以前にも 2 台ほど Bluetooth イヤホンを使用したことがありそれとの比較にもなっている。

バッテリー持ちはかなりいい

このモデルは大きいバッテリーが外部に付いておりいかにも電池持ちが良さそうに見えるのだが、実際使用してみてもかなり電池持ちがいい。 公式には 8 時間持つと書いてあり実際はそれより少し下回るくらいの持ちだと思うが、それでも私が過去に使用してきた Bluetooth イヤホンに比べると体感かなり持つ印象だ。 使い方にもよるが充電しなくても 1 日は十分持つだろう。

マルチポイントが便利

この Bluetooth イヤホンは同時に 2 台の端末とペアリングし、かつ接続することができる。 つまりスマートフォンとタブレット同時に接続することができ、タブレットでゲームしながらスマートフォン側の通知音などを聞くことができる。 これはとても便利だ。 この機能がない従来の Bluetooth イヤホンの場合、スマートフォンとタブレットの使用を切り替える度に Bluetooth の接続も切り替えなければならず面倒だった。

特に脱落しないし遮音性は高い

Amazon のレビューなどに耳から外れやすいなどの記述が幾つか見られたのだが、私の場合はネッククリップを使用しなくても特に落ちるようなことはなかった。 耳の形との相性もあるのかもしれない。 ちなみに以前の Bluetooth イヤホンの場合はよく外れたりしてイマイチ快適ではなかった。

また、このイヤホンを付けていると外の音がかなり聞こえにくくなる。 もともと遮音性が高いのか、たまたま私の耳によく合っているのかは分からなかった。

音ズレは仕方がない

これはこのイヤホンのせいとも言い切れない部分ではあるが Bluetooth イヤホン特有の音の遅延が普通に発生する。 私は久々に Bluetooth イヤホンを使ったのだが、ゲームをやった時にあまりに音が遅れて聞こえるので戸惑ってしまった。 勿論暫くプレイしてきてある程度は慣れたのだが、そうはいっても遅延しないほうがいいのは間違いない。 ちなみに Amazon ビデオや YouTube などの動画や音楽を聴く分にはそこまで気にならなかった。 私はプレイしないのだが、音のタイミングでシビアにプレイする音ゲーのようなものだと使いものにならないだろう。

Bluetooth 特有の音の遅延を少なくするコーデックとして aptX があるが、このイヤホンは残念ながら aptX 非対応となっている。 Android の場合タブレットが aptX に対応している場合 (SoC が対応しているか Android 8.0 以上) は aptX 対応の他のイヤホンを検討したほうがいいかもしれない。

総評

iPhone 7 が登場する以前の Bluetooth イヤホンは 1 万円近くするわりに電池が持たないのでイマイチお勧めできるものではなかったが、最近の製品はかなり良くなっている印象を受けた。 この DUET MINI BT (E25BT) は比較的安価ながら使いやすい基本性能を抑えてきている感じで好印象だった。

Android スマートフォンと Android タブレット両方に別々の LINE アカウントを入れて運用しようということで今回タブレット側で使用している SIM をイオンモバイルから LINE モバイルに変更した。 LINE モバイルは Web 上で申し込んだその日に発送完了メールが届き、次の日には自宅に届いてしまった。 対応が異常に早い。 こんなに対応が早いのであればイオンモバイルを先月解約してしまっても問題なかった。 失敗した。

LINE モバイルは SMS 付きでないプランにしても LINE の SMS 認証をパスできるというのが特徴なので、早速この SIM をセットし LINE の新規登録を行ってみた。 途中で LINE モバイルの利用コードを入力する画面になったので LINE モバイルのマイページから確認し入力。 登録できたし年齢認証もパスすることができた。 想定通り 2 つの LINE アカウントを用意しグループを作成。 これでスマートフォン、タブレット双方から同じトークが参照できるようになった。

LINE モバイルのマイページはイオンモバイルに対してシンプルな画面で日々の利用データ量なども参照できるのが好印象だ。 早速通勤電車で楽天モバイルだと通信がブツブツ切れてゲームにならない MJ モバイルをプレイしてみたが全く問題ない。 プランの変更も Web からできるようなのでなかなか便利だ。

私は LINE のヘビーユーザーではないのでそこまで恩恵はないのだが、この SIM を使用していると LINE をいくら使用してもデータ通信量としてカウントされない (カウントフリー)。 人によっては LINE 通話を常に使う場合など、かなり使える通信量が違ってきそうだ。

やりたいこと

この Blog システムでは毎日データベースのダンプファイルを出力してバックアップを取っているのだが、あくまでサーバー内へのバックアップ出力なのである日突然サーバーがダウンして再起動できなくなってしまった場合サルベージできなくなってしまう。 バックアップファイルは外部ストレージに保存したいところだ。 今までは適当な期間をおいて Google Drive に手動でバックアップを移していたのだが、私は毎日 Blog に日記をつけているのでこれだとバックアップデータが十分に古い場合が出てくる。 毎日バックアップファイルを出力した時点で Google Drive に自動で転送したい。

PyDrive

Qiita に素晴らしい記事があったので大体の部分はこれでできた。 一部ハマった部分があったのでここに注釈として記しておく。

settings.yaml

公式サイトにも書いてあるが settings.yaml という設定ファイルを Python 実行ファイルと同じディレクトリに置く必要がある。 Google Developers Console から出力した client_secrets.json でも良いが、これだと認証情報が保存されない。毎回ブラウザベースでの認証が必要になってしまう。 具体的には YAML 内の以下の部分である:

save_credentials: True  # 認証情報を保存する
save_credentials_backend: file  # 何に保存するか. 今のところ 'file' しか指定できないらしい
save_credentials_file: credentials.json  # 認証情報保存ファイル名

上記の設定がされていることで初回アクセス時 (credentials.json がまだない時) はブラウザベースの認証画面がキックされ、認証が成功すると credentials.json として保存される。

また settings.yaml 内に OAuth の対象を絞り込むための設定があり、サンプルで以下のようになっている:

oauth_scope:
  - https://www.googleapis.com/auth/drive.file
  - https://www.googleapis.com/auth/drive.install

これだとファイルと作成のみの許可となっておりディレクトリなどの検索ができずにハマる (特にエラーなど出力されずヒットしないだけとなる)。 公開するアプリなどではない場合、特に権限を絞り込む必要がない場合は以下のように全権限にしておけば問題ない:

oauth_scope:
  - https://www.googleapis.com/auth/drive

ディレクトリに対し操作を行う場合必ず ID が必要

例えばローカルディレクトリ /path/to に対し操作を行う場合はシステムに対し一意となっているディレクトリパス /path/to の部分が分かっていれば良いのだが Google Drive の場合はそれだと駄目で必ずディレクトリに対する ID を指定する必要がある。 この ID はどうやって調べるのかというところだが、Web 版の Google Drive を使用している場合に対象となるディレクトリに移動して URL を見てみると https://drive.google.com/drive/folders/0B3GHspmhxAvDOXRCGTlSWjhrRWs のようになっている。 この 0B3GHspmhxAvDOXRCGTlSWjhrRWs がそのディレクトリの ID であり、これを使用して以下のように操作できる:

google_auth = GoogleAuth()
google_auth.CommandLineAuth()
drive = GoogleDrive(google_auth)

# 対象の ID のディレクトリ配下のファイル (ゴミ箱に入っていないもの) を全取得
file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format('0B3GHspmhxAvDOXRCGTlSWjhrRWs')}).GetList()

# Google Drive 上の対象 ID のディレクトリ内に hoge.txt を作成
file = drive.CreateFile({'title': 'hoge.txt', 'parents': [{'id': '0B3GHspmhxAvDOXRCGTlSWjhrRWs'}]})

この 'q': '(ID) in parents and trashed=false' というクエリが奇妙に映るが、これは Google Drive APIs (REST) の記法なので仕方ないところのようだ。

対象ディレクトリのファイルを全削除した上でローカルからコピーするサンプル

ということで Django のコマンドラインで動作するように以下のように実装してみた:

class Command(BaseCommand):
    help = 'Google Drive にバックアップファイルを転送する.'

    def add_arguments(self, parser):
        parser.add_argument('path', type=str, help='バックアップ元ファイルパス')
        parser.add_argument('parent_id', type=str, help='Google Drive 転送先ファイルパス')

    def handle(self, *args, **options):
        self.stdout.write(self.style.SUCCESS("Google Drive 転送処理を開始します."))

        # Google Drive 認証を行う
        google_auth = GoogleAuth()
        google_auth.CommandLineAuth()
        drive = GoogleDrive(google_auth)

        # まず旧ファイルを削除
        file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(options['parent_id'])}).GetList()
        for file in file_list:
            file.Delete()
        self.stdout.write(self.style.SUCCESS("{} 内の旧ファイルを削除しました.".format(options['parent_id'])))

        # backup フォルダ配下のファイルを軒並み転送
        for directory_path, directory_names, file_names in os.walk(options['path']):
            for file_name in file_names:
                file = drive.CreateFile({'title': file_name, 'parents': [{'id': options['parent_id']}]})
                file.SetContentFile(os.path.join(options['path'], file_name))
                file.Upload()
                self.stdout.write(self.style.SUCCESS("{} を転送しました.".format(file_name)))

        self.stdout.write(self.style.SUCCESS("Google Drive 転送処理が完了しました."))

第一引数に転送元ローカルディレクトリを指定、第二引数に Google Drive の対象ディレクトリ ID を指定して以下のように実行できる:

manage.py sendtodrive backup/ 0B3GHFpmhx9vdUFFLVPE4EG9YNnM

最近歯医者に通っているのだが、歯石を除去してもらった際に年齢の割に歯周ポケットが深くなってしまっているとお叱りを受けて今日歯磨き講座を受けた。 歯医者に通っているとたまにこういった指導を受けることがあるのだが、今日のものは実際に自分で使用している歯ブラシを自宅から持参して歯科衛生士の指導のもと改善を行うという割と気合の入ったものだった。

まず私が普段の磨き方を実践したが、やはりいろいろと問題があったようだ:

歯磨きに関しては意識改革を行う必要がありそうだ。

早いもので今年の出社もあと 4 週を切った。 だが年の暮れは大掃除や忘年会などあるので面倒だ。 今年の天皇誕生日が土曜になっているのも悲しい。 12 月 30 日と大晦日が土日になっているのも悲しく、有給休暇を取得しないと冬休みが異常に短い。 この辺りは本当に学生が羨ましい。

久々に家族で清水公園に行ってきた。 清水公園は雄大なアスレチックコースが 3 つあったりその他にも花の温室園やポニー牧場など見どころが多い。 今回は前回と同様にアスレチックコースに子どもを連れて行ってきた。

「水上コース」という水の上を遊ぶアスレチックがあるのだが、そこは身長 130 cm 以上でないと駄目だし今は冬なのでもし落ちてしまったらすごく冷たい思いをすることになる。 そこで「水上コース」以外の「チャレンジコース」「冒険コース」を一通り遊んだ。 12 月とはいえいい陽気だったので家族連れが多かったし、実は「水上コース」にも大勢の子どもたちがいた。 やはり水に落ちてしまい泣いている子どももいたが……。

「冒険コース」の方にも一部水上で遊ぶエリアがある。 そこも子どもたちはクリアしたのだが、私は前回来た時はちゃんとやったのだが今回はさすがに自信がなくパスした。 それにイカダの上に大人の体重で乗ると沈んでしまう……。

綱 1 つで垂直の丸太の壁を登っていくようなものや身長が足りなくて足が届かなそうなもので一見「これはまだ無理じゃないか」と思われるアスレチックも何とかこなしていく姿を見て、なかなかやってみないと分からないものだな、と感心した。

少し街乗りするためにバイクで出掛けたが、日差しがいいので停まっていると暖かいのだが走っていると寒い。 道路の温度計を見ると 9℃ や 10℃ をさしていた。 茨城方面にグルメバーガーを目標に食べに行ったのだが、生憎その店のシャッターが閉まっていた……。 仕方がないのでカツ丼を食べて帰った。

なるべくお金を使わない方向でいくということで今回行きは高速を使わなかったが、若干寒くて疲れてしまったので帰りは料金の単価が高い区間以外のみをうまく乗る感じで高速に乗った。 首都圏ツーリングプランが終わってしまったので気軽に高速に乗るわけにはいかない。

10 月は雨続きだったのでほとんど乗れず 11 月もそんなには乗らなかったということで、この 2 カ月間の走行距離は過去最低となってしまった。 これから更に寒くなるということで来年 4 月頃までは低稼働でいくことになりそうだ。

Fall Creators Update で入ったフォント

Windows 10 の大型アップデートである Fall Creators Update が 10 月にあったわけだが、新しい日本語フォントである UD デジタル教科書体が入っていたのを忘れていた。 このフォントに関しては窓の杜に以下のように説明があった:

「UDデジタル教科書体」は、教育現場の要望に応えるため、ヒアリングや検証をもとに改良を重ねながら10年にわたり開発されてきた書体。筆運びの向きや点、ハライ、画数、筆順などは学習指導要領に準拠しつつも、太さの強弱を抑えてロービジョン(弱視)、ディスレクシア(読み書き障害)などにも配慮しているのが特徴。電子黒板やタブレット端末といったICT教育の現場で効果を発揮する可読性・視認性に優れるユニバーサルデザイン対応の書体となっている。

試そうと思っていたのを今日思い出したので早速 Full HD と 4K の液晶両方で見てみた。 Full HD でもまずまず綺麗に見えるのだが 4K 液晶で見ると確かにかなり綺麗だ。 ただ「教科書体」という名前からイメージする通り、いかにも教育用といった字体で macOS のポップなヒラギノ角ゴと比べるとちょっと好みが分かれるような気がした。 どちらかというと堅い文章を書く人に合っているかもしれない。 ということは私向きだろうか。

N, NP, NK の違い

末尾の R はレギュラーということであり標準の太さという意味で分かるのだが N, NP, NK の違いが最初よく分からなかった。 調べてみるとどうも N は等幅フォント (但し半角英数は半幅) で NP は英数字がプロポーショナルになっており、NK は更にかなもプロポーショナルになっているフォントのようだ。 ということで普段指定する際は NK-R でいいだろう。

Blog をフォントに合わせてデザイン変更

気に入ったので、早速この Blog で指定しているフォントのプライマリをこの UD デジタル教科書体にしてみた。 合わせてフォントサイズも適切に変更してみた。 とても見やすくて満足だ。

今までは以下のように ASCII フォントを先頭に出して「英数字は Arial だが漢字とかなは sans-serif (多くは游ゴシック体やメイリオ)」という技法を使用していた:

body { font-family: Arial, sans-serif; }

今回も最初これでやってみたのだが、どうも UD デジタル教科書体のデザインと一般的な ASCII フォント (例えば Arial) の字体の雰囲気が合わない。 そこで今回思い切って全て UD デジタル教科書体に任せることにした。 UD デジタル教科書体の CSS の指定は以下のようにそのままの名前で指定するようだ (半角・全角に注意):

body { font-family: "UD デジタル 教科書体 NK-R", "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; }

どうも半角英数字と全角英数字の見分けが付きにくいフォントのように思えるが、慣れかもしれない。 ともかく Windows でこれだけ綺麗なフォントで記述・閲覧できるのであれば、もうヒラギノ角ゴ目的で Mac を選ぶようなこともなくなるだろう。 勿論 Mac を選ぶ理由はフォントだけではない (技術者としては主に OS 自体が正当な UNIX であることに起因する) のだが、それは別の話である。