ツール

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

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

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

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

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

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

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

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

さよならSDelete

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

なぜGitは難しいのか(あるいは「難しいツール」だと感じるのか)?

ユーザとして2~3のバージョン管理システムを扱った後、4つ目に出会い今も使い続けているGitだが、使い始めてから7年以上経った今でも「難しいツールだな」という感想を抱く瞬間がある。私は元々、集中型のバージョン管理システムを長らく使用してきた。Git…

シミュレーション用のREPL環境としてPowerShellを使う

プログラマにとって、使い慣れたプログラミング言語のREPLは非常に便利なものだ。電卓代わりの計算機としても、コーディング時にちょっとした機能を探求的に実装していく実験環境としても、REPLは非常に重宝する。ここ2~3年は、ちょっとしたシミュレーショ…

Dockerのコンテナ停止時にバックグラウンド・プロセスとして動作しているデーモンを適切に終了させたい

続き。前回、下記のような書き方だとコンテナを停止する際に問題を引き起こす可能性がある、と書いた。 FROM amazonlinux:latest # 色々と準備(省略) # コンテナ起動時に秘伝のデーモン magic-daemon を起動する。 # その後、コンテナを終了させないように…

Dockerのコンテナ起動時にバックグラウンド・プロセスとして動作するデーモンを起動させたい

Dockerのコンテナを起動する際に何らかのデーモンを起動させたい、という要求は結構多い(というか実務的にはむしろそれが主目的ではないか)と思うのだが、「何らかのデーモン」がバックグラウンド・プロセスとして動作する代物だと、若干ハードルが上がる…

「ANOMALY: use of REX.w is meaningless」問題の闇は深い

id:eel3:20160909:1473422844 に書いた、コマンドプロンプトで64bitビルドのコンソールアプリを使うと次のようにエラーメッセージが出力される問題: [0x7FFFB4DF70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)ひとまず、 ウイル…

Windows 7からWindows 10に移行する際に継続利用を止めてみたツール

開発環境をWindows 7から Windows 10に移行したところだが、今まで利用してきたツールの一部について、継続利用を止めてWindows 10の標準機能で過ごしてみることにした。 Adobe Acrobat Reader デフォルトで、Microsoft EdgeでPDFを見れるようになったため、…

ANOMALY: use of REX.w is meaningless (default operand size is 64)

Windows 10に移行してから、私の環境ではコマンドプロンプトでコンソールアプリを使う度に、高い確率で次のようにエラーメッセージが出力されるようになった。 [0x7FFFB4DF70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)ただし上…

改訂版:WindowsにNode.jsを手動インストールする方法

id:eel3:20140309:1394294944 から若干状況が変化したようで、Node.jsをWindowsに手動インストールする方法がほんの少しだけ楽になった。以前の方法では、node.exeとnpmのアーカイブを別々に取得してセットアップしていたのだが、いつの間にかnode.exeとnpm…

netcatによるTCPでのファイル転送は2パターンある

タイトル名の通りのことを今更ながら実感したので、記録を残しておく。netcat(nc(1))を使って、TCPで簡易的にファイルを転送する方法は2パターンある。ファイルを送る側のコンピュータでlistenする方法と、ファイルを受け取る側のコンピュータでlistenする…

Tlistを改造してExuberant Ctagsにファイルエンコーディングを指定できるようにした

Windows上のKaoriYa版VimにてExuberant Ctags日本語対応版とtaglist.vimを組み合わせて使っているのだが、最近になってCtagsのタグ生成に失敗することがあることに気づいた。具体的には、UTF-8で書かれているC++のソースコードのタグを生成させた時に、ソー…

ECL (Embeddable Common-Lisp) 15.2.21をVisual Studio 2013でビルドした記録

ECLをLinux上でビルドするのは簡単だったが、Windowsではダメダメですな。同根のINSTALLファイルによれば、Visual Studio 2008のコマンドプロンプトを使用して、 pushd <path\to\ecl-15.2.21>\msvc nmake nmake install これで、最終的には\msvc\packageにビルド済みバイナリ一式</path\to\ecl-15.2.21>…

Linux(Ubuntu)にNode.jsのバイナリを手動インストールする方法

id:eel3:20140309:1394294944 の続きというか、ついでというか。Node.jsのプロジェクトでは、x86とx86_64向けのLinux用バイナリも配布している。これの手動インストール手順を確かめてみた。環境はUbuntu 12.04 LTSだ。 公式サイトのダウンロード一覧から、L…

WindowsにNode.jsを手動インストールする方法

(※2016-08-28:この記事の内容は古いので id:eel3:20160828:1472388242 を参照のこと)id:eel3:20140308:1394260858 の続きかもしれない。Node.jsにはWindows用のインストーラが存在する(しかも公式に配布されている)というのに、なぜ手動でインストール…

CoffeeScriptの手動インストールは諦めた

気がついたらCoffeeScriptも1.7.1である。CoffeeScript 1.3.3の頃から、公式サイトで配布しているアーカイブとnode.exe単体の構成(npmなし!)にて、Windows上にcoffeeコマンドを実行できる環境を構築していた。残念ながら、その環境は1.6.3までしか使えな…

身辺整理用ファイル削除ツールあれこれ

身辺整理というか、開発用機材の入れ替えだ。新しいPCに移行するので、返却する古いPCのHDDデータを削除する必要があるのだ。今まではWindowsだけで、しかも1回に1台のPCだけで済ましていたというのに、なぜか今回はWindows・Mac・LinuxのオールスターPC軍団…

Windows XP (32bit) から Windows 7 64bitに移行するとツールが32bitやら64bitやら……

Windowsのバージョンアップに伴って諸々の作業が発生したのは「Windows 98 --> Windows 2000」の切り替え以来なのだけど、ツールやらドライバやら色々としがらみが増えた今回の方が大変な気がする。昔は身軽だった……。備忘録代わりに、Windows 7インストール…

WindowsでMongoose 3.2で色んな言語でCGIしてみた

クロスプラットフォームの軽量HTTPサーバというか・HTTPサーバライブラリというか、Mongooseをちょっと触っている。Apacheやlighttpdなどに比べると対応していない機能も色々とあるけど、小さいしインストールや使い方は単純だしCGIやSSLぐらいには対応して…

組込み系でクライアントサイドしたいJavaScript素人へのJavaScript開発入門の補講

世の中にはJavaScript入門の記事や本なんて山ほどあるし、ググればツールの情報も色々と出てくる。プログラマなら例えJavaScriptの素人であっても何とかなるぐらいのネタはある訳で、今さら同じようなことを書いても無駄だろう。なのでこのエントリでは、 組…

改めてvimでGroovyのコードを書く為の準備 2012年版/勉強用にちょっとしたスクリプトを書きたい人向け

vimでGroovyのコードを書けるように準備しようと情報を漁ってみたのだけど、微妙に内容が古いようだ。例えばGroovyの公式サイトにvim用のプラグインが2つ掲載されているのだけど、最近のvim(例えばKaoriya版)を使っているならシンタックスハイライト用のプ…

Javaで動作する各種言語処理系の手動インストール方法メモ

個人的にここ最近Javaプラットフォームで動作する言語処理系に触れることが多い。といっても仕事じゃなくて個人的な勉強――という名の趣味の範疇なのだけど。で、ちょっと困ったのがインストール方法。インストーラ付きのパッケージもあるのだけど、趣味やら…

sng(PNGのマークアップ言語SNG用コンパイラ)をWindowsに仮移植し、MinGWでビルドする

id:eel3:20120615:1339768796 でzlibをビルドし、id:eel3:20120616:1339815893 ではlibpngをビルドした。全てはWindowsでsngを使う為に……ソ○モンよ! 私は帰って来た!SNG(Scriptable Network Graphics)というマークアップ言語というかミニ言語がある。PNG…

libpng-1.2.49、libpng-1.5.10をMinGWでビルドする

id:eel3:20120615:1339768796 にてMinGWでzlibをビルドした理由はlibpngを使う為だ。zlibと同様にlibpngのバイナリもLibPng for Windowsで入手できるものの、こちらも微妙に古い。しかもセキュリティホールが残っているバージョンだ。そこでlibpngも最新版を…

zlib-1.2.7をMinGWでビルドする

Windows上でzlibが必要になった。libpngを使おうとしたら依存関係の都合でzlibも欲しくなったのだ。zlibのバイナリは例えばZlib for Windowsなどで入手できるものの、微妙に古い。そこで最新版だと思われるzlib-1.2.7をMinGW*1でビルドすることにした。ソー…

コマンドプロンプトから色々な処理系でワンライナー:2012年バージョン

id:eel3:20090321:1237633275 から3年。手元のPCに何故か入っている言語処理系の数が増えた結果、コマンドプロンプトからワンライナーできる処理系も増えた。これはもうワンライナーするしかないだろう。いやあ、頑張ればF#も(厳密にはワンライナーじゃない…

JavaCASL2(IPA公式(?)のCASL IIシミュレータ)クイックガイド for Linux (Ubuntu 10.04) and Windows XP

ものすごーく久しぶりに――具体的には6年ぶりぐらいに――偽アセンブラであるCASL IIを触ってみようと思い立ったのだけど、WindowsはともかくLinux上で使えそうなシミュレータがなかなか見当たらない。「Linux CASL」等でググってもIPAのサイトで公開されている…