Carpe Diem

備忘録

Windows11 に Emacs や macOS に近いキーバインドを設定する

概要

Windows機の開発環境を整える一環でEmacsキーバインドの設定を行います。

環境

  • Windows 11
  • Ctrl2Cap v2.0
  • keyhac 1.82
  • AutoHotKey 2.0

方法

1. Ctrl-Capsの入れ替え

Microsoftが提供しているctrl2capsのインストールします。

ダウンロードしたファイルを展開後、管理者権限でターミナルを起動し、展開したフォルダに移動して

./ctrl2cap /install

を実行します。

完了したらPCを再起動します。

続きを読む

WindowsでPowerToys環境を整える

概要

PowerToysはMicrosoft が開発するオープンソースのユーティリティソフトウェアです。
特にPowerToys Runは、macOSでいうSpotlightやAlfredのようなことが可能です。

今回はその環境を整備する方法を説明します。

環境

  • Windows11
  • PowerToys v0.87.1

PowerToys

インストール

Microsoftストアからインストールできます。

apps.microsoft.com

続きを読む

WindowsでWSL環境を整える

概要

社会人になってからほとんどmacOSだったのですが、Windowsでも開発やブログ投稿できるように環境を整えています。

今回は開発環境としてWSLをメインで使うよう、環境構築の手順を説明します。

環境

  • Windows 11
  • PowerShell 7.4.6
  • WSL 2.3.26.0

1. PowerShell

最初にPowerShellとWSLの区別で躓いたので説明します。

PowerShellとは

PowerShellとはWindowsネイティブのシェル環境です。 PowerShell自体はこれまでのコマンドプロンプトの上位互換で、Linuxに近い感じのコマンドが使えます。

ただ完全にLinuxのシェルを使いたいときは、後述するWSL (WIndows Subsystem for Linux)を使うのが良いです。
WSLはPowerShell上で実行可能です。ただし正確に言うとWSLをPowershell上で起動している訳ではなく、CLIとして動かせる感じです。

続きを読む

2024年買ってよかったものリスト

概要

年の瀬なので2024年に買ってよかったものを挙げてきます。

ScanSnap(ドキュメントスキャナー)

何だかんだ紙媒体の資料って無くならなくて、

  • 子供の幼稚園・学校の資料
  • 市役所からの資料
  • マンションの資料
  • 各種手続き・契約資料

これらを電子化したいなーと思って買いました。 GoogleDriveに自動で送ってくれるので、中身の検索も簡単に実現できます。

過去に本を裁断して電子化していたころがありその時もScanSnapを買ったのですが、今のScanSnapは自動で読み込んでタイトルを設定してくれたり非常にUXが良いです。

B4、A3サイズはこちらのシートを使うとグシャッとならずに読み込めます。

続きを読む

Go Toolchainの挙動を確認する【理論編】

概要

前回は実際に動かしてみて挙動を確認してみました。今回はそのロジックを理解します。

christina04.hatenablog.com

GoのToolchainはv1.21以降で導入された機能で、次のような課題を解決するために生まれました。

  • go.modに記載のバージョンは直感的じゃない
    • 実際にビルドに使われるのはローカルにインストールされているGo
    • ビルドでコケたらgo.modに記載のバージョンで module requires Go 1.xxと言ってくるが、実際に必要な最低バージョンの保証ではない
      • もしかしたらもう少し低いバージョンでもBuildできる可能性もある
  • Go 1.19.4でバグが入ったが、Go 1.19.3, Go 1.19.5 であればBuildできる状態。けれどそれをgo.modで表現できない

またGoでは後方互換性が保証されてはいるものの、複数のプロジェクトにまたがっているとプロジェクトによって使うGoバージョンが決まっていたりするため、何だかんだ複数のバージョン管理ができると良かったりします。

環境

  • Go v1.21以上
  • macOS v15.1.1
続きを読む

Go Toolchainの挙動を確認する【検証編】

概要

Go Toolchainはモジュールで使うバージョン管理をgoディレクティブだけの頃よりも正確に制御できます。

しかしビルドバージョンは以下の要素の組み合わせから決定されるため、ちゃんと理解していないと期待しない挙動になることがあります。

  • GOTOOLCHAIN環境変数
  • ローカルバージョン
  • go.modのgoディレクティブ
  • go.modのtoolchainディレクティブ

今回は簡単に検証できる環境を紹介して、どうなるのか確認してみます。

続きを読む