Hi, I'm Alex. I'm a software resilience engineer. I care about building systems that work. I've worked for the government, in the private sector, and on open source. I'm based in Washington, DC. Sun, Oct 23, 2022 One of my least favorite kinds of bug is when two different systems are interacting and the result has bad behavior but it’s difficult to say which (if either!) system is at fault. This i
エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。検索とGoが好きです。 今回は文字列界隈を賑わせている高速なRust製パターンマッチングマシンDaachorseをPythonで呼び出して既存の文字列パターンマッチロジックを高速化したお話をします。 Daachorseとは なぜPythonから呼び出したいのか パターンマッチングのみのベンチマーク python-daachorseだけオートマトン構築込みのベンチマーク まとめ We are Hiring! その他 Daachorseとは DaachorseはLegalForceさんで開発運用されている文字列パターンマッチを行うRust製ライブラリです。 github.com 技術的なトピックに関してはLegalForceさんの記事が全て解説しているののでそちらを参照してくだ
転職してから1年とちょっとが経ち、Pythonをメイン言語としてからも同じくらいが経った。最近やっとnumpy/scipyの使い方のコツがわかってきたと思うので、マサカリ飛んでくるのを覚悟でなんか書いてみようと思う。 転職して初めてPythonを使ったというわけではない(実際wafのwscriptとかは書いたことある)が、まあでもほぼ初心者同然だった。学習曲線でいうとPythonはすごく良い言語だと思う。Python本体の言語仕様については、わりとすぐに覚えることができた。だが一方、numpy/scipyについては、そう簡単ではなく習得するにはそれなりに時間がかかったと思う。 ケーススタディ たとえば\(N\times M\)行列\(B\), \( M\times L \)行列\( C \), \( M \)次元ベクトル\(a=(a_k)_{1\leq k \leq M}\)が与えられて
承前 Ergは私が数年前から開発を始め、つい一昨日公開したばかりのプログラミング言語です。 のはずですが、 早速、qnighyさんに捕捉していただきました。ありがとうございます。 この記事ではそのErgがどのような言語なのかざっくりと解説していきたいと思います。なお、紹介した機能の一部は未実装です。実装途中の機能を含むコードには*を、完全に未実装の機能を含むコードには**をつけておきます。 はじめに Pythonは概ね素晴らしい言語です。 オフサイドルールを世に知らしめた(?)、その可読性の高い文法。Numpy, SciPyを始めとする機械学習、科学技術計算用の膨大なライブラリ。 しかしPythonにもいくつかの弱点が存在します。 まず、動的型付け であること。それ自体は弱点というより良し悪しなのですが、明らかに動的型付けでは手に余るPythonプロジェクトが世に溢れています。 次に、一貫
RustでFFI関連の練習をした。 すべてWindows MSVC環境。 FFI = Foreign Function Interface(他言語の関数を使うためのインターフェイス)。 異なる言語を組み合わせて使うための技術的仕様。 簡単に言えば「C言語の仕様に合わせる」ことで実現している。 ※7/26追記 コメントでの指摘を受けて、誤っていた箇所を訂正。 ※8/5追記 Pythonスクリプトの不具合を修正。 要点 Rust製ライブラリをC言語で使う Rust製ライブラリをPythonで使う C言語製ライブラリをRustで使う 補足 参考 要点 C言語をコンパイルするには「x64 Native Tools Command Prompt」を使う。 Rust~C言語間では静的リンク(.lib)で連携させる。 ※7/26訂正 Rust~Python間では動的リンク(.dll)で連携させる。 リン
Giveaway has ended The givaway has closed as of Oct 1, 2022. Pictured: two Titan security keys, one USB-A and the other USB-C. (Source: Google) In order to improve the general security of the Python ecosystem, PyPI has begun implementing a two-factor authentication (2FA) requirement for critical projects. This requirement will go into effect in the coming months, and more details are included belo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く