並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 178件

新着順 人気順

asyncioの検索結果1 - 40 件 / 178件

  • AIにコードまるごと解説してもらうと、界王拳100倍すぎる件|深津 貴之 (fladdict)

    最近、見つけた技。知らない言語でコードかくときChatGPTが神すぎる。 そのテクはなんと「プログラミングまるごとを、ChatGPTに突っ込む」というもの。 え、そんなの動くの!? と思うんですが、動くんですそんなの。直球すぎて盲点だった。 試してみよう たとえば、下記はGoogleサービス使って、リアルタイムにマイク音声を文字起こしするサンプル。 こいつをチャットAIで音声会話をやろうと、軽く読んでみたのですが…うん、よくわからん。 Pythonだし、Streamingだし、音声の操作だし、普段つかわない技術が満載すぎてわからん。 雑にコードを突っ込むと人生が解決こういう時は 以下のコードを、わかりやすく説明して。 <以下、上記コードをそのままコピペ>とすると……  こうなる。 このコードは、Google Cloud Speech-to-Text APIを使用して、マイクからの音声をリア

      AIにコードまるごと解説してもらうと、界王拳100倍すぎる件|深津 貴之 (fladdict)
    • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

      はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

        シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
      • サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ

        Pythonでお仕事する前提で、現在のところで自分が最適と考えるチーム開発のための環境整備についてまとめてみました。今までももろもろ散発的に記事に書いたりしていたのですが、Poetryで環境を作ってみたのと、過去のもろもろの情報がまとまったものが個人的にも欲しかったのでまとめました。前提としては次の通りです。 パッケージ管理や開発環境整備でPoetryを使う 今時はコードフォーマッター、静的チェックは当たり前ですよね? コマンドでテスト実行、コードチェックとか実行とかができる(CI/CD等を考えて) VSCodeでもコマンドで実行しているのと同じコードチェックが可能(ここコンフリクトすると困る) デプロイはDockerイメージ コンテナのデプロイ環境でコンテナに割り当てられたCPU能力を比較的引き出せて、スケールさせたら線形にパフォーマンスアップできるようなasyncioを前提とした環境構

          サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ
        • FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

          FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ PythonのWebフレームワークとしていま注目を集めるFastAPIは、シンプルにコードが書けるだけでなく、パフォーマンスが高いWebアプリケーションのバックエンドサーバーが構築可能です。同フレームワークの勘所をPythonスペシャリストの杜世橋さんが、初心者向けのハンズオン、そしてより実践的な画像への自動タグ付けサービス実装をとおして解説します。 FastAPIはいま非常に注目されているPythonのWebフレームワークの1つです。Flaskのようにシンプルに書ける一方でPythonのType Hintの機能をうまく活用し、HTTPのリクエスト/レスポンスをPythonの関数の引数/戻り値とシームレスにマッピングして非常に効率的に開発ができるのが最大の特徴です。非同期処理にも対応していてその名

            FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
          • 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!

              Pythonでリトライ処理を簡単に追加できる「tenacity」を使ってみる | DevelopersIO
            • 2020年に作ったソフトウェアや開発技術をふりかえる - laiso

              概要 よくある年末っぽい日記の記事です。 だいだいこれどうりのバランスでソースコードも書いてる 言語はなんでもいい時はNode.jsで書く。移植性が高いので。複数人でメンテしそうな時はTypeScriptを採用し、プライベートの時は型を完全に無視する PHPはほぼLaravel。ビジネスのみの関係 Swiftはそんなに書いた記憶がないけどアプリのメンテをしてたと思う Vueも仕事で使っていたけど最近はReactに傾いてる Objective-Cは書いてない グラフに含まれてない部分だとAndroidアプリでKotlinを使って、データ分析でPythonを書いた このグラフは GitHub Profile Summary Cards っていう便利ツールを使わせてもらって自動生成している。 記録方法 コードを書く時はおもむろに ~/tmp 以下にディレクトリ掘ってIDEを開きはじめるので実質そ

                2020年に作ったソフトウェアや開発技術をふりかえる - laiso
              • GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso

                と思ってやってみたら結構実現できてウケたので解説します。 はじめに 最近のGPT(LLMs)アプリケーション開発界隈は「プロンプトの内容を試行錯誤して結果を期待する」フェーズから「LLMsの特性を生かした今までできなかった自動化を実現」という段階が訪れつつあって楽しい時期です。 LlamaIndexというOSSではDBのスキーマと自然言語からSQLを自動生成してその場で実行するというクレイジーな機能があるのですが(A Guide to LlamaIndex + Structured Dataを参照) これと同じ発想でソースコード全体からpatch(patch - Wikipedia)を生成してその場で適用するというアイデアを思いついたのでしばらく検証していました。 「コミットメッセージを先に書いてそれを満すコミットをGPTに生成してもらう」ようなイメージ。 書いたコードはpmonというコマ

                  GPTでソースコードからpatchを生成し続けたらプログラミングを自動化できるのでは???? - laiso
                • async/await 比較(C#, JavaScript, Python) - Qiita

                  using System.Windows.Threading; Dispatcher.CurrentDispatcher.InvokeAsync(async () => { // いろいろな処理... // メッセージループを終了させる Dispatcher.CurrentDispatcher.BeginInvokeShutdown(DispatcherPriority.Normal); }); Dispatcher.Run(); WPF とか WinForms とかでは、フレームワークがすでにメッセージループを回しているので、自分で Dispatcher.Run() する必要はない。 JavaScript 自分で書く必要なし。 Python asyncio.run(最初に実行するasync関数)

                    async/await 比較(C#, JavaScript, Python) - Qiita
                  • Pythonの非同期プログラミングを完全理解 - Qiita

                    非同期プログラミング 非同期プログラミングについて、聞いたことのある人は多いと思います。例えば、フロントエンドで使われているJavaScriptはシングルスレッド言語で、メインスレッドをブロッキングさせないため、様々な関数は非同期処理になるよう実装されています。Node.jsもその性質を受け継ぎ、I/Oバウンドタスクに長けています。しかし、Pythonになると、並列・並行処理に対応しているため、ほとんどの人は自身のプロジェクトで非同期プログラミングを利用した経験がないでしょう。もちろん、Tornado、TwistedやGeventなどの非同期フレームワークが有名で使ったことのある人は少なくないですが、変わったエラーにぶつかった時はなかなか解決できないでしょう。 近年のPyConの傾向から見れば分かりますが、非同期プログラミングは間違いなくPythonエコシステムの次のトレンドになります。ま

                      Pythonの非同期プログラミングを完全理解 - Qiita
                    • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                      はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                        Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                      • Python実践入門を執筆しました

                        2020年01月24日発売の「Python実践入門 ── 言語の力を引き出し、開発効率を高める」を執筆しました。 お話をいただいたのが2017年の終わり頃1で、そこから2年をかけてじっくりと書きあげました。 その間、レビュアーの方々には何度も何度もレビューをしていただき、自分でも納得のいく書籍となりました。 そこで、ここで著者として本書を紹介しておこうと思います。 対象読者と本書の紹介 Python実践入門は、主な対象読者に次のような方々を想定して書いています。 Pythonの入門書をやりきった方 入門書は一通りやったけどまだ自信を持てない Pythonを業務利用するのはまだ不安 他言語でのプログラミング経験者でこれからPythonを始める方 業務利用の経験はないが転職先やこの先の案件でPythonが必要になる 普段は別の言語を書いてるけどPythonを始めたい すでにPythonを書いて

                          Python実践入門を執筆しました
                        • Pythonで非同期投げっぱなしファイル書き出し - Qiita

                          Pythonで2面バッファにロギングしつつ、非同期でファイルに書き出す処理を書いてみた。 Fire-and-forgetとちゅうらしい。いわゆるヤリ逃げされるタスク。 動作仕様 ①main()は100msec周期で「日付+ダミーデータ」のCSVデータをバッファに書き込む。 ②dataNumMax(100)個データがたまったらファイル書き出し関数(writeDataToFile)を非同期投げっぱなしで呼び出す。 writeDataToFile()は指定されたバッファをファイルに書き出す。 ③main()はバッファの書き出し面を切り替える。 ※ctrl-Cで抜けてください ※Python3.11です import datetime import asyncio from time import sleep # グローバルな2面のデータバッファ DataBuffer1 = [] DataBuff

                            Pythonで非同期投げっぱなしファイル書き出し - Qiita
                          • 10秒で6,000万円稼いだ「NFT高速MINT bot」 - Qiita

                            この記事では約6,000万円(2,800 SOL)の利益をあげた、「NFT高速MINT bot」のソースコードを公開します。 NFTをmintした当時、実際に使用したソースコードです。 また、当時私がどんなことをして利益を上げたのかが分かる内容にもなっています。 botter志望でソースコードを見たいという人だけではなく、NFTの波に乗って利益を上げてみたいけど何をすればいいのかわからない人にもヒントになる...かもしれないので、何らかの形でこの記事を役立ててもらえたら嬉しいです。 注意 筆者はプログラミング歴1年未満の初心者です。 ソースコードには重大な欠陥等が存在する可能性があります。 この記事に掲載された内容によって生じた損害等について、筆者は一切責任を負いません。 何をするbotなのか このbotは、「Aurory」というゲームプロジェクトがNFTを販売開始するタイミングに合わせて

                              10秒で6,000万円稼いだ「NFT高速MINT bot」 - Qiita
                            • 七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering

                              データ統括部AI基盤部の竹村( @stakemura )です。本記事では、このたびリリースされた、自分の声をキャラクターの声に変換できるWebサービス VOICE AVATAR 七声ニーナ を支えるバックエンド技術についてお話しします。 本サービスはDelight Boardという部署横断型のプロジェクトにて、1000人を超える社員投票により自分の案がまさかの採択となったことがきっかけとなります。幸運にも、百戦錬磨のプロジェクトメンバーに助けられ今日のリリースを迎えましたが、採択当時は人脈も信用貯金も何もない入社一年目の思いつきにすぎず、言い出しっぺである自分の力不足によりタイトなスケジュールでの開発となってしまいました。本記事では、その限られた開発期間の中で、自分が何を考えて実装したかを中心にお伝えします。 サービングに求められる要件 七声ニーナの音声変換はブラウザから受け取った入力音声

                                七声ニーナを支えるバックエンド技術 | BLOG - DeNA Engineering
                              • 非同期処理をシンプルなPythonコードで説明する - Qiita

                                想定読者 非同期処理がいまいちイメージできないという人 非同期処理って具体的にどう書くの?という人 Pythonの基本文法はなんとなく知っているよという人(←具体的な実装方法を知りたい人のみ) Pythonがパソコンにインストールされている(←動作確認したい人のみ) 非同期処理、同期処理とは? まずは結論から。 非同期処理とは、 あるタスクが終了するのを待っている間、別のタスクを実行すること。 同期処理とは、 処理を順番に実行していくこと。 以下、詳しく書いて行きます。 非同期処理のイメージ 非同期処理のイメージは、 家事を並行してこなすことに似ています。 例えば、 ご飯を炊いている間、炊飯器の前でただ炊けるのを待っていては、時間がもったいないです。 炊けるまでの1時間の間に、他のメニューを作ったり、部屋の掃除をした方が効率的です。 このように、 タスクA(ご飯を炊く)が完了するまでの間、

                                  非同期処理をシンプルなPythonコードで説明する - Qiita
                                • Python multiprocessing vs threading vs asyncio - JX通信社エンジニアブログ

                                  エンジニアの鈴木(泰)です。 今回は、multiprocessingとthreadingとasyncioの違いとはなんだろう?という問に挑戦してみたいと思います。 この問の答えをグーグル先生に聞いてみると、非常にたくさんの情報がヒットします。しかしながら、どの情報も断片的なものばかりで(本記事もそうなのかもしれません)、色々と本を読んだりネットを漁ったりして、情報を補完しなければなりませんでした。 本記事は、僕が調べた限りの情報を集約し、この問に対する結論を1つの記事にまとめたものとなっています。 前提 マルチプロセスとは マルチスレッドとは Pythonにおけるマルチスレッド 本題 マルチプロセス(multiprocessingライブラリ)を利用したほうが良い場合 cpu_sec.py cpu_multiprocessing.py cpu_threading.py cpu_asyncio

                                    Python multiprocessing vs threading vs asyncio - JX通信社エンジニアブログ
                                  • asyncioでPythonの非同期処理を書いてみる | DevelopersIO

                                    こんにちは、CX事業本部の夏目です。 LambdaでAWSリソースへアクセスする際に直列的に処理するのではなく、並列的に処理したいことは度々あります。 NodeだとPromiseを使えば簡単にできるのですが、Pythonではどうやるのか気になったので調べてみました。 注意 ここではPython3.5以降を使うことを想定して書いてます。 asyncio モジュール Pythonではasyncioモジュールを使って並列的に処理を書くことができます。 超ざっくり言うと、イベントループを使ってコルーチンを実行しているようです。 それ以上の説明は下記記事を見てください。 Pythonの非同期通信(asyncioモジュール)入門を書きました - ゆくゆくは有へと 非同期処理のことから知らない人向けに Python くらいしかろくに知らない人間が書きました。せっかくキーワードが文法に組み込まれたんだから

                                      asyncioでPythonの非同期処理を書いてみる | DevelopersIO
                                    • Pysa: An open source static analysis tool to detect and prevent security issues in Python code

                                      Pysa: An open source static analysis tool to detect and prevent security issues in Python code Today, we are sharing details about Pysa, an open source static analysis tool we’ve built to detect and prevent security and privacy issues in Python code. Last year, we shared how we built Zoncolan, a static analysis tool that helps us analyze more than 100 million lines of Hack code and has helped engi

                                        Pysa: An open source static analysis tool to detect and prevent security issues in Python code
                                      • Pythonクローリング&スクレイピングの増補改訂版が出版されます - orangain flavor

                                        Pythonクローリング&スクレイピングはおかげさまでご好評いただき、この度、増補改訂版を出版する運びとなりました。紙版は本日8/10発売で、電子書籍版は既に発売中です。 Pythonクローリング&スクレイピング[増補改訂版] -データ収集・解析のための実践開発ガイド 作者: 加藤耕太出版社/メーカー: 技術評論社発売日: 2019/08/10メディア: 単行本(ソフトカバー)この商品を含むブログを見る クローリングやスクレイピングを扱う書籍は、対象として利用しているWebサイトの変化によって、サンプルコードが動かなくなってしまう宿命があります。初版を執筆した際は、なるべく考え方を伝えるようにすることで、たとえサンプルが動かなくなったとしても役立つ内容にすることを心がけました。 ですが、書いてあるコードがそのまま動くに越したことはありません。今回改訂の機会をいただいたことで、読者の皆様に学

                                          Pythonクローリング&スクレイピングの増補改訂版が出版されます - orangain flavor
                                        • Choose the Right Python Concurrency API - Super Fast Python

                                          How to Choose the Right Python Concurrency API Python standard library offers 3 concurrency APIs. How do you know which API to use in your project? In this tutorial, you will discover a helpful step-by-step procedure and helpful questions to guide you to the most appropriate concurrency API. After reading this guide, you will also know how to choose the right Python concurrency API for current and

                                            Choose the Right Python Concurrency API - Super Fast Python
                                          • LMQL(Language Model Query Language)概観|mah_lab / 西見 公宏

                                            LMQL Playgroundでクエリを試すLMQLには動作を簡単に検証できるPlaygroundが用意されています。ローカルでPlaygroundを起動することもできます。 まずはGetting Startedで紹介されている以下のクエリを実行します。 argmax "Hello[WHO]" from "openai/text-ada-001" where len(WHO) < 10「Run」ボタンをクリックするとOpenAIのAPI KEYを求められるので、入力します。 実行するとModel Responseの枠に結果が表示されます。 LMQLの基本構造LMQLは記法的にはSQLと似ていて、以下のような構造を持っています。 デコーダ節(Decoder Clause): テキスト生成に使用するデコード・アルゴリズムを指定します。LMQLでは様々なデコード・アルゴリズムを選択することができ

                                              LMQL(Language Model Query Language)概観|mah_lab / 西見 公宏
                                            • OpenAI Python API Library v1.0 入門|npaka

                                              「OpenAI Python API Library」のインタフェースが一新されたので、かるくまとめ直しました。 ・OpenAI Python API library v1.1.1 1. OpenAI Python API LibraryPythonで「OpenAI API」にアクセスするには「OpenAI Python API Library」を使います。 2. セットアップColabでのセットアップ手順は、次のとおりです。 (1) パッケージのインストール。 # パッケージのインストール !pip install openai(2) 環境変数の準備。 以下のコードの <OpenAI_APIキー> にはOpenAIのサイトで取得できるAPIキーを指定します。(有料) import os os.environ["OPENAI_API_KEY"] = "<OpenAI_APIキー>"(3)

                                                OpenAI Python API Library v1.0 入門|npaka
                                              • 国立国会図書館APIを使いやすくするためのPythonライブラリを作成しました|shimakaze_soft

                                                とある個人プロダクトを作ろうと思いついた時に、自分で欲しいなと思ったたのもあり、Pythonでとあるライブラリを作成してみました。 今回開発したものJpndlpyという名前の国立国会図書館から情報を取得するHTTPクライアントライブラリを作成しました。 国立国会図書館は、書籍タイトルや著者などの図書情報をAPIとして公開しています。国立国会図書館のAPIはいろんなプロトコルでAPIを公開しており、今回はOpenSearch形式のAPIからHTTPで図書情報を取得するためのPythonから使えるHTTPクライアントのライブラリを作成しました。 GitHub内などを探してみても同じような物を作っている方がいなかったため、自分が欲しかったというのもあり、開発してみました。 PyPiにも公開しましたので、随時アップデートしていく予定です。 国立国会図書館とは国立国会図書館とは、日本国内で発行された

                                                  国立国会図書館APIを使いやすくするためのPythonライブラリを作成しました|shimakaze_soft
                                                • PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ

                                                  今までuWSGIをシングルスレッド、マルチプロセスで使っていたのだけれども、昔に比べて外部のAPI呼び出しが増えているのでマルチスレッド化を検討している。 uWSGI uWSGIでマルチスレッドを有効にした時は、各workerスレッドがacceptする形で動作する。スレッド数以上の接続をacceptすることがないので安心。 プロセス内のスレッド間ではmutexで排他されて、同時にacceptを実行するのは1スレッドのみに制限されている。つまりthendering herd問題はプロセス間でしか起こらない。マルチスレッド化でプロセス数はむしろCPUコア数まで減らせるので、thendering herd問題はむしろ今よりも軽減できる。(ちなみにプロセス間でもロックしてthendering herdを許さないオプションもあるけど、プロセス間同期は怖いので使っていなかった。) ただしuWSGIのマ

                                                    PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ
                                                  • A search engine in 80 lines of Python

                                                    February 05, 2024 · 26 mins · 4728 words Discussion on HackerNews. Last September I hopped on board with Wallapop as a Search Data Scientist and since then part of my work has been working with Solr, an open source search engine based on Lucene. I’ve got the basics of how a search engine works, but I had this itch to understand it even better. So, I rolled up my sleeves and decided to build one fr

                                                    • Python standard library changes in recent years

                                                      With each major Python release, all the attention goes to the new language features: the walrus operator, dictionary merging, pattern matching. There is also a lot of writing about asyncio and typing modules — they are developing rapidly and are obviously important for the core team. The rest of the standard library modules receive undeservedly little attention. I want to fix this and tell you abo

                                                        Python standard library changes in recent years
                                                      • Async Python is not faster

                                                        50th and 99th percentile response times are in milliseconds, throughput is in requests per second. The table is ordered by P99, which I think is perhaps the most important real world statistic. Note that: The best performers are sync frameworks but Flask has lower throughput than others The worst performers are all async frameworks Async frameworks have far worse latency variation Uvloop-based opt

                                                        • JupyterLite: Jupyter ❤️ WebAssembly ❤️ Python

                                                          JupyterLite is a JupyterLab distribution that runs entirely in the web browser, backed by in-browser language kernels. MotivationJupyterLite is a reboot of several attempts at making a full static Jupyter distribution that runs in the browser, without having to start the Python Jupyter Server on the host machine, usually done by running jupyter lab or jupyter notebook in a terminal. The goal of th

                                                            JupyterLite: Jupyter ❤️ WebAssembly ❤️ Python
                                                          • 【Python】ChatGPT効率化の為に非同期処理を実装|Clirea

                                                            非同期処理は、データ解析、APIリクエスト、ベクター化など多様なタスクにおいてパフォーマンスを向上させる鍵となる技術です。特に、待ち時間が発生しやすい多数のリクエストや処理を一度に効率よく処理したい場合、この技術は不可欠です。 非同期処理と並列処理の違い非同期処理と並列処理は、よく一緒に取り上げられることが多いですが、実はそれぞれ異なる目的と特性を持っています。 非同期処理非同期処理は、I/O待ち(ディスクへの読み書きやネットワーク通信など)といった待機時間を有効に使いながら、他のタスクを進める技術です。この方法で、全体のプログラムがスムーズに動作します。 並列処理一方で、並列処理は複数の処理を物理的に同時に行う技術です。簡単な例でいえば動画です。動画の再生と音声の再生を遅延が無いよう同時に行っています。 並列処理により、大量のデータ処理や高度な計算を高速に行えます。 まとめ簡単に言えば、

                                                              【Python】ChatGPT効率化の為に非同期処理を実装|Clirea
                                                            • 『宇宙兄弟』がきっかけで薬学部からMITに進学 漫画ドリブンで突き進む“圧倒的異能”のAIエンジニア

                                                              DATUM STUDIO株式会社 取締役CAOの里洋平氏が運営するYouTubeチャンネル「里洋平チャンネル」。今回のゲストは、株式会社メルカリ・機械学習エンジニア(※動画収録当時)の松岡玲音氏。プログラミング経験ゼロからデータサイエンティストに辿り着いた道のりについて話しました。 MITの博士課程を辞めてメルカリにジョイン 里洋平氏(以下、里):みなさんこんにちは。里洋平です。今回は株式会社メルカリで機械学習エンジニアをされている(※動画収録当時)玲音さんにお話を聞いていきたいと思います。玲音さん本日はよろしくお願いします。 松岡玲音氏(以下、松岡):よろしくお願いします。 里:では玲音さん、さっそくですが、まずは自己紹介がてら、これまでどんなことをしていたのかであったり、趣味の話であったりをお話していただいてもよろしいでしょうか? 松岡:じゃあキャリアからいこうかな。今は機械学習エンジ

                                                                『宇宙兄弟』がきっかけで薬学部からMITに進学 漫画ドリブンで突き進む“圧倒的異能”のAIエンジニア
                                                              • Effective Python 第2版

                                                                def coprime_alternate(a, b): is_coprime = True for i in range(2, min(a, b) + 1): if a % i == 0 and b % i == 0: is_coprime = False break return is_coprime assert coprime_alternate(4, 9) assert not coprime_alternate(3, 6) 推薦の言葉 第2版日本語版へ寄せて まえがき 1章 Pythonic思考 項目1 使用するPythonのバージョンを知っておく 項目2 PEP 8スタイルガイドに従う 項目3 bytesとstrの違いを知っておく 項目4 Cスタイルフォーマット文字列とstr.formatは使わずf 文字列で埋め込む 項目5 複雑な式の代わりにヘルパー関数を書く 項目6 イン

                                                                  Effective Python 第2版
                                                                • ChatGPT Retrieval Pluginに任意のベクトル検索エンジンProviderを実装する - エムスリーテックブログ

                                                                  Overview エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。検索とGoが好きです。 エムスリーではChatGPTの可能性にいち早く注目して活用を検討している段階ですが、本格的なデータ投入にはまだ懸念もあり、セキュリティチームと検討を進めている段階です。 そんな中で個人または組織のドキュメントのセマンティック検索と取得を可能にするChatGPTプラグイン「ChatGPT Retrieval Plugin」が登場しました。 github.com 情報検索好きとしては黙っていられず、外部公開用のエムスリーAI・機械学習チームのメンバー紹介ドキュメントを使ってローカルで試してみました。 # 用意したドキュメント 中村弘武は東京都在住で、エムスリーという企業で働いでいます。 エムスリーの検索基盤を主に担当しています。また、書

                                                                    ChatGPT Retrieval Pluginに任意のベクトル検索エンジンProviderを実装する - エムスリーテックブログ
                                                                  • Python 3.11 Performance Benchmarks Are Looking Fantastic - Phoronix

                                                                    Python 3.11 Performance Benchmarks Are Looking Fantastic Written by Michael Larabel in Software on 6 June 2022 at 02:00 PM EDT. Page 1 of 4. 64 Comments. Last month Python 3.11 Beta 1 was released as their first preview of this major update to the Python programming language. Besides new language features and other improvements, Python 3.11 performance is looking fantastic with very nice performan

                                                                      Python 3.11 Performance Benchmarks Are Looking Fantastic - Phoronix
                                                                    • Pythonで並列処理をするなら知っておくべきGILをできる限り詳しく調べてみた - Qiita

                                                                      最近Pythonでオーケストレーション層(BFF)のアプリケーションを書く機会がありました。 Python3.4からはasyncioが導入され、I/Oバウンドな処理はシングルスレッドでも効率的に捌けるようになったものの、依然としてCPUバウンドな処理はGILが存在することで、シングルプロセス下では並列処理が制限されます。 このことから言語特性として、CPUバウンドよりもI/Oバウンドな処理を複数捌くことに適していると見ることができます。言語選択の意思決定をする際に重要なファクターとなりますが、そのためにはGILの仕組みを改めて知る必要があると思い、調べてみました。 GIL(グローバルインタプリタロック)とは そもそもGILとは何のことでしょうか。 正式にはGlobal Interpreter Lock(グローバルインタプリタロック)といい、PythonやRuby等の言語に見られる排他ロック

                                                                        Pythonで並列処理をするなら知っておくべきGILをできる限り詳しく調べてみた - Qiita
                                                                      • AWS Lambda Powertoolsが便利すぎた #serverless #python | DevelopersIO

                                                                        aws-lambda-powertools-pythonの実際の使い方をサンプルコードと一緒に紹介します。 こんにちは、クラスメソッドの岡です。 この記事は AWS LambdaとServerless Advent Calendar 2020 の7日目の記事です。 AWS Lambda Powertoolsとは? Lambdaでの実装をサポートしてくれるライブラリです。 現在、ライブラリが提供されているのはPythonとJavaの2つになります。 ちなみに、DAZNからNode.js用の DAZN Lambda Powertools もでています。 動作確認環境 Python: 3.8.5 aws-lambda-powertools-python: 1.8.0 Serverless Framework: 2.15.0 主な機能 Logging LambdaのContextを埋め込んだログの

                                                                          AWS Lambda Powertoolsが便利すぎた #serverless #python | DevelopersIO
                                                                        • 人間のためのHTML Parseライブラリ『Requests-HTML』で楽しくデータクローリング - フリーランチ食べたい

                                                                          Pythonを使ったデータクローリング・スクレイピングは、エンジニア・非エンジニアを問わず非常に人気や需要のある分野です。しかし、いざデータクローリングしようとすると、複数ライブラリのAPIや、ライブラリそれぞれの関連性に混乱してしまうことがよくあります。 昨年公開された「Requests-HTML」はそういった問題を解決する「オールインワンでデータクローリングが行える」ライブラリです。ユーザーは「Requests-HTML」のAPIのみを学習するだけで、サイトへのリクエスト、HTMLのパース、要素の取得を行うことができます。またHeadless Chromeを使うこともできます。 このブログでは「Requests-HTML」が生まれた背景と使い方、そして興味深いポイントについて書きます。 なぜ「Requests-HTML」が必要だったか データクローリング・スクレイピングの人気の高まり

                                                                            人間のためのHTML Parseライブラリ『Requests-HTML』で楽しくデータクローリング - フリーランチ食べたい
                                                                          • quic-go が QUIC DATAGRAM に対応したので早速試してみる - aptpod Tech Blog

                                                                            はじめに VPoP として弊社の製品全体を統括しております、岩田です。 弊社では以前から、自社製品が使用する通信方式の下回りとして QUIC を使用することができないか 、継続的に調査や検討を行ってきました。QUIC が HTTP/3 をメインターゲットとして最低限の仕様策定を進める方向になって以降、QUIC 検討に対する社内の熱量も多少減退してはいたものの、昨年の WebTransport 周辺の動きを受けて、再度勢いを取り戻しつつあります。 QUIC DATAGRAM は、QUIC を HTTP 向けの ベターTCP としてだけではなく、UDPベース であることを生かしたユースケースで利用できるようにするための追加仕様で、UDP Like な通信を導入することで QUIC の用途を映像伝送やゲームなどのリアルタイム通信に拡張しようとするもの です。QUIC DATAGRAM 自体は、提

                                                                              quic-go が QUIC DATAGRAM に対応したので早速試してみる - aptpod Tech Blog
                                                                            • March 20 ChatGPT outage: Here’s what happened

                                                                              An update on our findings, the actions we’ve taken, and technical details of the bug. We took ChatGPT offline earlier this week due to a bug in an open-source library which allowed some users to see titles from another active user’s chat history. It’s also possible that the first message of a newly-created conversation was visible in someone else’s chat history if both users were active around the

                                                                                March 20 ChatGPT outage: Here’s what happened
                                                                              • [Python] 🐰 なんとなく理解するasyncio 🐢

                                                                                大変おまたせしました。 数年前からずっと書く書くと詐欺してきた asycnio の記事です。 日本語のasyncio関連のブログエントリは大体読んだ気がします。(英語の記事も少し) リファレンスが多いので、ページ末に参考URLをリンクしてあります。詳しくはそちらも参照ください。 infoasyncio はいろいろな概念が同居しており、学習コストが高めです。 「なんとなく」とは書きましたが、割と詳細に書いているので概要だけ知りたいという方は 「概要」セクションだけ読んでブラウザバックしたほうがいいかもしれません。タイトル詐欺ですね。 読み進める上でジェネレータの概念が必要ですので、わからないという方は先にこちらからどうぞ。 [Python] 部屋とYシャツとイテレータとジェネレータと私 (何だこのクソみたいなタイトル) なお、この記事では Python 3.7 を使います。 3.7以上でしか

                                                                                  [Python] 🐰 なんとなく理解するasyncio 🐢
                                                                                • 「Python 3」への移行に時間がかかっているのはなぜか――Stack Overflow

                                                                                  データサイエンスと機械学習のコンサルタントであるビッキー・ボイキス氏は、2019年11月14日(現地時間)、「Python 3」への移行に時間がかかっている理由を開発者向けQ&Aサイト「Stack Overflow」のブログに掲載した。 Pythonの最初の版が公開されたのは1991年と古い。現在も広く使われているPython 2.0が登場したのは19年前の2000年。Python 3は2008年に発表されており、最新版の「Python 3.8」は2019年10月に公開された。 ボイキス氏は、上図が示すように、Python 3への移行には時間がかかっており、それにはもっともな理由があると述べている。 「最も重要な理由は、Python 3にはPython 2との下位互換性がないことだ。そのために主要なライブラリの開発者が、Python 3への移行に消極的になり、支援ツールの不足も相まって、P

                                                                                    「Python 3」への移行に時間がかかっているのはなぜか――Stack Overflow