サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
hnakamur.github.io
2019-10-21 はじめに multipass ではVMの作成時に multipass launch の --cloud-init オプションで cloud-init を使って初期化を行えます。 LXD をセットアップする手順を試行錯誤したのでメモです。 参考資料 cloud-init の Modules のドキュメント Ubuntu 18.04 LTS の cloud-init の cc_lxd.py のソース cloud-initの設定ファイル例その1 まず apt の設定でURLを日本のミラーサイトにします。 zfs でループバックのストレージを 80GB で作成します。 LXD のストレージバックエンドを zfs にします。 LXDのブリッジをデフォルト設定で新規作成します。 #cloud-config locale: en_US.utf8 timezone: Asia/Tok
2024-02-10 レポジトリ owasp-modsecurity/ModSecurity: ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave’s SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. W
OpenSSLで自己認証局を作る¶ 作成日 2018-12-05 毎回検索してたので自分用にまとめておきます。 How to setup your own CA with OpenSSL と CentOS7.2 64bit OpenSSLを使用して自己認証局で署名したSSLクライアント証明書を作成 | kakiro-web カキローウェブ を参考にしました。 試した環境はUbuntu 18.04.1 LTSでOpenSSLのバージョンは1.1.0gです。
2017-10-11 はじめに openresty/lua-nginx-module: Embed the Power of Lua into NGINX HTTP servers の ngx.shared.DICT は複数ワーカープロセス間でデータを共有することができ、非常に便利です。 使用する際は lua_shared_dict ディレクティブ で以下のように shared dict の名称とサイズを指定する必要があります。 しかし、このサイズをどれぐらいにしたらよいかわからず、適当に設定していました。 そこでコードを読んで、おおよそのメモリ使用量の目安の計算について調査しました。 また、概略の残り容量を把握するための仕組みを追加するプルリクエストを送ってマージされました。 ということでメモしておきます。 shared dictのメモリ管理 lua-nginx-moduleのshare
2023-02-23 はじめに Apache Traffic Serverの挙動を調べるときに、tcpdumpでパケットをキャプチャすることがあります。 アクセスログを見るだけだと、upstreamへのアクセスが失敗してリトライするようなケースでもログは1件しか出ないのですが、パケットのログを見れば全てのHTTPリクエストとレスポンスが見られて便利です。 私は以下のようなスクリプトを使っています(対象のポートは適宜調整)。 #!/bin/bash set -eu log_basename=tcpdump-$(hostname)-$(date +%Y%m%d-%H%M%S) tcpdump -i any -U -w ${log_basename}.dat tcp port '(80 or 8080)' tcpdump -A -n -vvv -r ${log_basename}.dat > $
2023-01-10 はじめに uint64で高速にLog2を計算する方法を知った · hnakamur’s blogのあと、本題のQuantileについて調査したのでメモです。実はまだ途中なのですが、この後一旦他のことをするので現状をメモしておくということで。 試したレポジトリは https://github.com/hnakamur/quantile_experiment です。 Quantileを推測するアルゴリズムはいろいろある まず推測する方式の前に、愚直に算出する方式を考えると、全ての入力値を取っておいてランクに対応する値を調べるということになります。ただ、それだと入力値が多くなってくると保管する領域も多くなってしまいます。 そこで入力値を適宜間引きながら、なるべく高精度で近似値を出すようなアルゴリズムがいろいろ考案されているというわけです。 Greenwald-Khanna方
2023-01-03 はじめに kazuhoさんのツイートとソースを見て、本題のパーセンタイル値をインクリメンタルに更新する方法の前に、 static uint64_t ullog2(uint64_t x)というuint64の整数のlog2を高速に計算する関数に興味がわいて調べてみたのでメモです。 試したコードはhnakamur/log2_experimentに置いてます。 2022-01-10追記 その後さらに更新しました 2022-01-04追記の説明、今から見ると自分でもよくわかりませんが、x=0では呼ばないという前提で以下のように変えました。 // ILog2 calculates log2 of a uint64 value. // Ported from // https://github.com/h2o/h2o/pull/3177/files func ILog2(x uin
$ sh rustup-init.sh info: downloading installer Welcome to Rust! This will download and install the official compiler for the Rust programming language, and its package manager, Cargo. It will add the cargo, rustc, rustup and other commands to Cargo's bin directory, located at: /home/hnakamur/.cargo/bin This path will then be added to your PATH environment variable by modifying the profile files l
2021-07-04 はじめに 購入した ThinkPad P14s AMD Gen 2 が届いたのでセットアップのメモです。 構成 ThinkPad P14s AMD Gen 2 | レノボジャパン 構成内容: ThinkPad P14s Gen 2 AMD 製品番号: 21A0CTO1WWJAJP3 単価(税込): 134,618 円 Configuration Details AMD Ryzen 7 PRO 5850U (1.90GHz, 12MB) Windows 10 Pro 64bit - 日本語版 16GB DDR4 3200MHz (オンボード) 128GB ソリッドステートドライブ (M.2 2242, PCIe-NVMe) 14.0型FHD液晶(1920x1080) IPS、400nit、72%NTSC、マルチタッチ非対応 ブラック なし 内蔵グラフィックス IR &
出力ファイル名の日付部分は出力した際の日時になっていました。 基本4情報 総務省|マイナンバー制度とマイナンバーカード|マイナンバーカード に以下の説明があります。 「署名用電子証明書」は、氏名、住所、生年月日、性別の4情報が記載され、e-Taxの確定申告など電子文書を送信する際に使用できます。 openssl で 署名用電子証明書の SAN (Subject Alternative Name) を見てみると以下のようになっていました。 $ openssl x509 -noout -ext subjectAltName -in CertUserSign*.cer X509v3 Subject Alternative Name: othername: 1.2.392.200149.8.5.5.1::【氏名】, othername: 1.2.392.200149.8.5.5.4::【生年月日X
2022-08-06 はじめに 以下の記事を参考にGPGのプライマリーキーとサブキーを作成してGitのコミットの署名をやってみたメモです。 脱線多めですが、自分用の記録ということで。 GnuPG - ArchWiki GPGで自分用の秘密鍵を1つに統一する · JoeMPhilips ED25519のGPGキーを生成してコミットに署名する - Weblog by shuuji3 GitのコミットにGnuPGで署名する - Qiita LXD でオフラインのコンテナを作成して起動 How to switch off networking for a container? - LXD - Linux Containers Forum によると eth0 をコンテナから削除すればオフラインで実行できるとのことなので、これでやってみました。 通常はコンテナの作成と起動は lxc launch サブ
2018-05-21 はじめに Ubuntu MATE 18.04 LTSの環境にオープンソースのアンチウィルスソフト ClamAV をセットアップしてみたメモです。例によっていろいろ試行錯誤した後に思い出しながら書いているので、多少抜けがあるかも。 インストール
2020-02-22 はじめに PSReadLine で PowerShell を bash のキーバインドにする - Qiita と PowerShellのキーバインドをEmacs風にする【PSReadLine】 - メモ.org を参考に設定したメモです。 インストール手順 PowerShell/PSReadLine: A bash inspired readline implementation for PowerShell と PowerShellGet のインストール - PowerShell | Microsoft Docs PowerShell を管理者権限で開き、以下のコマンドで PowerShellGet をインストールします。 Install-Module -Name PowerShellGet 次に PSReadLine をインストールします。 Install-Mod
2021-01-03 はじめに これまで私は Go 言語では flyingmutant/rapid (例)、 C++ では emil-e/rapidcheck (例) を使って property based testing を試してみました。 先日 QuickCheck in Every Language - Hypothesis で C言語用にも silentbicycle/theft というライブラリーがあることを知ったので試してみました。 まず README からリンクされている doc/usage.md と作者のブログ記事 Introducing theft Property-Based Testing for C を眺めたのですが、サンプルコードの断片はありますが完全なコードがありませんでした。 ブログ記事からリンクされている atomicobject/heatshrink: d
2021-10-31 はじめに OpenSSLのSSL_sendfileとパッチを当てたnginxでLinuxのkTLSを試してみた · hnakamur’s blog を書いてから1年半経って状況が変わっていたので再度試してみました。 9日前に SSL: SSL_sendfile() support with kernel TLS. · nginx/nginx@1fc61b7 で Linux の kernel TLS を使って sendfile するコードが nginx に入っていました。 コミットメッセージによると enable-tls オプションを有効にした OpenSSL 3.0 が必要とのことです。 検証環境 $ cat /etc/os-release | grep ^VERSION= VERSION="20.04.3 LTS (Focal Fossa)" $ uname -r
2020-11-28 はじめに envoyproxy/envoy: Cloud-native high-performance edge/middle/service proxy がビルドツールとして Bazel - a fast, scalable, multi-language and extensible build system" - Bazel を使っているので少し慣れておこうと2日ぐらい試行錯誤してみたメモです。 具体的には A Universal I/O Abstraction for C++ | cor3ntin で紹介されている facebookexperimental/libunifex: Unified Executors のサンプルのビルドを試しました。 libunifex 本家では cmake で libunifex 本体とサンプルをビルドするようになっていますが
2020-02-22 はじめに Windows Subsystem for Linux で ssh クライアントをしばらく使っていたのですが、 Windows 10にオンデマンド機能のOpenSSHサーバをインストールする方法:企業ユーザーに贈るWindows 10への乗り換え案内(45) - @IT で Windows 10 1803 以降では標準で OpenSSH が使えるようになっていることを知りました。 試してみたら快適だったのでインストール手順をメモしておきます。 OpenSSH クライアントのインストール Windows 用 OpenSSH のインストール | Microsoft Docs の手順に従って OpenSSH のクライアントをインストールします。 ここではPowerShell での手順をメモしておきます。 PowerShell を管理者権限で開き以下のコマンドで O
2020-08-14 はじめに 勤務先で共有されているVPN用のルート追加プログラムがあるのですが、 今まではショートカットを作ってGlobalProtectでVPN接続後に手動で実行していました。 今日時間を取って調査したら自動化できたのでメモです。 なおログインしているユーザーに管理者権限がある前提です。 Windows10のGlobalProtectでVPN接続後にプログラムを実行する設定 Deploy Scripts Using the Windows Registry に説明がありました。 レジストリエディターで HKEY_LOCAL_MACHINE\SOFTWARE\Palo Alto Networks\GlobalProtect\Settings\post-vpn-connect というキーを作成し、そこに command という文字列値で起動したいプログラムと引数を作成すれ
2020-05-25 はじめに Troubleshooting networking on macOS | Multipass documentation に Hypervisor.framework のVMのIPアドレスの変更方法が書いてあるのを見つけて試してみたのでメモ。 multipass のVM停止 vmnet の設定変更 /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist という設定ファイルにVMのサブネットのアドレス設定があります。 ちなみに vmnet macOS で検索すると macOS には vmnet というframeworkがあることがわかりました。 vmnet | Apple Developer Documentation 拡張子の .plist はプロパティリスト形式の設定ファイルを意味して
2018-05-04 はじめに How do I change the date format in Gnome 3 shell? - Ask Ubuntu を参考にしました。 日本語環境の場合デフォルトでは「金曜日 21 : 32」のようになっていました。 日付を表示 以下のコマンドを実行すると「5月 4日 (金) 21 : 32」という形式で日付も表示されるようになります。
2017-02-26 はじめに iptables-restoreのコードリーディング の続きです。 サーバ上の iptables の現状の設定が、自分が意図した設定と一致しているか確認したいというニーズがあります。 シェルスクリプトで iptables コマンドを順次実行する方式は大変すぎるので、 iptables-restore に自分の設定ファイルを渡して設定を反映させ、現在の状態は iptables-save で出力して、設定ファイルとこの出力を比較したらどうかと考えました。 しかし、この方式でもいくつか気をつける必要があります (これで全部ではないかもしれません)。 iptables-restore への入力ファイルに書いていないテーブル (* テーブル名 の行から COMMIT の行まで)も iptables-save では出力される。 iptables-restore への入力
2021-02-11 2021-06-26 追記 2021-05-07 に A New AWS SDK for Rust – Alpha Launch | AWS Developer Tools Blog という記事が出て、今後は awslabs/aws-sdk-rust に移行していくそうです。 今日確認したところでは rusoto/rusoto: AWS SDK for Rust の README に Rusoto is in maintenance mode. と書かれていました。 一方、 awslabs/aws-sdk-rust のほうは Please Note: The SDK is currently released as an alpha and is intended strictly for feedback purposes only. Do not use this
2020-12-10 2022-05-17 追記:別のスクリプトを書きました https://github.com/hnakamur/setup-my-ubuntu-desktop/blob/main/my-apt-add-repository 事前に gpg, coreutils パッケージがインストールされている必要があります。 使用例 curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x532a4a026239fc3baeb7869c60d954a11017341e' | my-apt-key-add - hnakamur-ubuntu-nginx-jammy 2021-07-21 追記:このスクリプトは使わないでください 第675回 apt-keyはなぜ廃止予定となったのか:Ubuntu Weekly
はじめに¶ Sphinx をDockerで使うためのDockerイメージを作成し hnakamur/sphinx - Docker Hub に公開しています。 このDockerイメージは ブロック図生成ツール blockdiag と UML作成ツール PlantUML も使えるように対応するSphinx拡張を組み込んであります。 以下ではこのDockerイメージを使ってSphinxを使う手順を説明します。 Docker ID作成¶ WindowsとmacOSの場合はDocker for Windows, Docker for MacをダウンロードするのにDocker IDというユーザIDの登録が必要になります。 Linuxでも自作のDockerイメージを Docker Hub で公開するにはDocker IDが必要になります。 Docker ID accounts のRegister fo
2018-05-10 はじめに 私は 私のnginxのカスタムrpmとdebをビルドする手順 でサードパーティモジュールを含んだnginxのパッケージをビルドしています。 このパッケージに自作モジュールを追加して開発するためのビルド手順を考えてみたのでメモです。 普通にソースのtarballを展開してconfigure, make, make installでも良いのですが、本番運用時はdebパッケージを使うので同じ構成のほうが良いというのとnginx-dbgというデバッグシンボルパッケージも作ってくれるのでこれも活用したいということで、以下の手順にしてみました。 例として nginx moduleをつくろう その1〜Hello, World〜 - bokko bokkoにしてやんよ の cubicdaiya/ngx_http_hello_world: Hello, World with
2020-08-13 はじめに Rust で書かれた UI Toolkit の OrbTk 0.3.1-alpha2 を試してみた · hnakamur’s blog の「おわりに」に書いたツールキットのうちgtk-rsとicedは試して gtk-rs 0.9.0を試した · hnakamur’s blogと Rustで書かれたGUIライブラリーのicedを試してみた · hnakamur’s blogに書きました。 icedが良さそうなのでdruidは試さなくてもいいかなとも思ったのですが How do Mozilla layoffs affect Rust? : rustのスレッドの コメント を見て試してみました。 試したバージョンは 0.6.0 です。 試したコードは hnakamur/druid-example に置きました。 Windows 10 druid example o
2020-08-09 はじめに サーバーのメトリックを確認するのに sysstat の sar コマンドが便利ですが、 ksar でグラフで見るほうがさらに便利です。 ということで手順をメモしておきます。 sysstat のインストールと設定 sysstat のインストール Ubuntu では以下のように sysstat パッケージをインストールします。 1分単位に記録するように設定変更 パッケージに含まれる sysstat の cron 用の設定ファイル /etc/cron.d/sysstat は以下のように10分ごとにメトリックを記録するようになっています。 # The first element of the path is a directory where the debian-sa1 # script is located PATH=/usr/lib/sysstat:/usr/
2018-05-04 はじめに nginx にはmainline版とstable版がありますが、 どのバージョンのnginxを使うべきか? - 考える人、コードを書く人 を参考に私はmainline版をベースにして openresty/lua-nginx-module などのモジュールを加えたカスタムdebパッケージを作っています。 この記事を書いている時点ではmainline版は1.13.xでstable版は1.14.0でUbuntu 18.04には1.14.0が入っているので、自作debをインストールした状態で apt update を実行するとstable版の1.14.0がアップデート対象として表示されてしまいます。 調べてみると apt-mark (8) というコマンドでバージョン固定できたのでメモです。 バージョン固定 sudo apt-mark hold パッケージ名 でバージ
2020-08-07 はじめに 初めてこの話題を聞いたのは umeda.go #2 で発表してきた - kawaken’s blog でした(スライドは Goの時刻に関するテスト)。 その節は良いお話をありがとうございました。 この時点ではGoのアプリケーションのビルド時にGoの標準ライブラリーのコードを差し替えるのは別の用途で試して便利だったものの、時刻に関するテストは自分では試してませんでした。 その後、自分でも試そうと思い、紹介されていたライブラリー以外のライブラリーも調べてみたのでメモです。 Mocking time and testing event loops in Go [Dmitry Frank] の記事がとても詳しくて素晴らしいです。 こちらのサンプルコードをベースにしたもので検証してみました。 time.Now() だけならライブラリーを使わない選択もある Goの時刻に
次のページ
このページを最初にブックマークしてみませんか?
『hnakamur.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く