理系学生日記

おまえはいつまで学生気分なのか

environment

dev containerを使って開発環境をコンテナに封じ込める

気になっていたのに触っていなかった技術としてdev containerがあった。 Dev Containerはその名前の通り、開発環境をコンテナ化する技術。 そうすると「開発環境とは何か」という話になるわけだけど、ここでいう開発環境とは「コードを書くための環境」であ…

具象構文木でdiffが取れるdifftastic

ソースファイルをdiffで比較する ファイルやディレクトリの差分を確認するコマンドは、diffです。 diffは一般に文字列で比較するため、プログラミング言語のソースファイルのdiffをとる場合は、何が変わったかわからないことが多くありました。 たとえば次に…

VSCodeでNerd Fontsを表示させる

Nerd Fontsとは何か Nerd Fontsは、著名なプログラミング用フォントにグリフをまとめて追加したものです。 GitHub - FortAwesome/Font-Awesome: The iconic SVG, font, and CSS toolkitやGitHub - primer/octicons: A scalable set of icons handcrafted wit…

Starshipを使ってシェルプロンプトをカスタマイズする

重い腰を上げてWindowsマシンでCygwin環境を構築することにしたとき、やはり気になるのがシェル環境です。 As-is Starship プリセット プロンプト設定の何が嬉しいのか 設定 As-is 僕のメインPCであるMacでは、以下のようなプロンプトを使っていました。 Pow…

2023年にCygwinについてまとめる

WSL2が使えない Windows PCでは諸事情でVPNを張っているんですが、これまた諸事情でVPNを張るとWindows上で動くVMからインターネットに出ることができません。 これで課題になるのがWSL2の利用です。WSL2ではVMの中でLinuxカーネルを動かす形態を取るので、…

はてなブログのMarkdownモードでMathJaxを使うときの困りごと

勉強中の統計学の話を本ブログに垂れ流し始めた関係上、エントリ内に数式を記述することが増えてきました。数式は綺麗に表示して欲しいので、当然ながら$\TeX$記法で書きたいわけです。 Tex記法で書く はてな記法のうちのtex記法で書く 直接MathJaxで書く Ma…

ノートPCスタンドの導入による肩こりの解消

ぼくは元々相当な肩こり持ちだったのですが、2月にノートPCスタンドを導入してから、肩こりに悩まされる頻度が相当減りました。 ぼくが使っているのはBoYataのこちらです。 BoYata タブレットスタンド ipad スタンド ipad proスタンド ipad air スタンド ノ…

トラックボールをMX ERGOに変えた

MX570は名機として有名なトラックボールです。 僕自身も初めて使ったトラックボールで最初こそはボール操作に戸惑ったものの、2-3日で手に馴染み、手を移動させないで良いということの素晴らしさに気づかせてくれました。 そういうわけで、業務・プライベー…

MacでA5:SQL MK-2を起動する

諸事情でWindowsを前提とした開発において、自宅のMacを使う(使える)ことになりました。 課題になったのは、これまでA5:SQL MK-2で記述していたER図をMacで編集したくなるということ。 A5:SQL MK-2の良さについては以下のエントリに詳しいです。 私個人とし…

デュアルモニター用のモニターアーム

昨年12月に、デュアルモニタ用のモニターアームを使い始めました。 ぼくにとっては初のモニターアームだったのですが、かなり良いです。良い。 購入したもの 購入したのは、Amazonベーシックのこちらのアームです。 Amazonベーシック デスクマウント デュア…

自分のグローバルIPアドレスを知る

Azure Database for MySQLに自分のグローバルIPアドレスから接続したいというとき、グローバルIPをCMANで確認をしていました。 さすがに面倒になって、何か良い方法がないかなと思ったら、グローバルIPアドレスを返却してくれる様々なサービスがあることを知…

マスクをつけていてもiPhoneロックを解除できるようになった

iPhoneのFace IDは便利な機能ではあるのですが、コロナ禍でマスクをつける時間が長くなると、Face IDでのアンロックはできなくなります。 これは非常に不便なところで、アンロックの都度いちいち手でiPhoneをアンロックするのはストレスでした。 この問題、i…

ようやくリモート会議環境を整えた

業務がリモートワーク主体になり、会議もリモート主体になりました。 その中で問題になっていたのが、リモート会議への参加がクソめんどくさい問題です。 前から頭を悩ませていたのですが、ようやく一通りの整備が終わりました。 クソめんどくさい問題とは何…

デスク周りの仕事環境を整える

新型コロナの影響で、基本的に仕事は家で行うことになりました。 これまで平日は家で過ごす時間が少なかったため自宅での PC 環境をかなり蔑ろにしていたのですが、もはやそんなことは言っていられない。 ようやく重い腰をあげて、自宅の PC 環境を整えるこ…

VS Code で特定ディレクトリを検索対象から除外する

様々なところで terraform init しまくっていたら、.terraform ディレクトリが散在するようになり、VS Code での検索に支障を来すようになりました。 このため、.terraform ディレクトリ配下を検索対象から除外したい。 VS Code では、search.exclude を設定…

vscode 上での Ricty のバッククォート文字の表示がおかしい

vscode 上で Ricty のバッククォート(backtick)文字がおかしい vscode で Ritcy フォントを指定してバッククォートを入力すると、以下のように後ろの文字が重なってしまうという問題があります。 例えば、以下の文字列を入力します。 `hoge` `fuga` vscode …

GitHub Actions・blogsync・textlint で実現するはてなブログ投稿のオートメーション

以前、blogsync と textlint を使ったブロク投稿について書きました。 そこに登場したのが、GitHub Actions です。 そこでぼくは考えました。おや、エントリを GitHub のリポジトリで管理しておきさえすれば、以下のようなエントリの PUSH による自動投稿が…

Macでのアプリケーションインストールの自動化

先述の通り、新年を迎えたことをきっかけに Mac を初期化しました。 面倒なのは、使っているソフトウェアのインストールなのですが、皆さんと同様 homebrew を使っています。 そういえばと思い立ったのですが、この homebrew で各種 CUI アプリケーションと…

英語キーボードでGoogle日本語入力を楽に使いたい

新年なので、自宅の Mac を完全初期化しました。新年になるとこういうの整理したくなるよね。そうだよね。 そういうわけで、毎年のように Mac を完全初期化しているわけなのですが、そこで毎回問題になるのが IME です。 もともと僕は AquaSKK を使っていた…

.ssh/configの記述量を減らしたいしホスト鍵警告メッセージも減らしたい

今日もみなさんどんどん ssh でどっかのホストにログインするのにお忙しい事と思います。最近のプロジェクトでは、ぼくもどんどん ssh でどっかのホストにログインするのにお忙しくて、ログインし続けていたら一日が終わる。 さて、ssh を使うときの個人用設…

zshのターミナル環境を変更したらモチベーションアップした

雑談ネタです。 4 月に入り、自宅の Mac をクリーンインストールし直しました。 最近どうも多忙にかまけてしまい、この Blog も含めて自宅での IT 関連のモチベーションが湧かない状況でした。全てを一新することで、もう一度あの熱い想いを思い出せないか、…

vscode-proto3 利用時に `spawnSync clang-format ENOENT`

Protocol Buffer の proto ファイルを VS Code で編集するにあたって便利なのが vscode-proto3 です。 こちらを割と使っていたのですが、いつの間にか spawnSync clang-format ENOENT というエラーが出るようになってしまいました。ver. は 0.2.2。 原因 メ…

git-bash 配下の npm run で cmd.exe が使われる…だと…

npm script が楽やなと思って、便利系ツールの起動 (docker-compose.yaml がリポジトリに散らばったコンテナ群の一斉起動とか) を npm script に寄せているのですが、npm run したらエラーが出るといるメンバの溜息を聞いて調べてみるとおもしろいことが分か…

特定ディレクトリ配下にあるすべて package.json について yarn install を実行する。ただし node_modules 配下のものは除く

開発プロジェクトには便利ツールみたいなものを作って生産性アップの夢を見ることが多いです。 いまのプロジェクトでもその例外に漏れず、WIndows と Mac の二者がいるということもあって、node.js で CLI ツールを作っています。 そこで抱えている課題は、…

gRPC の proto を生で読むのに人生疲れたので protoc-gen-doc で gRPC の API 仕様を HTML 化して読む

gRPC を使いはじめ、.proto に多くの RPC を定義してきました。そうすると、 様々な Req/Res が階層構造を持つ message として定義されるようになる その message が様々な RPC で横断的に使われるようになる ということが当然のように起こります。 ぼくは従…

Windows でソフトウェアを chocolatey で管理すると超絶便利になりそう

これまで家に Windows マシンがなかったのですが、諸事情で Windows マシンがあったほうが捗るよなと思い、何年ぶりかで自分の Windows マシンを手にしました。 会社の PC も Windows なのですが、なんか忙しさにかまけてろくにセットアップもしなかったので…

blogsyncとhelm-agではてなブログのカテゴリを整理する

この Blog でずっと整理したかったのが、各ブログエントリのカテゴリでした。 たとえば、この Blog には enlightenment と enlightment という 2 つのカテゴリがありましたが、実際には enlightenment が正しいです。 このような表記揺れをなんとかしたかっ…

KindleでSRE本を無料で読めるようになるまで

SRE本をつくるツーライナー 必要なツール pup wkhtmltopdf SRE本をつくるツーライナー Site Reliability Engineering をずっと読みたかったのですが、これ結構高くて、英語版でも日本語版でも 5,000 円を超えてしまいます。 SRE サイトリライアビリティエン…

インターネットに接続できないオフライン環境でPython製ツールをインストールしたい

ときに、インターネットに接続できない環境というのが存在します。 しかし、今回はこういう環境において Python 製のツールを使いたいという状況が発生しました。 今日びのパッケージマネージャというものはパッケージリポジトリからダウンロードするのが一…

cocoaアプリでEmacsキーバインドを使いたい

Chrome の入力フィールドでもカジュアルに(※)Emacs のキーバインドを使いたいと思うことがあります。 Mac の場合、Emacs のキーバインドがデフォルトである程度実現されているわけですが、Ctrl-y で yank (ペースト) するとかは実現できていません。 それを…