- Apache Traffic Serverで400 Bad Reqeuestエラーが出る問題
- freenginxでAgeヘッダーの扱いが改善されました
- さくらのVPSでUbuntu 24.04をLUKSでディスク暗号化ありでインストール
- Vue.jsのアプリ開発でローカルの依存ライブラリを参照してデバッグログを追加する手順
- 多段HTTPプロキシでのAgeヘッダ
- IncusのDebian 12コンテナでpingが遅かったのをsystemd-resolvedのLLMNRを無効にしたら解決
- ModSecurityについて調べた
- Embeddableなkey value storeについてのメモ
- LMDBをGoとnginxとtrafficserver上のLuaJITから使ってみた
- GoでHTTPの通信をキャプチャーするライブラリを書いた
- PCGと乱数生成について調べた
- Neluaを試してみた
- Apache Traffic Serverのautest.sh
- AWS SigV4のCのライブラリを見つけた
- Quantileについて調査してみた(途中)
- uint64で高速にLog2を計算する方法を知った
- Apache Traffic Serverとnginxで使えるLuaJIT用shared dictを作ってみた
- luajit-remakeを試してみた
- LuaJITでたらい回し関数のベンチマークを試してみた
- Zabbixのデータベースのパーティショニングについて検索してみた
- HAProxyのserver stateについてコードリーディング
- LuaJIT+FFIで共有メモリを試してみた
- PostgreSQLのレプリケーション関連の関数についてメモ
- PostgreSQL 15とrepmgrで自動フェイルオーバーを試してみた
- GoでGratious ARP (GARP)を送信と受信する
- UbuntuのUSERとLOGNAME環境変数について調べてみた
- マイナンバーカードに含まれる2つの電子証明書について調べてみた
- Ubuntuで日本語キーボードのCapsLockをControlに変更する
- Ubuntu 22.04でbtrfsとmainline kernelを試してみた
- Arch Linux を試してみた
- GPGのプライマリーキーとサブキーを作成
- Targeted Cache Control のライブラリをC言語で書いた
- Go言語でMultiErrorというのを考えてみたが微妙かも
- snap 版 LXD が aa-exec: Permission denied でエラーの対処
- LXDとDockerを同時利用するためにiptables設定を調整
- LXDコンテナ内でChromiumをビルド・実行してみた
- PDFなどを買い切りの電子書籍ストア
- Litestreamのコードリーディングその2
- Litestreamのコードリーディング
- Axumでのアクセスログ出力の現状について調べてみた
- LXDでCentOS7の仮想マシンのネームサーバをcloud-initで設定
- Ubuntu 22.04のセットアップメモ
- Misc Cgroup を試そうと調べてみたけど手持ちのCPUが非対応でした
- USBメモリを使ってThinkCentreのBIOSをアップデート
- Linuxのkernel TLSでnginxのSSL_sendfileを試してみた
- ハッシュ化された~/.ssh/known_hostsにエントリを追加・検索・削除する
- ThinkPad P14s AMD Gen 2 のセットアップ
- Ubuntuで長期サポートのLinuxカーネルを使用する
- GoのHTTPリバースプロキシーでのchunkedレスポンス
- RustとRusotoを使ってさくらのクラウドのオブジェクトストレージAPIでオブジェクトを取得してみた
- theftを使ってC言語で property based testing を試してみた
- Ubuntu 20.10 で apt-key add が deprecated になっていたので代替スクリプトを書いた
- Bazel で試行錯誤したときのメモ
- psgreptree というコマンドラインツールを Rust で書いた
- Windows10上のGlobalProtectでVPN接続後にプログラムを最上位の特権で実行する
- Rustで書かれたUIツールキットdruid 0.6.0を試した
- Rustで書かれたGUIライブラリーのicedを試してみた
- gtk-rs 0.9.0を試した
- Rust で書かれた UI Toolkit の OrbTk 0.3.1-alpha2 を試してみた
- sysstatのバイナリファイルフォーマット
- ksarでsysstatのメトリックをグラフで表示
- Goで時刻をモックする
- Envoy と envoy-filter-example をビルドしてみた
- pgregory.net/rapidを使ってGoでProperty Based Testingをやってみた
- React Native for Windows + macOS を試してみた
- carbon-relay-ngのAggregationについてのコードリーディング
- Ubuntu 20.04 LTS デスクトップでのfcitxとMozcの設定手順
- WSL2のUbuntuでsystemdとsnapdとLXDとdockerを動かしてみた
- KeePassとKeeAgentでWSL2用にssh-agentを動かす
- WSL2のUbuntuとDocker Desktop for Windowsを試してみた
- macOSのpfでGlobalProtect用にNATを設定する
- macOSでHypervisor.frameworkのVMのサブネットIPアドレスを変える
- Windows Terminalの私の設定
- OpenSSLのSSL_sendfileとパッチを当てたnginxでLinuxのkTLSを試してみた
- ルートパーティションをZFSにしてUbuntu 20.04 LTSをインストールしてみた
- gbpとsbuildとPPAでUbuntu 20.04 LTS用のdebパッケージをビルド
- xmllintコマンドでのXMLスキーマを使ったバリデーションのコードリーディング
- io_uringのサンプルを試してみた
- fsyncを使うようにビルドしたLMDBのdebパッケージを作った
- LuaJIT FFIでモジュールを書く時のハウツー
- XMLSecでの証明書検証のコードリーディング
- wsl-ssh-agentでWindows Subsystem for LinuxからWindowsのssh-agentを使う設定手順
- tmuxで複数サーバー同時オペレーションのセッション共有
- BadgerのErrConflictについて
- BadgerのErrTxnTooBigについて
- Hyper-VとmultipassでUbuntu VMを起動してcloud-initで初期化する手順
- PowerShellでZIPファイルを解凍する
- Windows 10 に OpenSSH クライアントをインストール
- PowershellでEmacsライクなキーバインドを使う
- Linuxのvm_swapinessについてコードリーディングしてみた
- bboltのフリーリストのコードリーディング
- bboltのコードリーディング
- VictoriaMetricsのデータディレクトリ構造
- VictoriaMetrics/fastcacheのコードリーディングその2
- VictoriaMetrics/fastcacheのコードリーディングその1
- VictoriMetrics/fastcacheによるGoのGC負荷の回避方法
- cgoとunsafeについてのメモ
- VictoriaMetricsのクエリのコードリーディング
- VictoriaMetricsにgraphite形式でデータ投入のコードリーディング
- tcpdumpとss -antpを同時に実行するシェルスクリプトの例
- VictoriaMetricsのインストール
- aptでgrafanaをインストール
- DockerでZFSストレージドライバを使う
- CoreDNSをWindowsのサービスとして登録するためのラッパをGoで書いてみた
- Hyper-VのWindows NAT機能を使ってVMのIPアドレスを固定
- multipassのVM作成時にcloud-initでLXDをセットアップ
- multipassのVMにsshで接続
- 仮想マシンマネージャmultipassをWindowsとmacOSで試してみた
- LXDでUbuntuコンテナにロケールとタイムゾーンを設定するプロファイル
- LXDでコンテナの初期化に使われるテンプレート
- Goで書き込み中のファイルをHTTPレスポンスとして返す
- PXEブートでVyOSをインストール
- nginx luaでSAMLのService Providerを作ってみた
- macOS→VagrantのUbuntu→LXDコンテナへのポートフォワーディング
- VagrantでUbuntu 18.04 LTSとLXDをインストールする手順
- LXDのコンテナイメージのエクスポート・インポート
- LXDのproxyを使ってポートフォワーディング
- nginxとshibbolethでSAML2のシングルサインオンを試してみた
- go-carbonのdebパッケージをsbuildとPPAでビルドした
- sbuildで外部レポジトリを使う
- PPAでのビルドの予行演習にsbuildを使う
- universal-ctagsのUbuntu 18.04 LTS用debパッケージをビルドした
- Ubuntu 18.04 LTSでsbuildをセットアップ
- nginxのコードリーディングにrtagsを使う
- Ubuntu 18.04 LTS用にrtagsのdebパッケージを作成した
- Ubuntu 18.04 LTSにSlack 3.2.0-beta.2をインストール
- Ubuntuのデスクトップ環境でsshのパスフレーズ入力を1回だけにする
- ClamAVをUbuntu MATE 18.04 LTSにセットアップ
- Ubuntu MATE 18.04 LTSの私用設定メモ
- debパッケージを使ってnginxモジュールをビルド・デバッグする
- Ubuntu 18.04でVPN切断後にホスト名解決が動くようにするための回避策
- Ubuntuでsnapを使って最新バージョンのgoをインストール
- GNOME上でEmacsライクなキーバインディングを使う
- MacBook Pro上のUbuntu 18.04でサスペンドが動くようにする
- GNOMEの端末でssh-addを自動実行
- GNOME Shellの時刻表示に日付や秒を表示
- pbuilderで特定のディストリビューションのchroot環境を作成
- apt-markを使ってdebパッケージのバージョン固定
- Ubuntu 18.04でaptを使ってchromeをインストール
- macOS High SierraとUbuntu 18.04でVeraCryptを使う
- Ubuntu 18.04でcopr-cliのdebパッケージを作ったときのメモ
- Ubuntu 18.04でgit-buildpackageとfreightを使うときのメモ
- Ubuntu 16.04上にUbuntu 18.04のPXEブートサーバをセットアップ
- Ubuntu 16.04をルーター化
- VeraCryptでデータパーティションを暗号化してみた
- Ubuntu16.04でrpmビルド用にmockとcopr-cliをセットアップ
- Ubuntu16.04でセカンダリIPアドレス追加
- 私のgoのrpmとdebをビルドする手順
- 私のnginxのカスタムrpmとdebをビルドする手順
- Windows10のパーティションを縮小するために移動できないファイルを消す
- Ubuntu 17.10でスクリーンショットを作成してgimpで編集
- Ubuntu 17.10でL2TPのVPN接続を試してみた
- Ubuntu 17.10とgnomeとIBus mozcのキーボードショートカットを自分好みに設定
- Ubuntu 17.10とWindows10でデュアルブート構成にしてみた
- Ubuntu 17.10とmacOS High Sierraでデュアルブート構成にしてみた
- EdgeRouter LiteでDuckDNSとCloudFlareでダイナミックDNSを試してみた
- 特定のドメインの証明書の有効期限をコマンドで確認する
- goで書いたコードがヒープ割り当てになるかを確認する方法
- rustのHTTPライブラリについて情報収集した
- rustupでrustをセットアップ
- go1.10rc1のdebパッケージを作ってみた
- lua-nginx-moduleのshared dictの空き容量について
- Goでcontext非対応の関数をcontext対応にするラッパ関数を書いた
- lua-nginx-moduleのshared dictのコードリーディング
- ChromeとFirefoxの拡張機能を書くのにasync/awaitを使ってみた
- Goのプロファイラを使ってメモリ割り当て回数を減らす
- rtagsのdebパッケージを作成した
- terminal機能を有効にしたvim8のdebパッケージを作成した
- pbuilderのchroot環境にレポジトリを追加する
- add-apt-repositoryを使わずにPPAをapt-lineに追加する方法
- git-buildpackageとfreightでパスフレーズをファイルから入力させる
- ngx_http_limit_req_moduleのコードリーディング
- freightでプライベートdebレポジトリ作成
- golang 1.9rc1のUbuntu 16.04用debパッケージをビルドした
- badgerのコードリーディング
- nginx+luaのカスタムdebパッケージを作ってみた
- git-buildpackageのpatch-queue機能を試してみた
- ngx_http_v2_upstreamモジュールを追加したnginxのdebパッケージを作ってみた
- グレースフルリスタートを支援するサーバ起動のGoライブラリを自作した
- git-buildpackageでdebパッケージをビルドしてPPAにアップロードする手順
- gpgで秘密鍵を作成する
- zerologを参考にしてltsvlogを改良してみた
- EdgeRouter LiteでIPv6の静的ルーティング設定
- IIJmioひかりとEdgeRouter-LiteでDS-Liteを試してみた
- EdgeOSのドキュメントのリンクまとめ
- EdgeOSの設定項目の階層構造を理解する
- 自宅サーバExpress5800/S70タイプRBのCPUをCore i5 650に換装してみた
- EdgeRouter Lite (ERLite-3)のファームウェアアップデート
- go-whisperをコードリーディングしてみた
- go-carbonのTCPレシーバについてコードリーディングしてみた
- MastodonのER図を生成してみた
- github.com/deoxxa/donを試してみた
- github.com/facebookgo/graceパッケージでグレースフルリスタートを試してみた
- go, go-carbon, carbonapiのrpmをfedora coprでビルドしてみた
- LXDのdnsmasqで名前解決するための設定
- LXDでネストした非特権コンテナを試してみた
- video.jsのHLSライブラリを試してみた
- WindowsでCtrlとCapsを入れ替えた状態でControl+タップするためのSynapticsタッチパッドドライバの設定
- iptables-saveのコードリーディング
- iptablesのコードリーディング
- CentOS 7のepelでインストールしたpython3.4でvenvを使うとエラーになる件の回避策
- iptables-restoreのコードリーディング
- procpsのpgrepのコードリーディング
- procps-ngのpgrepのコードリーディング
- monitのhttpのタイムアウトのコードリーディング
- monitのイベントループのコードリーディング
- monitのif failed urlのコードリーディング
- ブログのソフトウェアをHugoからPelicanに切り替えた
- Facebookの時系列データベースGorillaのデータ圧縮方式を試してみた
- さくらのクラウドでPackerとTerraformを使ってContainer Linuxの環境構築をしてみた
- KubernetesのSecrets機能を試してみた
- Kuberntesでデータ領域をNFSマウントしてMySQLを動かしてみた
- minikubeとVirtualBoxでNFSのpersistent volumeを試してみた
- minikubeでKubernetesのチュートリアルをやってみた
- LXD で privileged な CentOS 7コンテナを作る
- Go言語のos.Chtimesで設定可能な最大日時は 2262-04-11 23:47:16.854775807 +0000 UTC
- LocaleOverlaySwaggerというgoaプラグインを書いた
- pgpool-IIを使ってPostgreSQLのアクティブ・スタンバイ(1+1構成)を試してみた
- Pacemakerを使ってPostgreSQLのアクティブ・スタンバイ(1+1構成)を試してみた
- LXDコンテナ上でPacemakerを使って仮想IPとApacheのアクティブ・パッシブ・クラスタを試してみた
- LXDのdnsmasqの固定IP設定をSIGHUPで更新する
- LXDのDHCPで使っていないIPアドレスを一括で解放するスクリプトを書いた
- ブログ記事「Go言語(Golang) はまりどころと解決策」についてのコメント
- LXDコンテナでPostgreSQLの非同期リプリケーションを試してみた
- 私のソースコードの書き方
- 1台のサーバに異なる設定でApache Traffic Serverを複数立ち上げるためのビルド設定
- lxd_containerというAnsibleモジュールを書いたときに学んだtips
- 分散SQLデータベースCockroachDBのキーバリューストレージのデバッグコマンドを試してみた
- 連番ファイル名の命名規則について実験してみた
- LSM-TreeとRocksDB、TiDB、CockroachDBが気になる
- sleuthというGoのライブラリでサービスディスカバリを試してみた
- gistを作成するGoのCLIを見つけた
- Goのシリアライゼーションのベンチマークを自分でも試してみた
- GoでLTSV形式でログ出力するライブラリを書いた
- Goで複数のリモートのワーカーにジョブを実行させるremoteworkersというパッケージを書いた
- Goで複数のリモートのワーカーにジョブを実行させるremoteworkersというパッケージを書いた
- GoのMessagePackのライブラリのベンチマークをしてみた
- LXDのREST APIクライアントライブラリpylxdを試してみた
- LXDのREST APIをcurlで試してみた
- AnsibleのLXDコネクションプラグインを試してみた
- LXDコンテナで固定IPアドレスを使うための設定
- LXCの特定の1つのコンテナの起動状態をシェルスクリプトで確認したいときのお勧めの方法
- Ubuntu 16.04 LTSでLXD 2.0をセットアップして使ってみる
- Ubuntu 16.04 LTSでLXD 2.0を試してみた
- Ubuntuでホームディレクトリを暗号化するのを止めた
- Ubuntu 16.04でNo-IPのダイナミックDNSサービスを使ってみた
- MacをPXEサーバにしてExpress5800/S70タイプRBにUbuntu16.04をインストールしてみた
- go-daemonとgoのos.StartProcess()のコードを読んでみた
- LXC 2.0でCentOS 7のコンテナを動かしてみた
- 「サーバ/インフラエンジニア養成読本 DevOps編」の献本を頂きました
- Apache Traffic Server を GDB で動かす
- Apache Traffic Server のコードリーディング
- rsyslogで信頼性のあるログ転送について調べたメモ
- ambiguous width cjk patchを当てたhomebrew用tmux
- CentOS 7用にPython2最新版のrpmを作ってみた
- direnvでgo1.5.2とgo1.6beta1を切り替える設定
- Mockやcoprでrpmをビルドする際にサードパーティのレポジトリを追加する方法
- mockを使ったrpmビルドが失敗した時の調査方法
- coprのAPIをcurlで呼び出す
- nginxのカスタムrpmをmockでビルドできることを確認してからcoprでビルド・配布する環境を作りました
- rpmのspecファイルのSourceにGitHubの任意のコミットのtarballのURLを指定するときの良い書き方
- mockコマンドでrpmをビルドする
- Travis CIとcopr.fedoraproject.orgを使ってrpmをビルド・配布するのを試してみた
- mattn/gomにGoのvendoringサポートが追加されました
- MySQL APT repositoryからMySQL 5.7.xをインストールするスクリプト
- Goでグローバルなバッファを使いまわしてスタックトレースを取得するライブラリを書いてみた
- 自分のグローバルアドレスをOpenDNSとdigコマンドで調べる方法を試してみた
- Ubuntu 14.04のPython3でvenvを使う手順のメモ
- HomebrewのPython2とPython3でvirtualenv環境を作成する手順メモ
- GeForce搭載の旧モデルMacBook ProでCaffeをビルドする手順メモ
- GeForce搭載の旧モデルMacBook ProでPyCUDAを試してみた
- GeForce搭載の旧モデルMacBook ProでCUDAをセットアップする手順のメモ
- OSX上でmultirustを使ったrustfmtのインストール手順
- manyrustという複数バージョンのrustインストールスクリプトを書いた
- xhyveでFreeBSDを動かしてみた
- Cybozu Garoon APIのファイル管理の部分だけのgoライブラリを書いた
- mecab-ipadicでconfigure実行したらmatrix.defが無いというエラー
- Homebrewを辞めてMacPorts 2.3.3を入れてpkgngをビルドしてみた
- xhyveを試してみました
- Go言語用のメモリマップトファイルのライブラリを探してみた
- LuaのGo実装GopherLuaを試してみた
- Vagrant + Virtualboxでのディスク追加
- goでglogを使うときのメモ
- FreeBSD 10.1 amd64でRustをビルドしてみた
- さくらのVPSにFreeBSD 10.1をクリーンインストールした時のメモ
- mithril.jsを試してみた
- groongaのgoバインディングでWikipedia全文検索のサンプルウェブアプリを作ってみた
- Goでdeferの処理中のエラーを返す書き方を工夫してみた
- データ登録用にgroongaのC APIのgoバインディングを書いてみた
- Groongaのチュートリアルを試してみた
- vagrant box updateでboxファイルをアップグレードする
- jetpackを試してみた
- LXD 0.7ではlxc execでシェルの対話操作もできるようになっていました
- curlでダウンロードを中断後再開するときは-Cオプションが便利
- サイズが大きなファイルのコピーにはrsyncの-Pオプションが便利
- Hugoに移行した私のブログの記事追加手順
- JXA (JavaScript for Automation)を使ってOSXの初期設定を半自動化してみた
- Homebrew Caskを使わずにdmgファイルのアプリをコマンドでインストールする
- Riot.jsでタグエディターのサンプルを作ってみた
- Windows UI Automation APIを使うためのGoライブラリw32uiautomationを書いた
- Build UIAutomation samples in Windows SDK 7.1
- LXDを試してみた
- Diagram as a Code
- OSX上でPythonのPILの代わりにPillowをインストールする
- 久々にoctopressをアップデート
- Chef-soloとAnsibleとFabricを試した感想
- Vagrant 1.1.5とSaharaを試した
- lua, V8, ruby, mrubyでfib(39)の実行時間比較
- d3.jsを使ったツールチップあり複数折れ線グラフのサンプルを作った
- EC2で同じリージョンの全ホストのプライベートIPを起動時にhostsに自動登録
- IAM管理コンソールでAWSの管理画面用のユーザを作成
- S3 error: Either the Signature query string parameter or the Authorization header should be specified
- Unboundで在宅時に自宅サーバの名前解決
- VirtualBox4でCentOS6.2をインストール
- node-http-proxyでバーチャルホストで振り分けつつhttp/https->websocketリバースプロキシの実験
- node.jsのfs.watch()で設定ファイルが更新されたらリロード
- daemontoolsのインストール手順
- daemontoolsの使い方
- パスフレーズ無しの秘密鍵と自己証明書をコマンド一発で作る
- /etc/sudoers.d/を使う→やっぱり止め
- CentOS6でchef-soloとknife-soloをセットアップ
- lua, V8, ruby, mrubyでfib(39)の実行時間比較 2013-03-12版
- macruby-nightly-2012-03-07をXcode 4.3.1で試す
- Xcode 4.2.1でMacRuby 0.10を試す
- Xcode 4.3.1のファイルテンプレートをカスタマイズ
- mod_xsendfileでダウンロード後にサーバ上のファイル自動削除
- octopressでgithubにブログ開設