LANに接続している機器のIPv4アドレスを列挙する(ping絨毯爆撃) Windows無情編

続きというか、以前はUnix環境での話だったので、今回はWindowsでpingで絨毯爆撃してLANに接続している機器のIPアドレスを列挙してみたい。eel3.hatenablog.comまずはシンプルに、バッチファイルで逐次実行する方法。 @echo off setlocal set ADDRBASE=192.0…

LANに接続している機器のIPv4アドレスを列挙する(ping絨毯爆撃)

たまにLANに接続している機器のIPアドレスを知りたい時がある。PCやゲーム機あたりなら本体の機能でIPアドレスを確認すれば済む。しかし相手がホームゲートウェイ/ブロードバンドルータや無線LANアクセスポイントやUSBメディアサーバで、ハードウェア本体に…

「プログラミング経験者向けのCプログラミングの入門書」が欲しい

タイトルに書いたことが全てだが、思考の整理を兼ねて、もう少し深掘りしてみたい。以下に示す要求に合致した書籍の類を探しているのである: C言語(言語仕様)よりも「C言語を用いたプログラミング」に主軸を置いた内容。 最低でもC99、できればC11/C17の…

書籍購入:『C言語本格入門 基礎知識からコンピュータの本質まで』

故あってC99以降に対応したC言語の入門書を探している(4回目)。自習用として問題なさそうなやつ。あと、プログラミング初心者向けの冗長な内容ではなく、プログラミング経験者でも読み進めやすい簡潔な内容のもの。C言語本格入門 ~基礎知識からコンピュー…

書籍購入:『独習C 新版』

故あってC99以降に対応したC言語の入門書を探している(3回目)。自習用として問題なさそうなやつ。あと、プログラミング初心者向けの冗長な内容ではなく、プログラミング経験者でも読み進めやすい簡潔な内容のもの。独習C 新版作者:arton翔泳社Amazon初めて…

書籍購入:『ザ・理工系のためのC C99準拠』

故あってC99以降に対応したC言語の入門書を探している(2回目)。自習用として問題なさそうなやつ。あと、プログラミング初心者向けの冗長な内容ではなく、プログラミング経験者でも読み進めやすい簡潔な内容のもの。ザ・理工系のためのC―C99準拠 (NSライブ…

書籍購入:『C言語プログラミング入門 C99対応』

故あってC99以降に対応したC言語の入門書を探している。自習用として問題なさそうなやつ。あと、プログラミング初心者向けの冗長な内容ではなく、プログラミング経験者でも読み進めやすい簡潔な内容のもの。C言語プログラミング入門―C99対応―作者:田中敏幸コ…

NAND型フラッシュメモリ直付け時代の内蔵ディスクの残存データ対策

身近な汎用のコンピュータの内蔵ディスクがHDDからNAND型フラッシュメモリ(SSDやeMMC)に移行して久しいが、あらためて内蔵ディスクの残存データの取り扱いについて考えたい。デバイスの特性に基づく考え方の変化については、HDDからSDDへの移行期に語りつ…

PINコード(数字のみ)を生成する

暗証番号やPINコードに使えるような、指定された桁数のランダムな整数値を生成したいのである。英数記号を用いたパスワード文字列の自動生成については知見があるのだが、「数字のみ」という条件が付いた途端に、「あれ? そういえば、どう生成すればよいの…

『単体テストの考え方/使い方』ファースト・インプレッション

パッと見の印象:テスト駆動開発あたりの文脈から出てきた「単体テスト」についての、「良いテスト」について論じた本。単体テストにフォーカスしたソフトウェア・テストの本で、しかも「具体的なテストのやり方」ではなく抽象的な視点で論じているものって…

書籍購入:『単体テストの考え方/使い方』

単体テストについて論じたソフトウェア・テストの本は持っていなかったので、とりあえず買ってみた。単体テストの考え方/使い方作者:Vladimir Khorikovマイナビ出版Amazonファースト・インプレッションについては、あとで書く予定。

Dockerがファイアウォールに穴を空けるとはどういうことか?

1週間ほど前の下記blog記事が気になったため、少し調べてみた。似たような事例に引っかかった人はそれなりにいるようだ。jun-networks.hatenablog.com調べてみての感想は: 「なんでデフォルトがinsecureやねん!」という利用者の心の叫びは真っ当だけど、で…

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

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

改行コードを問わずにテキストファイル中の連続する空白行を1行に縮めて上書きしたい

注文の多いタイトルである。 テキストファイル中の連続する空白行を1行に縮めたい。 縮めた結果を元ファイルに上書きしたい。元ファイルのバックアップは残さなくてよい。 CR、LF、CRLFのいずれの改行コードのファイルでも使えるようにしたい。 出力結果では…

Lispマル非入門

コンピュータは電子計算機とも訳されるように計算に用いるのが本流である、という信念*1の元に、私はちょっとした計算にもパソコンを用いている。当然ながら*2計算にはLisp処理系のREPLを使用する。*3ちょっとした計算にてLisp処理系のREPLを用いるメリット…

macOS上で削除できないファイルのロックを解除する(ターミナルで)

WindowsとmacOSを本格的に併用していた時期に気づいたのだが、Windowsで「読み取り専用」に設定したファイルは、macOSではロックされたファイルとして認識されるようだ。明示的にロックを解除しない限り、macOSのFinderでは削除できない。Windowsでは誤って…

SSDのブランドの選び方 2023年春

2022年後半はNANDの価格の下落が進み、その影響か有象無象の格安SSDをよく見かけるようになった。SSDの中身は、乱暴に言ってしまえば「NANDチップを含む電子部品が実装された基板」だ。HDDとは異なり、モーターのような精密な機械部品を含まない。必要な電子…

書籍購入:『スーパーエンジニアへの道 技術リーダーシップの人間学』

『プログラミングの壺 I ソフトウェア設計編』に続いて、古典を読んでみようと思い立って購入。スーパーエンジニアへの道―技術リーダーシップの人間学作者:G.M. ワインバーグ共立出版Amazonあとで書く。

書籍購入:『プログラミングの壺 I ソフトウェア設計編』

Amazonにて定価で売っていたので購入。プログラミングの壺 I ソフトウェア設計編作者:P.J. プローガ共立出版Amazon職業プログラマになって日が浅い頃に図書館で借りて読んだのだけど、なかなか難しい代物で読み進めるのに苦労した。そこで、時間をかけて読み…

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はひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる…