2023年6月25日日曜日

アクセスコントロールの責任分界点

 先日転職ドラフトの情報漏洩事故がありましたね。この事故に対する重大さの感覚がエンジニアと非エンジニアで(さらにいうならエンジニア間でもレベルによって)まるで違うように思えたので、ちょっと取り上げます。

2023年6月18日日曜日

ネット投票

ネット投票法案、立憲と維新が共同提出 全選挙の投票24時間可能案

前にもネット投票についてこのブログで取り上げたことがありますが、それとは別の切り口で。

2023年6月11日日曜日

sedで簡易URLエンコード

需要がどれだけあるかわかりませんが、使えたら使ってください。POSIX sedでもGNU sedでも動作します。

sed -r \
	-e 's/%/%25/g' \
	-e 's/\$/%24/g' -e 's/\(/%28/g' -e 's/\)/%29/g' -e 's/\*/%2A/g' -e 's/\+/%2B/g' -e 's/\//%2F/g' -e 's/\?/%3F/g' -e 's/\[/%5B/g' -e 's/\]/%5D/g' \
	-e 's/!/%21/g' -e 's/#/%23/g' -e 's/&/%26/g' -e "s/'/%27/g" -e 's/,/%2C/g' -e 's/:/%3A/g' -e 's/;/%3B/g' -e 's/=/%3D/g' -e 's/@/%40/g' \
	-e 's/ /+/g'

関数化すれば、シェルスクリプト内でパイプ的に使えるのでまあまあ便利かも?

function urlencode() {
	sed -r \
		-e 's/%/%25/g' \
		-e 's/\$/%24/g' -e 's/\(/%28/g' -e 's/\)/%29/g' -e 's/\*/%2A/g' -e 's/\+/%2B/g' -e 's/\//%2F/g' -e 's/\?/%3F/g' -e 's/\[/%5B/g' -e 's/\]/%5D/g' \
		-e 's/!/%21/g' -e 's/#/%23/g' -e 's/&/%26/g' -e "s/'/%27/g" -e 's/,/%2C/g' -e 's/:/%3A/g' -e 's/;/%3B/g' -e 's/=/%3D/g' -e 's/@/%40/g' \
		-e 's/ /+/g'
}
echo "a*a + b*b != c*c" | urlencode

制御文字やASCII範囲外の文字には対応していないので限定的にしか使えませんが、場合によってはまあ使えるんじゃないかと思います。

ちゃんとしたものが必要なら、JavaScriptなりPHPなり専用の関数を備えた言語で書くのが確実です。

2023年6月4日日曜日

ウェブのBaseline

 Web標準に新たなステータス「Baseline」が登場。変化し続けるWeb標準のうちWeb開発者が安心して使える機能群を示す。MDNドキュメントなどで表示開始

これは朗報。特に「Chromeだけで動けばいいや」ではなくて多くのブラウザーに対応したいサービスにとってはいい規定だと思います。

今までは、使いたい機能がCan I use...とかでどのブラウザに対応してるかを一々調べた上で独自の基準で採用するかどうかを決めていたと思いますが、今後は「Baselineに載っているかどうか」という簡単な基準を使えるようになるので、システムの発注側にとってもありがたい基準なのではないでしょうか。