Johnman.md

プログラミングのことや個人的なことを書きます。たぶん。

2月の鑑賞記録【映画】

2月分の鑑賞記録、映画編です。

本・ゲーム・アニメはこっち。 johnmanjiro13.hatenablog.com

映画

1917 命をかけた伝令

1917 命をかけた伝令 (字幕版)

1917 命をかけた伝令 (字幕版)

  • 発売日: 2020/05/20
  • メディア: Prime Video

舞台は第一次世界大戦。ドイツ軍と戦闘中のイギリス軍。

二人の若い兵士が伝令役として前線にいる舞台のもとまで駆けるという話です。

なにがすごいって、120分ある内容を全編ワンカットで撮影していること。 それによって臨場感が半端なく、隠れながら進むシーンや敵から逃げるようなシーンは息を飲んでました。

とてもいい映画。

フォレスト・ガンプ/一期一会

フォレスト・ガンプ/一期一会 (字幕版)

フォレスト・ガンプ/一期一会 (字幕版)

  • 発売日: 2013/11/26
  • メディア: Prime Video

1994年製作の映画。僕より年上です。

ベンチでバスを待つ主人公フォレスト・ガンプが隣に座る人々に自分の人生を語って聞かせるという構成のお話。

フォレストは知能的なハンデを抱えていながらもひたすらまっすぐに生きていてとても好感がもてます。彼の語り口も単調なのに心地よく、すぐ映画の中に引き込まれました。

実在の人物や企業が出てくるシーンでは腹を抱えて笑ったし、感動的なシーンでは涙しました。

これは僕の今までみた映画の中でも最高に近い映画でした。絶対に見返すと思います。

花束みたいな恋をした

hana-koi.jp

主演に菅田将暉有村架純を据えた、今年1月に公開された映画。

なんだかもう、めちゃくちゃよかったです。 恋愛映画なんですが、こういう映画にありがちなドラマはまったくありません。彼女が大病を患っていたりもしないし、どっちかが大財閥の御曹司だったりもしないし、ましてやスパイだったりもしない。 ただひたすら現代を生きている普通の二人の、普通の恋愛が描かれています。だから面白い。

この映画には大きな敵も出てきません。二人に立ちはだかるのは、恋愛をしていたら誰しもがぶち当たるありふれた壁。静かに始まり、静かに終わっていきます。

話に出てくる話題も今を生きている人に向けられているんだなと感じます。だから「今」観ないと、数年後に観てもピンとこないかも知れません。

本当に、今が一番美しい、いずれ枯れてしまう、花束みたいな映画でした。

もともとこの映画を観る気はなかったんですが、こちらの動画を観て興味が湧いて観ました。ネタバレ含みますが、よければ。

映画 すみっコぐらし とびだす絵本とひみつのコ

映画 すみっコぐらし とびだす絵本とひみつのコ

映画 すみっコぐらし とびだす絵本とひみつのコ

  • 発売日: 2020/03/26
  • メディア: Prime Video

公開当時Twitterで話題になっていた映画。

みんなが言う通り、最初は「かわいいなぁ」くらいだったんですがラストにはもうボロボロ泣いていました。 これは子供に連れられて一緒に観に行った親がやられるやつや。子供向けだからといって侮っちゃだめですね。

これをきっかけにすみっコぐらしがちょっと好きになりました。ざっそうかわいい。

時間も1時間でさっくり観れるのがいいですね。

のび太結婚前夜

3Dのほうじゃなくて旧ドラえもんのほう。

子供のころ観てて久しぶりに観たいなと思って見直しました。 この話で一番有名なのはしずかちゃんのパパがしずかちゃんに語りかける部分だと思うんですが、子供のころ好きだったのは、のび太ジャイアンたちと一緒にお酒を飲んでいるシーンでした。 のび太の真似をしてコーラで「おっとっとっと」とかしてたなぁ。

幼い頃からの友達が、みんな変わらずにずっと仲間でいるっていうのはとても尊いものだなぁと、ある程度大人になって感じました。

この作品だけに出てくる先生とのび太が話すシーンもいいですね。先生にとってはのび太はいつまでものび太なんだなぁ。

久しぶりの旧ドラでしたが違和感なく楽しめたし、懐かしい気持ちでいっぱいになりました。またちょこちょこあの頃のドラえもんを見返すのもいいな。

まとめ

以上、2月に観た映画でした。

個人的にとてもいい映画に出会えた月だったなぁ。フォレスト・ガンプも花束もすみっコぐらしも最高。

2月の鑑賞記録【本・ゲーム・アニメ】

本当の自由を手に入れるお金の大学

去年、マネーリテラシーとかちゃんとしてないとまずいよなぁと思って貯蓄や投資の勉強をしてました。その復習も兼ねてのこの本。

お金について、次の「5つの力」という観点から説明しています。

  • 貯める力
  • 稼ぐ力
  • 増やす力
  • 守る力
  • 使う力

このうち、「稼ぐ力・増やす力」については知っている内容がほとんどでした。「守る力・使う力」に関してはほぼ記載がありません。

ただ、貯める力の中では預金などの貯蓄の他に、日本の年金制度や保険制度についても詳しく説明されていて、そのあたりの話はなかなか知らなかったし自分でも使うことができるとても有益な情報でした。

イラストをメインにしている本なので、投資などがまったくわからない人におすすめの本です。

寝苦しい夜の猫

寝苦しい夜の猫 (扶桑社BOOKS)

寝苦しい夜の猫 (扶桑社BOOKS)

お笑い芸人かまいたちの山内さんのエッセイ本。ぼくがシンプルにかまいたちと山内さんが好きなので買いました。

M-1の裏側や今までのかまいたちの話を知れてすごく面白かったです。

普段しゃべりを仕事にしているからか文章もとても読みやすくてスラスラ読めました。普段こういうエッセイ本は読まないのでいい体験になったなと思います。

かまいたちが好きな人はぜひ。YouTubeでご本人が紹介している動画もあります。

youtu.be

進撃の巨人33巻

1月に発売されていたけどまだ読んでなかったので読みました。本当に完結に向かってるなぁ。

もう続きが気になりすぎてマガジンのアプリ入れて課金して読んでます。Twitterでネタバレ食らったりしたくないし。完結が楽しみ。

ゲーム

ウマ娘 プリティーダービー

umamusume.jp

やっっっっっっっっと配信されたウマ娘

アニメ放映当時めちゃくちゃはまっていて事前登録していましたが、正直もうリリースされないんじゃないかと思ってました。

キャラクターもかわいいし、競馬そのものにも興味が湧いてくるしいいゲームだと思います。ただめちゃくちゃムズイ。

スタートダッシュガチャ引いちゃったけど今後は完全無課金でやっていきます。課金の怖さはFGOで学んだんや。

アニメ

ウマ娘 プリティーダービー(再視聴)

anime-umamusume.jp

ウマ娘配信に伴って再視聴。

2年も経ってるとやっぱり話をほとんど忘れてましたが、やっぱりめちゃくちゃ面白かったです。がんばってる女の子っていいね。

当時は知らなかった競馬の知識も今は少しだけ持っているので、小ネタも以前より気づけるようになったのも面白さが増した要因の一つかもしれません。

VTuberの天開司が紹介している動画もあってめちゃくちゃわかりやすいのでぜひ(若干のネタバレがあります)。

youtu.be

ウマ娘 プリティーダービー Season 2

anime-umamusume.jp

今現在放送されているウマ娘の2期。

主人公にトウカイテイオーを据えて、新しい物語が描かれています(時系列的には1期の12話と13話の間だったりするのかな)。

新しいキャラクターも出てきてよりにぎやかで面白い。久しぶりにアニメを追いかけてます。ウマ娘はいいぞ。

まとめ

以上、2月に読んだ本・遊んだゲーム・観たアニメでした。

今回はちょっと数が多かったので映画を別にしています。こちら。 johnmanjiro13.hatenablog.com

LastPassが3月から使いづらくなるので、BitWardenへ移行した

LastPassが使いづらくなる

3月16日以降、LastPassの無料版では利用できるデバイスがモバイル端末かWebブラウザのどちらか一方しか使えなくなります。

www.itmedia.co.jp

ぼくは以前からLastPassスマホとPCで使っていました。
これが制限されてしまうと正直もう使い物にならなくなってしまうので、ほかのパスワード管理ツールに移行できるしようと考えはじめました。

移行先をいろいろ探していたんですが、最終的にBitWardenを使いはじめました。

BitWardenを選んだ理由

主な理由は次の3つです。

無料

なによりお金がかかりません。これは結構嬉しいことですね。

日本語に対応している

LastPassは英語にしか対応していませんでしたが、BitWardenはデフォルトで多言語対応しています。 リポジトリをみたところかなりの言語に対応しているようです。*1

OSSで開発されている

BitWardenはOSSとして開発されています。そのため、問題が見つかれば素早く対処される傾向が強いです(ぼくはそう思います)。

また、自分が貢献したければコントリビュートすることもできます。*2

移行手順

登録

登録と初期設定がめちゃくちゃ簡単でした。

以下のようなアカウント作成画面でメールアドレスとマスターパスワードを入力すれば完了です。 フォームに書いてありますが、マスターパスワードを紛失するとログインできなくなります。絶対になくさないようにしましょう。*3

f:id:johnmanjiro13:20210222174654p:plain:w320
アカウント登録画面

移行

BitWardenでは様々なパスワード管理ツールからの移行をサポートしているようです。LastPassのサポートもありました。

まず、LastPass側で 「Advanced > Export > LastPass CSV File」 と選択し、LastPassが管理しているデータが入ったCSVをダウンロードします。

次に、BitWardenのWebページで「ツール > データをインポート」と選択した後の画面で先ほどダウンロードしたCSVをアップロードすれば移行完了です。めちゃくちゃ簡単。

f:id:johnmanjiro13:20210222175054p:plain
インポート画面

自動入力の有効化

LastPassではよくフォームへの自動入力を使っていたんですが、BitWardenにも同様の機能がありました。ただまだ試験段階のようです。

以下はChrome拡張機能から設定する際の画面です。 ぼくはAndroidアプリも使っていますが、似たような設定でスマホでも有効化することができました。

f:id:johnmanjiro13:20210222175331p:plainf:id:johnmanjiro13:20210222175359p:plain
自動入力の設定

まとめ

BitWardenは日本語に対応しているので使い方もわかりやすく、必要な機能もある程度揃っていて、移行も簡単でさらに無料というとても満足のいく結果でした。LastPassには若干の使いづらさを感じていたので、だいぶ快適になりそうです。回し者じゃありません。

このまま使ってみて、何か思うことがあればまた書くかもしれません。

それでは。

*1:https://github.com/bitwarden/web/tree/master/src/locales

*2:C#やAngularだったので、ぼくとしてはウーンという感じでした。

*3:かといって簡単なパスワードにしてしまうと管理の意味がなくなります。

UUIDの大文字と小文字を簡単に出し分けられるシェルスクリプト

概要

仕事でよくUUIDを生成して使うことが多いので、シュッとUUIDを生成できて大文字小文字を簡単に出し分けられるシェルスクリプトが欲しかったので作りました。 コードはGitHubにも置いてあります。

github.com

uuidgenじゃだめなのか

一応、uuidgenコマンドがあるんですがこれにはアルファベットを小文字で出力するようなオプションはなく、常に大文字で出力されます。また、以下のようにコピペして使いたいという時に改行が入ってしまうのが地味に面倒でした。

$ uuidgen | pbcopy

# ペーストすると改行が入る
$ 783B3460-8D6E-4D4A-9E89-4A7C23D0285E
>

これを回避するためにtrコマンドで改行を消したり

$ uuidgen | tr -d '\n'

アルファベットを小文字に変換したりしていました。

$ uuidgen | tr -d '\n' | tr A-Z a-z

さすがに毎回このパイプを書くのは辛いので、シェルスクリプトを書いて一つのコマンドにまとめて、アルファベットはオプションで大文字と小文字を出し分けるようにしました。

uuid4.sh

ぼくはUUIDは小文字で使うことが多いので、デフォルトは小文字で出力して -u オプションで大文字に切り替えるようにしました。

/usr/local/binにシンボリックリンクを置いています。

# デフォルトは小文字で出力
$ uuid4
dc79fc98-2b2a-447d-84f8-3c045a7c3874
$ uuid4 -u
DB217891-D99E-4CDA-8B5F-5F563857A42B

実際に書いたスクリプトです。

#!/bin/bash

PROGRAM=$(basename "$0"); readonly PROGRAM

function usage() {
  cat <<EOS
Usage: $PROGRAM [OPTION]...
  -h, --help Display help
  -u         Generate UUID with uppercase
EOS
}

# 引数がない場合は改行を消し、小文字で出力
if [ $# -eq 0 ]; then
  uuidgen | tr -d '\n' | tr "[:upper:]" "[:lower:]"
  exit 0
fi

for OPT in "$@"; do
  case $OPT in
  -h |--help)
    usage
    exit 1
    ;;
  -u)
    # -uオプションの時は改行だけ消して大文字で出力
    uuidgen | tr -d '\n'
    break
    ;;
  -*)
    echo "$PROGRAM: illegal option -- '$(echo $1 | sed 's/^-*//')'">&2
    exit 1
    ;;
  esac
done

まとめ

これでターミナルでUUIDを生成するのが楽になりそうです。

今後よく使うシェルスクリプトGitHubにまとめていこうかなと思います。

【Go】stringがJSON形式かどうかを判定する

stringを受け取った際、そのstringがJSONの形式を持っているかを判定したい場合に使える。

func isJSONString(s string) bool {
    var js json.RawMessage
    err := json.Unmarshal([]byte(s), &js)
    return err == nil
}

やっていることは簡単で、json.RawMessage型の変数を用意して、そこにUnmarshalをかけています。

もしstringがJSONでなければエラーが返されるので、nilと比較すればJSONかどうかがわかるという寸法です。

ちなみに、json.RawMessageじゃなくstringを使ってしまうと、JSONの中に数字なんかが入っていた場合に正しく判定できなくなるので、json.RawMessage型を使う方が無難だと思います。

【Go】GitHub Actionsでテストやビルドにキャッシュを効かせる

概要

最近、身内で使うDiscord botを作っています。

そのCIにGitHub Actionsを使っているんですが、CIが走るたびに結構時間がかかるなぁという印象を持っていました(だいたい1分30秒くらい)。 modulesやビルドにキャッシュを使っていないのでそのせいかなと思い、キャッシュを導入することにしました。

キャッシュを効かせる

今回使ったのは actions/cache です。

github.com

Goのキャッシュを効かせる方法に関しては、github-actions-golangのREADMEに記載されています。

今回はmodulesとビルドのキャッシュを効かせたいのと、対象のOSはLinuxのみなので以下のstepを追加しました。 dependencyが更新された際にキャッシュが変わるよう、keyにはgo.sumから生成したhashを含めています。

- name: use cache
  uses: actions/cache@v2
  with:
    path: |
      # modulesのキャッシュ
      ~/go/pkg/mod
      # ビルドキャッシュ(Linux)
      ~/.cache/go-build
    key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
    restore-keys: |
      ${{ runner.os }}-go-

キャッシュを入れたことで、今まで1分30秒ほどかかっていたCIが56秒で終わるようになりました。 f:id:johnmanjiro13:20210216144256p:plain

まとめ

これで手っ取り早くCIを早くすることができました。ひとまずテストやビルドで待つ時間が減ったので満足してます。

GitHub Actionsはパブリックリポジトリなら無料で使えるし、使うための設定も特に不要なのでめちゃくちゃいいですね。これからも使っていきます。

1月に読んだ本、遊んだゲーム、観た映画

あけましておめでとうございます。
年末年始で書こうと思ってたんですが書けませんでした。

2021年1月に読んだ本、遊んだゲーム、観た映画なんかをまとめておこうと思います。

宇宙創成(サイモン・シン

宇宙創成(上)(新潮文庫)

宇宙創成(上)(新潮文庫)

フェルマーの最終定理や暗号解読を書いたサイモン・シンが書く宇宙の話。
古代ギリシャから始まり、ガリレオアインシュタインを経てビッグバンに到るまでを知ることができる。
なぜ星を構成する物質がわかるのか? なぜビッグバンが起きたなんてことがわかるのか? そんな長年の謎がすっかり解けて、非常におもしろかった。

本はこれくらいしか読みませんでした。

ゲーム

Cyberpunk 2077

【PS4】サイバーパンク2077

【PS4】サイバーパンク2077

  • 発売日: 2020/12/10
  • メディア: Video Game

世間を騒がせている問題児。
バグを抱えながらも世界観や景色が好きでプレイしていたけど、結局は面白いがゆえにバグの残念さ・悲しさを感じ返金処理してしまった。

サイバーパンクはウィッチャーにはなれなかった……。

映画

ボヘミアン・ラプソティ

ボヘミアン・ラプソディ (字幕版)

ボヘミアン・ラプソディ (字幕版)

  • 発売日: 2019/04/17
  • メディア: Prime Video

Queenを映画化した2018年の名作。
当時観に行こうと思っていて結局観に行かなかった。やっぱり観ておけばよかったな。

Queenのドキュメンタリー的なものを想像していたんだけど、実際は当時のQueenを現在の役者が再現したもの。 Queenというよりはフレディ・マーキュリーの話なんだろうな。演奏シーンにはフレディ本人の音声を使っているらしく、映画館の音響で聴きたかったと心底思った。

最後のライブシーンは再現度も含めてもう圧巻。とてもいい映画。ロケットマンもみたいな。

インターステラー

インターステラー(字幕版)

インターステラー(字幕版)

  • 発売日: 2015/03/25
  • メディア: Prime Video

テネットを手がけることになるクリストファー・ノーランの映画。

地球がもうすぐ滅ぶ近未来に、科学の力をつかって移住先の星を探す物語。 相対性理論とかしっかり考証しているらしく、ふんわりとでもいいからその辺のことを知っていないと難しいかも。大きな重力のそばでは時間が遅くなる(時空が歪む)なんてことも説明もなく話される(「相対性理論は?」「知ってる」くらいの会話で終わる)。

逆にその辺の理論が少しでもわかる人にはめちゃくちゃハマる気がする。科学の力ってすげー!

エヴァンゲリヲン新劇場版(序・破・Q)

ヱヴァンゲリヲン新劇場版:序

ヱヴァンゲリヲン新劇場版:序

  • 発売日: 2007/09/01
  • メディア: Prime Video

リンクは代表して序。

シン・エヴァンゲリオン劇場版が公開されるということで、それに向けて観た。 エヴァは観たことなかった(破を一度地上波で観たくらい)のだけど、友達が好きだったりあっちゃんがYouTubeで熱弁していた影響で観てみようかなと。 序と破はめちゃくちゃ面白かった。破の後半は地上波で観たときはポカンだったんだけど、あっちゃんの動画を観た後だったのでなんとかついていくことができた。

ただしQ、てめーはダメだ。
動画である程度考察されている内容をしってはいたもののやっぱり最後の方で理解できなくなっちゃった。何を言ってるのカヲルくん……。

シン・エヴァが公開されるのが楽しみ。

オデッセイ

オデッセイ(字幕版)

オデッセイ(字幕版)

  • 発売日: 2016/04/22
  • メディア: Prime Video

インターステラーに続く宇宙もの。
これも公開当時に知り合いが面白いと語っていて観たかったんだけど観れなかった。

火星に置いていかれた男が地球に戻るためになんとか生き延びる話。これも科学の力ってすげー!って映画。 インターステラーと比べると理論がごちゃごちゃ出てくるわけでもないし、設定も面白いので観やすいと思う。子供の頃観てたら結構好きになったんじゃないかな。

個人的にはこういう科学者が知識でがんばる話がとても好きなので、もっとこういうの観たい。

ジョゼと虎と魚たち

joseetora.jp

1985年に刊行された同名小説のアニメ映画版。
フォロワーがめちゃくちゃよかったとツイートしていたので気になって会社を休んで観にいった。

結果めちゃくちゃよかった……。こういうのでいいんだよこういうので。
王道のストーリーで人によってはシンプルすぎると思うかもしれないけど、王道にはやっぱり王道のよさがある。

ボーイミーツガールみたいな話がとても好きなんだよなぁ、昔から。
ジョゼがちょくちょく「なんでそんなことすんの……」って行動を取るんだけど、それも人となかなか関わる機会がなかったからと思えばかわいいもの。

映画館で観れてよかった。感想投稿キャンペーンにも応募しました。配信とかされたらまた観ます。

まとめ

今月は本1冊、ゲーム1本、映画7本でした。

コロナ影響で緊急事態宣言もでたりして、映画が延期したり映画館自体行きづらくなったりしてますね。はやくコロナ収束しないかなぁ。

今月はもう少し本を読もうと思います。