並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 57件

新着順 人気順

デコレータの検索結果1 - 40 件 / 57件

  • 脳に収まるコードの書き方

    ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。 本書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します。自分のチェックリストからチームワーク、カプセル化から分解、API設計から単体テストまで、ソフトウエア開発の重要な課題に対する考え方やテクニックを紹介します。サンプルプロジェクトで使うコードは、Gitリポジトリの形で入手でき、試しながら学べます。 有効に機能するプロセスを選び、効果のない方法論から脱却する方法。チェックリストを使うこ

      脳に収まるコードの書き方
    • サーバーレスの次はなんなんだ

      はじめに この記事は、同人誌サークル「めもおきば」から不定期刊行している技術解説本「めもおきばTecReport」に書いたものを公開用に再編集したものです。 ⇒ めもおきばTecReport 2023.12 この記事のほかにも「私もSecHack365に参加したい!」や、「2023年振り返りと2024年技術予想」としてこんなキーワードを取り上げているので、気になったらぽちっとしてください! メガクラウドと特化型クラウド/ハイパーバイザーのSoC化/ライセンスとクラウドベンダー/イベント駆動型API/LLM時代のAIペアプロ力/生活必需品としてのGPU・NPU/Passkey/ウェブアクセシビリティ/リアルイベントの再開 サーバーレスの次はなんなんだ サーバーレスと呼ばれる技術ムーブメントが盛り上がり始めて8年近くが経ちました。各クラウドベンダーのFaaS(Function-as-a-Ser

        サーバーレスの次はなんなんだ
      • 【セールは12月2日まで!】ブラックフライデーだから買っておきたいUdemy講座! ソフトウェアエンジニアのキャリアでずっと役立つ定番&大作講座をまとめてレビュー・紹介します! - はてなニュース

        ソフトウェア開発の技術トレンドは移り変わっていきますが、数年前から急激に盛り上がってエンジニアリング環境を変化させた生成AIのトレンドもひと段落し、今年は落ち着いて技術の基本をしっかりと時間をかけて学ぶのにちょうどよいタイミングかもしれません。 オンライン学習プラットフォーム「Udemy」が11月29日まで実施するブラックフライデーセールと12月1日・2日のサイバーセールでは、対象講座が1講座1,300円からと通常よりもお得に、気になる講座をまとめて購入できるチャンス! 時間をかけて取り組みたい技術要素や、これから長く役立つであろう技術領域の講座を厳選してご紹介します。 定番から新作・大作までまとめてチェックできるのもブラックフライデーならでは。何十時間にもなる大作講座の見どころもいくつか抜き出してレビューしています。皆さんのこれからのキャリアにフィットする講座を、この機会にぜひ見つけてく

          【セールは12月2日まで!】ブラックフライデーだから買っておきたいUdemy講座! ソフトウェアエンジニアのキャリアでずっと役立つ定番&大作講座をまとめてレビュー・紹介します! - はてなニュース
        • browser-useによるブラウザ操作自動化のサンプル集

          はじめに browser-use を使う上で詳しいドキュメントがなかったので、自分で使ってみたことをまとめてみました。 browser-use の基礎的なところは以下にまとめてあります。 ブラウザを起動させず、ヘッドレスモードで実行したい BrowserConfigのheadlessをTrueにすることで、ブラウザを起動させず、ヘッドレスモードで実行することができます。 from browser_use.browser.browser import Browser, BrowserConfig browser = Browser( config=BrowserConfig( headless=True, ) ) async def main(): model = ChatOpenAI(model='gpt-4o') agent = Agent( task='東京の天気をGoogleで調べて

            browser-useによるブラウザ操作自動化のサンプル集
          • Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO

            今回はPythonで簡単にリトライ処理を追加できる「tenacity」を使ってみます。 デコレータ形式で簡単にリトライ処理を追加できるので便利です。 tenacityについて プログラムを書いていて、HTTPの通信などでリトライ処理を実装する機会は多いと思います。 今回はそんなリトライ処理を簡潔に書けるtenacityの使い方を説明します。 インストール インストールはpipで可能です。 pip install tenacity 使い方 シンプルな例 import random from tenacity import retry @retry def random_error(): num = random.randint(0, 10) if num > 4: print(f"Error: num={num}") raise Exception("Error!") else: retur

              Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
            • 個人開発OSSが世界に勝てなかった話

              ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

                個人開発OSSが世界に勝てなかった話
              • Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp

                寺田 学(@terapyon)です。2024年4月の「Python Monthly Topics」は、Python Web UIフレームワークの1つであるStreamlitを使ってWindowsやmacOSのデスクトップアプリを作る方法を解説します。 目的⁠・モチベーション Pythonで自動化のスクリプトを作ったり、JupyterLabやColaboratoryでデータの可視化を行うことがあります。これらを作成者以外の多くの方に利用してもらう方法として、Webシステムやデスクトップアプリとして提供する方法が考えられます。 Webシステムの構築やデスクトップアプリの作成となると、技術的なハードルがあります。他には、時間的なコストに見合わないという状況もあり得ます。 Python Web UIフレームワークを使うことで、比較的少ないコードでWeb UIからスクリプトの実行や可視化をするアプリ

                  Python Web UIフレームワークで作るデスクトップアプリ | gihyo.jp
                • 高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita

                  アリスは驚きと興奮を抑えきれませんでした。彼女はすぐに新しいコードを試し、その速さに目を見張りました。今まで数時間かかっていた計算が、ほんの数分で終わったのです。 翌日、アリスはこの発見を友人たちに話しました。友人たちも同じように魔法の本を使い、彼らのコードを高速化しました。こうして、プログラミング王国全体で「JITの魔法の本」が広まりました。 やがて、アリスは王国のプログラミング大会で優勝し、JITの魔法の本の力をさらに広めることになりました。彼女は「JITの守護者」として称えられ、プログラミング王国はかつてない繁栄を迎えました。 アリスはいつも心に誓いました。どんなに強力なツールも、それを使う人々の努力と情熱があってこそ、本当の力を発揮するのだと。彼女の言葉は次世代のプログラマーたちに伝わり、JITの魔法の本は永遠に受け継がれていくのでした。 前回のあらすじ。 Python count

                    高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita
                  • 「生成AIエージェント」の実装入門(LangChain版とLangGraph版を対比) - Qiita

                    本記事は、2024年7月発売の書籍「つくりながら学ぶ!生成AIアプリ & エージェント開発入門」をベースに、私なりにGoogle Colabで動作する「生成AIエージェント」を実装してみた内容の解説です 上記の書籍「つくりながら学ぶ! 生成AIアプリ & エージェント開発入門」(発売日 2024/7/18) [link]、著者:ML_Bear(本名: 内田 直孝)さん を参考にしながら、自分なりにいろいろ変更を加えてみて実装してみました。 Google ColaboratoryのNotebookファイルは以下となります。 本記事では今回作成してみたプログラムについて解説します。 [1] 実装したプログラムの概要 今回の実装は、本書で紹介されているエージェント実装の1例目、第9章「インターネットで調べ物をしてくれるエージェントを作ろう」を参考にしました。 書籍の内容をそのまま写経して実装して

                      「生成AIエージェント」の実装入門(LangChain版とLangGraph版を対比) - Qiita
                    • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

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

                        pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                      • ハイパーモダンPython

                        ハイパーモダン(hypermodern)という言葉は20世紀初頭を代表するチェスプレーヤーたちが考案した、当時モダンであると考えられていたオープニング戦略を超える斬新な戦略に由来するものです。本書はPythonを使った開発におけるハイパーモダンな戦略を提示します。Poetry、Nox、pytest、Ruff、uv、Ryeといった新しいツールを活用して、ワークフローをさらに効率化し、堅牢かつ信頼性の高いプロジェクトにする手法を紹介します。ハイパーモダンな戦略を通じて、開発において本当に重要なことを学べる1冊です。 訳者まえがき はじめに Ⅰ部 インストールと環境 1章 Pythonのインストール 1.1 複数のPythonのバージョンをサポートする 1.2 Pythonインタプリタを探す 1.3 WindowsにPythonをインストールする 1.4 Windows用Python 1.5 m

                          ハイパーモダンPython
                        • Python 3.13がリリース!AIと機械学習に変革を齎す! - Qiita

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? みなさんこんにちは!私は株式会社ulusageの、技術ブログ生成AIです!これからなるべく鮮度の高い情報や、ためになるようなTipsを展開していきます。よろしくお願いします!(AIによる自動記事生成を行なっています。システムフローについてなど、この仕組みに興味あれば、要望が一定あり次第、別途記事を書きます!) Python 3.13がAIと機械学習の世界を変える理由 Python 3.13がついにリリースされ、数多くの重要なアップデートが盛り込まれています。機械学習、データサイエンス、そしてAIの分野で最も広く使用されているプログラミン

                            Python 3.13がリリース!AIと機械学習に変革を齎す! - Qiita
                          • バックエンド視点で振り返るGraphQLを採用したプロダクト開発 - enechain Tech Blog

                            はじめに 技術スタック eScanチームにおけるGraphQLの使い方 開発フローの工夫 N+1問題の対応と注意点 エラーハンドリングの工夫 モニタリングの工夫 ドキュメンテーションを必須化するための工夫 その他の取り組み 振り返り 良かった点 難しかった点 今後の展望 最後に はじめに こんにちは、enechainでソフトウェアエンジニアをしている小沢です。 私が所属しているチーム(以降、eScanチーム)では、eScanという電力会社向けのリスクマネジメントシステムを開発・運用しており、その中でGraphQLを採用しています。すでにGraphQLを採用するメリット・デメリットについて様々なところで語られていますが、eScanチームでもオーバーフェッチが解消できる点、1リクエストで必要なデータをフェッチできる点などのメリットを享受するために採用しています。 今回は実際にGraphQLを採

                              バックエンド視点で振り返るGraphQLを採用したプロダクト開発 - enechain Tech Blog
                            • コーディング面接で必要なPythonの学習 | Coding InterviewCat | コーディング面接対策教材

                              コーディング面接で使われる構文、データ構造、標準関数などは実はある程度限定されています。ここに書いてある事を理解するだけでコーディング面接における(体感)8 ~ 9割くらいのPythonの必要な知識を学習できます。 例えば、辞書やセットは頻繁に活用しますが、ジェネレーター・デコレータなどはコーディング面接ではそこまで登場しません。つまり必要なものだけ集中して学習し、残りの要素はその都度調べる形が効率良いでしょう。コーディング面接では万が一忘れた時は相手が自分の代わりにググってくれたり、擬似コードとして書くことも許される場合があります。

                                コーディング面接で必要なPythonの学習 | Coding InterviewCat | コーディング面接対策教材
                              • Lambda が timeout する際に graceful に落としたい日々だった

                                2023-10-01T00:00:00.000Z 3a1e28ee-19ba-3ae8-3af1-2a2ae2cf1a2b Task timed out after 300.49 seconds Lambda を実装する上では冪等性が重要で、このようにタイムアウトが発生したとしても次に開始される処理には影響がないようにすることが求められます。が、場合によっては上記のタイムアウト時の仕様が困ったことになる場合があります。当社で Lambda を使った処理を実装している上でも、Lambda 内のある処理がされないうちにタイムアウト時間に到達してしまうことで、運用上想定していない挙動が発生してしまうことがあり、頭を悩ませていました。 Lambda を graceful にシャットダウンさせたい Python にはデコレータ[1]という概念があり、これを使うことで関数の前後に任意の処理を追加するこ

                                  Lambda が timeout する際に graceful に落としたい日々だった
                                • 型安全かつシンプルなAgentフレームワーク「PydanticAI」の実装を解剖する - ABEJA Tech Blog

                                  はじめに こちらはABEJAアドベントカレンダー2024 12日目の記事です。 こんにちは、ABEJAでデータサイエンティストをしている坂元です。最近はLLMでアプローチしようとしていたことがよくよく検証してみるとLLMでは難しいことが分かり急遽CVのあらゆるモデルとレガシーな画像処理をこれでもかというくらい詰め込んだパイプラインを実装することになった案件を経験して、LLMでは難しそうなことをLLM以外のアプローチでこなせるだけの引き出しとスキルはDSとしてやはり身に付けておくべきだなと思うなどしています(LLMにやらせようとしていることは大抵難しいことなので切り替えはそこそこ大変)。 とはいうものの、Agentの普及によってより複雑かつ高度な推論も出来るようになってきています。弊社の社内外のプロジェクト状況を見ていても最近では単純なRAG案件は減りつつあり、計画からアクションの実行、結果

                                    型安全かつシンプルなAgentフレームワーク「PydanticAI」の実装を解剖する - ABEJA Tech Blog
                                  • 非同期タスクのメトリクス収集術 - Nealle Developer's Blog

                                    こんにちはSREチームの宮後(@miya10kei)です。最近、7.1がリリースされて攻略に勤しんでいます⚔️ 今回はPark Directの非同期タスク処理に対するメトリクスの収集について紹介します! 背景 Park Directでは非同期タスク処理にCeleryを採用し次の構成で利用しています。 非同期タスク処理の構成 機能拡張とサービス成長に伴い非同期タスクの量が日に日に増加しており、キュー詰まり(タスク登録数に処理が追いついていない)のような事象が起きていました。しかし、当時はタスクの処理件数や処理速度、キューにタスクが滞留していた時間といった基本的な情報を計測できていなかったため、正確には原因を把握できずにいました。 そこで、まずは実態を把握するために、必要なメトリクスを収集することにしました。 計測する情報 今回は次の4つのメトリクスを計測することにしました。 # 計測する情報

                                      非同期タスクのメトリクス収集術 - Nealle Developer's Blog
                                    • TypeScriptに導入された新たな仕組みのデコレータ、その使い方と利便性とは?

                                      CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                        TypeScriptに導入された新たな仕組みのデコレータ、その使い方と利便性とは?
                                      • mypy plugin に入門して社内 OSS である gokart を型安全にしてみた - エムスリーテックブログ

                                        今回は mypy plugin を利用して、型安全に対応していないライブラリを型安全にする方法を紹介します! 具体的にはエムスリーが開発する機械学習パイプラインツールである gokart を対象とし、mypy plugin を用いてどのように型の課題を解消したかについて解説します。 対象読者としては、既に gokart を使ってくださっている方はもちろんですが、dataclass や Pydantic がどのように型を担保しているかについて興味がある方も想定しています。 github.com gokart について gokart における型の問題 クラス変数をハックするツールである mypy による型チェックする上での課題 mypy plugin を自作してみる 静的解析時のイベントにフックする Plugin クラス 構文解析の結果を上書きする mypy API mypy plugin 開

                                          mypy plugin に入門して社内 OSS である gokart を型安全にしてみた - エムスリーテックブログ
                                        • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

                                          Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

                                            Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
                                          • タスクとパラメータの一元管理で実現するMLOps - enechain Tech Blog

                                            はじめに 背景 タスクランナーを導入するモチベーション パラメータ管理ツールを導入するモチベーション 実現したいこと モデルや環境に依存しないタスクによるパイプラインの操作 共通部分と環境特有部分を分離したパラメータ定義 パラメータ定義の構造化 実装方法 利用するツール パラメータファイル 構造化パラメータのマージ処理の実装 おわりに はじめに enechain データサイエンスデスク エンジニアの藤村です。 enechainでは市場活性化を目的として、機械学習や最適化アルゴリズムを用いて電力や燃料などの商品に関する指標を算出し、社内外に提供しています。本稿では、これらを算出するモデルの構築・運用を効率化するために作成した、タスクランナーinvokeとパラメータ管理ツールhydraを一体化したシステムを紹介します。 背景 タスクランナーを導入するモチベーション 機械学習モデルの構築・運用に

                                              タスクとパラメータの一元管理で実現するMLOps - enechain Tech Blog
                                            • TypeScriptに導入された新たな仕組みのデコレータ、その使い方と利便性とは?

                                              CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                                TypeScriptに導入された新たな仕組みのデコレータ、その使い方と利便性とは?
                                              • LLMアプリにhuman-in-the-loopを追加する「HumanLayer」を試す

                                                GitHubレポジトリ HumanLayer HumanLayer: AIエージェントがツールベースおよび非同期ワークフローで人間とコミュニケーションできるようにするPythonツールキット。人間をループに組み込むことで、エージェントツールはより強力で意味のあるツールコールやタスクへのアクセスが可能になります。 あなたのLLM(OpenAI、Llama、Claudeなど)やフレームワーク(LangChain、CrewAIなど)を持ち込み、AIエージェントに安全に世界へのアクセスを提供しましょう。 なぜHumanLayerなのか? 機能やツールは、エージェントワークフローの重要な要素です。これらは、LLM(大規模言語モデル)が外部の世界と意味のある形でやり取りし、広範囲にわたる重要な作業を自動化することを可能にします。正確で正しい機能呼び出しは、AIエージェントがアポイントメントを予約したり

                                                  LLMアプリにhuman-in-the-loopを追加する「HumanLayer」を試す
                                                • Hugging Face ZeroGPU のチュートリアル|ぬこぬこ

                                                  tl;drHugging Face に月に 9 ドルお布施すると ZeroGPU が使えるよ! ZeroGPU は Hugging Face Spaces にて最大 120 秒間 A100 が使えるという代物だよ! 通常はホスティングに時間単価で課金が発生するから安心だね! ちょっとしたモデルの推論サーバとして重宝するよ! ZeroGPU とはなにか Hugging Face Spaces で追加のコストなく GPU を使える代物。 この記事の読者の多くは、大規模言語モデルや画像生成モデルなどのデモアプリが Hugging Face Spaces 上で動いているのを目にしたことがあるでしょう。 こういう感じの一度くらい見たことがありますよねきっとこれらを自前で Hugging Face Spaces にホスティングする際にはなかなかにめんどうくさい。 このモデルってどのくらいの推論メモリを

                                                    Hugging Face ZeroGPU のチュートリアル|ぬこぬこ
                                                  • Genericやらoverloadやらを使って、MLパイプラインツールgokartを型安全にしてみた - エムスリーテックブログ

                                                    AI・機械学習チームの北川(@kitagry)です。 このブログはサテライトオフィスのメンバーで投稿されるブログリレー1日目の記事になります。1 サテライトオフィスブログリレーとある通り、4月から京都オフィスに在籍しています。 最近京都オフィスメンバーで居酒屋に行ったりしたのですが、やはり関西めっちゃ安い。。 みんなおいでよと思っているところです。 本ブログではエムスリー株式会社がOSSとして公開しているgokartというPythonツールの型を強化した話について書きます。 Python3.5から型ヒントの機能が追加され、現在最新のPython3.13に至るまでに徐々に機能が追加されています。 最近はGILの無効化など高速化に関する話題が上りがちですが、その一方で型についても徐々に充実してきています。 このブログではPythonで利用可能な型について言及しながら、gokartに型を導入した

                                                      Genericやらoverloadやらを使って、MLパイプラインツールgokartを型安全にしてみた - エムスリーテックブログ
                                                    • データサイエンティストがGoを使った開発を経験することで学んだ、Python開発の改善点 | Wantedly Engineer Blog

                                                      こんにちは、ウォンテッドリーでデータサイエンティストをしている林(@python_walker)です。この記事はWantedly Advent Calendar 2024の4日目の記事です。私は普段は推薦システムのモデルの改善に携わっていることが多く、そのため業務ではPythonを触っていることが多いのですが、最近推薦基盤を触る機会ができ、不慣れながらGoの開発を行っていた時期がありました。 自分が慣れていない言語で開発を進めるのはなかなか大変でしたが、データサイエンティストが開発したモデルがどのような基盤を通してユーザーに提供されているのか解像度を上げることができたので有意義だったと思っています。さて、GoとPythonは言語的にも大きく異なるものではあるのはそうですが、今回は扱っている領域も異なっていたので、Go製の推薦基盤システムをいじる中でPythonでの開発時に参考になりそうだと

                                                        データサイエンティストがGoを使った開発を経験することで学んだ、Python開発の改善点 | Wantedly Engineer Blog
                                                      • Pythonのコンパイラを作りたい #1 - 開発の背景と概要

                                                        こんにちは。これから続ける(かもしれない)「Pythonのコンパイラを作りたい」では私が取り組んでいる「PythonコードをLLVM IRへ変換し、ネイティブバイナリを生成する」プロジェクト pyc のあれこれをご紹介します。 初回のこの記事では、開発の背景・モチベーションや全体像など、「なぜわざわざPythonのコンパイラを作るのか?」という部分をざっくりとお話ししようと思います。 1. Pythonコンパイラを作る理由 1-1. なぜPythonをコンパイルする必要があるのか? Pythonはとても書きやすく、多くのライブラリが揃っており、数値計算・機械学習・Web開発・スクリプト処理など、幅広い分野で利用されています。しかし、インタプリタ言語としての宿命もあり、やや速度面で不利な場合があります。特に、大規模データの処理やリアルタイム性が重要な場面では、パフォーマンスがボトルネックにな

                                                          Pythonのコンパイラを作りたい #1 - 開発の背景と概要
                                                        • Pythonのデコレータってどう実装するん?ってことでフレームワーク的な実装を試してみた - Qiita

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

                                                            Pythonのデコレータってどう実装するん?ってことでフレームワーク的な実装を試してみた - Qiita
                                                          • え! PydanticのdataclassデコレータとBaseModel継承は同じ、じゃないんですか!? - nikkie-ftnextの日記

                                                            はじめに 明けましておめでとうニョロ〜🐍 nikkieです。 私はPydanticのdataclassesをBaseModelと同じ(つまり交換可能)だと誤解していました... 目次 はじめに 目次 きっかけ 結論:dataclassデコレータとBaseModel継承には違いがあります 1️⃣可変なデフォルト値の指定方法 2️⃣インスタンス化における余剰なフィールド 動作検証スクリプト 終わりに きっかけ tokibitoさんのブログを読んでいたところ pydanticのドキュメントには、BaseModelを継承するのとdataclassを使うのでは、機能的な差があるとも書かれている な、なんだって〜!? Pydanticのdataclassデコレータは『ロバストPython』を読みましたが、読み落としたかな? ドキュメントを見に行きます。 docs.pydantic.dev Noteよ

                                                              え! PydanticのdataclassデコレータとBaseModel継承は同じ、じゃないんですか!? - nikkie-ftnextの日記
                                                            • LangChainとLangGraphによるRAG・AIエージェント[実践]入門

                                                              2024年11月9日紙版発売 2024年11月9日電子版発売 西見公宏,吉田真吾,大嶋勇樹 著 B5変形判/496ページ 定価3,960円(本体3,600円+税10%) ISBN 978-4-297-14530-9 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto この本の概要 本書では,OpenAIによるAIサービスを利用するためのOpenAI API,オープンソースのLLMアプリ開発ライブラリLangChain を使って,LLM(大規模言語モデル)を活用したRAG(検索拡張生成)アプリケーション,そしてAIエージェントシステムを開発するための実践的な知識を基礎からわかりやすく解説します。 OpenAI のチャットAPI,

                                                                LangChainとLangGraphによるRAG・AIエージェント[実践]入門
                                                              • Pythonクイックリファレンス 第4版

                                                                本書はPythonの機能を十分に活用するためのリファレンスです。チュートリアルとしての「Pythonを使ってみる」、型アノテーションや文字列といった「Python言語と組み込み機能」、ファイルやテキスト、時間の操作、数値処理などをまとめた「Pythonの標準ライブラリと拡張モジュール」、HTTPの処理や構造化テキストを学ぶ「ネットワークとWebプログラミング」、バージョン移行などに関する「拡張、配布、バージョンのアップグレードと移行」という5部構成となっています。Pythonを本格的に学びたい人から、さらなるスキルアップを目指したい人まで、Pythonを最大限に活用するための有益な情報がぎっちり詰まった1冊です。Python 3.11対応。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷

                                                                  Pythonクイックリファレンス 第4版
                                                                • Python3.13正式リリースが出ました! - Qiita

                                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Python 3.13 新機能と変更点まとめ Pythonプログラミング言語の最新安定版であるPython 3.13が正式にリリースされました。 この記事では、Python 3.13のリリースノートに基づき、前バージョン(Python 3.12)からの主な変更点や新機能を解説します。 ハイライト Python 3.13では、言語自体、実装、および標準ライブラリにさまざまな変更が加えられています。主な変更点は以下の通りです: 新しい対話型インタプリタの導入:ユーザーエクスペリエンスを大幅に向上させる新しい対話型シェルがデフォルトとなりまし

                                                                    Python3.13正式リリースが出ました! - Qiita
                                                                  • 非同期タスクの実行パラメータをAthenaで検索可能にする 〜障害調査を容易にする実装方法〜 - Nealle Developer's Blog

                                                                    こんにちはSREチームの宮後(@miya10kei)です。最近、デスクシェルフを買ってからデスク周りがとてもスッキリして大満足しています😏 前回に続いて非同期タスク関連の取り組みを紹介します! ところで、、、障害が発生したときの調査って大変ですよね?非同期で実行される処理なんかは特に原因の特定が難しいと思っています💦 そこで、今回は障害時の調査用に非同期タスクの実行パラメータを永続化し、Athenaから検索できるようにした仕組みを紹介します。 背景 前回紹介した「非同期タスクのメトリクス収集術」で非同期タスクの状態を確認できるようになりました。しかし、障害時にどんなパラメータで実行されたのかといった詳細な情報まではまだ把握できません。エラーログにしっかりと必要な情報を出力できていれば良いのですが、なかなかそうはなっていないのが現状です、、、。 また、実行パラメータには場合によっては個人

                                                                      非同期タスクの実行パラメータをAthenaで検索可能にする 〜障害調査を容易にする実装方法〜 - Nealle Developer's Blog
                                                                    • Gemini 2.0 Flash から MCP を利用して BigQuery を操作する

                                                                      Google Cloud Champion Innovators Advent Calendar 2024 の 12 日目の記事です。 はじめに LLM が広く普及し、活用範囲が急速に拡大してきたことで、ツール連携機能を活用した AI エージェントを構築する機会も増えてきています。このような LLM とツールの連携により、チャットインターフェースから様々なシステムやサービスを制御・自動化できるようになりました。 しかし、AI エージェントの開発には2つの困りごとがあると感じています。1つ目は、複雑な指示を処理するために必要な高性能モデルの応答速度が遅い点、2つ目は複数のプロジェクトでツールを再利用する際の実装効率の問題です。 本記事では、これらに対する解決策の一例を紹介します。LLM から BigQuery を操作するユースケースにおいて、応答速度が遅い点については Gemini 2.0

                                                                        Gemini 2.0 Flash から MCP を利用して BigQuery を操作する
                                                                      • 現場のPython ──Webシステム開発から、機械学習・データ分析まで

                                                                        2024年9月12日紙版発売 2024年9月12日電子版発売 株式会社ビープラウド 監修,altnight,石上晋,delhi09,鈴木たかのり,斎藤努 著 A5判/384ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-14401-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 『WEB+DB PRESS』の人気連載が待望の書籍化です。Webシステム開発から機械学習・データ分析まで,現場で使えるPythonのノウハウが1冊にまとまっています。取り上げる話題は,環境構築,コード品質,テスト,構造化ログ,リリ

                                                                          現場のPython ──Webシステム開発から、機械学習・データ分析まで
                                                                        • 『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』は、LangChain/LangGraphを日本語で学習したい人にとって必携の一冊 part1 - Qiita

                                                                          『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』は、LangChain/LangGraphを日本語で学習したい人にとって必携の一冊 part1AgentOpenAIraglangchainlanggraph Amazon 技術評論社 タイトル: LangChainとLangGraphによるRAG・AIエージェント[実践]入門 以降、「本書」と呼称します。 書評は二部構成です。 第一部の書評 OpenAIのチャットAPIとLangChainの基礎からRAGまで ここ 第二部の書評 AgenticなAIシステム と LangGraph 前置き LangGraphのお勉強してますアピールをしていると、ありがたいことに、著者の吉田さんから、ご恵贈いただきました。吉田さんと大嶋さん共著のChatGPT/LangChainによるチャットシステム構築[実践]入門には大

                                                                            『LangChainとLangGraphによるRAG・AIエージェント[実践]入門』は、LangChain/LangGraphを日本語で学習したい人にとって必携の一冊 part1 - Qiita
                                                                          • pytestを今更ながらまとめてみる

                                                                            はじめに 今年こそはダイエットを心に決めた、ノベルワークスのりょうちん(ryotech34)です。 cursorを使用してpytestでテストを書かせた際に、知らないデコレータなど知識不足が目についたので改めてpytestについてまとめてみました。 対象読者 pytestにあまり触れたことがない方 cursorで初めてpytestを使うよっていう方 今回話さないこと セットアップと基本的な実行方法 unittestなどの別ライブラリとの比較 pytestとは pythonでテストコードを書く際に用いられる外部ライブラリです。 簡単なコードサンプル集は寺田さんの記事に詳しくまとめられていました。 今回は、 よく使う便利な機能 cursorに改めて指示しないと別のやり方で実行してしまう機能 をピックアップしました。 fixture fixtureとは、テストの前処理や後処理など「テストに必要な

                                                                              pytestを今更ながらまとめてみる
                                                                            • 8年間の進化!CARTA MARKETING FIRMが機械学習基盤を刷新した理由とその成果 - CARTA TECH BLOG

                                                                              TL;DR CARTA MARKETING FIRMのデータサイエンスチームは、8年間にわたり機械学習基盤を進化させてきました。Luigi、AWS SageMaker、Prefectと変遷する中で、「データサイエンティストが最も付加価値を生み出す部分に集中し、時間を費やすことができる基盤」という目標に着実に近づいています。 Luigiでは開発環境構築や運用負荷が高く、柔軟性に欠けていました。 SageMakerではインフラ構築の複雑さやStep Functionsの制約が課題でした。 Prefectの導入により、Pythonのみでインフラからバッチ処理まで記述可能になり、A/Bテストの実施が容易になりました。また、ログ監視の一元化により運用効率が大幅に向上しました。 この進化を通じて、データサイエンティストの生産性と施策の実験サイクルが大幅に改善されました。 概要 CARTA MARKET

                                                                                8年間の進化!CARTA MARKETING FIRMが機械学習基盤を刷新した理由とその成果 - CARTA TECH BLOG
                                                                              • GPT-4o(Claude)に危険物取扱者試験(甲種試験)を解かせてみる-その4: LangGraphによるエージェント化と自動の文献情報の照合|Kan Hatakeyama

                                                                                ranggraphを入れます。GPT-4oよりもClaude-3.5-sonnetの方が読解力が高そうだったので、anthropicのモジュールも入れておきます。 pip install -U langgraph pip install langchain-anthropic練習1: 秘密の合言葉をチェックするエージェントを作るチュートリアルを少し改造したシステムを作ります。 練習で、以下のようなシステムを作ります。 人間の代わりにLLMがツールにアクセスし、返答を得るものです。 モジュールの定義モジュール類を定義します。 from typing import Annotated, Literal, TypedDict from langchain_core.messages import HumanMessage from langchain_anthropic import ChatA

                                                                                  GPT-4o(Claude)に危険物取扱者試験(甲種試験)を解かせてみる-その4: LangGraphによるエージェント化と自動の文献情報の照合|Kan Hatakeyama
                                                                                • Python型ヒントの動向と新しい機能の紹介 | gihyo.jp

                                                                                  鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、Pythonの型ヒントの最近の動き、比較的新しい型ヒントの機能について紹介します。 本連載でも過去にいくつも型ヒント関連の記事があります。このようによりよいPythonコードを書くための型ヒントが、Pythonバージョンの更新に伴って追加されています。 2022年9月:Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp 2023年1月:O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681⁠)⁠ | gihyo.jp 2023年5月:Python 3.11の新機能:型チェッカーでロジックの間違いを検出できるtyping.assert_never関数とtyping.Never型 | gihyo.

                                                                                    Python型ヒントの動向と新しい機能の紹介 | gihyo.jp