1.はじめに こんにちは。今回は FastAPI を用いた、大規模開発を見据えた設計思想の学習記録です。 私は普段、非IT系の事業会社(いわゆるJTC)にて「部署内DX」の推進役を担っており、現場の手元業務を即座に改善するためのPoCやツール活用がメインに行っております。 現状はサーバーレス等の軽量な構成が中心ですが、スピード重視で作るため「とりあえず動く」状態のものが多くあり、将来的にエンタープライズ水準のプロジェクトでも通用するアーキテクチャ設計や実装力を養いたいと考え、休暇を活用してインプットを行いました。本記事はその学習の記録です。 2.対象読者 FastAPIの使い心地を簡単に確認したい方 「とりあえず動く」コードから、保守性の高い設計へステップアップしたい方 Pythonの基礎理解はあるが、Webフレームワークの設計思想を学びたい方 3.記事を読むメリット 公式ドキュメントをベ
新人に「uv使いなよ」と言った手前、なぜ爆速なのか本気で調べてみた結果 最近、チームに入ってきた新入社員の環境構築を手伝っていたときのことです。 pip でライブラリを入れている彼を見て、私は反射的にこう言いました。 「あ、今は uv を使ったほうがいいよ。とにかく速いから」 素直に uv を導入して「うわっ、本当に一瞬ですね!」と驚く彼を見て満足した私ですが、デスクに戻ってふと冷や汗が出ました。 (……あれ? 待てよ。なんで uv ってこんなに速いんだっけ?) 「Rust製だから」という定型句は知っています。でも、それだけで10倍以上も差が出るものなのか? もし彼に「Rustだと具体的になにが違うんですか?」と突っ込まれたら、私は答えられるだろうか? 先輩風を吹かせた手前、これはマズい。そう思って慌てて調べてみると、uvの速さの秘密は単なるプログラミング言語の違いではなく、 「Pytho
この記事はLivetoon Tech Advent Calendar 2025の11日目の記事です。 本日はCTOの私がよく使ってるSQLModelについてお話します。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。 SQLModelとは SQLModelは、 Pydantic と SQLAlchemy のいいとこ取りをしたPython ORMライブラリです。FastAPIの作者(tiangolo)が開発しており、以下の特徴があります: Pydanticの書き心地: バリデーション・型安全性をそのまま活用 SQLAlchemyの互換性:
FastAPI + htmxが最強説 - Pythonエンジニアがモック作るならReactは不要、Streamlitも捨てよう この記事はLivetoon Tech Advent Calendar 2025の12日目の記事です。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。 本題 どうも、LivetoonCTOのだいちです。 今回はスタートアップでプロトタイプ開発する時の技術選定について書きます。結論から言うと、FastAPI + htmxという組み合わせがモック開発において最も効率的で効果があると思います。 モックごときでReactを
はじめに 僕は普段 Ruby を書いており、趣味でたまに Python を嗜む程度のプログラマです。今回、知らない間に t-strings という聞き慣れない機能が追加されていたので調べてみました。 Python 3.14 で導入された t-strings 2025/10/07 (火) (現地時間) に Python 3.14 がリリースされました 🚀 リリースの内容を見ると t-strings (PEP 750: Template Strings) という機能が追加されたようです。 Template strings are a new mechanism for custom string processing. They share the familiar syntax of f-strings but, unlike f-strings, return an object rep
1.はじめに 筆者はGPUプログラミングの勉強を進めています。GPU処理の背景にある仕組みを理解し、より効率的にGPUを利用できるようになることを目指しています。学習を進めながら並行して記事化を進めたいと思っており、同じような状況の人たちの役に立てると嬉しいです。 教科書は「Programming Massively Parallel Processors」(PMPP)を中心とします。この本の流れに沿って理論的な理解をすすめつつ、実験等を交えて一緒に理解を深められたら嬉しいです。 今回はGPUプログラミングの基本的な概念を整理のうえ、CUDAを用いた計算のコアとなる部分(CUDA Kernel)のシンプルな例であるベクトルを書いて、CUDA Pythonにより実行する手順を解説します。 本記事は今後の記事作成や私の理解の進展に応じて徐々に拡充・改修していきたいと思います。 2025/09/
「CUDAをインストールしていないけど、PyTorchでGPUを使いたい」 一昔前なら、Linux(Ubuntu)の黒画に10回くらい泣いてからようやく実現できたその行為も、今やpipやuvでPyTorchをインストールするだけでCUDA機能が使えるようになっています。簡単に紹介します。 環境 Ubuntu 22.04 NVIDIA GeForce RTX 3060 NVIDIAドライバ: 535.183.01 Python 3.10.12 CUDA: 未インストール NVIDIAドライバは必要です。LinuxとNVIDIAドライバの具体的なセットアップ方法は、以下記事参照ください(Dockerのセットアップは不要です)。 CUDAツールキットがなくても動く理由 PyTorchのCUDA版には、必要なCUDAランタイムライブラリがすべて同梱されています。 つまり: システムにnvcc(CU
今年(2025年)10月にリリースされる予定のPython 3.14では新型のインタプリタが採用され、実行速度が最大で30%改善される見通しであることが分かりました。 テイルコールに基づく新型インタプリタ 現在開発中のPythonの最新バージョン「Python 3.14」では、新型インタプリタが採用される予定です。 Python 3.14のドキュメント「A new type of interpreter」では、この新型インタプリタについて次のように説明されています。文中の「CPython」とはPythonの標準実装のことで、C言語で実装されているため通称CPythonと呼ばれています。 A new type of interpreter based on tail calls has been added to CPython. For certain newer compilers, t
PyCon JP 2024 ※ 資料中で絵文字を使用したら SpeakerDeck アップロード時になんか変なことになってしまいましたが気にしないでください
一般社団法人PyCon JP Association 理事の寺田です。 昨年のPyCon JP APAC 2023および来たるPyCon JP 2024(以下、「本イベント」といいます)の登壇者選定に関して、インターネット上で疑義が一部で取り沙汰されている状況を確認しております。 私たち一般社団法人PyCon JP Association(以下、「当法人」といいます)は、PyCon JP 2024において、参加者の皆様、企業スポンサー、Pythonコミュニティ、そして運営に携わる多くのボランティア主催メンバーを含むすべての関係者に対し、安心してカンファレンスにご参加いただける環境を提供したいと考えています。本イベントの登壇内容の選定に関するプロセスについて、当法人の見解をお伝えします。 一般社団法人PyCon JP AssosiarionおよびPyCon JPについて当法人は日本国内外の
概要 本文章は、一般社団法人PyCon JP Associationが主催したPyCon APAC 2023の開催に際し、そのプロポーザル選考過程において行われていた不正行為の告発を目的とするものです。 本文章が対象とする読者は技術者、及び、公衆です。技術者は技術『愛好家』との付き合い方について一考をするべきであり、公衆は「専門家ではないにも関わらず技術の専門家のフリをする不正な愛好家」に対して無自覚であるべきではない、という警鐘を鳴らすため、並びに、一般社団法人PyCon JP Associationの公衆に対する不正を告発するため、本文章を公開します。 本文章は、Qiitaが目指す、学びのある情報を技術者に共有することで、よりよい技術者コミュニティの形成を目指す内容であるため、Qiitaのガイドラインに沿った形式でQiita.com上で公開します。 告発する内容 PyCon APAC
どういうわけか日本では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。 どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。 誰かが補足してくれるはず。 Proposed bylaws changes to improve our membership experience 最初のきっかけはこのスレッドです。 これは規約の一部を変更する提案であり、その中でも3番目の提案であるAdds provision to remove Members by vote of the Board of Directorsという変更が注目を浴びました。 Python財団にはフェローという制度があり、これはPythonエコシステムやコミュニティに優れた
アリスは驚きと興奮を抑えきれませんでした。彼女はすぐに新しいコードを試し、その速さに目を見張りました。今まで数時間かかっていた計算が、ほんの数分で終わったのです。 翌日、アリスはこの発見を友人たちに話しました。友人たちも同じように魔法の本を使い、彼らのコードを高速化しました。こうして、プログラミング王国全体で「JITの魔法の本」が広まりました。 やがて、アリスは王国のプログラミング大会で優勝し、JITの魔法の本の力をさらに広めることになりました。彼女は「JITの守護者」として称えられ、プログラミング王国はかつてない繁栄を迎えました。 アリスはいつも心に誓いました。どんなに強力なツールも、それを使う人々の努力と情熱があってこそ、本当の力を発揮するのだと。彼女の言葉は次世代のプログラマーたちに伝わり、JITの魔法の本は永遠に受け継がれていくのでした。 前回のあらすじ。 Python count
Pythonのパッケージ・プロジェクト管理ツールはまだ乱立状態にあって、どれを使えばいいのかわからないから慣れたpyenv+pipを使おうという判断をする人がいるかもしれない。その判断自体は別に否定しないけれども、初心者に教える時にpyenvを教えるのはもうそろそろやめてほしい。 Pythonをソースからビルドするので、コンパイラや依存ライブラリを事前に揃えないといけない。依存ライブラリが足りないと中途半端なPython環境もできうる。 デフォルトで最適化オプション(PGO+LTO)が付いてないので、最適化ビルドしたPythonより~5%程度遅い Windowsで使えない Rye, pdm, Hatch などは python-build-standalone と呼ばれるビルド済みPythonをインストールする機能があるので、これらの欠点が存在しない。 Pythonをインストールするところま
こんにちは、commmuneでデータサイエンティストをしているひぐです。 人間が苦手なマルチタスクをLLMに任せたら、効果的に処理してくれるのではないか?というモチベーションのもと、Pythonの非同期処理を使って並列かつストリーミングでChatGPTの回答を出力するアプリを作りました🤖 例えば下記は、ある課題を入力すると、深さ・広さ・構造・時間軸という異なる観点で解像度を上げてくれるアプリケーションです。 アプリに関する登壇資料↓ このアプリ作成にあたってPythonの非同期処理を勉強したところ、最初は多くの専門用語(コルーチン、イベントループ...)や独自の記法により、全体像をつかむのに苦戦しました。一方で、学んでみると予想以上にシンプルな記法で実装できること、そして応用範囲が広くて便利だと理解しました。 この記事では、そんな少し取っつきにくけど便利なPythonの非同期処理にフォー
西川氏の自己紹介西川大亮氏(以下、西川):ここからはPython編の「ちょっとしたデータ分析の並列化」というタイトルで、西川から話します。 GOに勤める西川です。今やっているのは、タクシーやハイヤーの営業支援。「お客さんを乗っけていない時間、どこを走ったらいいの?」とか「どういうところで待っていたら注文来やすいの?」というところのナビをする、「お客様探索ナビ」というサービスのいろいろなことをしています。小さなサービスなのでいろいろやっている感じですね。 Pythonはバックエンドのデータ分析で使っているのですが、一番よく使うのはアドホックなデータ分析です。「こんなことを知りたいんだけど」とか、「調べたいんだけど」みたいな時、パパッと調べる時に使っています。 そして、それを定型のレポート化にしたいとか、定型データのテーブルを作りたいという時は、そのままデータ加工で使うようなかたちでよく使って
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く