Excelファイルから表を作るSphinx拡張について、埋め込み画像に対応しました。 特にオプションなどは必要なく、画像が使用されたExcelファイルを指定すれば、そのまま画像が利用されます。 .. xlsx-table:: :file: path/to/xlsx/embedded-images.xlsx 以下の…
ansible_port変数の値をPlaybook/インベントリで指定する ansible-playbookの--extra-varsで指定 ansible-playbookの--ssh-common-args 理解すると、まあ、その通りなのだけど、だいぶ迷走したのでまとめとく。 環境 Ansible 2.9.6 Ubuntu 20.04.1 LTS (WSL2…
podmanでdocker-composeを使用すると、イメージのビルド時に「FileNotFoundError: [Errno 2] No such file or directory: 'docker':」が出る イメージビルド時にdockerコマンドを実行するが、dockerコマンドが無いため /usr/local/binなどにdockerという名前…
GitHubで適用する時など用。身も蓋もないけど「plaintext」で検索かければ引っかかる。 「Creative Commons License plaintext」で検索 Plaintext versions of Creative Commons 4.0 licenses 公式サイトのフッターの検索で「plaintext」を検索してもOK。 UR…
ライブラリというよりは実装アイデアという感じ。ロギングの課題を解決するために考えていところ、構造的に割と面白かったので組んでみた。 組んだ後でスタックトレースで良いのでは?とも思ったけど、まあ、マルチプラットフォームで取ったり、整形したり、…
Google TestのValue-Parameterized Tests testing::TestWithParam、TEST_P、INSTANTIATE_TEST_SUITE_Pを使う 他の (言語の) テスティングフレームワークで、同一のテストを異なるデータで実行するデータドリブンテストの機能があって、これGoogle Testでも無…
使用する / 使用しない、行 / 列を指定するオプションを追加 v1.0.0としてリリース Excelファイルから表を作るSphinx拡張について、v1.0.0としてリリースしました。 が、足りない機能があるような無いような...(まあ、必要性がはっきりしたら追加すれば...) …
sphinxcontrib-xlsxtableを作る際に参考にしたところ。 最終的にはdocutilsのソースコードまで見ました。 導入その1はSphinx-Users.jpの拡張開発最初の一歩 導入その2はSphinxのドキュメントExtending Sphinx PyPIのパッケージに関してはPyPIのヘルプから飛…
Xcodeでgcov形式のカバレッジデータ (ステートメントカバレッジとブランチカバレッジ) を出力 gcoverで可視化 Xcode単体では可視化できないブランチカバレッジを取り扱える。 Xcodeへのシームレスな統合は失われるが、設定・実行は簡単で、手順はシンプルに…
ステートメントカバレッジ (C0) 相当を計測できる C++コードの計測が可能 hppはコンパイル対象のファイルとして含める必要がある 厳密にはラインカバレッジらしい。また、ブランチカバレッジは取れない。 環境 macOS 10.15.5 Xcode 11.5 C++ ヘッダーオンリ…
sphinxcontrib-xlsxtableをCLIで呼び出し可能にした グリッドテーブル文字列を一旦ファイルに書き出してから、ドキュメントに組み込むことができる グリッドテーブルがファイルに残るので、Git運用との相性がよさそう モジュール実行 sphinxcontrib-xlsxtabl…
SphinxでExcelファイルから表 (テーブル) を埋め込むSphinx拡張を作りました。 PyPI sphinxcontrib-xlsxtable GitHub sphinxcontrib-xlsxtable 機能的に不十分だったり、Pythonモジュールよくわかってなかったり、PyPIの理解も不十分だったりしますが、まあ…
% openssl aes-128-cbc -e -iv 00000000000000000000000000000000 -K 30313233343536373839414243444546 -nosalt -in data.txt -out out.txt -ivはCBCモードの初期化ベクターで、16進数値で指定する -Kは暗号化キーで、16進数値で指定する -nosoltは暗号化デ…
2015-10-24にOpenSSLでの暗号化の記事を書いたけど、 最近になって試したところコンパイルできなくなっていたので、その修正版。 昔の記事、バージョン書いてなかったから差がわかんね。 環境 OpenSSL v1.1.1d (ソースからビルド) macOS 10.15.3 Xcode 11.3.…
Seleniumとテスティングフレームワークについて調べながらTweetしていたところ、CodeceptJSを薦められるってことがありまして。...ネタか?と思ったりもしたものの、思想的にも作り的にも面白く、今回テストの自動化にあたり、狙っている領域にうまくはまり…
SeleniumとChromeでHTMLをコントロールしてみる。使用環境はNode.js。 環境 Windows 10 1809 Google Chrome 76.0.3809.100(Official Build) (64 ビット) Node.js v10.16.2 Selenium 4.0.0-alpha.4 ChromeDriver 76.0.3809.68 セットアップ 作業用に適当…
MacでC++のプログラミングをしているとCoreFoundationでは機能が足りないことがある。これまではObjective-Cの関数をC言語スタイルの関数にラップして使用するということをよくやっていた。 今回どうせならObjective-CではなくSwiftでやれないかと試したけど…
loginctlやsystemd/sd-login.hのAPIを用いてログインセッションなどの現在状態が取得できる。加えて、monitor APIが用意されていて、各種変更の検知/通知の受け取りが可能となっている。 sd_login_monitor_newで監視オブジェクトを生成 pollでイベントを待ち…
Linuxのログイン情報の取得について調べているときに、wコマンドの実装について気になった。巡り巡って/var/run/utmpとgetutentにたどり着くんだけど、ファイルについてはwコマンドのman pageに記載があった。 getutxent APIでutmpの中身を読むことでログイ…
loginctlで色々とセッション情報が取得できるのはわかったけど、じゃあプログラムから参照する方法はなんだと調べて行ったらsystemdのsd-loginに行き着いた。 systemd/sd-login.hのAPIでloginctlから得られる情報をAPI経由で取得できる systemd-develのイン…
LinuxでGUI表示中のユーザーかどうか(セッションがアクティブかどうか)を調べる方法がないかと調べて行ったらloginctlに行き着いた。Linuxの(というかsystemdのか?)セッションに詳しくないのでフレーズの使い方が微妙なんだけど、概ね必要な情報は取れ…
本記事に記載のOpenSSLはバージョンが古いです v1.1.1dのAPIについてはこちらの記事をどうぞ OpenSSLを使ってAESで暗号化。 暗号化 #include <openssl/evp.h> EVP_CIPHER_CTX ctx = {}; EVP_CIPHER_CTX_init(&ctx); // 暗号化の設定で、EVP_aes_128_ecb等いろいろ const uns</openssl/evp.h>…
ちょっと必要になって調べてた。呼び出す関数はExitWindowsExなんだけど特権の調整が必要で単純に呼び出すだけでは成功しない。 ExitWindowsExから調べていって、LUID_AND_ATTRIBUTESのところで... Its meaning is dependent on the definition and use of t…
あたり前っちゃーあたり前なんですが、Win32を呼び出す際の選択肢として、なぜかラムダを使うという選択肢が思いつかなかった。 delegate Boolean EnumWindowProc(IntPtr hwnd, IntPtr lp); [DllImport("User32.dll")] private static extern Boolean EnumWi…
ためしにやったら動いた。さすがC++。 #include <Windows.h> #include <iostream> int main() { HWINSTA sta = GetProcessWindowStation(); EnumDesktops( sta, [](LPTSTR desktop, LPARAM lp)->BOOL { std::cout << desktop << std::endl; return TRUE; }, 0); } Win32は列挙系で</iostream></windows.h>…
ホットキー用のコントロールを自前で作る際のポイント。TextBoxのオーバーライドとかは必要なくて、UserControlから十分作れそうな感じ。 ポイントはPreviewKeyDownで処理すること。KeyDownだとCtrl+Aで全選択されたり、特定のキーを拾えなかったりする。 th…
Windows Forms同じくオーバーライドかなぁと思っていたら全然違いました。 using System.Windows.Interop; var wnd = new Window(); wnd.Show(); // Show()の後で無いと取れません。 var handle = new WindowInteropHelper(wnd).Handle; var src = HwndSourc…
WPFでHot Keyを取り扱う方法です。登録自体はWin32を用いますが、仮想キーの取り扱いやWindow Handleの取得方法なども課題になります。 順番に。登録・解除はWin32。 using System.Runtime.InteropServices; [DllImport("User32.dll")] private static exter…
プロセスを起動する際は、通常、元のWindow Stationとデスクトップを引き継ぎますが、CreateProcessではこれらを明示的に指定できるようになっています。 STARTUPINFO si = {}; si.cb = sizeof(si); si.lpDesktop = "WinSta0\\AltDesktop"; PROCESS_INFORMAT…
Windowsのデスクトップはそもそも一つではありません。デスクトップはWindow Stationによって管理されており、既定でDefault、WinLogon、ScreenSaverがあることになっています。 プロセスはWindow Stationに、スレッドはデスクトップにひも付く感じになって…