初めに忠告するが、私は国語が苦手だ。なのでもし読むときはchatgpt使って、要約をかけさせることをお勧めする。 ーこの記事の要約ー ・テクニカル分析が嘘であることを検証した話 ・一番結果を出した戦略について ー次回書くことー ・AIによる取り組み①~強化学習編~ ・AIによる取り組み②~教師あり学習編~ まず、テクニカル分析は嘘であるこれは、ウォール街のランダムウォーカーという本を読んでいればある程度知っている話であろう。それにこの話は何十年も前から言われていることである。しかし、SNSではチャートを見ては”俺はこの形しか信じない”、だの、”結局これ(ぎざぎざと直線ががいっぱい書いてある画像)”みたいな投稿がバズっている。それを見るたびに、嘘つけよ、とか思っていたが、自分で検証してみないと信じれない性格なので検証してみた。 テクニカル分析を駆使して売買した時の勝率(60個の指標の内、上位

httpx をコネクションプールありで使う場合は client = httpx.Client() して client.get() などを使いますが、コネクションプールなしで使う場合は httpx.get() などを使います。 この httpx.get() のような単発でHTTPリクエストを実行するAPIは実際には内部で httpx.Client() のインスタンスを生成して破棄しています。実はこの Client() のインスタンス生成が遅いのです。 # x1.py from httpx import Client for _ in range(100): c = Client() $ hyperfine '.venv/bin/python x1.py' Benchmark 1: .venv/bin/python x1.py Time (mean ± σ): 1.484 s ± 0.018
リストを受け取ってループで処理する関数を実装するとき、引数のタイプヒントに list ではなく最小の要求としてIterable を書くことを好む人がいる。コードの実装が引数に対して必要としている最小要件(必要十分条件)を表すためだ。 def func(arg:Iterable[int]) -> None: for a in arg: do_work(a) しかし、その関数でログかトレースにその引数の中身を追加したくなった場合にどうしたらいいだろうか? OpenTelemetryのAttributeValue型はSequenceには対応しているがIterableには対応していない。 また、Iterableを一度巡回してしまうと再び巡回できる保証はないので、 arg の中身を複数回使うことができない。 引数のタイプヒントをlistかSequenceに修正しようと思っても、他のコードも「最小
NVIDIA の CUDA は、AI・機械学習分野で広く採用されています。この状況下で登場した ZLUDA は、CUDA アプリケーションをAMDGPU 上で動作させる翻訳レイヤーです。その開発経緯は企業戦略や法的課題が複雑に絡み合っています。 ※ この記事は Claude 4 Opus との対話をまとめたものです。プロジェクトの誕生と技術的成果ZLUDAプロジェクトは 2020 年、ポーランドのエンジニア Andrzej Janik 氏によって開始されました。当初は Intel 在籍中に IntelGPU で CUDA アプリケーションを実行できるようにすることを目指していました。しかし、Intel はそのようなビジネスケースはないとして、このプロジェクトへの公式支援を拒否しました。その結果、2021 年 2 月に ZLUDA のコードはGitHub から削除されることとなり

はじめに こんにちは、GMO FlattSecurity株式会社セキュリティエンジニアの石川(@ryusei_ishika)です。 近年、ChatGPT や Gemini などの大規模言語モデル(LLM)をはじめとする生成AI の活用が急速に進んでいます。その一方で、これらのAI モデルに対する新たな攻撃手法である「プロンプトインジェクション」が注目を集めており、そのセキュリティリスクが問題視されています。 この記事では、プロンプトインジェクションが実際にどのような脅威となり得るのか、具体的な事例を交えながらそのリアルなセキュリティリスクを解説します。さらに、開発者や経営者が取るべき具体的な対策についても、分かりやすくご紹介します。 また、GMO FlattSecurityは日本初のセキュリティ診断AIエージェント「Takumi」や、LLMを活用したアプリケーションに対する脆弱性診

現在、AI ブームが巻き起こり、プログラミングのやり方も大きく変わってきています。私もAI を活用して仕事を効率化したく、 Cursor や Cline を試してみたことはあるのですが、10年以上使っているVim (Neovim) を乗り換えられず波に乗り遅れていました。そんな中、「Aider」というAI エージェントを導入してめちゃ感動したので、紹介したいと思います。 初期の感想↓ ⚠️ ご注意 ⚠️本記事はAider の使い勝手の良さを共有するものであり、特定のエディタを貶めたり、宗教戦争を仕掛けるつもりはありません。Aider はコードやチャット履歴を収集することはないと 表明 していますが、本記事はそれを保証するものではありません。本記事は個人の見解であり、所属する組織を代表するものではありません。 追記(2025/04/01):Aider は MCP のサポートが

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?Pythonコルーチンの開発プロセスと新旧コルーチンの深層分析 1.Pythonコルーチンの歴史的進化Pythonの長い開発の歴史を通じて、コルーチンの実装はいくつかの大きな変更を経てきました。これらの変更を理解することは、Pythonの非同期プログラミングの本質をよりよく把握するのに役立ちます。 1.1 初期の探索と基本機能の導入Python 2.5:このバージョンでは、ジェネレータに.send()、.throw()、.close()メソッドが導入されました。これらのメソッドの登場により、ジェネレータは単なるイテレータ以上のもの

MariaDB 11.4 がGAになり、SSLが自動で有効になるようになりました。合わせてMariaDB Connector/Cも3.4からデフォルトでSSLを利用し、かつサーバーの証明書を検証するようになりました。 これにより、MariaDB Connector/C 3.4以降のライブラリを利用してMySQLや古いMariaDBに接続する場合に、SSLで接続できないとか、証明書の検証に失敗するといった問題が発生するようになりました。 これらをリンクしたPythonのmysqlclientやRubyのmysql2のようなクライアントライブラリには続々と問題報告が上がってきています。 この問題に対処するいくつかの方法を紹介します。まずはConnectorをリンクしたライブラリの利用者ができることから。 MariaDB Connector/C 3.3を使う ~/.my.cnf 等が利用されるな
本文中コードgithub.com flat layoutとsrc layoutについてPythonプロジェクトのディレクトリ構成について調べてたところ、flat layoutとsrc layoutという2種類のディレクトリ構成が存在することを知りました。 src レイアウト対フラットレイアウト -Python Packaging UserGuide flat layout flat layoutはパッケージフォルダをプロジェクトのルート直下に配置するスタイルです。 flat layoutの有名なpythonプロジェクトだと、pytorch, django, tensorflow があります。 . ├── README.md ├── pyproject.toml └── my_package/ ├── __init__.py └── module.py src layout 一方、

PFNの海野裕也が2024/10/15に東大大学院「自然言語処理応用」にゲスト講師として登壇した際の講義資料です。

開発用適当ツールはGo で作るのがオススメ!? 先日、開発用適当ツールはGoで作るのがオススメ という記事を拝見しました。 まだ読んでないよという方はぜひ読んでみてください! とても良い記事でした😌✨Go 言語も CLI ツールの実装に向いているということも分かりました。 そして、Go 言語の魅力も伝わってきました...!! まとめると以下のような点がメリットとして挙げられていると思います。go run で簡単に実行できる シングルバイナリにクロスコンパイルできるgo.mod /go.sum が依存性管理を楽にしてくれる 動作速度も申し分なし たしかに開発用適当ツールの作成というユースケースはGo は魅力的な選択肢だと思います! 開発用適当ツールはRust で作るのもオススメ 前置き 最初に大事なことを言っておきます。 タイトルにもあるように、Rust も であってGO

最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

概要 Web バックエンドのテストコードを書く場合、その多くはDB に依存していることが多いです。DB 関連のテストは、テストデータの準備やテストケース毎のDB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限りDB の Mock を行わずに、実際のDB を使用してテストすることが望ましいと考えています。本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎にDB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境本記事では、以下の環境を前提として説明いたします。python

この記事ですることを3行でPythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先にPython 3.12から本格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

先週にRuffを開発しているAstralがuvを発表しました。 astral.sh uvは現在のところはvenv, pip, pip-toolsの基本的な機能を提供していますが、将来は"Cargo forPython"になることを目標にしています。 一見すると乱立しているPythonのパッケージ管理ツールにもう一つ加わったように見えますが、Ryeの開発者のArminとuvの開発チームは連携していて、同時に次のような発表をしています。 uv:Python packaging inRust Rye Grows With UV | Armin Ronacher's Thoughts and Writings Ryeはもともとより良いパッケージツールがどうあるべきかの実証のために作られていて、中身は既存のツールのツギハギだった Ryeがpip-toolsやvirtualenvの代わりにuvを
Magika is a novelAI-powered file type detection tool that relies on the recent advance of deep learning to provide accurate detection. Under the hood, Magikaemploys a custom, highly optimized model that only weighs about a few MBs, and enables precise file identification within milliseconds, even when running on a singleCPU. Magika has been trained and evaluated on a dataset of ~100M samples ac
私は日付時刻の処理が大好きです。 タイムゾーンの問題でデータ抽出が9時間分漏れていたとか、朝9時の始業前のログが昨日付けになってしまっていたなんていう問題が起こると喜んじゃうタイプ。 そんな私にとって、各プログラミング言語が標準で持っている日付時刻型クラスにはそれぞれ思うところがあり、今日はちょっとその品評会をしてみたいと思います。 エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]がお送りいたします、エムスリー Advent Calendar2023の2日目です。 至高の日付時刻型を持つ言語、BigQuerySQL 不足はないが蛇足、Java 8 日付時刻で画竜点睛を欠いたC# C#よりややまし、Python 型は良い構成、なのに命名と処理関数で損しているPostgreSQL まとめ We ar

はじめに 開発部の ikasat です。 皆さんは git, ssh,rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後からPython のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く