GolangでDockerの公開ポート設定のように数値のペアをフラグとして受け取る

自分用スニペットです。 表題の「Dockerの公開ポート設定」とは以下のようなものです。

  • -p 8080:80
  • -p 192.168.1.100:8080:80
  • -p 8080:80/udp

Container networking | Docker Documentation

このように、-p 1:2として「1-->2」という対応、また-p "1:2, 3,4"として「1-->2」「3-->4」という対応を解釈するようなものを実装しました。

続きを読む

Docker Rootless modeを使う (ユーザー権限systemctlを動かす)

DockerにはRootless modeというものがあり、デーモンとクライアントをユーザー権限で動作させることができます。これをインストールする際にユーザー権限systemctlの辺りで嵌ってしまったのでメモを残しておきます。

続きを読む

Golangで普通の文字列をflagで解析する

小ネタです。Goのflagパッケージを使えば、コマンドライン引数が解析を簡単にできます。プログラムに与えられた言わば本当のコマンドライン引数(つまりos.Args)ではなく、ただのstringをコマンドライン引数として解析する方法について書きます。

続きを読む

自分のためのLT駆動開発 (と、それを支えるコミュニティ)

学内の情報系の学生で集まってLTをする会というのを続けて4年目に突入しました。もともとこの会は諸先輩方が続けていたもので、僕と同級生達が運営の中心に立ってから2年ほどになります。運営にあたって、各参加者が自分自身のために発表できることを特に意識しています。これはそれぞれがLT駆動開発を円滑に行うためのものです。

続きを読む

htermで画像のインライン表示・ダウンロード

f:id:w_haibara:20210402001643p:plain

はじめに

ChromeからSSH接続ができる、Secure Shellという拡張機能をよく使っています。 このSecure ShellはGoogleが開発しているもので、内部でhtermというターミナルエミュレータが使われています。このhtermはiTerm2におけるOSC 1337コマンドを一部実装しており、これを使うことで画像のインライン表示・ファイルのダウンロードが可能です。このエントリではGoでこれらの挙動を検証します。
作成したデモは下記のレポジトリにあります。
github.com

続きを読む