大量のファイルを HTTP でダウンロードするときや、複数のタスクを並列に実行したいとき、プログラム自体を並列に書き直すのは手間がかかります。そこで、便利なのがシェルの xargs コマンドです。 GNU 版 xargs を使えば並列処理をお手軽に実現できます。 …
WEB フロントエンドの JavaScript 開発では、非同期の操作を行う必要が多々あります。コールバック関数はそれらシナリオで頻繁に使われますが、複雑になりがちで、複数のコールバック関数が絡まる問題、通称「コールバック地獄」と呼ばれる状況を生成します。
JavaScript は ES6 で Promise を導入し、ES7 では async/await 構文を提供しました。これらの新機能により、非同期コードをより一貫して読みやすい形式で表現することが可能です。この記事ではコールバック関数を Promise に変える方法を示します。 …
OSS を活用したクラウドサービス開発では、使用する OSS のライセンス管理が重要です。中でも、クラウド提供を頒布行為とみなす AGPL ライセンスの OSS が混入すると法律的な問題に発展する可能性があるため、これを確実に避ける必要があります。
今回は Python 開発において、ライセンス管理を助けてくれるツール pip-licenses について具体的な使用方法を紹介します。 …
systemd のサービス設定には RuntimeDirectory という、/run 以下にプログラム実行用のディレクトリを自動的に作成してくれる素晴らしい項目があります。
これの /var/log 版はないものかと思っていたところ、LogsDirectory というドンピシャなものが存在しました。私と同じことを思っていた方もいるかもしれませんし、インターネット上であまり情報が転がってなかったので、今回はこれを紹介します。 …
Unity でエディター拡張パッケージを作成していて、パッケージ利用者がソースコードから設定(定数)を変更できる仕組みを考案しました。partial クラスを用いて実現しています。
純粋な C# スクリプトのみで動作するので、設定ファイルを読み込むロジック作成が不要になります。 Unity 以外でも、使い所はないかもしれないですが応用可能です。 …

HTML/CSS で作成したデザインをパーツごとにペイントソフトに持っていき画像編集したいという状況がありました。最近のブラウザーは要素ごとのスクリーンショット撮影機能があり、該当領域だけを正確に画像化できます。しかし、上位ノードの要素(背景)を含めずに、関係ない部分を透過で撮影する方法が分かりませんでした。
この場合、Safari を使うと、簡単に要素のスクリーンショットを背景透過で撮れます。 …
PHP で、そのスクリプトが直接実行されたのか判定し処理を変える方法を紹介します。この方法を使うと、Python の if __name__ == "__main__" と同等の分岐が可能です。 …
SSH トンネリングで SOCKS プロキシを立てることで、社内ローカルページにアクセスする技は結構便利です。コロナ禍では、大学研究室内のページへアクセスするのにお世話になりました。
しかし、GUI でブラウザのプロキシ設定を変更する必要があり、後で戻す作業がいちいち発生する点が面倒でした。
Google Chrome (正確には Chromium)1 にはコマンドラインでプロキシ設定を一時的に適用して起動するオプションがありましたので紹介します。 …
外出先から家の PC を触りたいことがそこそこの頻度であり、autossh と systemd を使って SSH トンネルを永続化しました。インターネットに公開されている VPS に対して、自宅 LAN 内のラズパイから Windows PC へリモートデスクトップ用のトンネルを引き込み、外から PC を使えるようにしました。 …

Steam でコントローラーの種類 (Xbox or PS3) が誤認識されることがあったので、対処法をメモします。 …
PC を新調した際に、Windows のディスクを移設したのですが、以前の無効なアカウント情報が残ってしまう状況に遭遇したので対処手順をメモします。 …