ここは Web や Android アプリのプログラマでありチェスやバイク、株式投資を趣味とするコジオンこと Hideyuki Kojima の日記です。 毎日何かしら欠かさず書いています。 この Blog の他に Qiita にもいくつか技術系の記事を投稿しています。 YouTube のチェス実況チャンネル に毎日 lichessChess.com の 10 分レート戦の実況動画を投稿しています。 連絡はメールでお願いします。kojionilk あっとまーく gmail どっと com です。

コジごみカレンダーはこれでもう 6 年以上公開している歴史あるアプリだ。 最初の頃にヘルプを設置して使い方を説明していたのだが、ヘルプページがこの Blog の前身のホームページの一部だったので知らず知らずのうちにページを削除してしまい「ヘルプページがリンク切れ」という状態を作り出してしまっていた。 そしてその状態が最新のバージョンまで続いてしまい些か不親切なアプリとなってしまっていた。

Android ネイティブのレイアウト (XML) でヘルプページを描画するのは非効率なので今回も HTML を使用して作成したが、前回の反省を生かして今回はアプリ内 (/assets) に HTML リソースを埋め込んで配布する形式とした。 この方式ならリンク切れの心配はないが、ヘルプページを更新する度にアプリもバージョンアップする必要があるのが難点ではある。 恐らくそんなにヘルプページを変更するような事態は発生しないのでそこまで問題ではないと見積もっている。

幾つか要望も上がってきているが、これでとりあえず様子を見てみたい。

つい先日年を越したばかりだと思っていたのに、もう 1 ヶ月が経とうとしている。 時が経つのが異常に早い。 MediaPad M5 の発表が 1 ヶ月後といっても、そんなに待つ気がしない。

バイクの森破産

バイクの森が破産したらしい。 しかし記事を見る限りだと「バイクの森おがの」は開館してから 1 年半しか持たずに閉館に追い込まれてしまったようだ。 近隣のバイク乗りなら秩父市や小鹿野町に行く機会は年に数回あるのだとは思うが、博物館というのは何度も観ない性質のものなので高額な入館料を取る形式だったのは明らかに失敗だったように見える。 あと、荷物が積めないのでツーリング先でバイク用品を買うことはほぼ無いと思う……。

残念だが特に男のバイク乗りに関するイメージがとにかく悪い。 無駄に爆音を轟かせ、周囲を威圧するような出で立ちをしている者もよく目にする。 私ももし住民だったら「町おこしのためには来てほしいけどあまり近寄らないでほしい」と微妙な心情になってしまうことだろう。 電車の中でも悪いマナーなのが目立つのは男が 9 割だが、バイクも一緒。 PA や SA で休憩していても近寄りたくない。 私自身はこうならないように配慮しているつもりだが、他人から見たところ本当にどうなのかは判断がつかないところではある。

私はどちらかというと Android アプリのプログラマである上 Web の開発でも普通は新規ではなく既存システムの改修となるためどうしても TypeScript のような技術を試す場に出会うことが少なく、しばらく触らずにいた。 とはいってもタイピングサイトのシミュレータ作成に使っただけなので元々 TypeScript に関してはそんなに詳しくなかった。 久々に触ってみて letvar を Swift のような感覚で不変、可変の意味で使ってしまったが間違っていた……。 不変は const で可変は let が正解。 var は ECMAScript の古い仕様なので使うべきではないとのこと。

IntelliJ だと TypeScript のトランスパイラを用意しなくても簡単に JavaScript に自動変換できる (File Watchers)。 ただ、仕事で使う場合は「IntelliJ で開発すべし」という強制はできず Eclipse や Vim, Emacs でも同様に自動コンパイルできなければならない。 というわけでそのやり方などを調べていたが、今は Grunt などを使わなくても npm コマンドと設定ファイルを少し書くだけで出来るようだ。 この界隈は少し休んでいるとすぐ進歩して以前のやり方が古い推奨されない技術になってしまう。 常に勉強し続けなければならない。

いつも思うのだが環境に応じて言語を切り替えるのは頭がついていかないことがあって煩わしい。 できればすべて Kotlin で書きたいくらいだ。

自宅で快適に開発作業をしたいのと 4K ディスプレイを満足に活用できるようにする為にデスクトップ PC をポチった。 今回購入したのは DELL の New XPS タワー スペシャルエディションというモデルだ。 HP のデスクトップ PC でも良かったのだが CPU が依然として第 7 世代のままだったので見送った。 第 8 世代の Coffee Lake-S はコア数が 6 コアに増えており結構パワーアップしているようなので見逃せないポイントだった。 後はグラフィックボードだが、最低でも GeForce GTX 1060 にしたかったのでそれにした。 これより上のグラフィックボードもあるが、私は PC ゲームはしないのでこれ以上の性能は必要ないはずだ。

自宅に届くまで 2 週間くらいかかるようなので、それまで楽しみに待つことにする。 セットアップが終わったら古い PC はヤフオクで処分したいところだ。

今年の残雪は長い

自宅前や路地裏などにまだ雪や路面凍結が残っている状態でバイクに乗るわけにはいかない。 なので今日は自宅でゆっくりすることにした。 コジごみカレンダーの改修も行いたかったのだが、結局やらずじまいになってしまった……。

4K ディスプレイの功罪

少し前から 4K ディスプレイを使用しているのだが PC のグラフィック性能が貧弱 (インテル HD グラフィックス 620) なせいか Chrome での上下スクロールがかなりもたついてしまい快適ではなかった。 試しに Edge を使用してみたらこちらの方が快適に動く。 レンダリングが優れているのかもしれない。

装備さえしっかりすれば怖くない

天気予報によると今週中頃から過去最強クラスの寒波だそうだ。 今日も寒いだろうと思って念には念を入れバイク用のウインターコートにバイク用のレイングローブを用意して出かけた。 ペアスロープ製のウインターコートは深夜にバイクに乗っていた時は寒くてとても辛かったが、普通に歩きで着る分には全く問題なく強力な防寒性能だと思った。 普段使いでもギリギリ問題ないデザインなので着ているが、最早普通のカジュアルジャケットは必要ないのではないかと思うほどだ。

まだ地面のアイスバーンは大量に残っており、今日は歩道橋の上を歩いているとアイスバーンがありそこに血しぶきが飛び散っていた……。 誰かここで派手に転倒して怪我したのだろう。 なかなか刺激的な光景だった。

コジごみカレンダーを久々に更新

年末から何故かコジごみカレンダーの問い合わせや評価が多いと思ったら、とあるニュースサイトで紹介されていたようだった。 1 つの要望対応ということで久々に更新し、今更だがタブレットでの表示対応とした。 どうも Google Play Developer Console でタブレット用のスクリーンショットを上げるだけでタブレット対応になるようだったが、アプリ内もタブレットでの動作時は文字サイズを少し大きくなるように調整した。 スクリーンショットは 7 インチと 10 インチのものが登録できたのだが、いざタブレットの Google Play で見てみると双方のスクリーンショットが一緒に表示されてしまい若干微妙だと思った。

他にも要望は上がっているので少しずつ対応していきたいところだ。 ある程度対応したところで放置していたヘルプページの作成も行いたいところではある。

しばらく Amazon プライムビデオも放置しておりポプテピピックを観るぐらいになっていた。 たまには何かまとまったものを観ようかと思い、今回は「重戦機エルガイム」を選んだ。 最近のアニメ作品は大抵選んで見始めても 10 分ぐらいしか我慢できずに観るのを止めてしまうのだが、昔のアニメは何故か興味を持って見続ける事ができる。

このエルガイムは初めて観たのだが ZZ ガンダムのようなコミカルな雰囲気でなかなか面白い。 しかし昔のアニメでびっくりするのが、今ではありえないような性描写 (乳房の描写など) が割と頻繁に出てくるところだ。 「男 (女) がすたる」とか「男を立てる」「女だからさ」などの性別を意識した発言も多い。 今の時代にはそぐわないのかもしれないが、妙に馴染むのは私がこの時代の人間だからだろうか……。

同じ富野作品ということで、この後ダンバインやザブングルを観るのも面白いかな、と思った。

昨日は月曜の大雪の後で大量に残っていたので久々に有給休暇を使用し家で休んでいた。 ちょっと買い物には出たのだが、溶けた雪が水っぽくなっており路面状態は悪かった。 しかし私の場合はバイク用の防水靴と防水ボトムがあるので、これを装備して行ったので全く濡れずに快適に行くことができた。 いざという時はカッパも用意できるし、バイク乗りだとこういう時に助かる。

今日は普通に出勤したが、道路は雪が溶けた後の路面凍結で滑りやすい状態だった。 とても寒いし、正直なところ今年は雪はもう終わりにしてほしいところだ。

タイプウェル国語 K 総合 XD

月配列始めて大体 1 年で達成

月配列 2-263 式の練習を始めたのが 2017 年 1 月 14 日なので、大体 1 年で総合 XD を達成することができた。 月配列 K への調整で後退したり Colemak の練習など行っていた時期もあったので実質的な練習期間としては 1 年に満たない。 それを踏まえるとこれは望外の結果といえる。 指の速度的に限界を感じてきた部分はあるが、まだ少しは反復練習で伸ばせる部分もあるかもしれない。 「石の上にも三年」というし、まだ一年しかやっていない状態では分からない部分も多い。 今まで通り継続して練習を続けていく予定だ。

当面強い目標は持たずに基本常用語をメインに無理のない範囲でやっていくが、基本常用語が XB に乗るなどして総合 XC が狙える段階に来たら拡張も少しずつ底上げする、という今まで通りのスタイルでやろうと思う。

ちなみにタイプウェルの総合が X になったあたりから、総合レベルを上げても普段使いのタイピングが速くなった感じはそれほどしない。 勿論微妙には速くなっているのだと思うのだが体感ほとんど変化がない。 「やはりこの辺りはタイパーの領域なのだろう」という感想を持った。

種目 今回記録 前回記録 短縮秒数 練習回数 練習期間 (日)
基本常用語 39.537 (XC) 41.599 (XD) 2.062 1140 54
カタカナ語 44.451 (XF) 46.365 (XG) 1.914 180 9
漢字 40.101 (XD) 41.511 (XD) 1.410 228 9
慣用句・ことわざ 46.340 (XG) 48.885 (XH) 2.545 429 12
- - - 1977 56

タイプウェル国語 K 総合 XD までの練習実績

順位 ポイント 総レ 達成日 エタイ腕
230 1070034 XD XC XF XD XG 18/01/22 326 (Thunder)
258 1060041 XE XD XG XD XH 17/11/26 310 (Fast)
291 1050482 XF XE XG XF XI 17/09/19 300 (Fast)
315 1042448 XG XG XH XF XI 17/09/13 300 (Fast)
359 1030272 XH XG XJ XH SS 17/05/10 294 (Good!)
395 1020732 XI XH SS XI SS 17/04/18 264 (S)
430 1011372 XJ XH SA XJ SB 17/04/09 262 (S)
482 1001547 SS XJ SB XJ SC 17/03/23 248 (A+)
- 990055 SA SS SC SA SE 17/03/18 248 (A+)
- 980733 SB SS SD SC SF 17/03/06 234 (A)
- 970091 SC SB SD SC SF 17/03/05 234 (A)
- 961153 SD SC SE SC SG 17/02/20 234 (A)
- 950573 SE SC SG SE SH 17/02/17 216 (A-)
- 941387 SF SE SG SF SH 17/02/13 211 (A-)
- 932774 SG SE SH SG A 17/02/11 195 (B+)
- 920398 SH SG SJ SG A 17/02/07 191 (B)
- 911499 SI SH A SG B 17/02/06 191 (B)
- 901121 SJ SI A SI B 17/02/03 184 (B)
- 881130 A A B A B 17/01/30 184 (B)
- 851088 B B C B C 17/01/27 172 (B-)
- 812285 C C D C D 17/01/24 155 (C+)
- 772154 D D E D E 17/01/23 154 (C+)
- 706261 E E E F F 17/01/21 136 (C)
- 630434 F F F F G 17/01/20 132 (C)
- 550947 G G G G I 17/01/19 112 (C-)
- 476911 H H H H I 17/01/18 103 (D+)
- 383789 I I J I J 17/01/18 94 (D+)
- 295636 J J J J J 17/01/17 84 (D)
- 0 - (練習開始日) 17/01/14 55 (E+)

海ほたる PA 佐世保バーガー

房総半島の海岸沿いでも流そうと東京湾アクアラインを走って木更津の方に抜けることにした。 途中の海ほたる PA に到着した時はまだ 10 時過ぎだったのだが、佐世保バーガーの表示を見たので 1 回食べておこうと注文した。

グルメバーガーの中でも結構大きい部類だ。 バンズは少し硬めのタイプで悪くはない。 パティの重量感が少し足りないかな、と思ったのでダブルバーガーの方を注文したほうがいいのかもしれなかった。 バーベキューソースの味が強めだが個人的には好きな塩梅だった。 中に入っている玉子 (目玉焼き) との相性もいい。 窓際の席で海を眺めながらハンバーガーを頂くのも悪くないのではないか。

この後のツーリングでは予定通り海岸沿いを流し始めたのだが、出かけるのが遅かったからか南端まで到達することはできなかった。 やはり冬なので寒さが厳しく、朝早くや夜遅く走るわけにはいかないので辛いところだ。 ただ日中の寒さはそうでもなかったし、海ほたる PA や房総半島を走っていてもバイクの集団とすれ違ったり並走することが多々あった。 この真冬の中ではツーリング日和だったのだろう。

Ubuntu 16.04 LTS を想定。 例えば hoge.kojion.com と fuga.kojion.com にそれぞれアプリをデプロイする場合を考える。 昨日の記事までの Tomcat 及び Apache 連携の設定は既に済んでいるものとする。

Tomcat 側の設定

sudo vi /etc/tomcat8/server.xml

以下のように <Engine> 内に必要な分だけの <Host> を用意する:

<Engine>
    ...
    <Host name="hoge.kojion.com"  appBase="hogeapps"
        unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
            prefix="hoge_access_log" suffix=".log"
            pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>
    <Host name="fuga.kojion.com"  appBase="fugaapps"
        unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
            prefix="fuga_access_log" suffix=".log"
            pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    </Host>
</Engine>

上記の設定でログが /var/log/tomcat8 に指定した prefix, suffix の形式で吐かれることになる。 この後 hogeapps ディレクトリと fugaapps ディレクトリを用意する (以下 fugaapps の操作は hogeapps と同様とする):

sudo cd /var/lib/tomcat8
sudo mkdir hogeapps
sudo chmod 777 hogeapps
sudo chown tomcat8.tomcat8 hogeapps

上記で作成した appBase のディレクトリにはこの後置く war ファイルが展開されて置かれる。 次に各ホストに対する設定ファイルを置く:

sudo cd /var/lib/tomcat8/conf/Catalina
sudo mkdir hoge.kojion.com
sudo vi hoge.kojion.com/ROOT.xml

以下に指定する docBase のディレクトリは任意の場所で良い (一般的に /home が置きやすいだろうということでそうしている):

<Context docBase="/home/user/hoge/ROOT.war"/>

後はこの docBase に指定したディレクトリに war ファイルを置けば、対象 URL に初回アクセスした際に appBase に war ファイルを展開してくれる。 ROOT というコンテキスト名にするとルートディレクトリへのアクセスで対象アプリが駆動する。 例えば http://hoge.kojion.com/hage で hage アプリが動作してほしい場合は war ファイル名を変更すれば良い:

sudo vi hoge.kojion.com/hage.xml
<Context docBase="/home/user/hoge/hage.war"/>

Apache 側の設定

sudo vi /etc/apache2/sites-available/hoge.conf

バーチャルホスト毎に設定ファイルを用意すれば良い:

<VirtualHost *:80>
    ServerName hoge.kojion.com

    ...

    <Location />
            ProxyPass ajp://localhost:8009/
            Order allow,deny
            Allow from all
    </Location>
</VirtualHost>

最後に sudo service tomcat8 restartsudo service apache2 restart し、試しに war ファイルを置いて http://hoge.kojion.com にアクセスして正しくアプリが稼働するのを確認する。

パッケージングを War にした場合

昨日の記事である Spring Boot を Kotlin で Hello Worldパッケージングを Jar でなく War でプロジェクトを新規作成した状態とする。 build.gradle の記述が少し変わるのだが、具体的には以下の部分だ:

apply plugin: 'war'

configurations {
    providedRuntime
}

dependencies {
    // ここをコメントアウトして Application を実行すると組み込みの Tomcat で実行できる
    providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
}

上記に書いた通り providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') をコメントアウトすれば普通に Jar でビルドし組み込みの Tomcat で実行できる。 開発時はコメントアウトしておくのがいいだろう。 尚 War でプロジェクト作成した場合 ServletInitializer というクラスが増えているのが分かると思うが、これが無いと Tomcat で war ファイルをデプロイしても実行できない。

war ファイル作成

上記の状態で普通に Gradle のビルドを行うと build/libs 直下に war ファイルが作成される。 尚ファイル名は (プロジェクト名)-(Gradle に指定している version).war となるようだ。

Ubuntu 側の用意

今回はローカルの仮想環境に Ubuntu Server 16.04.3 LTS をセットアップしてあるものとする。 後今回は便宜上 Oracle の Java ではなく OpenJDK とする。

sudo apt install apache2 openjdk-8-jdk tomcat8 tomcat8-admin

これで Tomcat がインストールできたので http://(仮想環境の IP):8080/ にアクセスし Tomcat の稼働を意味するスタートページが表示されることを確認する。 仮想環境の場合ネットワークの設定を「ブリッジアダプタ」などホスト PC から IP が見える状態にしておかないといけないので注意する。

tomcat8-admin をインストールしたので http://(仮想環境の IP):8080/manager にアクセスすると Tomcat 管理画面に遷移することができるが、最初の認証の為のユーザを設定しなければならない。

sudo vi /etc/tomcat8/tomcat-users.xml

以下を追記する。 ユーザ名とパスワードは適宜強固なものに変更する。

<tomcat-users>
    ...
    <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>

Tomcat を再起動し設定を反映する:

sudo service tomcat8 restart

これで http://(仮想環境の IP):8080/manager にアクセスし設定したユーザ名とパスワードを入力し認証、正しく管理画面が表示されるのを確認する。 更に管理画面上から前述の手順で作成した war ファイルをデプロイし、正しくアプリケーションのページが表示されるのを確認する。

Apache との連携

これは UbuntuでTomcat Apache連携がとても参考になった。 ほぼ記事のオウム返しになって恐縮であるが、まず以下で Tomcat の接続設定を変更する:

sudo vi /etc/tomcat8/server.xml

8080 ポートを閉じて proxy_ajp 連携用の 8009 版ポートを開く:

<!-- コメントアウト
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />
-->

<!-- コメントアウトを外す -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

次に sudo vi /etc/apache2/sites-available/000-default.conf し以下追記する:

<Location />
    ProxyPass ajp://localhost:8009/
    Order allow,deny
    Allow from all
</Location>

最後に proxy_ajp を有効にしそれぞれ再起動:

sudo a2enmod proxy_ajp
sudo service tomcat8 restart
sudo service apache2 restart

http://(仮想環境の IP)/(コンテキスト名) にアクセスし、正しく Spring Boot アプリケーションが表示されるのを確認する。 /etc/apache2/conf-available の方に設定を書いて sudo a2enconf xxx する方法もあるが、個人的にはバーチャルホストで設定を分ける時に今回記載した手順のほうが便利だと思った。

Spring Boot は Pleiades 適用済の IntelliJ IDEA でビルドするものとする。

IntelliJ IDEA で「新規 -> プロジェクト」を選択。 プロジェクトの種類は Spring Initializr (typo ではない) を選択。 プロジェクト JDK は今のところ 1.8 で行ったほうがいいようだ。 まだリリースされたばかりの Java 9 だと問題が出ることが多かった。 グループ、成果物は適当に入力。 型として Gradle Project を選択 (Maven でやりたい人は Maven Project を選択)、言語は Kotlin を選択。 パッケージングはこの時点では Jar を選択しておく。 依存関係だがとりあえずは以下の 3 点を入れておけば良い:

  • Core -> DevTools
  • Web -> Web
  • Template Engines -> Thymeleaf

尚、この画面の上部で Spring Boot のバージョンを選択できるのだが 1.5.7 ではなく 2.0.0.BUILD-SNAPSHOT を選択しておくのが良い。 Spring のバージョンが 5.0.x となり Kotlin に対応している。

プロジェクトを作成すると何やら Gradle の設定画面が出るがそのまま「次へ」を選択。 Gradle の依存関係ライブラリの取得が始まるので終わるまで待つ。 終わったらサンプルページを表示するためのコントローラとテンプレートを用意する。 Kotlin ディレクトリのどこかのディレクトリに以下のように SampleController を用意する:

@Controller
class SampleController {
    
    @GetMapping("/")
    fun sample(model: Model): String = "sample"
}

そして resources/templates 下に以下のように sample.html を用意する:

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>Sample</title>
</head>
<body>
    <p>Hello World!!</p>
</body>
</html>

この状態で TestApplication.kt を右クリックして実行すると組み込みの Tomcat が起動して http://localhost:8080/ にアクセスすると Hello World!! が表示される。 尚、この時点だとテンプレートファイルを書き換えても TestApplication.kt を実行し直さないとブラウザ上の HTML が書きかわらない。 ホットデプロイに関しては過去記事 Spring Boot + IntelliJ IDEA でホットデプロイを参考に設定してほしい。

自分に合っているかは微妙

去年 8 月に一旦 Twitter は辞めたのだが今から 2 ヶ月前に復帰している。 Twitter でのやり取りはタイピング関連のフォロワーが多いので実質タイピング専用のようになっており、少しこの Blog の内容とは乖離がある。 私の趣味は他にバイクツーリングやハンバーガー食べ歩き、麻雀 (MJ モバイル)、そして仕事としてプログラミングがあるが、こちらの方面ではフォロワーが出来たことはあったものの積極的にコミュニケーションを取るには至っていなかった。 タイピングの場合新記録などを載せればそれなりに盛り上がるので Twitter 向きと言えそうな感じではある。 スクリーンショットも簡単に撮影できるし、イータイピングタイピング速度測定など記録を Twitter に簡単にツイートできるように実装されているサイトも多い。

Twitter というツール自体は好きであるが私が Twitter 向きかというと正直微妙なところで、少し距離を取りつつうまく付き合っていこうというのはずっと変わらず思っている。 Twitter では普段の生活では到底巡り会えないような人と容易にコミュニケーションを取ることができるが、それは実は欠点でもある。

ある方を再度フォローしたかった

私は Twitter 復帰前に「自分へのエアリプに思えるツイートが直視に耐えない」という理由である方をブロックしたことがあったのだが、どうも眺めているうちに「この方は実は自分が思っているようなタイプの人間では無いのではないか」と思うようになってきた。 Twitter を一旦辞めた時にブロックなどもすべてクリアしてしまったので、これ幸いと再度フォローしてコミュニケーションを取ることにした。 その方は私が以前ブロックしていたからといって恨むようなことはなく、快く受け入れてくださった。

ネット全般に言えることであるが、単なる文字情報の羅列でその人となりを完全に見抜くのは不可能だ。 だから私が依然として Twitter の各フォロワーに対して抱いている印象というのは「実は正しくない」のかもしれない。 本来それを前提としてコミュニケーションを取るべきところなのだろう。

ただ、私に限って言えば恐らく Blog のこの雰囲気がそのまま私の印象と取ってもらえればほぼ間違いはないはずだ。

継続するということ

月配列でのタイピングに関してはタイプウェル国語 K が XE 到達後はそこまで何かを目標にしてやってはおらず、練習回数自体もやや減少傾向にある。 完全に気分でやっているので疲れたらすぐ止めるようになった。 よって指が痛むようなこともほぼ無くなった。 しかし少しずつ前進はできているので、まだモチベーションを失うには至っていない。

料理にしてもバイクにしても、やっていなかったら全くできないだろうし、長期間継続してやっていればそれだけうまくできる。 勿論「どうやったら上手くできるか」を常に考えながらやった場合はより上手にできるようになる。 単純なロジックであるが、そういうことなのだろう。

何かを続けるというのは簡単なようで難しい。 まず自分がそれを好きにならなければいけないのだが、何でもかんでも好きになれるかというとそれも難しい (そういう人もいるとは思うが稀だと思う)。 「自分が好きになれる趣味は何か」を見つけにいくのが重要なのだと思う。 そういった意味で何かを継続することも大事だが、諦めて新しく自分に合ったものを探すのも大事なことだと思う。

CHATTY CHATTY ミーティニスバーガー

すっかり CHATTY CHATTY のファンになってしまったが、このお店は月替りの期間限定メニュー、いわゆる「マンスリーバーガー」を出している。 今月のバーガーはミーティニスバーガーという肉肉しいものらしいということで、早速今日食べに行ってみたというわけだ。

18 時前にお店に着いたのだが、既に満席に近い状態でカウンター席が 1 席空いていたのでそこに座った。 今までこのお店でこんなに混んでいたのは見たことがなかった。 どこかで紹介でもされたのだろうか。 まぁとても素晴らしいお店なので広まれば瞬く間に並んで食べるような人気店になるのだろう。 そうしたらどうするか、というのはちょっと考えてしまう。 いくら美味しくても私は並んでまで食べたくない、つまり「お金の他に余計な時間も消費したくない」というのが根底にあるからだ。

「ミーティニス (meatiness)」だがちゃんと英単語として存在して「肉がたくさん入っていること」という意味らしい。 その名の通りミートソース・ソーセージ・サラミという肉の三重奏――いやパティも加わるので四重奏――が楽しめる。 とはいえ私にとってはちょっと肉の分量が多くて「もう少し野菜が欲しいな」と思ってしまった。 もう少し肉の好きな人や若い人ならば感想が違ってくるかもしれない。 あと手に取ったときの重量感、ズッシリ感がすごい。 いかにも「肉の塊」を食べている感が楽しめる。

子どもの頃に辛かった宿題

子どもの頃よく学校の課題で読書感想文を書かされたが、当時は原稿用紙 3 枚など埋めるのが苦痛で仕方がなく、あらすじや解説を見て「どうやって文字数を増やすか」といったところに苦労していたように思う。 今大人の感覚でこれを書いてみるとどうなるのか少し興味があったので、たまたま今読み終わったガリバー旅行記を使用して書いてみた。

1 枚の原稿用紙はフルに入れて 400 文字であるが、原稿用紙 3 枚だったとしても 1,200 文字フルに入れるわけではない。 一般的にどの程度埋めれば読書感想文として成立するのか、というところで読書感想文の書き方を参考にしてみた。 80 % 程度を埋めればいいらしい。 原稿用紙 3 枚だと 1200 * 0.8 = 960 文字以上とすればいいようだ。 960 文字というのは一般的な新聞の社説 1 つと同程度の長さで、タイピングをすると 10 分弱で打てる文字数ではあるが遂行しながら書くともっとかかりそうである。 ということで少し大変そうだな、と思いながら書いてみた。

読書感想文

この度私はジョナサン・スウィフトのガリバー旅行記を読みました。この物語は小人の国、巨人の国、浮遊する島、馬の国の 4 編に分かれています。このうち小人の国、巨人の国は割合有名な話だったように思います。私も子どもの時に紙の本で読みましたが、ある程度は内容を覚えていました。

小人の国、巨人の国の部分で面白いのは、今どちらの国にいるかで主人公の立場や振る舞い方が全く異なってしまったという点です。小人の国にいる時は主人公は普通に行動を起こすだけで人々は驚き恐れますが、巨人の国にいる時は全く小動物のようなもので見世物に使われたり、一般人が全く問題としない小さな動物や虫に命の危険を感じたりしています。私たちが普段仕事をしていても思うことですが、自分が今所属しているコミュニティを意識するのはすごく大事な事だと思います。

小人の国と巨人の国、主人公の所属するイギリスで使用されている言語が全く違うので話が通じなかったりしたのはとても写実的だと思ったのですが、300 年前のイギリスでは日常的によくあったと思われる挨拶代わりに手にキスをするという動作が共通して出てきていたのはちょっと残念でした。言うまでもないことですが日本には古来からそういう文化はありません。全くつながりのない世界観のはずなのにこの手にキスをするというマナーが共通しているのは不自然です。また、羊や牛といった家畜がその国のサイズで登場してきて同じように飼われていたというのも少し残念に思いました。この辺りは筆者がイギリスの慣習というシガラミから逃れきれなかった部分ではないかと考えます。

浮遊する島に関してですが、今までの流れと異なり島からすぐ出てしまうのは意表を突かれました。浮遊する島の名前がラピュタなので天空の城ラピュタのような神秘的なものをイメージしていたのですが、これも実際は異なりました。地上に降りてからも話はいくつか続くのですが、この章はあまり印象には残りませんでした。

最後の馬の国ですが、人間と馬の立場が逆転しているというところがとても面白く、実はガリバー旅行記の話の中で一番良くできているのではないかと感心しました。現実世界では人間の価値は知性から成り立っているという前提があり、もし馬の知性が人間と同等であったとしたら、という仮定からなる世界観の構築がうまくいっているのではないかと思いました。

全体を通してみると、そもそもの主人公の常識が 300 年前のイギリスをモデルとしているだけあって所々現代の日本の感覚とは幾つか差異がある部分があるのでそこは想像を働かせる必要がありますが、全体的にとても読みやすい作品です。また、ちょうどいい部分で訪れる国が変わるのでそこで前回の話との対比をさせて読むのが面白い作品だと思いました。

書いてみて (読書感想文を書いた感想文)

上記を計測してみたら 1,150 文字 であった。 新聞社説より長く書かなければならないのはちょっと大変そうだな、という想像に反して本を読み返すことも特にせずに割と苦もなく書けてしまった。 これが原稿用紙 5 枚の場合は 2000 * 0.8 = 1,600 文字埋めなければならないが、あと 450 文字くらいそんなに苦労せずに増やせそうである。

私は年齢として既に 40 歳手前であり、奇妙な表現ではあるが「40 歳のボキャブラリーになるための特殊な訓練」などは受けていない。 読書感想文なるものも学生時代以来書いていなかった。 それでもこれだけ書けてしまうのだから驚いた。 直接的に関係がなくても普段の仕事だったり、この日記を毎日書いたりなどの一つひとつの積み重ねが効いているのだなと感じた。

それにしても「原稿用紙 3 枚」とかいう単語を聞くと未だに学生時代の苦労を思い出してウッ、と思ってしまうのが何とも言えない。 原稿用紙 3 枚と言うと結構分量がありそうだが、実際ブログで文字に起こしてみると 960 文字というのは意外と少ない。 ちなみにこの Blog の文字数の平均を取ってみたが 997 文字だった。 実際は Markdown の記号 (この Blog は Markdown 記法で記述できるように実装されている) やプログラミングコード例なども含まれるので正確ではない。 恐らく 800 文字程度が正しい平均値だろう。 つまり私はそもそも日常的に毎日原稿用紙 2 ~ 3 枚程度の文章は書いているということだった。

ちなみにこの Blog で今のところ一番文字数が多い記事 (プログラミングの記事はコードを含むので除く) はセンターフォーハンバーガーズとビーナスラインツーリング 2 日目だ。 5,320 文字ということで原稿用紙 16 枚分 (400 * 16 * 0.8 = 5,120) にあたる。

私は埼玉から東京に勤めているので通勤電車に揺られている時間が長く、中で何をしようかというのは毎日の一つの悩みである。 麻雀も最近勝てないので若干嫌気がさしてきて、久々に読書でもしようかと思い立った。 そういえば学生時代は青空文庫からダウンロードしたテキストをザウルスに入れて専用のビューアーで読んでいたな、と懐かしく思い出した。 今は青空文庫専用のビューアーなどインストールしなくても普通に Kindle で読めてしまう。 PHS (多くは DDI ポケットの H") を繋いで「モバイルコンピューティング」とやらに勤しんでいた時代と比べると便利になったものだと感じる。

基本的に私は技術書以外の本はほとんど読まないので、日頃から本に親しんでいる方々から比べると全くの文学初心者である。 まず「吾輩は猫である」「坊っちゃん」あたりも内容をよく覚えていないので読み返してみたい。 学生時代「虞美人草」を読もうとして難解すぎるので挫折した。 こういうのは当然今でも読めるとは思えないのでスルーする。

「ガリバー旅行記」「銀河鉄道の夜」のような童話を読んでみるのも面白いと思った。 むしろこちらの方が楽しく読めそうなので先に読んでみるのがいいだろうか。 あと江戸川乱歩の作品も最近青空文庫に追加されたようなので機会があれば読んでみることにする。 推理モノはそんなには興味が無いので気が向いたらというところだが。

スペイン料理店のパエリア

今日は妻の弟とスペイン料理を食べに行った。 実は去年スペイン料理を食べに行こうとして失敗したのでそのリベンジをしようと前々から約束しており、ようやく今日それを果たせる時が来たというわけだった。 私自身スペイン料理を食べに行ったことはほとんどない。

折角なので二人でコース料理を注文し、別に瓶ビールを何本か頼んで楽しんだ。 スペイン料理というのはパエリアくらいしか知らないしあまり興味もなかったのだが、いろいろと出てきたので談笑しながら頂いた。 やはりよくあるイタリア料理店と同じような感じで、コース料理を食べると何だか一見豪華な気はするのだがよくよく考えると少し割高ではあった。 記念日などにたまに食べる分にはいいのだろう。 前回来た時は満席で入れなかったのだが、今日は「また満席で入れないとまずいから」と予約はしておいたのだが、いざ店に行ってみると自分たちの他に 1 組しかいなかった……。

まあ、何事もやってみないと分からないというわけで、今日食べたのはいい思い出になったので良かった。 ということにしておく。

今日は寒波が来ると言われていたのでバイクに乗る気などハナから無かったのだが、外に出てみると意外と暖かい。 近所のラーメン屋で昼食をとってから少しだけバイクで走りに行った。 思った通り、バイクで走っていてもそれほど寒くない。 とはいえ指先が冷たくなる現象は如何ともしがたく、少なくとも来年度には少々格好悪くてもハンドルカバーを用意しようと思った。

地元の周辺を 1 時間ほどかけて周遊し、最後に買い物して帰宅。 1 時間くらいなら全く疲れずに走れるし寒さも蓄積しないので丁度いい。 明日もこんな感じでちょっとだけ走るのがいいと思った。 本格的なツーリングは 3 月までおあずけだろうか……。

鏡開き

私が料理するのは土日のみなので、気になっていた鏡開きを今日行った。 とはいっても玩具のような鏡餅なのでそんなに大層なことはないのだが……。 餅が足りないのでスーパーで少し買ってきて、焼き餅にして皆で食べた。 しかしまたスーパーで買ってきた餅が余ってしまった。 後でお汁粉にするのもいいが、今の餅は 1 つずつパックされておりかなり日持ちするのでしばらく後に食べてもいいだろう。

正月気分も抜け、ようやく仕事も普通にこなす感じになってきた。 大体において平日は会社に行って帰るだけなので興味があることが無い限り特に書くことはない……。

私はタブレットが大好きで今まで使ってきたタブレットに関しては Nexus 9 のレビューに書いたとおりなのだが、実は 7 インチ、9 インチ、10 インチのタブレットは使ったことがあるが 8 インチのタブレットは使ったことがない。 次に使用するタブレットはもう MediaPad M5 に決めているのだが、こちらはリーク情報によると MediaPad M3 と同様に 8.4 インチのタブレットということになっている。 タブレットの画面サイズというのは本当に悩ましいもので、これも Nexus 9 のレビューに書いたのだが「7 インチだと小さくてタブレットの意味があまりない」という結論に至った。 7 インチのタブレットを買うくらいなら Mate 10 Pro のような 6 インチのファブレット 1 台で運用したいと思っている。

今日たまたま 8 インチタブレットを手に取る機会を得たのでいろいろ試してみた。 MediaPad M3 Lite 10 と並べてみるとサイズがだいぶ違う。 MediaPad M5 を入れる想定で購入したレッグポーチにも問題なく入る。 Kindle など全く問題ないし、試してはいないがゲームは 10 インチタブレットよりこちらの方がやりやすいだろう。 PDF 閲覧だけは横画面にしないと文字が小さすぎるため 10 インチタブレットよりかなりやりにくい、と思ってしまったがそもそも最近 PDF 文書をタブレットで読む機会が減ってしまったのでそこまで問題はない。

というわけで MediaPad M5 が更に欲しくなってしまったが、期待されていた CES 2018 では HUAWEI の発表に含まれていなかったようで残念だった。 引きつづき MediaPad M3 Lite 10 を使いながら楽しみに待つことにする。

DEVICE レッグポーチ

DEVICE のレッグポーチは大変気に入っていて、以前は写真左に写っている AHH17058 という商品を使っていたのだが、1 年半バイクでハードに使ってさすがに痛みや汚れが目立つようになってきた。 また、今後買おうとしている 8.4 インチタブレットという噂の MediaPad M5 が縦が短くて入らないと思われる。 しかし DEVICE は縦に長いモデルも出しているので今回そちらを購入してみた。 それが DLH40055 という商品で、写真の右側のものである。 これなら問題なく入るという想定でいる。

このレッグバッグはやはり見た目が格好いい。 それと DLH40055 に限って言うと一番外の蓋のファスナー (写真で見えている部分) に Mate 9 を入れることが出来た。 一般的なスマホならば問題なく格納できるだろう。 ということは、この外側にスマホ、内側のメインポケットにタブレットを入れたりなどすることができるわけだ。

これが楽天でたまたま 35 % OFF セールをやっていて、何と 4,000 円弱で購入できた。 幸運だった。

実際に 8 インチタブレットを入れてみた

会社に 8 インチタブレットの評価機があったので試しに入れてみたのだが、寸法を調べた上で購入したので当然といえば当然だが問題なく入った。 ギリギリ入るといった感じの印象でもないため 8 インチタブレットまでであれば多少ベゼル幅が広くても入りそうな印象だ。

仕事始めは先週金曜だったのだが、その日はまだ多くの人が休み中だったのもあって仕事が始まった感じはしなかった。 今日が本格的な仕事初めといえそうだ。 休みが長かったので以前やっていた業務を思い出すのも難儀するし、初日から調子を出せるとは言い難い。

休みの間も家族の朝食を作ったりしていたのである程度は早く起きていたのだが、ちょっと寝坊して 7 時過ぎになってしまうこともあった。 仕事が始まってからはそのようなことがないように気を引き締めていきたいところだ。

N's COURT チーズバーガー

今日は用事があったので成田空港に行ったのだが、そこで昼食を何にしようかと考えているところで N's COURT という店が目に入ったので行ってみた。 バーガー専門店でなく洋食屋とカフェを兼ねているような雰囲気で、ハンバーガーはチーズバーガーとアボカドバーガーがあった。 このチーズバーガーはポテト、ドリンクセットで税込 1,000 円だった。 パティは 150 g らしくかなり多い。

食べてみたが、やはりパティは合挽き肉のようでどちらかというとフレッシュネスバーガーなどに近いような味がした。 チーズもパティと一緒に焼いたのではなく挟んだだけであり、そこまで風味は感じられなかった。 とはいえこのロケーションでこの値段でグルメバーガーが食べられるのはとてもいいと思った。 同じフロアにマクドナルドが入っていたが、それよりはこちらを推したいところだ。

今日は今年初めて実家に帰り初詣などを済ませてきた。 お昼は家族全員で寿司を食べに行った。 寿司が嫌いな人はほとんどいないと思うが、私も勿論好きな方ではある。 ただ、私の場合は好きな食べ物 1 位としてグルメバーガー、飲み物 1 位としてクラフトビールが鎮座しているためにどうしても後手に回っているだけと言えそうだ。 あと一般的に百円寿司でもない限りはグルメバーガーより費用がかかるのも困りものだ。

自宅に帰ってきてから試しにポテトを使用してチーズフォンデュを作ってみた。 専用のチーズが何故かエメンタールとモッツァレラしか無かったのでエメンタールの方を選択したが、どうもマヨネーズに似たような味わいで子どもたちの受けもあまり良くなかった。 第一感ポテトにチーズをつけると美味しそうだが、チーズの種類が悪かったのかもしれない。 どちらにしても今後作ることはなさそうだ。

今日は外に出てみたら風もそんなに吹いていないし日差しもいいしで問題なさそうだと判断しバイクで出かけたのだが、やはり冬だからなのかしばらく走っていると指先が寒さで痛くなってきた。 この時期快適に走るには少々格好悪いがハンドルカバーが必要なのだろうか。 導入するにしても来年考えたいところだ。 ということで、少し走って夕食の材料を購入しさっさと帰宅した。

この程度の寒さだったら去年は出かけていた気がしたので、自分のバイクに対する熱意が冷めてきたのかと若干心配になった。 ただ、やはりやせ我慢してまで乗るよりは楽しい時期にいっぱい乗りたい。 去年はそれで 10 月に週末雨ばかりで全然乗れなかったわけだが……。 あと春は花粉症があるのでそちらの意味でも若干厳しい。

出社はしたがまだ正月ムード

今日が仕事の始まりということで出社はしたのだが、まだ多くの人が正月休みを取得している状態でありあまり仕事を進めるような雰囲気ではなかった。 その為午後は半休をいただき、時間になったらそそくさと退散した。 そういえばまだ電車は空いているのかと思っていたがそうでもなかった。 残念だ。

今年初はシェイクシャック

シェイクシャック チーズポテト

今年になってからまだグルメバーガーを食べていなかったのだが、今日都内のショップを探してみても結構まだ正月休み中のところがあるようだった。 その点このシェイクシャックは元旦以外はバッチリやっているようで流石というところだった。 やはり大人気で店内の席はいっぱいのようだったが、とても寒いせいかテラス席は誰も座っていなかった。 店員に「今 4 組待ちですが……」と言われたところで「あ、外でもいいですか」と聞いて躊躇いなく外に出た。 確かに寒いことは寒いが、バイクで -8℃ の中を走ったのに比べればこの程度どうということはない。 それにこの誰もいない寒空の下で食べるグルメバーガーとクラフトビールというシチュエーションの方にゾクゾクくる。

シェイクシャックのハンバーガーの感想はいつも通りで、若干バンズの食感などがジャンク寄りだがまずまず美味しく、何より専用のクラフトビール「ShackMeister Ale」が抜群に美味いというところだった。 ちなみに今日は普通のフライドポテトでなくちょっとリッチにチーズがかかっているものにした。 チーズをかけるだけで +120 円なのが少し気になるが、やはりこちらの方が美味しい。 家でもやってみたいとちょっと思った。

養命酒の蓋が変わっていた

新しい薬用養命酒のパッケージを開封したのだが、何やら蓋の仕様が変わっており中蓋の形状が変更されていた。 長年ずっと変わらない形式だったと思ったので一瞬違う商品を買ってしまったのかと思ってちょっとびっくりした。 どうもこの中蓋を使うことで飲んでいる途中に蓋が瓶にこびりついて取れなくなる現象がなくなるらしい。 「瓶にこびりついて取れなくなる現象」は私もよく悩まされたが、一応「瓶のマルチオープナー」といったような名前のキッチン用品を買ってあるので、それを使えば開けることはできていた。

連休最終日なのでレイクタウンに買い物に行った。 やはりというべきか人でごった返していた。 しかしこれでも三が日に来るよりは大分マシなのだろう。 まず靴の修理を頼み、待っている間にめぼしい店を回ってみる。 靴の修理は私のバイク用シューズと妻のブーツの 2 足で 7,000 円強したので損得を考えると微妙かもしれなかった。 ソールが全部剥げてしまうと内部のスポンジが見えてしまうが、そのスポンジの修復も入るとちょっと高くなるようだ。

そういえば以前たまに行っていた飲食店に今日も行ってみたのだが、料理内容が変更されており味が落ちていた。 スタッフの感じも変わっていた。 また一つ行きたい店が減ってしまい残念だ。 味が落ちても時間が経ってまた取りもどす例も無いことはないが、なかなか厳しい。

以前ほどがっついて乗らなくなった

今年まだバイクに乗っていないので今日乗ってこようかと思ったのだが、外に出てみたらとても風が強かったのでまた今度ということにした。 私がリターンライダーになったのは一昨年でもうすぐ 2 年が経とうとしているが、さすがにそんなに頻繁に乗ろうという気にはならなくなってきた。 乗るからには楽しくないといけない。 寒かったり風が強かったりすると楽しさよりも辛さのほうが勝ってしまう。

仕方がないので今日は普通に食事の材料を買いにスーパーに出かけた。 昨日の予定通りグラタンの材料を調達。 予定ではバゲットを買うつもりだったが、クロワッサンが安く売っていたので予定変更した。 ついでに切らしていたハヤシライスの素を調達。 ハヤシライスは材料が少ないので作りやすいし、残った分を朝に続けて食べられるのはカレーと同じなので楽だ。

Spring Boot や Kotlin の学習

今日も自宅でゆっくりと Spring Boot や Kotlin の学習に努めた。 フレームワークや言語を勉強するのはいいが、やはり何かを作る上での勉強でないと熱が入りにくい部分ではある。 Android アプリを作成するのもいいのだが、今のところ特に良いアイデアは無い……。

料理もやる気の問題

静かな正月を過ごしている。 土日祝日の食事担当が私なのも変わらないのでここ数日は朝昼晩作っているが、流石に料理のレパートリーが足りないと感じる。 子どもたちはそんなこと気にせずに食べているようなので良いが、気を抜くといつも作っている料理ばかりになってしまって良くない。 多分世の中の主婦の方々も同じような悩みはあるのだろう。 今はネットでいくらでも調べられるのでどちらかというとやる気の問題だ。

そういえば最近グラタンを作っていなかったので明日にでも作ることにしようかと思う。 バゲットと一緒に食べても美味しい。

長い休みは中だるみしやすい

長い休み、と言っても私の場合は 9 連休なので学生時代と比べると短すぎるところなのだが、それでもやはり「休みに慣れてしまう」という問題はある。 今日も結局ダラダラとタブレットをいじって過ごしてしまった。 タブレットは見やすくて快適だし外出など他の趣味をするのに比べてお金もかからないし便利すぎる。 仕事の合間を縫って勉強した方が却って捗るのだから、学生時代と何にも変わっていない……。

この自作 Blog システムで必ず 1 日 1 記事書くというルールで日記をつけ始めてから今日で三年目となった。 今日で 732 日目の日記ということになるが、三年続ければ 1,000 記事以上になるだろう。 Blog 上部にカレンダーを設置して書いた日に色を塗るというスタイルも実は私が思いついたのではなく、大学生の時に使っていた CGI 日記がこのような感じになっていたのを参考にしている。 その時も今と同様に 1 日 1 記事書けていたなという「成功例」を元に自分に都合のいいように作り出したわけだ。

何故こんな話から始めたかというと、全く元旦という実感がないからだ。 正月らしさはその時になればやってくるものではなくて「自分から作りだす」もので、もう少し正月らしく振る舞ったほうがいいのかもしれないと思った。 自分が親の世代になってしまってからは特にそれを感じる。 来年はもう少し考えてみよう。

ちなみに今年の抱負などは考えていない。 強いて言えば自分の生き方、自分のペースを崩さないことだろうか。 ささやかな毎日を過ごしたいものだ。