プログラミング
1 / 2 ページscikit-learn のロジスティック回帰モデルを自動微分できるよう PyTorch モジュール化
scikit-learn で学習したロジスティック回帰モデルに対して、勾配を利用した操作を行いたかったので、PyTorch へのインポートをやってみました。 …
Python: 派生クラスをすべて取得できるクラス
.NET (C#) で複数オブジェクトをストリームに JSON シリアライズ
BinaryFormatter が将来的に .NET から削除されるようです(つい最近まで知らなかった勢)。 Python の pickle 同様、低レイヤ API としてあくまでリスクがあっても使えるようにしてあるし、これからもそうであろうと思っていたので驚きました。 …
Python でジェネリック型の型パラメータを実行時に取れるようにする Mixin 作った
Python でジェネリック型の型パラメータをランタイム時に取得できる抽象を提供するライブラリ Reification を作りました。前回記事「Python のジェネリック型から実行時に型パラメータを取得する方法」の内容を綺麗に実装した感じです。
このライブラリを使用すると、ジェネリックなクラスにランタイムでその型パラメータを認識させ、それに基づいた動作をさせることができます。具体的なユースケースとしては、コードの動的型検査の強化や、型パラメータを動作上の意味付けとして利用することなどが考えられます。 …
Python のジェネリック型から実行時に型パラメータを取得する方法
Python の型ヒントには、ジェネリック型も存在します。しかし、現在の Python の実装では、ジェネリック型のインスタンスやクラスには、実行時に型パラメータの情報は一切残っていない(型消去的動作)です。
本記事では、Python のジェネリック型の型注釈で実行時に型パラメータを取れるようにする方法を紹介します。 …
ハーフトーン画像変換プログラムを PyPI に公開しました
昨年は、自分の最初の PyPI パッケージを公開しました。名前は「halftone-converter」で、AM ハーフトーン画像を作成するための画像変換機能 (CLI) を提供しています。 …
JavaScript: コールバック関数を Promise に変換する
WEB フロントエンドの JavaScript 開発では、非同期の操作を行う必要が多々あります。コールバック関数はそれらシナリオで頻繁に使われますが、複雑になりがちで、複数のコールバック関数が絡まる問題、通称「コールバック地獄」と呼ばれる状況を生成します。
JavaScript は ES6 で Promise を導入し、ES7 では async/await 構文を提供しました。これらの新機能により、非同期コードをより一貫して読みやすい形式で表現することが可能です。この記事ではコールバック関数を Promise に変える方法を示します。 …
pip-licenses で Python プロジェクトの OSS ライセンスをまとめて確認
OSS を活用したクラウドサービス開発では、使用する OSS のライセンス管理が重要です。中でも、クラウド提供を頒布行為とみなす AGPL ライセンスの OSS が混入すると法律的な問題に発展する可能性があるため、これを確実に避ける必要があります。
今回は Python 開発において、ライセンス管理を助けてくれるツール pip-licenses について具体的な使用方法を紹介します。 …
Unity でエディター拡張の設定をソースコードからオーバーライドする方法
Unity でエディター拡張パッケージを作成していて、パッケージ利用者がソースコードから設定(定数)を変更できる仕組みを考案しました。partial クラスを用いて実現しています。
純粋な C# スクリプトのみで動作するので、設定ファイルを読み込むロジック作成が不要になります。 Unity 以外でも、使い所はないかもしれないですが応用可能です。 …
PHP でスクリプトが直接実行されたか判定する方法
PHP で、そのスクリプトが直接実行されたのか判定し処理を変える方法を紹介します。この方法を使うと、Python の if __name__ == "__main__" と同等の分岐が可能です。 …
Mypy による型チェック入門
元所属していた研究室の方が Mypy を使っているのを観測し、今はどの程度使えるようになっているのか、使用感などを体験してみることにしました。 …