タグ

Pythonに関するmisshikiのブックマーク (1,851)

  • Python Webツールキットの役割と機能 | gihyo.jp

    凡例⁠: ◯:機能提供 △:アドオンで提供 +:機能を拡張 Webツールキットが持つ機能 ここではWebツールキットがどのような機能を持っているかを見ていきます。 WSGI/ASGIユーティリティとしての機能は、Webツールキットが必ず持つ機能と考えてよいでしょう。PythonのWebサーバーのインターフェースである、WSGIやASGIに対応させるのは基機能となり、Webツールキット側が担います。 リクエスト・レスポンスオブジェクト、HTTPヘッダー・クッキー操作、フォームデータのパースもWebツールキットが提供しています。これらの機能は、Webを作る上での基的な機能となり、HTTP通信部分など低レイヤーの機能になります。 ルーティング機能もWebツールキットで機能を提供していますが、Webフレームワーク側で機能拡張していることがあります。 これらにより、Webフレームワークは、低レイ

    Python Webツールキットの役割と機能 | gihyo.jp
    misshiki
    misshiki 2025/04/30
    “Webツールキットに着目して役割や機能を紹介します。Webツールキットの存在や役割を知ることで、Webフレームワークの特徴を理解しやすくなり、裏側の仕組みを知るきっかけになる”
  • Python sub-micro GPIO – PyXL Benchmark

    🧪 GPIO round-trip at 480ns Python, in hardware. 480ns GPIO. No interpreter. No C. Just PyXL. TL;DR ⚡ PyXL runs Python directly in hardware — no VM, no OS, no JIT. 🧪 A GPIO roundtrip takes 480ns on PyXL vs. ~15,000ns on PyBoard (MicroPython). 📉 PyXL is 30x faster than MicroPython — or 50x when normalized for clock speed. 🎥 The video demo shows both systems in action on real hardware. 💡 This is

    Python sub-micro GPIO – PyXL Benchmark
    misshiki
    misshiki 2025/04/30
    “PyXLは、Pythonを直接実行するカスタムハードウェアプロセッサです。インタープリタ、JIT、その他のトリックは一切不要です。通常のPythonコードをシリコン上で実行します。”
  • Python製HTTPライブラリー「h11」に緊急の脆弱性 即時対応を

    セキュリティニュースメディアの「SecurityOnline」は2025年4月27日(現地時間)、Python実装のHTTP/1.1プロトコルライブラリーである「h11」に深刻な脆弱(ぜいじゃく)性が存在することを報じた。これを悪用することで、リクエストスマグリング攻撃を実行される可能性がある。 CVSS9.1のクリティカル脆弱性発覚 h11利用者は即時更新を 修正対象となっている脆弱性は以下の通りだ。 CVE-2025-43859: リクエストスマグリングの脆弱性。Python製のHTTP/1.1ライブラリー「h11」において、チャンク転送エンコーディング処理の際に行終端子の検証が不十分である問題が存在する。悪意あるユーザーが細工したリクエストを送信すると、プロキシサーバとh11ライブラリー間でHTTPリクエストの解釈に不整合が生じ、意図しないリクエストを通過させたり、セッション情報が漏

    Python製HTTPライブラリー「h11」に緊急の脆弱性 即時対応を
    misshiki
    misshiki 2025/04/30
    “Python実装のHTTP/1.1ライブラリー「h11」に深刻な脆弱性(CVE-2025-43859)が存在することが分かった。チャンク転送エンコーディング処理における終端検証の不備により、リクエストスマグリング攻撃を受ける危険がある。”
  • 【図解】Pythonの組み込み関数でこれあったんだ10選 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【図解】Pythonの組み込み関数でこれあったんだ10選 - Qiita
    misshiki
    misshiki 2025/04/30
    “slice(start, stop, step) divmod(a, b) abs(x) math.fabs(x) all(iterable) any(iterable) filter(function, iterable) dir(object) 引数無しの場合 breakpoint enumerate(iterable) callable(object)”
  • uv workspacesでスッキリ作るPythonモノレポ

    この記事で言いたいことuvはいいぞ。Pythonでモノレポするならuv workspacesを使おう! イントロダクションPython界でデファクトになりつつある新興パッケージ/プロジェクト管理ツールのuv。 uvには,workspacesという,マルチパッケージをサポートするための機能がある。Cargoにある同名の機能からインスパイアされたもので,Rustを使っている人には馴染み深いコンセプトだろう。 これまで,Pythonでモノレポ構成を作るための,これといって決め手となるソリューションはなかったように思う。Bazelは小規模プロジェクトで使うには正直とっつきづらく,Poetryでも頑張ればできると思うのだけれど,Poetryそのものはマルチパッケージ構成をサポートしていないためdependency groupを駆使するなどしなければならず,一筋縄ではいかない。 uvのworkspac

    misshiki
    misshiki 2025/04/30
    “Python界でデファクトになりつつある新興パッケージ/プロジェクト管理ツールのuv。uvには,workspacesという,マルチパッケージをサポートするための機能がある。”
  • AIエージェントにも正しく使ってほしいPython環境管理ツール「uv」最新情報ガイド - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 「uvを使って環境構築してください」AIエージェントにそう指示ても、uvの古いコマンドを使い何度もエラーを出力します。 私はPythonで開発を行うときには環境管理ツール「uv」を使っています。AIを活用した開発でもuvを使いたかったのですが毎回AIが間違えるのでpipとvenvを使う方法を指示しなおしていました。 この現象には技術的な背景がありそうです。uvは2024年2月に初期リリースされ、その後の数ヶ月で大幅な機能拡張が行われました。一方で多くのAIモデルの知識カットオフ日はこの重要な進化期間と重なっています。さらに、インターネッ

    misshiki
    misshiki 2025/04/30
    “uvの最新機能と正確な使い方を確認するためのガイドです。また記事の最後には「AIエージェント用プロンプト」を用意しました。このプロンプトを使えば AIと共同開発する際にuvの能力を最大限に活用しましょう。”
  • AI系のコーディング基礎的お作法まとめ

    「美しい」コード 一般に、「美しさ」には主観が多分に含まれる。芸術作品であるとか、俳優さん女優さんに対して使う場合は特にそうだろう。しかし、こと数学の証明だとかコーディングといったものに対して使用される場合、そうしたものたちは基的に一定のルールに従っていることがほとんどだ。 「美しい」コードとはどんなもの? 美しいコードは読みやすい。 どのファイルにどの機能の関数があるか分かりやすく、保守性が高い。 そうであるから、1週間後・1ヶ月後の自分がみてもすぐその内容を思い出せるし、何より他人に見せても恥ずかしくない。 「美しい」コードを書くために では、自分も他人も読みやすいコードはどんなルールに従っているのだろうか? pythonを使用したAI系の研究とかデータサイエンス的な場合に満たすべき、基的なポイントを整理しておく。 モジュール化 まずはコードを書く以前のディレクトリ構造の話だ。何も

    AI系のコーディング基礎的お作法まとめ
    misshiki
    misshiki 2025/04/30
    “自分も他人も読みやすいコードはどんなルールに従っているのだろうか? pythonを使用したAI系の研究とかデータサイエンス的な場合に満たすべき、基本的なポイントを整理しておく。”
  • GitHub - rango-ramesh/advanced-chunker: Semantic Chunker is a lightweight Python package for semantically-aware chunking and clustering of text.

    Semantic Chunker is a lightweight Python package for semantically-aware chunking and clustering of text. It’s designed to support retrieval-augmented generation (RAG), LLM pipelines, and knowledge processing workflows by intelligently grouping related ideas. Traditional chunking methods for LLM pipelines often rely on fixed-size windows or naive text boundaries, which can fragment meaning, split u

    GitHub - rango-ramesh/advanced-chunker: Semantic Chunker is a lightweight Python package for semantically-aware chunking and clustering of text.
    misshiki
    misshiki 2025/04/28
    “Semantic Chunkerは、意味を考慮したテキストのチャンキングとクラスタリングを行う軽量Pythonパッケージです。”
  • 【保存版】 2 万文字で語る Python の with 文で始めるリソース管理 ── C++/Go/TypeScript の技法を横断

    記事では、Python の with 文を起点に、多言語の with に相当する概念を横断的に比較し、 リソース管理という "地味だけど重要" なテーマ を一気に理解できるように整理しました。 「〇〇をしたら必ず △△ する」 をコードで保証する ── リソース管理とは? A. 「そのタスク終わったら Slack で私に連絡してくださいね!」 B. 「はい、わかりました!」 (数日後...) A. 「あれ、Slack で連絡来てないな。」 B. 「違う仕事していたら、Slack で連絡するの忘れてました!」 そんな経験、ありませんか? 「〇〇をしたら絶対にこれをやる」ということを強制する。 それを実現するのが、Python の with 文です。 〇〇をしたら絶対にこれをやるというのは、 例えばファイルを open したら必ず close をするなどのリソースに対して行うことは特に多く、

    【保存版】 2 万文字で語る Python の with 文で始めるリソース管理 ── C++/Go/TypeScript の技法を横断
    misshiki
    misshiki 2025/04/28
    “Python の with 文を起点に、多言語の with に相当する概念を横断的に比較し、 リソース管理という "地味だけど重要" なテーマ を一気に理解できるように整理しました。”
  • Python 入門100本ノック - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Python 入門100ノック まえがき 背景 私は新入社員の研修課題として Python の練習問題を探していました。 しかし、ちょうど良い課題はなかなか見つかりません。 というのも、教育担当の立場からしても新人研修は難しいのです。 そもそも新人教育に使うことのできる時間が限られている。 新入社員が自力で進められるように、練習問題だけでなく説明も充実させる必要がある。 新入社員の力量に応じて研修内容を調整したい。 ということで、一般公開可能な Python 練習問題を作成しました。 新人教育に限らず、これから Python を学ぶ方

    Python 入門100本ノック - Qiita
    misshiki
    misshiki 2025/04/28
    “一般公開可能な Python 練習問題を作成しました。 新人教育に限らず、これから Python を学ぶ方の参考になれば”
  • PythonでExcelファイル内の画像を抽出する方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? データの可視化や業務の自動化が進む中、Excelファイルに埋め込まれた画像(グラフのスナップショット、製品写真、ロゴなど)は、多くの重要な情報を担っています。これらの画像を手動で抽出するのは手間がかかり、複数ファイルを扱う場合は非効率です。Pythonスクリプトを活用することで、Excel内の画像を自動的に抽出・保存でき、アーカイブ、レポート作成、画像処理など幅広い用途に活用できます。 記事では、Pythonを使ってExcelファイル内の画像を抽出・保存する方法をご紹介します。 使用ライブラリ:Free Spire.XLS for P

    PythonでExcelファイル内の画像を抽出する方法 - Qiita
    misshiki
    misshiki 2025/04/28
    “Pythonを使ってExcelファイル内の画像を抽出・保存する方法をご紹介”
  • DuckDB でハイブリッド検索

    DuckDB を利用してベクトル検索と日語全文検索の両方を同時に利用できます。さらにこれらの結果をマージして Reranking を行うことでハイブリッド検索をサクサクっと実現する事が​できます。 Rerankerどうやらベクトル検索した結果と日語全文検索した結果をマージして、クエリーとマージ結果を再度ランキング付けする仕組みのようです。 ここでは参考にした記事を共有する程度にしておきます。 日語最高性能のRerankerをリリース / そもそも Reranker とは? - A Day in the Lifeリランキング モデルによる RAG の日語検索精度の向上 - NVIDIA 技術ブログ今回は Reranker に hotchpotch/japanese-reranker-cross-encoder-large-v1 を利用しました。 以下は参考コードです。 [projec

    DuckDB でハイブリッド検索
    misshiki
    misshiki 2025/04/28
    “DuckDB を利用してベクトル検索と日本語全文検索の両方を同時に利用できます。さらにこれらの結果をマージして Reranking を行うことでハイブリッド検索をサクサクっと実現する事が​できます。”
  • DuckDB で日本語全文検索

    DuckDB-VSS と PLaMo-Embedding-1B を利用することで、ベクトル検索を実現できますが、DuckDB-FTS (Full-Text Search) と形態素解析ライブラリである Lindera を組み合わせて日語全文検索を実現できます。 DuckDB-FTS + LinderaDuckDB の全文検索拡張は日語には対応していないないのですが、スペース区切りでトークン化することで、日語の全文検索を利用する事が出来ます。トークン化には Meilisearch にも利用されている信頼と安心の Lindera を利用することにしました。 今回この参考コードを Lindera の作者であり検索の専門家でもある Minoru OSUKA 氏にレビューいただきました。当にありがとうございます。 以下は参考コードです。 [project] name = "duckdb-ft

    DuckDB で日本語全文検索
    misshiki
    misshiki 2025/04/28
    “DuckDB-VSS と PLaMo-Embedding-1B を利用することで、ベクトル検索を実現できますが、DuckDB-FTS (Full-Text Search) と形態素解析ライブラリである Lindera を組み合わせて日本語全文検索を実現できます。”
  • Python Dask入門 小さなマシンで大きなデータを扱う最初の一歩

    Pandas が登場してから Pythonデータ分析の事実上の標準言語になりました。 しかし、データ量が数千万行を超えると途端に RAM が足りない・処理が遅い という現実にぶつかります。 クラスタ環境に逃げる選択肢もありますが、準備・コスト・学習コストを考えると “ちょっと重い” だけのデータに対してはオーバーキルです。 そこで登場するのが Dask。 以下 3 点が現場エンジニアにとって大きな魅力です。 API 類似度 90 %: 既存の Pandas/NumPy 知識をそのまま使える。 遅延評価 × 並列化: PC のコア数を自動で使い切り、メモリフットプリントを抑制。 スケールラインが滑らか: ローカル PC → 分散クラスタへ“ほぼ同じコード”で移行可能。 今回は「大量 CSV を集計する」という 典型的に重くなる処理 を通して、Dask がどのように恩恵をもたらすかを見てみ

    Python Dask入門 小さなマシンで大きなデータを扱う最初の一歩
    misshiki
    misshiki 2025/04/25
    “「大量 CSV を集計する」という 典型的に重くなる処理 を通して、Dask がどのように恩恵をもたらすかを見てみます。”
  • How to run Python in production

    My previous article recommended that one should reconsider using Python in production. However, there’s one category of use case where Python is the dominant option for running production workloads. And that’s data analysis and machine learning. Almost all bleeding-edge work in data analysis and machine learning, especially around LLMs, happens in Python. So, here are some of my learnings on how t

    How to run Python in production
    misshiki
    misshiki 2025/04/24
    “Pythonのパッケージマネージャーのエコシステムは断片化しています。私がお勧めできるのは poetry と uvだけです。”
  • OpenAI APIを使ってLLMの出力を構造化する方法

    はじめに こんにちは、株式会社STAR AIでデータサイエンティスト兼人事をしている田です。 LLM(大規模言語モデル)を活用したサービスやプロジェクトを考える上で、モデルの出力をどのように制御するかは非常に重要なポイントです。 何も指示を与えずに質問などを入力すると、LLMは自由記述の形式で回答を返してきます。これでは、情報の整理や再利用が難しく、ビジネスでの活用には不向きです。もちろん、プロンプトエンジニアリングによってある程度の出力制御は可能ですが、ノウハウが必要であったり、質問文などの入力が変動することで指示がうまく通らないこともあります。結果として、毎回同じ形式での出力を安定して得るのは難しいというのが現状です。 そこで今回は、OpenAIAPIを活用して、LLMの出力を構造化データとして制御・取得する方法をご紹介します。 プロンプトの工夫だけに頼らず、より確実に出力フォーマ

    OpenAI APIを使ってLLMの出力を構造化する方法
    misshiki
    misshiki 2025/04/22
    “OpenAIのAPIを活用して、LLMの出力を構造化データとして制御・取得する方法をご紹介”
  • 俺と一緒にpytestをゼロから理解しないかい? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。もんた。です。 新しい試みとして、私がゼロベースから「完全に理解した」領域までのプロセスをそのまま記事にしたら「そのトピックを理解できる」かつ「記事いっぱい書いててなんかすごいやつ」という一石二鳥かませるんじゃね?これイノベーションじゃね?と思ったの始めてみます。 これはなに この記事は私がpytestの理解がゼロの状態から「完全に理解した」領域に至るまでのプロセスをまとめたものです。 この記事を読んで私と一緒にpytestを理解していきましょう。 はじめに:pytestとは? はじめに:ソフトウェア品質の要 🛡️ - テ

    俺と一緒にpytestをゼロから理解しないかい? - Qiita
    misshiki
    misshiki 2025/04/22
    “この記事は私がpytestの理解がゼロの状態から「完全に理解した」領域に至るまでのプロセスをまとめたものです。 この記事を読んで私と一緒にpytestを理解していきましょう。”
  • [Pythonクイズ]if文に条件分岐がたくさんある? それならアレの出番ですよね?

    【問題】 以下のhandle_command関数では、if文の中で変数commandの値に応じて処理を分岐するようになっている(ただし、サンプルコードなのでここでは処理は単純にprint関数を呼び出すだけ)。このくらいなら問題ないが、コマンドの数がもっと増えると、このif文は長大なものになることが予想される。もっと見やすくスッキリとしたコードに書き換えてみよう。ただし、match文は使わないものとする。 def handle_command(command): if command == 'go': print('go straight') elif command == 'right': print('turn to right') elif command == 'left': print('turn to left') elif command == 'back': print('g

    [Pythonクイズ]if文に条件分岐がたくさんある? それならアレの出番ですよね?
    misshiki
    misshiki 2025/04/22
    “if文でif節とelif節がズラズラと並ぶことってよくありますよね? そんな状況になってきたら、もっとスマートに処理を分岐するためにアレを使ってみませんか?”
  • Deciphering Glyph :: Stop Writing `__init__` Methods

    The History Before dataclasses were added to Python in version 3.7 — in June of 2018 — the __init__ special method had an important use. If you had a class representing a data structure — for example a 2DCoordinate, with x and y attributes — you would want to be able to construct it as 2DCoordinate(x=1, y=2), which would require you to add an __init__ method with x and y parameters. The other opti

    misshiki
    misshiki 2025/04/21
    Pythonで冗長な__init__メソッドを書く代わりに、@dataclass@classmethodを活用することを推奨。これにより、初期化処理が自動化され、コードが簡潔で保守しやすくなり、柔軟なインスタンス生成も可能になる。シンプルな場合。
  • 個人開発プロジェクトのPythonライブラリ管理をpoetryからuvに移行した話 - Lean Baseball

    業はSRE, 相変わらず野球関係の趣味開発(個人開発)をしている者です. 今まで趣味開発におけるPythonのPackage Managerはpoetryを使っていましたが, 仕事で使っている&その他の理由でuvに変更しました. github.com このブログではそんなuvの話を書きたいと思います. このブログについて TL;DR 移行の背景とメリット 学習コストの低さ パフォーマンスの向上 移行で苦労した&変更した所 pyproject.tomlの書き換え コードチェックをruffに変更 GitHub Actionsの移行 主な変更点 設定ファイルの比較 移行の手順 結び おまけ - Cursorはどこまでブログを書いたか このブログについて 弊ブログ「Lean Baseball」では初の試みとして, 執筆の大半をCursorで行っています*1. なお以下については中の人(shiny

    個人開発プロジェクトのPythonライブラリ管理をpoetryからuvに移行した話 - Lean Baseball
    misshiki
    misshiki 2025/04/21
    “poetryからuvへの移行は学習コストが思ったより低かったです, パッケージのインストールとテストの実行が高速化された(気がします). 一方で, pyproject.tomlの書き換えやCIテストの移行にはやや苦労ししました.”