並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 5496件

新着順 人気順

pythonの検索結果1 - 40 件 / 5496件

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

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

      pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
    • Lambda関数が突然動かなくなった話 - サーバーワークスエンジニアブログ

      はじめに 前提 ある日のこと ググってみる botocore、boto3 のバージョンを確認してみる 徐々に核心に なぜバージョン競合が発生するのか 原因まとめ 対応 おわりに はじめに サーバーワークスの宮本です。今回は本番運用していた AWS Lambda 関数が何も変更していないのに突然動かなくなった話を共有します。一見すると信じられない話ですが、最後までお読みいただけると幸いです。 前提 対象の Lambda 関数に関する基本情報(今回の話に関係ある部分のみ)は以下の通りです。 2023/01 に初回デプロイし、運用を続けていた ランタイムは Python3.9 依存ライブラリは Lambda Layer にまとめている 月に数回動かすようなバッチ処理 ある日のこと 4月某日のことです。当該 Lambda の実行でエラーが発生したことが通知されました。以下はエラー内容の抜粋です。

        Lambda関数が突然動かなくなった話 - サーバーワークスエンジニアブログ
      • A 100x speedup with unsafe Python

        We're going to speed up some numpy code by 100x using "unsafe Python." Which is not quite the same as unsafe Rust, but it's a bit similar, and I'm not sure what else to call it... you'll see. It's not something you'd use in most Python code, but it's handy on occasion, and I think it shows "the nature of Python” from an interesting angle. So let's say you use pygame to write a simple game in Pytho

        • PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」

          PCを使っていると、過去の操作内容やブラウザで閲覧していた情報を思い出したくなるタイミングが頻繁に発生します。そんな時に役立ちそうなPC操作記録アプリ「Windrecorder」がオープンソースで開発されています。 GitHub - yuka-friends/Windrecorder: Windrecorder is a memory search app by records everything on your screen in small size, to let you rewind what you have seen, query through OCR text or image description, and get activity statistics. https://github.com/yuka-friends/Windrecorder I made an o

            PCの操作をすべて録画&文字起こしして過去の操作を丸ごと検索可能にするアプリ「Windrecorder」
          • 話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita

            Difyって何? 少し前から話題の、プログラミングなしで生成AIアプリケーションを開発できるOSSです。 「Dify すごい」 でSNSを検索すると、驚き屋さんがみんな驚いています。このゴールデンウィークはAmazon BedrockとDifyの話題でもちきりでしたね。 元々は「GPTビルダーのOSS版ね。はい解散」という感じだったのですが、最近追加された「ワークフロー」機能がすごく便利のようです。 ちょっとしたアプリなら、ローコードで簡単に作れてしまうとのこと。 最近は自分でPCやサーバー準備して動かさなくても、SaaS版が公式から準備されたようです。無料プランもあります。 やってみた サインアップ 公式サイト右上の「Get Started」からサインアップします。 GitHub連携すると、いきなり開発画面に辿り着きました!いいUX。 「(いち?)から作成」よりワークフローを作ってみまし

              話題のローコードツール「Dify」で生成AIアプリを作ってみよう! - Qiita
            • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

              ※本記事で言及しているReflexのdiscord内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、StreamlitやDashは項番1のダッシュボードライブラリに該当すると思いま

                PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
              • ローカルLLMはこーやって使うの💢

                making-the-most-of-local-llms.ipynb Sorry, something went wrong. Reload? Sorry, we cannot display this file. Sorry, this file is invalid so it cannot be displayed.

                  ローカルLLMはこーやって使うの💢
                • なぜ今、大人もプログラミングを学ぶべきか?〜Pythonを用いたブロックプログラミング体験 - paiza times

                  <この記事の著者> 上田茂雄(ueponx) - Tech Team Journal IoTと電子工作に情熱を持ち、プログラミングと最新のガジェットを好む。新しい技術を学びながら実践的なプロジェクトに取り組んでいる。技術を磨き、常に新たな挑戦。 この記事ではこれまでプログラミングの学習を行ったことのない初心者に向け、非常にハードルの低いブロックプログラミングの体験を通してプログラミングの初歩を体験する内容となります。 【目次】 なぜ今、大人もプログラミングを学ぶべきか? 1. テクノロジーに対する理解が深まる 2. 問題解決スキルの向上 3. コミュニケーションスキルの向上 4. 職業の選択肢が広がる EduBlocksとPython:初心者に易しい最初の一歩 EduBlocksの概要:ブロックベースのプログラミングとは? 初めてのEduBlocksプログラム:シンプルな例で理解する 実践

                    なぜ今、大人もプログラミングを学ぶべきか?〜Pythonを用いたブロックプログラミング体験 - paiza times
                  • PythonとGoogle Cloud, Spreadsheetで「自分のためのスポーツ観戦DX」をプロダクト化して実現した話. - Lean Baseball

                    プログラミングとプロダクト作りは楽しいよ, っていう「個人開発ネタ」の話です. スポーツ観戦, 具体的には野球のデータ分析DX(Digital transformation)*1を実現しました. 記事の前半はプロダクト企画とアーキテクチャ, 後半はDash(Python)を使ったマルチページ・データ・アプリケーション開発の話となります. TL;DR SpreadsheetとPythonのアプリケーションでいつでもメジャーリーガー(全選手)のパフォーマンスを好きな条件で可視化できるようにしたら野球が面白くなりました. https://example.com/batter/ohtani-shohei/2024-03-20/2024-04-28?cache=false みたいなURLを開くと, オオタニサンのパフォーマンス(現地時間2024/4/28までの数字) 以下の成績をいい感じにグラフ・可

                      PythonとGoogle Cloud, Spreadsheetで「自分のためのスポーツ観戦DX」をプロダクト化して実現した話. - Lean Baseball
                    • GitHub - dai-motoki/zoltraak

                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                        GitHub - dai-motoki/zoltraak
                      • 「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり

                        IT関連の高品質な自作ロゴを大量に含むGitHubリポジトリが、プログラマーやゆっくり実況者として活動するさわらつき氏によって公開されました。当該リポジトリは公開直後から大きな注目を集めており、すでにBlueskyでは「Kawaiiモード」の実装が進んでいるほか、Reactの公式サイトにもさわらつき氏のロゴを表示する隠しモードが実装されています。 GitHub - SAWARATSUKI/ServiceLogos: ロゴを可愛く作ろう 節度を持って利用してくださいね🫠 https://github.com/SAWARATSUKI/ServiceLogos さわらつき氏が作成したロゴの例は以下の通り。これはPythonのロゴです。 C言語 Vim Visual Studio Code Discord GitHub 404エラー 「ぬるぽ」のロゴもあります。 これはBlueskyのロゴ。 2

                          「Bluesky」「Python」「Vim」「404」「ぬるぽ」などIT関連のかわいい高品質ロゴを作りまくる人物現る、BlueskyやReact公式が早速ロゴを実装するなど爆発的な盛り上がり
                        • なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita

                          EDOCODEでエンジニアをしているYutakaです。 こちらは社内勉強会で発表した資料を元にしています。 関数型言語の知識がほとんどないエンジニアがなっとく!関数型プログラミングで学んだ用語を一部まとめました。原著はGrokking Functional Programmingです。本書はScalaとJavaで説明がされていますが、できる限り社内で使われている言語(Go, JavaScript, TypeScript)でサンプルコードを記載しました。 書籍のソースコードはこちらに全て公開されています。 そもそも関数型プログラミングとは? プログラミングのパラダイムには大きく①命令型プログラミング②宣言型プログラミングがあります。 ①命令型プログラミングとは どのよう(HOW)に計算するかに焦点を合わせ、段階的なアルゴリズムを詳細に定義します。これは実際のハードウェアの計算処理の流れに沿っ

                            なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita
                          • 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
                            • Python、全ビジネスマンの必須スキルに?ワークマン社員は業務活用

                              ワークマンの公式Xアカウントより 作業服チェーン運営会社ワークマンが、社員にプログラミング言語「Python」を習得させ、データ分析や予測、人員配置などの業務に活用していることが注目されている。流通業に従事する社員が畑違いのプログラミングを学習して業務に活用するというのはハードルが高いようにも思えるが、プログラミングは職種に関係なくすべてのビジネスパーソンにとって必須の知識・スキルになるという指摘も聞かれる。ワークマンのような事例は今後増えていくのか。専門家の見解を交えて追ってみたい。 全国に作業服販売の「ワークマン」を約400店舗、一般消費者向け機能性ウェアなども扱う「ワークマンプラス」を約550店舗展開するほか、2020年から出店を始めたレディースウェアの「#ワークマン女子」も50店舗を超えるなど勢いに乗るワークマン。同社では全社的に積極的にマイクロソフトの表計算ソフト「Excel(エ

                                Python、全ビジネスマンの必須スキルに?ワークマン社員は業務活用
                              • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

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

                                  Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
                                • GoogleがFlutter・Dart・Python開発チームの一部従業員を解雇

                                  Googleが2024年4月、FlutterやDart、Pythonチームで働く一部のエンジニアを解雇しました。Googleによると解雇理由は組織再編のためだそうです。 Google lays off staff from Flutter, Dart and Python teams weeks before its developer conference | TechCrunch https://techcrunch.com/2024/04/29/google-lays-off-staff-from-flutter-dart-python-weeks-before-its-developer-conference/ Google layoffs hit Python and Flutter teams • The Register https://www.theregister.com

                                    GoogleがFlutter・Dart・Python開発チームの一部従業員を解雇
                                  • 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
                                    • Pythonグラフ入門

                                      Pythonグラフ入門# このPythonグラフ入門では、プログラミング言語Pythonを使ってグラフを描画する方法を解説しています。対象としている方は、ある程度Pythonに触れている人(リストやNumPyを使った配列を理解できるレベル)です。 サイト内の検索は、ページ上部の虫メガネのアイコンから行えます。

                                        Pythonグラフ入門
                                      • 切り抜き動画を自動生成するpythonライブラリ「clipsai」が凄すぎて夢かと思った|DIYプログラミング

                                        皆様ハロー、お小遣い稼ぎ系エンジニアのスマイルです('ω')ノ 以前、VTuberの切り抜き動画を作るのにハマっていた時期があり自動化ツールとか作っていました。 しばらく切り抜き制作からは離れていたんですが、「clipsai」という面白そうなpythonライブラリを見つけたので試してみましたら、動画のシーンを自動で検出して切り分けるという強烈な切り抜き時短ライブラリである事が発覚したので、レポートをまとめました。 記事が面白かったらフォロー&♥よろしくお願いしますm(_ _)m 使ってる様子はこんな感じ デモにはUIまで付いていますが、実際のライブラリは機能の中身だけでインターフェースは付属していません。入力画面などのフロント側まで欲しい人は自作する必要があります。 使ってみた感想実際に使ってみた感想として、良かった点・悪かった点をまとめてみました。 ここが良き!ボトルネックの自動化 :切

                                          切り抜き動画を自動生成するpythonライブラリ「clipsai」が凄すぎて夢かと思った|DIYプログラミング
                                        • AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた

                                          LangChain なんか使わなくてもシュッと作れたので記事にしておく。 RAG とは 生成AIに検索能力をもたせるやつ。 要は検索機能をこちらで提供してやって、AIにそれを読ませる。 AnthropicAI Tool OpenAI でいう Function Calling JSONSchema で関数シグネチャを与えると、それを使うDSLを生成する。実際の関数は自分で実装して、AI が生成した引数(JSONSchema に従う)を渡す。 TypeScript の Mapped Types でツールの実装部分に型をつける簡単なラッパーを書いた。 RAG の CLI を作る Google検索をするAPIを実装 Google Custom Engine API を使った 本文要約をするAPIを実装 Mozilla の実装を使った 与えられた URL を fetch して、その本文部分を抽出する

                                            AnthropicAI Tool で Retrieval-Augmented Generation を実装してみた
                                          • 自己対戦で強化学習する三目並べ AI をPyTorchで実装 - Qiita

                                            PyTorch の社内勉強会の題材にしたいと思い立ち、畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)を用いた自己対戦型強化学習の三目並べ AI を実装したので公開します。見通しの良いシンプルな実装を目指しました。結局、それなりのコード量になってしまいましたが。 動作環境 Google Colaboratory の CPUランタイムにて動作を確認しました。 概略 おおまかな処理フローは次図の通りです。盤面情報を受け取った先攻方策と後攻方策は、○×を書き込む場所を返します。この先攻方策と後攻方策に AI を実装し自己対戦させます。 盤面情報は、空白マスをゼロ、先攻 ○ を+1、後攻 × を-1とした形状 (H,W)=(3,3) の二次元配列とします。 盤面座標は、場合により二次元座標と1次元に展開したフラット座標を使い分けます。 三目並べの

                                              自己対戦で強化学習する三目並べ AI をPyTorchで実装 - 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
                                              • LangChainを用いた4種類のRAG質問応答chainの実装と性能比較

                                                はじめに この記事で想定している読者の方: LangChainで簡単でもコードを書いたことがある人 LLM chainについてざっくりと理解している人 公開されているLLMをapi経由で用いて様々な処理を記述できるライブラリ 「LangChain」にて, 主に外部から文書を与える際に用いられる以下の4つのchainをご存知の方も多いと思います。 stuff chain map reduce chain map rerank chain refine chain 今回は, 実際にstreamlitを用いて4つのchainを使用したchatアプリのデモ作成し, それを用いてchainごとの性能比較を行いました! 比較では単純な応答能力の比較に加えて, 生成時間やAPI料金の観点からも比較を行なったので, ぜひ読んでみてください! TL;DR 今回の実験は以下のgif画像のようなデモアプリを用い

                                                  LangChainを用いた4種類のRAG質問応答chainの実装と性能比較
                                                • LaTeX と Python で作る 1 ポイントたりとも表示崩れしない最強の帳票印刷ソリューション - Qiita

                                                  元ネタ 元ネタはこちらです(以下「Figma と PHP」で略します)。 読んでなるほどと思いました。このように、誰かが苦労したおかげで後続が楽になるので感謝です。何が問題点として生じるのか、どんな解決方法が考えられるのか、が予め判明しているだけでもだいぶ楽になります。 反面、$\LaTeX$ の方が実装は簡易ではないかと思ったので、それを実践してみました。 条件と問題点 Figma と PHP の 44 ページに以下のような条件があります 改めて、満たしたい条件 ミリ単位で細かく帳票をデザインしたい。 帳票デザインの保守性を維持するためにはビジュアルデザイン必須 印刷時に見た目が一切崩れない さらに、次のような障害を次々とクリアしていってます。 文字参照の問題 枠からのはみ出しの問題 右寄せの問題 自動折り返しの問題 連票の問題(簡易な解説のみ) これらを $\LaTeX$ と Pyth

                                                    LaTeX と Python で作る 1 ポイントたりとも表示崩れしない最強の帳票印刷ソリューション - Qiita
                                                  • [解決!Python]PDFファイルからテキストや画像を抽出するには

                                                    pdfminer.sixパッケージを用いて、PDFファイルからテキストや画像を抽出する方法を紹介する。 from pdfminer.high_level import extract_text from pathlib import Path # PDFファイルからテキストを抽出 source = Path('atmarkit_ebook116.pdf') text = extract_text(source) print(text) # extract_text_to_fp関数を使う from pdfminer.high_level import extract_text_to_fp dest = Path('out.txt') with open(source, 'rb') as fp_in, open(dest, 'wb') as fp_out: extract_text_to_fp

                                                      [解決!Python]PDFファイルからテキストや画像を抽出するには
                                                    • 社内向けStreamlitのデプロイの現実解

                                                      結論 社内データを扱うアプリケーションを安全にデプロイするならCloudflare Tunnel,Cloudflare Accessを使う。要件次第ではStreamlit in Snowflakeも使える。 はじめに Streamlitはデータアプリケーションを短時間で作成できる便利なツールですが、社内データを扱うアプリケーションをデプロイする際は外部からの不正アクセスを防ぐように厳重な注意が必要です。 にもかかわらず、Streamlitを安全にデプロイする成熟した方法はまだありません。 本記事では、最も単純なStreamlitのデプロイ構成の例から問題点を再確認し、それらを解決する方法を順に説明します。ただし、本記事で紹介する構成を使うにはドメインのネームサーバーがCloudflareである必要があることに注意してください。 単純な構成はどう危険なのか? まずは非常に単純なStreaml

                                                        社内向けStreamlitのデプロイの現実解
                                                      • Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例

                                                        こんにちは、commmuneでデータサイエンティストをしているひぐです。 人間が苦手なマルチタスクをLLMに任せたら、効果的に処理してくれるのではないか?というモチベーションのもと、Pythonの非同期処理を使って並列かつストリーミングでChatGPTの回答を出力するアプリを作りました🤖 例えば下記は、ある課題を入力すると、深さ・広さ・構造・時間軸という異なる観点で解像度を上げてくれるアプリケーションです。 アプリに関する登壇資料↓ このアプリ作成にあたってPythonの非同期処理を勉強したところ、最初は多くの専門用語(コルーチン、イベントループ...)や独自の記法により、全体像をつかむのに苦戦しました。一方で、学んでみると予想以上にシンプルな記法で実装できること、そして応用範囲が広くて便利だと理解しました。 この記事では、そんな少し取っつきにくけど便利なPythonの非同期処理にフォー

                                                          Pythonの非同期処理の基礎とOpenAI APIへ並列リクエストする実践例
                                                        • Python約30行で作る Bedrock x Claude3 のStreamingチャットアプリ - Qiita

                                                          これまで見て見ぬふりをしてきた「Streamlit上でStreaming出力させる」プログラムを作ってみます。 ライブラリのインストール いつのまにか「langchain-aws」なるものが生まれているので今回は最終的にはそれを使います。 import boto3 import json bedrock = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 4000, "messages": [{"role": "user", "content": "カレーの作り方を説明してください"}] }) response = bedrock.invoke_model_with_response_stream

                                                            Python約30行で作る Bedrock x Claude3 のStreamingチャットアプリ - Qiita
                                                          • PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

                                                            PythonコードをWebAssemblyにコンパイルする「py2wasm」がWasmer社から発表された。WebAssembly版CPythonよりも約3倍高速だ。PythonコードをCPythonのAPIコールに変換するトランスパイラがベースになっている。 WebAssemblyランタイムの開発と提供を行っているWasmer社は、PythonのコードをWebAssemblyバイナリにコンパイルする「Py2wasm」を発表しました。 Announcing py2wasm – A #Python to #WebAssembly compiler that speeds up by 3x your Python apps!https://t.co/0v4YLZC7lY — Wasmer (@wasmerio) April 18, 2024 WebAssembly版CPythonよりも3倍高速

                                                              PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表
                                                            • Announcing py2wasm: A Python to Wasm compiler · Blog · Wasmer

                                                              Back to articlesAnnouncing py2wasm: A Python to Wasm compilerpy2wasm converts your Python programs to WebAssembly, running them at 3x faster speeds Since starting Wasmer five years ago we've been obsessed with empowering more languages to target the web and beyond through Webassembly. One of the most popular languages out there is Python, and while it is certainly possible to run Python programs i

                                                                Announcing py2wasm: A Python to Wasm compiler · Blog · Wasmer
                                                              • 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita

                                                                この記事について この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。 ライブラリの概要 今私が作っているのは、AIJackという、機械学習モデルがもつセキュリティ・プライバシー上の脆弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手

                                                                  初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita
                                                                • Python初学者のためのメモ - Qiita

                                                                  はじめに この記事は、大学1,2年生で大学の授業で少しプログラミングの授業を受けた学生に対して、pythonを実際に動かしながら実験データの解析をする方法を紹介している。 Colaboratoryを使ってpythonコードを実行する。 ColaboratoryはGoogleが提供している環境で、ブラウザ上でpythonを記述し、クラウドサーバー上でコードの実行を可能とする。自分の使っているパソコンの性能に依らず、GPUやTPUなどのGoogleのハードウェアを活用できることが一番のメリットである。 使い方 ブラウザ上でColaboratoryと検索し以下のページに行く。左上の”ファイル”を選択し、ノートブックを新規作成を選択する。 Googleドライブをマウントする。 Googleドライブ内のデータにアクセスするためにGoogleドライブに接続(マウントと言う)する。colaborator

                                                                    Python初学者のためのメモ - Qiita
                                                                  • GIS に欠かせない Shapefile を深堀ってみる - Qiita

                                                                    1. はじめに 地理情報システム (GIS) で、使用するデータとして「Shapefile 形式」でデータ提供されていることがあります。この記事では、この Shapefile が、どのような構造となっているのかについて、説明していきます。 1.1. トポロジ構造とは Shapefile について説明していく前に、まずは GIS データ等でよく利用される「トポロジ構造」について説明しておこうと思います。 例えば、トポロジ構造を持つファイルとして、次のようなものがあります。 .gdb: ESRIのファイルジオデータベースは、トポロジを含む複雑な空間データを格納することができます。 .topojson: トポロジを保存するための拡張 GeoJSON 形式で、隣接する地物間の境界を共有することでファイルサイズを削減します。 .gml: 地理マークアップ言語 (Geography Markup La

                                                                      GIS に欠かせない Shapefile を深堀ってみる - Qiita
                                                                    • Ruff v0.4.0: a hand-written recursive descent parser for Python

                                                                      Time in milliseconds to lint and format popular repositories. Lower is better. A hand-written parser also opens the door to future optimizations and improvements, especially in error recovery. Read on for discussion of the major changes, or take a look at the changelog. A hand-written parser # Parsers form the foundational layer of any static analysis tool, transforming raw source code into Abstra

                                                                        Ruff v0.4.0: a hand-written recursive descent parser for Python
                                                                      • 僕の考えた最強の Python 開発環境 (2024)

                                                                        はじめに こんにちは, 普段は情報科学専攻の大学院生をしながらバックエンドエンジニアをやっている @koki-algebra です. 普段は Go をよく書いているのですが, 大学でやっている機械学習の研究では Python を使うことがほとんどです. Go のエコシステムに慣れきった私は Python の混沌とした環境に耐えきれず, 最強の開発環境を整えることを決意しました. 具体的には Package Manager, Formatter, Linter, Type Checker, Test Tool を選定し, VSCode の DevContainer を用いてポータビリティに優れた開発環境を作ることを目指します. また, Deep Learning では GPU が必須である場合が多いので, GPU 環境も同時に整えたいと思います. 以下のレポジトリが今回考えた開発環境のテンプ

                                                                          僕の考えた最強の Python 開発環境 (2024)
                                                                        • pythonでリストを生成するときにlist()と[]どっちを使うか? - Qiita

                                                                          個人的には、前者の方がわかりやすいので[]を使っていたのですが、 同じチーム内にlist()で書く人もいて、コードレビューのときに「結局どっちがいいんだっけ?」の議論になったので両者の違いをまとめようと思います。 結論 以下の観点から[]を使うルールにしました。 読みやすさ []は他の多くのプログラミング言語(例えば JavaScript、C++、Java など)でも配列やリストを表すのに使われており、一般的に慣れ親しんだ表現であること。 Pythonの教育/学習資料でも、空のリストを生成する標準的な方法として[]が紹介されている印象。 シンプルに[]の方が簡潔 一方で、list()はpython特有の記法であり、pythonに精通していない人は一瞬「?」となる。 パフォーマンス [] は list() よりも生成が速い。 検証してみた 両方の書き方でそれぞれ空のリストを100万回作成する

                                                                            pythonでリストを生成するときにlist()と[]どっちを使うか? - Qiita
                                                                          • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

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

                                                                              Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
                                                                            • コサイン類似度のいろんな書き方 - どこにでもいるSEの備忘録

                                                                              前にこんなことやってました。 www.nogawanogawa.work コサイン類似度の計算を高速化したくなることがちょくちょくあるのですが、「ぶっちゃけどれくらいのスループットが出せるもんなの?」というのが気になったので完全に興味本位でやってみます。 コサイン類似度 定義と素朴なpythonでの実装 コサイン類似度の2つの計算パターン 諸条件 2つのベクトルの配列間ですべての組み合わせのコサイン類似度を計算 baseline numpy sklearn xlr8 pytorch jax Numba 実行速度結果 2つのベクトルの配列間で同じインデックスの組み合わせのコサイン類似度を計算 baseline numpy jax Numba 実行速度結果 使用したコード 参考文献 感想 コサイン類似度 定義と素朴なpythonでの実装 コサイン類似度は下記のような式になります。 これがなんの

                                                                                コサイン類似度のいろんな書き方 - どこにでもいるSEの備忘録
                                                                              • PandasからPolarsへ移行した方がいいのか - Qiita

                                                                                なぜこの記事を書くのか 皆さん、データ解析を行う際にどのようなライブラリを用いているでしょうか。 おそらく大半の人はpandasを使っているのではないでしょうか。 私もpandas使ってます。簡単だよね(´・ω・`) しかし、業務でバカクソでけえデータを読み込もうとしたときに、読み込み時間がとんでもなくかかったり、メモリ不足でそもそも読み込めもしないことが起きていました。 読み込みにメモリ食われすぎて他の作業ができずに待機した挙句、燃え尽きたかのようにノーパソのファンが止まると同時にメモリ不足のエラーが出たときには切れ散らかします。 (画像元:葬送のフリーレン公式Xアカウントのポストより) そんなこともあり、AWSなどのクラウドサービスでメモリに余裕を持たせるためにめちゃくちゃ良いインスタンスを使用していましたが、コストの問題で断念しました。 しかし、どうしても読み込みたいということもあり

                                                                                  PandasからPolarsへ移行した方がいいのか - Qiita
                                                                                • ゼロからはじめるPython(116) 金額合計ツールでExcel要らず - 合計/整形/コピーのツールを作ろう

                                                                                  Excelは万能なので、商品金額をいくつか足し算したいだけでもExcelを起動することがあるだろう。しかし、業務でよく足し算するのなら専用ツールを作ってしまうと便利だ。本稿では、計算処理をしてメールに貼り付けするという一連の処理を自動化するツールを作ってみましょう。 専用の税込み金額計算ツール 汎用ツールと専用ツールを使い分けよう Excelのような汎用表計算ツールに習熟しておけば、あらゆる計算処理をExcelだけで処理できる。世界中のオフィスでExcelが活躍しているのは、その高い汎用性と豊富な機能によるところが大きいだろう。 これに対して、簡単な専用ツールを自作するならば、汎用ツールを工夫して使うよりも、何倍も効率が良く、素早くタスクを完成させることができる。専用ツールは、特定のタスクに特化させるため、操作性がよく画面もシンプルで使い勝手の良いものとなる。 それで、今回は、入力した商品

                                                                                    ゼロからはじめるPython(116) 金額合計ツールでExcel要らず - 合計/整形/コピーのツールを作ろう