ninjinkun's diary

ninjinkunの日記

Redux Toolkit雑感

redux-toolkit.js.org

最近はReduxを書くならRedux Toolkit(旧Redux Starter Kit)を使うらしいと聞いて、一昨年作った個人開発アプリのRedux部分をRedux Toolkitで書き換えた(今更Reduxかという雰囲気もあるが…)。

github.com

以下、雑感。

  • Redux部分のコード量は半分になった
    • reducerを定義するとactionも生成されるので、actionのコードが全部なくなった
  • stateのimmutabilityをサポートする仕組みが入っているのが良い
    • immerが組み込まれているので、reducer内でstateをmutableに変更しても大体動く
    • immutabilityを破ると警告してくるmiddlewareが入っているので、違反しても気付ける
  • Sliceの仕組みで名前空間が分離しやすいのが良い
  • 学習コストはちょっとだけある
    • Redux ToolkitのパーツがReduxの何に対応するのかドキュメントとにらめっこ
  • TypeScriptサポートはバッチリ

Reduxは誰でも書けるし読めるのが利点だと思っているが、すぐに記述量の多さにイライラするタイミングが来るので、次にReduxを使って何か作ることがあれば最初から入れると思う(もちろんそもそもRedux要るのかというのは検討した上で)

ビデオ会議の影響でCPUコア数の要求が増えた気がする

在宅勤務になってから、ビデオ会議をしながら画面共有をしてデモやプレゼンテーションをする機会が多くなった。これがかなりコンピューターのCPUリソースを消費する。特にローカルで開発中のNuxtプロジェクトなんぞを動かすとZoom、Chrome、NuxtのBFF、バックエンドのサーバーが一気に動く。デモ中にファイル編集してコンパイルが走るともっとプロセスが立ち上がる。

昨年会社から貸与されたMacBook Pro 15インチは8コアで、最初はこんなに要らないよなと思っていたが、この状況でも安定してパフォーマンスが出るので急にありがたみを感じ出した。今後は開発者でなくても何かを画面共有することがありそうなら4コア以上が要件になりそうな気がする。デモなどをする開発者であればやはり6、8コアは欲しくなるのではないか。

これからは世間でもパソコンの買い替えが進むかもと勝手に予想してみる。

iPad Pro用Magic Keyboardを買った

身近にも購入を検討している人がいるようなので、レビューを書いてみる。結論から言うと、iPadで文章を書きたい人には最高、そうでなければ不要だと思う。自分の用途はメール書き、ブログ書き、Slackや各種チャットへの返信といった感じで、こういった目的にはかなり向いている。

Pomeraを購入してみたが全然使わず挫折した自分にとっては、これは求めていた文章書きマシン…という気がしている。今のところは。

Magic Keyboard購入までの道のり

自分は最近までiPad Proは持っておらず、3月に新型iPad ProとMagic Keyboardが発表されてから興味を惹かれて購入した。まずiPadOS 13.4からControlキーとCapsLockが入れ替えられるようになったことを確認し、店頭でIMEの使い勝手を確かめ、とりあえずiPad Proだけ購入してみた。

その時期はまだ専用Magic Keyboardは発売されていなかったので、まずはiPad Proに手持ちのBluetooth版Magic Keyboardとマウスを接続し、スタンドに置いて使い始めてみた。これが結構良く、文章を書くマシンとしてiPadも使えるぽいぞと認識を改めた。

f:id:ninjinkun:20200516181050j:plain

一番気になっていたのがIMEで、iPadOSはサードパーティIMEはハードウェアキーボードにアクセスできないので、標準IMEが自分に合うかが重要な要素になる。自分は長年ATOKを使っていたので割と不安だったが、結果としては問題なく使っている。最近良くなったと評判のライブ変換も、iPadで使うと文章が直接入力される感じで気持ちいい。Macで出始めだった頃はすぐにオフにしてしまっていたが、今回は使い続けており、Macの方もATOKから標準IME+ライブ変換に乗り換えた。

こうして外付けキーボードとマウスでそれなりに満足していたのだが、一点とても気になることがあった。ペンを使う時やブラウジングしたいだけの時はキーボードを机に残してiPad単体を手元に持ってきて使うのだが、何もしないとキーボードとはBluetoothで接続されたままなので、ソフトウェアキーボードが表示されず文字入力ができない。そのためキーボードの電源をいちいち切る必要があり、これが地味にストレスだった。

これはやはり高くても直接接続できるiPad用Magic Keyboardを買うしかないかと観念して注文した。

Magic Keyboard購入

f:id:ninjinkun:20200516181433j:plain

こうして11インチiPad用Magic Keyboardがやってきたが、色々確かめてから買ったので不満はほとんどない。重いかと言うと確かに重いのだが、今は家の中でしか持ち運ばないのであまり関係がなかった。MacBook Proよりは軽いので、また外出ができるようになったら旅行などにも持っていくと思う。MBPとの比較で言うと、パームレストが熱くならないのがかなり快適である。カバーは素材の関係か机の汚れが移りやすいので、これは少し不満がある。

文字キーはBT版のMagic Keyboardと同じサイズ、returnがdeleteより短かったりはしているが特段気になるようなこともない。トラックパッドは主に画面スクロールに使うことが多いが、新しいポインターのフィーリングも気持ちが良い。ペンを使うときはMagic Keyboardを外して使うが、直接接続なので当然すぐにソフトウェアキーボードモードに切り替わる。

iPadはフルスクリーンでシングルタスク利用が前提なので、自分は文章に集中しやすい気がしている。ただ、Pomeraとは違い通信ができてしまうので、Twitterやらを見にいってしまう事はある。

また、普段は仕事でMacBook Proを使っているので、違うデバイスを使うだけで気分転換になることがわかった。朝起きてiPadでメールや書き物をして、仕事開始になったらMBPを開いて仕事始めることでメリハリがついている…ような気がする。全部主観です。主観。

総じて、自分はライブ変換+打ちやすいキーボード+フルスクリーンの没入感がとても気に入っている。Macとは違うコンピューター体験をしたいという人にもおすすめです。しかしなにぶん高価なものなので、迷っている人は自分のようにiPad+外付けキーボードでフィーリングを試してから検討するのが良いのではないかと思う。

在宅勤務二ヶ月の感想

勤務先が在宅勤務に切り替わり、二ヶ月ちょっとが過ぎた。我が家は夫婦2人ぐらしなので、子供がいる家庭に比べると在宅はやりやすい方だと思う。

とはいえ、自分の感想で言うと、最初の一ヶ月目あたりがかなり辛かった。仕事のパフォーマンスが出ないのである。

元々自分は人が周りにいる方が集中できるタイプだった。2月までは休日も喫茶店に作業をしに行ったり、本を読むためだけに電車に乗ったりしていた。もちろん仕事でも同僚が周りにいる環境の方が集中できており、人目がなくなるとついついTwitterやらはてブやらを見てしまうという弱みがあった。

これが在宅になって、気がつくと仕事中にコロナの情報を追いかけている自分に気づくような有様になってしまった。こんな状況でタスクが進むはずもない。当時ちょうど新しいプロジェクトに配属になったこともあり、コードベースの把握から何から時間がかかって、すぐに成果が出る状況になかったことも状況の悪化に拍車をかけていたように思う。一応小さいチームのリーダーをしているので、アウトプットが出せないとメンバーに合わせる顔がないというプレッシャーもあった。

結局どうしたか。まずは「今自分はパフォーマンスが下がっています」とメンバーやリーダー陣に正直に伝えていった。同時期にtagomorisさんの この時期、業務で低パフォーマンスを出し続ける覚悟 - たごもりすメモ が公開されて、自分だけがこういう状態じゃないと分かったのも大きかったように思う。周りに言えるようになってからは多少スッキリして、前向きに取り組めるようになっていった。

朝は散歩しながら一日やることを整理する時間を作った。スマホは仕事中は別室に置くようにした。つい見てしまうサイトはhostsに入れた。色々な積み重ねで、元のパフォーマンスの8、9割くらいまでは回復したように思う。結局、状況に慣れて落ち着いてきたということなのだろう。

これからも自分はオフィスや人混みの方がパフォーマンスが高い人間であり続けるとは思うが、この事態の収束が見えない以上、在宅でやっていく方法を模索していくかしない。これを読んでいる人も、家で集中するための工夫があったら教えてください。

XSSで炎上する夢

渾身のブログ記事を書き、ポストする。しかしなぜか色気を出し、読者の反応を分析する外部JavaScriptを入れてしまう。このJSにXSS脆弱性があり、ブログがバズって200ブクマを超えたあたりでページがいたずらされ始める。拡大される文字、チカチカするdiv、エントリ内容を揶揄した誹謗中傷が書き込まれ、JSを除去しようにもブラウザが固まり焦りに焦る。俺はこれからXSSでバズったエンジニアとして記憶されてしまうのかと絶望的な気分になって目が覚めた。

メガネの曇り止め

自分はこの事態になるまでマスクをする習慣がなかったので、マスク初心者である。そしてマスクをしてメガネをかけるとメガネが曇って大変不便だった。

そこでオンライン飲み会で友人たちに「マスク+メガネで曇る問題どうしてますか」と聞いてみたところ、全員が「曇り止め使うよ」と答えてくれた。何かマスクの付け方で工夫するのかと思っていたので意外だったが、全員が言うならそうなのだろうと曇り止めを購入した。

くり返し使えるメガネのくもり止めクロス 3枚

くり返し使えるメガネのくもり止めクロス 3枚

  • メディア: ヘルスケア&ケア用品

結果、全然曇らなくなった。世界の解像度が上がったと喜んでいます。

海外出張の夢

海外のデザインカンファレンスに参加するため、ロサンゼルスに行くことになった。チケットを購入し、空港から飛行機に乗り込む。

いつの間にか寝ていて、気がつくと既に飛行機を降りて空港から移動する電車に乗っている。電車の中で食べそびれていた機内食を出してもらえる。

とりあえず目的地らしいところに着くと、知り合いが何人か居た。そこでSIMを買い忘れていることに気づく。しかし、まあフリーWifiで行けるでしょと言われたので、そのまま会場に向かう。

カンファレンス会場を探すためGoogleマップを見ているうちに、自分がオーストラリアのシドニーに居ることに気づいた。

2019年やってたことメモ

年末にninjinkun最近何やってんのと聞かれたので、書き出しておく。

  • 仕事
    • 前半はプロダクトマネージャー、エンジニアリングマネージャーをやっていて、後半はプレイヤーに戻った
    • 一休レストランにクレジットカード決済を導入するプロジェクトを2018年から初めて、1年がかりでやっていた
      • プロダクトマネージャー兼エンジニアとしてがっつりコミットして、6月にようやく終わった
      • 時間がかかりすぎた。プロジェクトマネジメントを甘くていた
      • 最終的にはシステムは完成して使われているが、様々な事情から当初自分が描いていたプランからはだいぶ違うものになってしまった
    • その後はレストランが使う管理画面のリニューアルプロジェクトのフロントエンドエンジニアとしてVueでSPAを書いている
      • 仕事でSPAを仕事で書いたことはなかったが、去年作ったBlogFeedbackでだいたいのところは掴んでいたのでなんとかなった
      • VueFes 2019で登壇予定だったが、台風で流れてしまったのが残念
  • 生活
    • 前半はカード決済プロジェクトの疲労をKing of Prismの応援上映で癒す日々だった
    • 京都の家を引き払い、築地インターネットハウスを出て、妻と東京で同居生活開始
    • 最近はDeath Strandingとリングフィットアドベンチャーをやっている

京都の家を引き払って東京にmergeした

これまで平日は東京の会社に勤めて、週末は京都の家に帰るという生活を計6年ほど続けていた。事情としては妻が仕事の関係で京都に住んでいたからなのだが、自分が京都の生活が好きだが東京の仕事も楽しいので、両方のいいとこ取りをしたいという気持ちもあってこういう生活をしていた。

しかし先月に妻が東京の会社に転職したので、京都の家を引き払い、東京に新しく家を借りてすべてmergeした。

京都には学生時代も含めると計10年くらい住んだ。思い出深い街である。大学で地元を出てから、初めて自分が住みたいと思った街が京都だった。

東京は就職活動で来たときから苦手意識があったが、場所を選べばそんなに人も多くないことがわかってきたら、だんだん楽しく過ごせるようになってきた。

まあ仕事もあるし、ぼちぼち東京でやっていこうと思う。しかしやっぱり週末は鴨川を走りたい気持ちになりますね。

f:id:ninjinkun:20190923163240j:plain
住んでいた家の窓から。京都は建物が低いので、手頃な値段で見晴らしが良いところに住めるのも良かった

箱根本箱に行ってきた

f:id:ninjinkun:20190915145826j:plain

前から気になっていた箱根のブックホテル、箱根本箱に行ってきた。

本が好きな人であれば、一度は書店や図書館に住みたいと思ったことがあると思う。自分はヴィレッジヴァンガードガケ書房恵文社といった個性的な書店に魅了されてきた経緯があり、「まだ読んでいない本に囲まれた生活」にずっと憧れがあった。

f:id:ninjinkun:20190925090806j:plain
ロマンスカーVSE先頭車

そんな少年の夢を金で解決するべく、箱根本箱へ向かう。

一ヶ月前からロマンスカーの先頭車を予約していたので乗り込む。箱根湯本駅からも箱根登山鉄道、ケーブルカーと乗り継ぐ必要があるので、なんだかんだで都内から3時間弱はかかった。

f:id:ninjinkun:20190914161241j:plain
箱根登山鉄道

f:id:ninjinkun:20190914165417j:plain
到着

箱根本箱の見所は「本」と「食」の二つに集約されると思う。

f:id:ninjinkun:20190914174802j:plain
ロビーの本棚

ホテルに入るとロビーにある大きな本棚が目に入る。なんとなく食や旅、日本文学、海外文学、などに分かれているが、ゆるく繋がりがありそうな範囲で雑然と詰め込まれている。いわゆる「編集された棚」。写真集やマンガもある。

f:id:ninjinkun:20190914172522j:plain
客室の本棚。高校の時に読んだ「二十世紀」と再開

客室にも本が置いてあり、こちらも面白そうなラインナップ。ロビーやショップにある本全て部屋に持ち帰って読んでOK、そして全部購入可能である。7割の人が本を購入して帰るという。自分へのお土産として丁度良いのだろう。

f:id:ninjinkun:20190914170946j:plain
漫画もある

f:id:ninjinkun:20190916190610j:plain
ロビーの二階

ロビーに戻って早速本を読み始める。ロビーの二階はなかなか眺望が良い。エスプレッソマシンと、冷たいハーブティーのポットも置かれていて飲み放題。高級マンガ喫茶じゃんと思いながらだらだらする。飲食コーナーに置かれていた中島らもの「今夜すべてのバーで」を再読(これは飲食本なのか?)。

f:id:ninjinkun:20190915194606j:plain
よく見ると本棚の中に人が

本棚の中に入ることができる。本棚には中にスペースが空いている部分があり、ここにクッションが置いてある。本棚の中の秘密基地である。なかなか居心地がいいし、通りかかる宿泊客が驚くのも楽しい。

夜中になるとロビーに誰も居なくなるので、自分が図書館の主のような気がしてくる(これは厨二病)。

f:id:ninjinkun:20190915013832j:plain
誰も居ない夜のロビー。私がここの主

夕食はこのホテルの目玉で、オープンキッチンを囲むカウンターで食べる。地産地消にこだわっているということで、神奈川や静岡の野菜や魚介が中心のイタリアンである。料理はとても美味しい。

f:id:ninjinkun:20190914195518j:plain
前菜の盛り合わせ

f:id:ninjinkun:20190914202309j:plain
野菜にホエーのソースをかけたもの

f:id:ninjinkun:20190914204617j:plain
浅蜊となにかのパスタ(忘れた)

f:id:ninjinkun:20190914210550j:plain
メインは金目鯛のグリル

我々は二泊したのだが、二泊目はちゃんと違うメニューになっていた。しかし食事は前日の方が気合いが入っていたと感じたし、ワインも前日と同じだったので、少し飽きてしまった。

部屋と温泉

その他の要素、「部屋」と「温泉」であるが、まず部屋は割と簡素である。

f:id:ninjinkun:20190914170817j:plain
広くはないが清潔な部屋

ただし全個室に露天風呂が付いているのだけは豪華。この露天風呂は常にお湯が入っているので、ちょっと風呂に入ろうと思ったらすぐに入れるのが良かった。本を読んで風呂に入ってと言うのを何度か繰り返したがこれは極楽。

f:id:ninjinkun:20190914170808j:plain
左手にあるのが露天風呂

風呂については大浴場が別にあり、こちらも良かった。生け垣で囲われているので見晴らしはないが、2つの源泉の内風呂と、木立の中にある露天で、どちらも気持ちが良い。露天にKindleを持ち込んでだらだらと1時間くらい過ごしてしまった。

f:id:ninjinkun:20190928162723j:plain
木立の中の露天風呂

f:id:ninjinkun:20190915015950j:plain
大浴場の入り口にも本が

おわりに

滞在する2泊3日の間、昔読んだ本を読み返す時間が半分、新しく読む本の時間が半分という感じで過ごした。引越しを繰り返す中で手放してしまった本や、段ボールの中に眠っている本と久しぶりに会うと、なんだか無性にもう一度読み返したくて、時間がもったいないような気がしながらもつい読んでしまった。

さすがに三日間読み続けると目が疲れて、最終日は漫画と温泉でだらだらして終わり。

だいぶ気に入ったので、帰りの足で来年の予約を入れた。

余った写真

f:id:ninjinkun:20190915093756j:plain
朝食は軽め

f:id:ninjinkun:20190915130923j:plain
昼食にハンバーグを用意してもらった(連泊客のみ)

f:id:ninjinkun:20190915092937j:plain
ninjinkunなので

f:id:ninjinkun:20190915133347j:plain
テラスで読書も気持ちがよい

f:id:ninjinkun:20190914170925j:plain
ロビーからレストランまで館内着でOKでとても楽。ハイグレードスーパー銭湯

f:id:ninjinkun:20190915185559j:plain
飲み放題のエスプレッソマシンはカフェラテも作れるいいやつ

f:id:ninjinkun:20190915160222j:plain
ビール等を部屋で飲みたい場合は、ここから取って名前を記入する形式

f:id:ninjinkun:20190915160409j:plain
西荻窪の飲み屋に詳しくなった

f:id:ninjinkun:20190915160433j:plain
ヴォネガットは目と心に染みる

f:id:ninjinkun:20190914170751j:plain
個室に置かれていたこの漫画はとても面白かった

f:id:ninjinkun:20190915133336j:plain
箱根本箱は取次大手の日販と雑誌 自遊人が運営しているらしい。元は日販の保養所だとか

f:id:ninjinkun:20190914160606j:plain
箱根登山鉄道のレトロな運転台