いけむランド

はてダからやってきました

build.gradle のクソデカ化と戦っている

Log4Shell みたいなことが起きた時に慌てるのは嫌だなということで、去年の年末以降は dependency-check や trivy のレポートとにらめっこしてる。 (実際には 0-day は防げないため、直接は関係しないが、芽を摘んでおくことは良いことであるはず。)

github.com

github.com

続きを読む

If fixing a bug is a breaking change then it is a breaking change

仕様と実装が違っていて、実装を仕様にあわせる (不具合修正する) と、結果的に今の実装からの破壊的な変更 (breaking change) が発生する場合に semver の major を bump するべきか?がわからなかったため、ググったら面白いスレッドがあったから読んでた。

続きを読む

Differences between Verification and Validation

コードレビューなどをしていて、たまに「これってメソッド名として verify より validate の方が適切じゃね?(または逆)」というパターンを見かけることがあったため、自分の中での解釈をメモしておく。

以下、主観も入っていると思われるため、参考にする場合はほどほどでお願いします。

続きを読む

ctype: use less short names in public header

cygwin.com

今までだと _P のような、ユーザコードでも使われがちなシンボル (_[A-Z]) をマクロとして、グローバルなヘッダで定義してしまっていたため、コンパイル時に展開されて、文法エラーになるようなことが多々あった。

この修正でこの問題が解消されるようでありがたい。

#include <ctype.h>

void func()
{
    int _P;
}
$ gcc -c ctype.c
In file included from ctype.c:1:
ctype.c: In function ‘func’:
ctype.c:5:13: error: expected identifier or ‘(’ before numeric constant
    5 |         int _P;
      |             ^~