2022-01-01から1年間の記事一覧

2022年の収穫:やっぱりちゃんと単体テストしよう

単体テストという言葉の意味が人によって異なるのでややこしいのだけど、ここで私の言う単体テストは「関数やメソッドを単体で取り出して、そのインタフェース部分と内部実装に着目して実施するテスト」のことである。10年以上も職業プログラマをやっている…

書籍購入:『DNSがよくわかる教科書』

今までDNSに関わることを巧妙に回避してきたのだけど、先日DNS絡みの問題が起きた時に面子の1人として駆り出されて、全く役に立たなかった(どころか頓珍漢な発言を連発してしまった)ので、反省の意を込めて泥縄式に基礎知識を仕入れることにした。DNSがよ…

Dockerコンテナ停止とシグナル(SIGTERM)についての覚え書き

2年ちょっと前にDockerコンテナで「バックグラウンド・プロセスとして動作するデーモン」を起動/停止させる方法について書いた。 Dockerのコンテナ起動時にバックグラウンド・プロセスとして動作するデーモンを起動させたい - 新・日々録 by TRASH BOX@Eel …

パケットフィルタリングで不正パケットをDROPするかREJECTするか問題

最近iptablesのルールを弄っていて「不正パケットをDROPするのとREJECTするのでは、どちらがベターなのか?」と疑問に思って少し調べたので、メモを残しておく。現時点での個人的見解は「外部公開サーバではDROPを使った方がよさそう。他の環境では正直DROP…

各プラットフォームにおけるMACアドレスランダム化の振る舞い

これを書いている時点では、コンシューマ向け機器としては、Android・iOS・WindowsにおいてMACアドレスのランダム化を利用できる。では具体的に、MACアドレスをランダム化したらどのように振る舞うのか? 参考文書へのポインタと現時点での振る舞いの要約を…

Raspberry Pi向けのクロスコンパイル環境の整え方 2022年夏

4年ほど前にRaspberry Pi向けのC/C++クロスコンパイル環境を整えたのだけど、当時と今では環境構築の方法が異なるようだ。ということで、現時点(2022年8月)での「Linux上でRaspberry Pi向けクロスコンパイル環境を構築する方法」についてメモを残しておく…

書籍購入:『コーディングを支える技術』

個人的な調べ物の資料として購入。コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)作者:西尾 泰和技術評論社Amazon言語機能について歴史を踏まえて書いてある本なので、この本の記述を踏み台にして歴史的文献に当たれば…

書籍購入:『インサイドWindows 第7版 上』

そろそろ日本語版の下巻が出るようなので、第6版からの買い替え。インサイドWindows 第7版 上 システムアーキテクチャ、プロセス、スレッド、メモリ管理、他 (マイクロソフト公式解説書)作者:Pavel Yosifovich,Alex Ionescu,Mark E. Russinovich,David A. So…

書籍購入:『Linuxで動かしながら学ぶTCP/IPネットワーク入門』

LinuxのNetwork Namespaceについての参考資料として購入。Linuxで動かしながら学ぶTCP/IPネットワーク入門作者:もみじあめNextPublishing Authors PressAmazon本来意図しているだろう「TCP/IPネットワークの入門書」としては……個人的に、TCP/IPまわりは独学…

WindowsではCtrl-cでPythonのスクリプトを即時中断できないことがある

CPythonの既知の不具合に遭遇した。処理系本体ではなく、標準ライブラリの問題のようだ。界隈では有名な話かもしれないが、忘れないように個人的なメモを残しておく。具体的には、標準ライブラリのsocketを使用して自前でUDPパケットを受信する、以下のよう…

今までどのくらいプログラミング言語を触ってきたか(3秒で挫折したものものも含む) Ver.14

2022-06-19現在のステータス。 https://eel3.hatenablog.com/entry/2021/06/20/211327 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる…

Debian stretchからbusterにアップグレードした環境でiptablesからnftablesに乗り換える

Debian 10ではパケットフィルタリングまわりの設定に使用するフレームワークがnftablesに変更されたのだが、この変更が「既に運用中の『iptablesを使用しているDebian 9』」をアップグレードする際にどのような影響を及ぼすのか、メモを残しておく。(Debian…

河豚板のi386版でfiupdateを使いたい

先日Super-microDXにインストールした河豚板をfiupdateでアップデートしようとしたところ、すこしつまづいてしまったので、メモを残しておく。前提というか背景を書いておくと、Super-microDXにはコンパクトフラッシュのドライブ(リーダ?)が内蔵されてい…

お願いお助けOpenBSD

10年前に新品で購入したPCにインストールできるメジャーなOSが減ってきた。思案した結果、ひとまずOpenBSDベースの河豚板を使ってみることにした。件のPCは、ピノーが販売していたSizka Super-microDXという、少し癖のある代物だ。*1ピノー Sizka Super-micr…

プログラマはコミュ障じゃないよ

時にコミュ障とプログラマがセットで語られることがあるのだが、そもそもプログラマに占めるコミュ障の割合は他の職業と比較して有意に大きいのだろうか、という疑問がある。世間一般でいう「コミュニケーション能力」が具体的にどのような内容であるのか、…

さよならSDelete

新しいPCに環境を移行してから、SDeleteを使う機会が激減した。ここ1~2ヶ月は1度も使用していない。何のことはない、ようやくSSDモデルのPCに買い替えたのだ。以前のPCは2013年に購入したノートPCだ。当時は「クラウド・サービスのストレージにデータを置く…

Better C的なC++の使い方

C++をあまり深入りせずにBetter Cとして使うとこうなる。 事前準備:文法面の細かな差異を押さえる 細かいところにC言語とC++の非互換な部分があるので、それを押さえておく。例えば: 標準ライブラリのヘッダファイル名 例えばassert.hではなくcassert。ま…

汝テストアプリと侮るなかれ

信頼性のあるテストアプリやテストデータを用意できないと、十中八九モジュールは爆発する――私の職業プログラマとしての経歴の大半は、モジュールの開発に費やされてきたのだが、その中で悟ったことだ。振り返ると、何らかのアプリケーションなりシステムな…