2025年に買って良かったもの

アイマス

電気をつけている部屋でも気にせず寝られるくらい、ほぼ完全に光を遮断してくれる。
目を意識的に閉じることをしなくて良いため、リラックスして眠りにつくことが出来る。
寝られなくて目を開けてしまったときも常に暗い状態なので、そのまま自然に目を閉じるのを待つことが出来る。

キーキャッププラー

メカニカルキーボードの掃除をする時に、キーキャップを一つ一つ外すのが面倒すぎたので購入。
ストレスが大きく減り、掃除するのが苦では無くなる。

爪切り

切れ味が悪くなってきたので購入。
抵抗少なく切れるので、爪を切るのが楽しくなる。

ゴミ袋ホルダー

ペットボトル用に購入。
デザインがすっきりしていて、取り外しも楽で良い。
ゴミ袋の中身が重くなると落ちそうな気がするので注意が必要。

本棚

子供がいる家庭は物理本を買ったほうがメリットが大きいのでは?と思い購入。
ふとした時に読んでくれてるので、効果はあったようだ。
結構埋まってきたので、上に乗せる本棚も欲しくなってきた。

OpenDots ONE

使用していたOpenRunが折れてしまったので購入。骨伝導ではなくオープンイヤーのイヤホン。
イヤーカフ型は眼鏡に干渉しにくく、つけ心地もかなり良い。
主に動画を見るときやWeb会議などで使用。子供がいると耳を塞ぐイヤホンは使いにくいので、かなり重宝している。

思考の整理学を読んだ

『思考の整理学』を読んだのでメモ。本書では、受動的に学ぶだけではなく、能動的に思考する重要性を説明しており、発想力や想像力を高めるための思考法や心構えがいくつも紹介されている。

購入したきっかけは、子どもがタブレット学習をしてる際に例題文として出てきて、面白い文章だと感じて興味を持ったため。自分が生まれるより前に出版された本だが、今でもランキング上位にくるロングセラー書籍。実際めちゃめちゃ面白かったので納得。

積極的に取り入れようと思った内容は、アイディアノート・メタノートとその整理方法。思いついたことはiPhoneのメモ帳やテキストCosenseに残しているが、書きっぱなしで整理できていない。情報が散らばったままになっていて、深く考えるところまで到達していないので、取り入れる価値が高いと感じた。

メタノートと整理を取り入れることで、発酵させる・寝かせるという方法も取り入れられる。最近は考えることが多く脳の空きスペースが少なくなっていると感じているので、書いて忘れるという忘却をすることで、脳の倉庫の整理も出来るだろう。

捨てたくなかったが、忘却されてしまった思考が多くなったと最近は感じており、自身の大事な思考を残すためにも整理が必要だ。

休養学を読んだ

今年のGWは有休をつなげて9連休にした。せっかくのまとまった休みなので、しっかりと休むことをテーマに、以前から気になっていた『休養学』を初日に読んだ。

ざっくりとした内容

本書では、現代人の多くが慢性的に疲れていることと理由、そして「疲労」とは何かを解説している。さらに、休養で疲労回復するためにどういった手段があるのかが述べられている。人によってストレスの感じ方や疲れ方のタイプが異なるため、それを理解して適切な対策を取ることの重要性も強調されている。

では具体的にどう休養すれば良いのか。まず、睡眠は休養において大事なカギとなる要素なので、十分な質と量を取るべきである。しかし、それだけでは日々の活動に必要な活力が不足してしまうため、活力を回復するための休養方法が必要とある。その方法としては、あえて軽い負荷をかけることが効果的だという。これはトレーニングの超回復と似ており、基礎体力が向上することで活力が増えていく。負荷は自分で決めた楽しめるものである必要があり、肉体的・精神的の両面に負荷がかかることが望ましい。

休養は大きく分けて生理的・心理的・社会的休養の3つに分類される。その中でも複数のタイプが存在し、生理的休養は睡眠や運動、食事がそれにあたる。心理的休養は趣味や人との関わり、創作活動など。社会的休養は周りの環境を変えることを指す。これらを複合的に組み合わせることで、休養の効果が高くなる。

疲労はパフォーマンスの低下に直結するため、軽視せず、自分でコントロールして効果的な休養をとることが重要である。

これを読んで

自分は「やりたいけれど手がつけられていないこと」や「やるべきことが溜まっている状態」に強いストレスを感じるタイプだ。そのため、今回の連休では、それらを整理・消化しようと思った。特に、まとまった時間がないと取り組めないことを優先しようと思う。読みたいと思っていた本がいくつかあるので、この機会に積読を解消しようと思う。睡眠と運動も疎かにしないようにしたい。

初日から積読を一冊読み終えられたので、まずは良いスタートを切れたと言えそうだ。

「技術書」の読書術を読んだ

子供と図書館に行った時に借りてきた本。
技術書をついつい積みがちなので、タイトルに惹かれて手に取った。

本書は選び方、読み方、情報発信&共有の3部構成で、著者がオススメする読書法について解説している。読書量が多い人向けの内容も多いが、こういう方法もあるんだなという感覚で参考にし、自分にあった方法を取り入れると良いと思う。もちろん実践出来るなら、それに越したことはない。

個人的に取り入れたいと思ったのは、ざっと流し読みして全体感を掴んだ後に、必要な部分だけ深ぼるような読み方。どうしても深く理解して読了しなければという意識が働きがちなので、意識して実践したい。

本書で推奨されている読書メモについては自分も取り入れていて、要約や感想を残すことで、必要な時に思い出せるようにしたり、内容の理解を深める手助けにもなっている。

返却期限が決まることで積読になりにくいという効果がてきめんで、また図書館で借りるのも良いなと思えたのは収穫だった。

日立のビッグドラムを買ってずいぶん経ったので感想を書く

昨年の11月に7年間使った洗濯機が壊れ、日立のビッグドラムを買った。当時発売したばかりの機種で、ヒートポンプ式になり電気代が安く、乾燥時間もヒートポンプ式の中では最速のもの。以前使ってた機種は、子供が小さかった関係で洗浄力を重視して縦型にしたが、干す手間を短縮したくなりドラム式に変更した。

kadenfan.hitachi.co.jp

特徴

前述したヒートポンプ式に加え、乾燥フィルターが無く、糸くずフィルターにまとめられている点。これは便利だが、公式で謳われているような1ヶ月に一度のメンテナンスということはなく、毎日洗濯するなら2,3日か最低でも週1で手入れした方が良い。

また、AI洗濯という機能もある。水の硬度や水温で洗剤量を減らしたり、衣類から出る水分量で脱水時間を調整したりしてくれる。アプリ連携すると調整内容の通知が来るので面白い。

注意点

感想

これはドラム式洗濯機の特徴だが、普通の洋服なら気軽に乾燥にかけられるのが良い。

容量が大きいので、子供が多い家庭でも十分入る。電気代も前年比で下がっているため、省エネ効果も問題なし。メンテナンスは普通に必要だが、それを含めても買ってよかったと感じる。後は平均7年と言われる耐用年数ぐらい頑張ってくれると嬉しい。

Ebitengineに入門した

Golangでゲームを作る入門記事が面白そうだったので、実際に一通り試してみた。思い返せば、ゲームを作りたくてプログラマーの道に進んだんだよなぁ。

zenn.dev

この記事で使われているEbitengineは、Golangで2Dゲームを開発できるゲームエンジン

ebitengine.org

一通り実践すると、横スクロールのランナーゲームが出来る。開発環境の構築やGolangシンタックスといったプログラミングの基本から、画像の描画や移動、当たり判定や画面遷移など、ゲームプログラミングの基本的な部分まで、分かりやすく説明している。更に配布方法にも触れており、ゲームを作って人に遊んでもらうところまで、何をすればよいか理解が出来る。

まだ執筆中で2024年末までに完了予定とのこと。現時点の内容なら、プログラミング経験者であれば1時間前後で通読出来る。ゲーム作りに興味のある人におすすめ。

Shopify/semian を調べたのでメモ

semianとは

カスケード障害を回避するために、外部サービスやミドルウェアへのアクセスを制御する Ruby gem。Circuit breaker と Bulkhead という2つの機能が提供される。

Circuit breaker について

Circuit breaker はアクセス先(semianではリソースと呼ぶ)が連続してエラーやタイムアウトとなった場合に、リソースにアクセスさせずに即座に例外を返すことで、アプリケーション全体のパフォーマンスが落ちることを防ぎ、リソースの問題が悪化することも防ぐ仕組み。 close open half open という3つの状態があり、エラー数がしきい値を超えると open になり即座に例外を返し、一定時間経つとリソースの復旧確認をする half open となり、復旧が確認できたら close となってアクセスが再開される。

Bulkhead について

Bulkhead はリソースに対し同時に接続できる数を制限し、超過した場合は即座に例外を返すことで、リソースに対して過剰にアクセスすることを防ぐ。Circuit breaker はタイムアウトの回数がしきい値を超えるまで open にならず、タイムアウトの時間が長いとアクセスし続けてしまうので、Bulkhead を併用することでリソースへの過剰アクセスを防ぐことが可能になる。同時アクセス数は Ticket と呼ばれ、数値か割合で設定可能。

同時アクセス数の制御は System V Semaphores を使って実現しており、コンテナ環境ではホスト上のコンテナ間で IPC namespace を共有することが推奨される。共有しない場合はコンテナ内で多くの Worker を起動しないと上手く機能しない。AWS Fargate などホストに変更が入れられない環境の場合は注意が必要。

リソースへの組み込み

Adapter と呼ばれるリソースのドライバーに組み込む仕組みがある。MySQLPostgreSQL や Redis など、主要なものは揃っている。存在しない場合は他の Adapter を参考に実装すると良い。

使い方

Adapter ごとに設定方法があるため、ドキュメントを見て設定する。以下は trilogy の例。

default: &default
  adapter: trilogy
  username: root
  password: xxx
  host: localhost
  read_timeout: 2
  write_timeout: 1
  connect_timeout: 1
  semian:
    success_threshold: 2
    error_threshold: 3
    error_timeout: 4
    half_open_resource_timeout: 1
    bulkhead: false
    name: primary_database

各パラメータの説明は RDoc を見ると良い。