複数のバージョンのPythonを使いたいときはありませんか?ありますよね?そう,あるんですよ!そんな要望に応えてくれるのがpyenvです.ということで,pyenvの導入方法のメモです.巷には環境分離ツールがあふれかえっていますが個人的にはpyenvで複数バージョンを管理してvenvでパッケージ環境を切りわけるような使い方がもっともシンプルであらゆるニーズに対応できるのではないかと思っています.
以前,当サイトで公開していたエントリーのリライトになります
Unix系のシステムではSystemVとPOSIXのメッセージキューを使用することができる場合が多く,お手軽にIPCを使いたい場合このあたりが選択肢になるのではないかと思います.(とはいえ,いろいろ考慮してちゃんと実装しようとすると結構大変なのでプロダクトへの採用は慎重に…)
カーネルの機能として実装されているためWSL(2じゃない方)では使えなかったりするのでそのあたりは注意が必要です.
手元の Ubuntu を 20.04 から 21.04 に変えたらデフォルトセッションが Wayland になったことで /usr/share/X11/xorg.conf.d の設定が効かなくなりましたので udev hwdb を利用した,Wayland でも使える設定方法をメモしておきます.
リソースが潤沢とはいえない組込みシステムにおいて,ある機能の使用前と使用後でリソース(特にメモリの使用量)が同じ状態に戻るということはとても重要なことです.しかし組込Linuxシステムにおいて,メモリリークのような不具合が見当たらないにも関わらずある機能の使用後にすべてのメモリが開放されていないと思われる動きをすることがあります.
本稿ではメモリアロケータの動きからこういった現象が起きる原因を紐解き,メモリの確保や解放をどのようにするべきなのかを考えていきたいと思います.