並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 78 件 / 78件

新着順 人気順

Python3の検索結果41 - 78 件 / 78件

  • CSV処理における共通処理をDecoratorパターンで実現する | フューチャー技術ブログ

    はじめにTechnogoly Innovation Group 辻です。 システム間のデータ連携として、他システムが出力した CSV ファイルを Go で読み込んでリレーショナルデータベースにファイルのデータを保存する、という処理がありました。CSV の値をデコードしたあとに共通的な処理を差し込みたいユースケースで Decorator パターンを使って実装をしました。コードベースをシンプルに保ちつつ共通処理をフックできます。実用的なユースケースで Decorator パターンを紹介する記事は少ないと思ったので、本記事を書きました。 まず Decorator パターンが必要になった背景を説明したあとに具体的な Go の実装を見ていきます。 背景他システムが出力した CSV ファイルを Go でデコードして、PostgreSQL にデータを投入するような処理がありました。簡略化したイメージは以

      CSV処理における共通処理をDecoratorパターンで実現する | フューチャー技術ブログ
    • Python 3.11 からデフォルトの文字列ハッシュアルゴリズムが SipHash13 になります - methaneのブログ

      Pythonの文字列やバイト列に対するハッシュアルゴリズムは、HashDoS対策としてPython 3.4から SipHash24が使われていました。 その後、ラウンド数を減らしたSipHash13でも十分に安全だとして2015年にRustが、2016年にRubyが、SipHash24からSipHash13への切り替えを行いました。 https://github.com/rust-lang/rust/issues/29754 https://bugs.ruby-lang.org/issues/13017 Python でもSipHash13に切り替えようという提案を2017年に行っていたのですが、実装した人がなかなかプルリクエストを作ってくれず、またPythonは文字列がimmutableでハッシュ値をキャッシュしているためにそこまで大きなインパクトがなかったこともあり、ずっと放置されてい

        Python 3.11 からデフォルトの文字列ハッシュアルゴリズムが SipHash13 になります - methaneのブログ
      • Python(とGo)で複数プロセスから一つのファイルにログを書き込んでいいのか?

        概要 マルチプロセスでレスポンスの処理を行う(1リクエストにつき1プロセスがレスポンスの処理を行う)PythonのWEBフレームワーク[1]でAPIサーバーを実装している際、各プロセスから一つのファイルにログを書き出しても、行が上書きされる・順番が前後するといった不整合がおきないのか、という疑問がわきました。(ファイルは各プロセスで独立にopenするものとします。) Pythonのロギングに関する公式ドキュメントには、「複数プロセスから1ファイルへのロギングはサポートしていないから別の方法で工夫しろ」と書いてあるのですが、別の記事では「書き込むログの長さが短ければ不整合はおきない」と記述されていたり、よくわからなくなったので自分で調べてみました。 結論としては、Python標準のloggingモジュールでログの長さが2,147,479,552(=0x7ffff000)バイト以下なら「原子性

          Python(とGo)で複数プロセスから一つのファイルにログを書き込んでいいのか?
        • Pythonのhasattr()は遅い? - Atsuo Ishimoto's blog

          Pythonには、オブジェクトにある名前の属性が存在するかどうかをチェックする hasattr という組み込み関数があります。 例えば、リストオブジェクトに append という属性が存在するかどうか確認するときは、次のようにかきます。 In [57]: L = [] print(hasattr(L, 'append')) print(L.append) True <built-in method append of list object at 0x7fbc80542d80> リストオブジェクトには append という属性が存在し、メソッドだということ

            Pythonのhasattr()は遅い? - Atsuo Ishimoto's blog
          • Python 4.0 will never arrive🤚😔

            For all those Python developers who are wondering: When will Python 4.0 be released?What’s new in Python 4.0?How will we be able to migrate to Python 4.0?Well, let me tell you that Python 4 will probably never arrive. And this is not me saying this, but the creator of the Python programming language himself: Guido Van Rossum. So please, nobody ask about the Python 4.0 release date. The creator of

              Python 4.0 will never arrive🤚😔
            • Structural pattern matching in Python 3.10

              September 2021 Summary: Python 3.10, which is due out in early October 2021, will include a large new language feature called structural pattern matching. This article is a critical but (hopefully) informative presentation of the feature, with examples based on real-world code. Go to: What it is | Where it shines | My code | Other projects | Problems | Wrapping up At a recent local Python meetup,

              • GitHub - se2p/pynguin: The PYthoN General UnIt Test geNerator is a test-generation tool for Python

                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 - se2p/pynguin: The PYthoN General UnIt Test geNerator is a test-generation tool for Python
                • 最近の登壇資料と出版予定の書籍、インタビュー記事 - c-bata web

                  最近は勉強会での登壇や書籍の出版などアウトプットが色々重なりました (昨年は一度もプロポーザルを書かず登壇依頼もなかったので随分増えました)。 そのたびにツイートもしてきましたが、ほとんど流れてしまって少しもったいない気がしたのでブログにまとめておこうと思います。 登壇資料 PyData.Tokyo Meetup #23「サイバーエージェントにおけるMLOpsに関する取り組み」 Optuna Meetup #1「CMA-ESサンプラーによるハイパーパラメータ最適化」 World Plone Day「Web パネルディスカッション(Python Webと非同期)」 CA BASE NEXT「サイバーエージェントにおけるMLOpsに関する取り組み」 書籍 実践Django Pythonによる本格Webアプリケーション開発(翔泳社:7月19日発売) エキスパートPythonプログラミング改訂3版

                    最近の登壇資料と出版予定の書籍、インタビュー記事 - c-bata web
                  • Pydantic 入門 - Qiita

                    Pydantic とは Pydantic は、Python の型アノテーションを利用して、実行時における型ヒントを提供したり、データのバリデーション時のエラー設定を簡単に提供してくれるためのライブラリです。 このライブラリは、SQLAlchemyでのデータベースモデルを定義する際に役立ちます。 モデル まず、定義するにあたって、次のように定義します。 from datetime import datetime from typing import List from pydantic import BaseModel class User(BaseModel): id: int name: str # (変数):(型)として、型を宣言する friendIds: List[int] = [] # "=" を利用してデフォルト値を定義することもできます created_at: datetime

                      Pydantic 入門 - Qiita
                    • 正規表現:文字列を「含まない」否定の表現まとめ | WWWクリエイターズ

                      「〜を含まない」といった、否定の意味を持つ正規表現を記述する場合、下記のように、大きく分けて2種類のケースがあります。 「特定の1文字を含まない」といった否定表現か、もしくは「正規表現パターンを含まない」といった表現かで、大きく解決の方針が異なる点に注意して下さい。 特定の1文字だけを否定したい場合は非常にシンプルです。この場合、「文字クラス」、もしくはエスケープシーケンスで表される文字型を利用する事で表現できます。 一方で、特定の正規表現パターンを否定したい場合、少し記述が複雑になります。今回は「否定先読み」を利用した表現を、この記事の後半にご紹介します。 基本的な正規表現の記法はこの記事では触れませんので、不安な方はこちらの記事も合わせてご参照下さい: 正規表現とは?基本構文とメタ文字一覧(サンプル付) それでは、順番に詳しく見ていきます。 任意の一文字を含まない文字列の正規表現 a「

                      • 関数型Pythonアンチパターン

                        Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update

                          関数型Pythonアンチパターン
                        • 接種率とコロナ

                          以下は2022-08-12の一連のツイートをまとめたものである。データは2022-08-13朝に再取得し、人口密度などのデータは2020年国勢調査に統一したので、ツイートとは若干異なるかもしれない。 札幌医科大学のゲノム医科学部門に人口あたりの新型コロナウイルス感染者数の推移【世界・国別】という便利なページがある。その下に【都道府県別】人口あたりの新型コロナウイルス感染者数の推移、【都道府県別】新型コロナウイルスワクチン接種率の推移などがあり、最新データをダウンロードできる(ちょっとわかりづらい)。 とりあえず「都道府県別人口100万人あたりの感染者数_[令和2年10月国勢調査]_2022-08-12.csv」、「都道府県別ワクチン追加接種率(3回目,全人口に対するパーセント)_[令和2年10月国勢調査]_2022-08-11.csv」をダウンロードした。CSVファイル(文字コードはUTF

                          • GitHub - openai/tiktoken: tiktoken is a fast BPE tokeniser for use with OpenAI's models.

                            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 - openai/tiktoken: tiktoken is a fast BPE tokeniser for use with OpenAI's models.
                            • Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python

                              This post is a continuation of Measuring network service performance. When my computer doesn’t have an Internet connection, I find that there is not much I can do with it. Indeed, we mostly use our laptops and smartphones to access information stored or generated somewhere else. It’s even hard to imagine the utility of non-user facing apps without network communication. While the proportion of I/O

                                Benchmarking low-level I/O: C, C++, Rust, Golang, Java, Python
                              • Python: ipywidgets で Jupyter に簡単な UI を作る - CUBE SUGAR CONTAINER

                                Jupyter を使ってデータを可視化していると、似たようなグラフを何度も描くことがある。 そんなとき、変数の値を変更しながらグラフを描画するセルを実行しまくるのは効率があまりよくない。 そこで、今回は ipywidgets を使って簡単な UI を作ることで、Jupyter でインタラクティブな操作ができるようにしてみる。 グラフの描画には、今回は主に Matplotlib を使うことを想定している。 使った環境は次のとおり。 $ sw_vers ProductName: macOS ProductVersion: 11.2.2 BuildVersion: 20D80 $ python -V Python 3.9.2 $ pip list | grep widgets ipywidgets 7.6.3 jupyterlab-widgets 1.0.0 widgetsnbextension

                                  Python: ipywidgets で Jupyter に簡単な UI を作る - CUBE SUGAR CONTAINER
                                • ようやく vim-lsp に乗り換えた話 (pylsp-mypy で苦労した話) - Qiita

                                  RubyKaigi Takeout 2021 に参加して、typeprof などをフルに利用するには LSP を使えるようにしておく必要があるな、と気づきました。 思い立ったが吉日ということで、自分の vim 環境を ALE から LSP に乗り換えることにしました。 その過程で、mypy による lint を有効にするのに苦労したので、備忘録としてメモを残します。 前提 python 使い ALE は lint 用に使っていて、formatter としては使っていない flake8, isort, mypy を linter として使っている vim の plug-in manager には dein を使っている LSP を有効にする 本体である vim-lsp を使います。 細かい設定をやってくれる mattn/vim-lsp-settings も合わせて入れます。 # LSP (L

                                    ようやく vim-lsp に乗り換えた話 (pylsp-mypy で苦労した話) - Qiita
                                  • JavaScript metaprogramming with the 2022-03 decorators API

                                    More information on the syntax and semantics of decorators (optional section)  # (This section is optional. If you skip it, you can still understand the remaining content.) The syntax of decorator expressions  # A decorator expression starts with a chain of one or more identifiers, separated by dots. Each identifier except the first one can be private (prefix #). Square brackets [] are not allowed

                                    • decoratorを使ってログ出力コードの削減し可読性を上げた話 - NTT Communications Engineers' Blog

                                      この記事では TypeScript ver4.x にて実験的な機能である decorator を使い、ログ出力コードを削減・コードの可読性を上げた経験を紹介します。 はじめに 背景 decorator とは decorator を使ったログ出力方法の検討 decorator を使ったログ出力の実装 実装時にハマったこと等 関数定義方法の変更 非同期・同期両方に対応 クラス名の取得 ログメッセージの統一 その他考慮した点 ライブラリの利用 実践結果 良かった点 悪かった点(苦労した点) まとめ 参考文献 はじめに こんにちは、NeWork 開発チームの加藤です。普段はオンラインワークスペースサービス NeWork の開発エンジニアをしています。 今回は TypeScript ver4.x にて実験的な機能である decorator を使った事例紹介をします。我々開発チームではログ出力のための

                                        decoratorを使ってログ出力コードの削減し可読性を上げた話 - NTT Communications Engineers' Blog
                                      • Poetryがとてもいいという話

                                        Poetryの使用感がとてもよく、Pythonでコードを書く際はPoetryが必須の体になってしまいました。 そこでPoetryはいいぞ!という話と、Poetryの簡単な利用方法をまとめたいと思い本記事を書き始めました。 Poetryに出会うまでのライブラリ管理 私は4年くらい前からPythonのコードを書くようになりました。 いろいろ試行錯誤した結果Poetryに行き着きましたが、それまでの経緯を軽くまとめます。 pip + requirements.txt requirements.txt は例として以下のような内容を記述したテキストファイルになります。 ファイル名は特に指定はありませんが requirements.txt としているプロジェクトをよく見ます。 # requirements.txt click==8.0.3 requests==2.27.1 使い方としては通常の pip

                                          Poetryがとてもいいという話
                                        • 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

                                          • 正規表現:AND(かつ)の表現方法 | WWWクリエイターズ

                                            正規表現の「AND(かつ)」の表現 正規表現において、複数のパターンの論理積「AND」、すなわち「A、かつB」といったパターンの並列表現はややトリッキーです。初学者にはややハードルが高いかもしれませんが、記事後半に解説を加えておきましたので、よくわからない方はご一読下さい。 〇〇を含む、AND(かつ)、〇〇を含む AND(かつ)条件の例として、リテラル(=ただの文字)のマッチを考えてみます。下記は、「ラーメンを含む、かつ、カレーを含む」という、お子様も大好きなメニューの定番をマッチングする正規表現です。 // ラーメンを含み、かつ、カレーを含む文字列の表現 ^(?=.*ラーメン)(?=.*カレー).*$ 注目すべきは、「(?=」「)」の括弧です。これは肯定先読みを言いますが、こちらについては、追って解説します。 〇〇を含む、AND(かつ)、〇〇を含むまない 同様に、否定先読みを組み合わせて

                                            • 木を標準出力する【Rust, Python3】 - Qiita

                                              皆さんは木を標準出力してますか?この木なんの木気になる木1。木構造を扱うことは多くても出力するとなると適当にすませているのではないでしょうか? 木構造を書く機会が多かったので今回備忘録として投稿します! 最近はRustばかり書いていますが、他の言語でも同じ考え方で実装できるよう、Pythonでも書きました。色々な出力様式が考えられますが、bashで用いられている tree コマンド2の出力形式が一番楽そうなので、このフォーマットでの出力を本記事では目指すことにします。 tree コマンドの出力はこんな感じです。このディレクトリは表示用に適当に作ったものです。 $ tree . ├── a1.txt ├── hoge_dir │   ├── a2.txt │   ├── a3.txt │   ├── a4.txt │   └── fuga_dir │   └── a5.txt ├── src

                                                木を標準出力する【Rust, Python3】 - Qiita
                                              • Release v0.21.0 · evanw/esbuild

                                                This release doesn't contain any deliberately-breaking changes. However, it contains a very complex new feature and while all of esbuild's tests pass, I would not be surprised if an important edge case turns out to be broken. So I'm releasing this as a breaking change release to avoid causing any trouble. As usual, make sure to test your code when you upgrade. Implement the JavaScript decorators p

                                                  Release v0.21.0 · evanw/esbuild
                                                • Benchmarking Go, Crystal, Python and JavaScript

                                                  Benford’s Law⌗ After watching a Netflix documentary about Benford’s Law (“connected” Season 1 Episode 4 “Digits”), I got really interested in it because it can help detect fraud in e.g. balance sheets. So I searched my favorite programming languages and detected that there is no npm Package for checking Benford’s Law. Sooo … Long story short: I created nearly identical libraries for doing a Benfor

                                                  • Python behind the scenes #11: how the Python import system works

                                                    If you ask me to name the most misunderstood aspect of Python, I will answer without a second thought: the Python import system. Just remember how many times you used relative imports and got something like ImportError: attempted relative import with no known parent package; or tried to figure out how to structure a project so that all the imports work correctly; or hacked sys.path when you couldn

                                                    • How to build connected components in Storybook

                                                        How to build connected components in Storybook
                                                      • 2020年代のコンテナ時代の Pythonアーキテクチャ&デプロイ

                                                        このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

                                                          2020年代のコンテナ時代の Pythonアーキテクチャ&デプロイ
                                                        • WSL2-UbuntuでPython3.11設定時のMissing lzma WARNINGに対応する - Qiita

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

                                                            WSL2-UbuntuでPython3.11設定時のMissing lzma WARNINGに対応する - Qiita
                                                          • Violet - Python VM written in Swift

                                                            Violet - Python VM written in Swift on GitHub Features: Python 3.7 implemented in Swift - without comprehensions, yield, async, await, but still… most of the expected things work. For example: tests written in Python that we pass. Standard VM stuff: lexer, recursive descent parser, compiler and bytecode. We also have an interpreter (obviously…), although most of the Python types/modules are implem

                                                              Violet - Python VM written in Swift
                                                            •  インタラクティブ・データビジュアライゼーション入門  |朝倉書店

                                                              Webサイトで公開できる対話的・探索的(読み手が自由に動かせる)可視化をPythonで実践。データ解析に便利なPlotly,アプリ化のためのユーザインタフェースを作成できるDash,ネットワーク図に強いDash Cytoscapeを具体的に解説。 ◎本書の刊行を記念しまして、ジュンク堂池袋店様にて、オンラインイベントが開催されます。 ○演題:Pythonインタラクティブ・データビジュアライゼーション入門 -COVID-19のデータを使ったインタラク ティブ可視化事例- ○日時:2021年1月12日 19:30~21:00 *申し込みなどの詳細は、丸善ジュンク堂のサイトにてご確認ください。 グラフ(棒グラフ,散布図,ヒートマップ・・・)や表,地図,ネットワーク図など,簡潔なコードですばやく可視化 オールカラー ●コールバック,アニメーションなどの機能で,大規模データでも特徴把握が簡単に ●統

                                                                 インタラクティブ・データビジュアライゼーション入門  |朝倉書店
                                                              • 無料で簡単に音声書き起こしAIが使えるWebアプリを作った:Google Colabで実装するWhisper v3

                                                                Whisperは、ChatGPTで知られるOpenAIによって開発された非常に正確な音声認識モデルで、会話の音声をテキストに書き起こしてくれる。 100万時間以上のデータでトレーニングされた最新のAIモデルだが、驚くべきことにオープンソースで公開されているため、誰でも、無料で、簡単に利用することができる。 有料の音声書き起こしサービス・議事録書き起こしサービスは数多くあるが、実は無料のWhisperを使えば十分だ。 むしろ、Whisperの方が殆どの音声認識ソフトより精度が高いだろう。 とはいえ、プログラミングの知識がない人にとっては、少し利用するハードルがある。 そこで、Whisperの最新モデル(Whisper v3)を、簡単に使える小さなWebアプリにしてみたので、この記事で使い方を紹介する。 Whisperを、Google ColabというGoogleアカウントを持っている人なら誰

                                                                  無料で簡単に音声書き起こしAIが使えるWebアプリを作った:Google Colabで実装するWhisper v3
                                                                • 【やってみた】EasyOCRで文字認識! - 神戸のデータ活用塾!KDL Data Blog

                                                                  株式会社神戸デジタル・ラボ DataIntelligenceチームの原口です。 今回は、GitHubで公開されているAIモデル「EasyOCR」を用いて文字認識に取り組みます! 本稿は、以下の条件に当てはまる方を想定して発信します。 Pythonが利用できる方 新しい技術に興味がある方 文字認識に興味がある方 OCRとは? 利点1:認識した文字をデータとして利用することができる 利点2:他言語へ簡単に翻訳できる EasyOCRとは? 準備 実際に検出してみた まとめ OCRとは? OCRの流れ OCR(Optical Character Recognition または Reader)とは、紙面上に存在する文字をカメラで撮影し、その画像をプログラムやAIで解析することで、紙面上の文字をデジタルデータに変換する技術のことを指します。 紙面上に存在する文字をデジタルデータに変換すると、どのような

                                                                    【やってみた】EasyOCRで文字認識! - 神戸のデータ活用塾!KDL Data Blog
                                                                  • How to get started DDD & Onion-Architecture in Python web application

                                                                    I've also written a git of it on README. But in some ways, DDD is too difficult for us to understand; I would like to explain this architecture. Motivation My day job is to develop apps for smartphones using Flutter. In this development, I've adopted DDD with Onion architecture. This approach has worked well so far. On the other hand, the requirements of a native application are more complex than

                                                                      How to get started DDD & Onion-Architecture in Python web application
                                                                    • GitHub - zappa/Zappa: Serverless Python

                                                                      In a hurry? Click to see (now slightly out-dated) slides from Serverless SF! Zappa makes it super easy to build and deploy server-less, event-driven Python applications (including, but not limited to, WSGI web apps) on AWS Lambda + API Gateway. Think of it as "serverless" web hosting for your Python apps. That means infinite scaling, zero downtime, zero maintenance - and at a fraction of the cost

                                                                        GitHub - zappa/Zappa: Serverless Python
                                                                      • GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)

                                                                        GraalVMを3つの主機能から眺めてみよう (Oracle Groundbreakers APAC Virtual Tour 2020 講演資料) 2020年10月22日 株式会社NTTデータ 技術開発本部 阪田 浩一Read less

                                                                          GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
                                                                        • Implement the Stage 3 Decorators Proposal by rbuckton · Pull Request #50820 · microsoft/TypeScript

                                                                          This implements support for the Stage 3 Decorators proposal targeting ESNext through ES5 (except where it depends on functionality not available in a specific target, such as WeakMaps for down-level private names). The following items are not currently supported: --emitDecoratorMetadata, as metadata is currently under discussion in https://github.com/tc39/proposal-decorator-metadata and has not ye

                                                                            Implement the Stage 3 Decorators Proposal by rbuckton · Pull Request #50820 · microsoft/TypeScript
                                                                          • Pythonで地名から住所と座標を割り出すジオコーディングを試してみる

                                                                            2020年新年最初の投稿です 色々とPython製のライブラリについて調べていたら、仕事でも使えそうなライブラリを見つけたので、今回はそれを試してみます。 地名から座標を割り出す今回はジオコーディングの一種でもある地名や住所から座標を割り出してくれるPython Geocoderというのを使っていきます。Geocoderというものは、多言語にもあるライブラリだそうです。 Geocoderの特徴は、複数のマップサービスのAPIを統一されたスキーマや文法などで代わりに呼び出してくれます。 約30個近くのマップサービスに対応しており、GeocoderからGoogleMap、OpenStreetMapとあらゆるマップサービスからマップの情報を引き出してくれます。 ちなみにGoogleMapなどはAPI Keyが必要ですが、API Keyを設定していなくても、API Key不要なOpenStreet

                                                                              Pythonで地名から住所と座標を割り出すジオコーディングを試してみる
                                                                            • パターンマッチング構文( match case )の使い方

                                                                              Python の構造的パターンマッチング 1 の使い方についてかんたんにまとめました。 構造的パターンマッチングは一見シンプルですがさまざまな使い方ができる非常に強力な機能です。 正しく理解してうまく活用できれば Pythonic なコードを書くのに役立つものと思います。 目次 構造的パターンマッチングとは 構造的パターンマッチングがサポートするパターン 構造的パターンマッチングとは 構造的パターンマッチング( Structual Pattern Matching )は、 Python 3.10 で新たに導入された(される)構文です。 2 つのキーワード match と case を使用します。 単純な値での分岐の他に、データ構造やアトリビュートのパターンでの分岐なども可能となっています。 見た目は他のオブジェクト指向型の言語によくある switch case に似た印象を与えますが、どち

                                                                                パターンマッチング構文( match case )の使い方

                                                                              新着記事