2021年8月29日日曜日

Go 1.14からgoroutineがプリエンプティブになったらしい

goroutineはスレッドのようなものと説明されることが多いですが、一方でノンプリエンプティブ、つまり空の無限ループのようなコードを書いたら他のgoroutineにも処理が移らずにハングしてしまうとも説明されます。処理の切り替わりタイミングはめちゃくちゃ大雑把に言えばNode.jsのasync/awaitのようなものだと思ってください。内部処理は結構違いますが。

今までそう思っていたんですが、どうやらGo 1.14からプリエンプティブになったようです。Goを真面目に勉強している人にとっては今更感が強いでしょうけど、つい最近知ったんで勘弁してください。

見たのはここの記事。今回はそれについての検証です。

2021年8月22日日曜日

openssl verifyコマンドでシステム内のルート証明書を参照しない方法

現在、とある事情により普通のSSL証明書(Let's Encryptとかで取得したやつ)をオレオレCA証明書でクロス署名するという怪しげなことをやっています。

そんな怪しい証明書はどうやって作るんだと気になった方は今後の記事を楽しみにしていてください。そのうち説明します。

正しくクロス署名できているかを確認するためにopensslコマンドで検証しようと、以下のようなコマンドを入力してみました。

openssl verify -CAfile oreore-ca.pem -untrusted inter.pem server.pem

oreore-ca.pemがオレオレCA証明書、inter.pemが中間証明書、server.pemがサーバー証明書です。

この方法で無事OKのメッセージが出て検証成功したんですが、念のためにエラーケースも確認しようと-CAfileに全然関係ないルート証明書を指定したところ、なぜかそれでも検証成功してしまいました

今回はその奮闘記です。上の情報だけで原因と解決方法がわかった方はこの記事はスルーしてください。

2021年8月15日日曜日

エンジニアが大量に退職するとき

 なんとなく書きたくなったので、ここに書き散らしておきます。エンジニアに限らない話かもしれませんが。

最初に言っておきますが、退職者が常に大量出ている(そしてそのために常に大量に新規募集をしている)ような職場の話ではありません。人が入っては数ヶ月で辞めるを繰り返している職場はなにか慢性的な問題を抱えていると思いますが、そのあたりの話はここではしません。

退職は必ずしも後ろ向きな理由だけではなく、さらなるステップアップのために退職することもあるので一概によくないことというつもりはありませんが、短期間に大量に退職者が出るということはステップアップ以外に何かしらの理由があると思うので対策を打ったほうがいいかもね、という話をします。

結論から言うと、会社の内部に理由があることもあれば外部に理由があることもあり、それ以外の理由のこともあります。「全部言えばどれか当たるに決まってるだろ何いってんだこのクソ雑魚無能手品オタク」と思うかもしれませんが、理由がいろいろあるということは理由を見誤らないようにしないといけないということでもあり、見誤るとさらなる退職者が出る可能性があります

それでは見ていきましょう。

2021年8月8日日曜日

Install SSH Key v2.3.1を公開しました

 Install SSH Keyの最新版v2.3.1を公開しました。上がったのはパッチバージョンということから推測できるとおり、割とショボ目の変更です。

2021年8月1日日曜日

REST APIの特殊な場合その2

以前、「REST APIの特殊な場合のエンドポイント集」と題していくつかの案を載せましたが、今回はその続きです。

テーマは「論理削除と物理削除」です。