#stapy https://speakerdeck.com/yamitzky/mastering-type-safety-in-python-3-dot-9-era の内容を加筆して削ったものです
#stapy https://speakerdeck.com/yamitzky/mastering-type-safety-in-python-3-dot-9-era の内容を加筆して削ったものです
概要 OCRを使った文字読み取りの開発をしていると、読み取られたテキストと画像と見比べて結果の確認をすることがよくあります。読み取られたこの文字は画像のどこから出てきたのかとか、単語の区切りが不自然なときになぜそうなったのかとかといった確認の際には、テキストとその座標から画像中の該当箇所を見つける必要があり、人間が目視で行うにはなかなか大変な作業です。物体認識などのタスクでは、画像上に四角形のバウンディングボックスを物体名のラベルとともに描写して可視化していますが、OCRの読み取りの場合は文字が画像上で密に配置されていたりと、画像上に直接描写するには情報量が過多になってしまいます。なるべくインタラクティブに操作出来る形で情報を表示し、必要な部分だけを確認できるようにしたい場合が多いです。 この記事では、OCR読み取りの結果を画像上に描写して、インタラクティブに結果を確認する方法を紹介します
Playwright が昨年1年間で大幅パワーアップしていたので、使い方を確認したときの記録のまとめです。 ブラウザを自動操作できるということは、簡単なスクレイピングやブラウザ側のテスト自動化が簡単にできるようになります。 特に、Python での解説がまだまだ少なかったので、自分の学習を含めてまとめました。 今回は入門編ということで全体像をつかみつつ使用方法の流れを確認していただければありがたいです。 Selenium や Puppeteer を使っている方も、一度試す価値ありと思っています。 選定した理由 ブラウザのテストを Python で自動化したかったんです。 私なりの要件がありまして、非常にわがままな要件でしたが余裕ですべてクリアしました。 Python で書けること。社内で Python を使える方が多いので。pytest と連携してくれるとなおうれしい。 Docker コン
Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) ウェブAPIの作成など、外部からやってくるデータを安全に捌く上で、スキーマ定義とバリデーションは非常に重要です。 また、特にPythonのような動的型付け言語において、内部でもレイヤをまたぐ場合はきちんと定義されたデータモデルを利用することで、知らない間にデータモデルが変わっていた、というようなケースを防ぐことができます。 Pythonには標準でスキーマバリデーションライブラリがないため3rdパーティのものを使うことになりますが、様々なライブラリがあるので比較してみました。 比較対象のライブラリ概要※Pythonバージョンは3.9.0を利用します。 lib versionGithub Star (2020/1/5)memo
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実
はじめに Pythonは今最も習得希望人口の多い言語である。 それはヘビーなデベロッパーからライトなオフィスコンピューティングまで多岐にわたる。 おそらく「Pythonを使えば○○ができる」と喧伝されているのを見聞きしているからだろう。 この記事ではそんなPythonを一から導入し開発できるようにすることを主にする。 OSのセンテイ Pythonの開発でもっとも優れたOSはWindowsである。 単純にPython.orgの公式から対象のバージョンをいくつか選んでダウンロードして適当にインストールすればそれですべてを始められるので、MacやLinuxのようにシステムデフォルトと別verとのインストール共存やパッケージ管理ツールを意識する必要はない。 パスは通るし、複数のバージョンを同時に入れてもビルドバージョンですら分けて共存できるので簡単。 処理系 Pythonはインタプリタ界の変態言語
はじめに こんにちは。こんばんはかもしれません。爲岡 (ためおか) と申します。 2020年4月から株式会社グロービスにて機械学習エンジニアとして働いています。 グロービスでは機械学習技術を利用したプロジェクトや、データ基盤の運用改善プロジェクトを担当しています。 機械学習技術を利用したシステムには様々なものがあると思いますが、 現状のグロービスにおいては、ユーザのリクエストに対して機械学習を行い、 すぐに結果を返す必要があるようなシステムは扱っておらず、 ある程度の時間をかけて学習、推定した結果を非同期にアプリケーションに連携するシステムのみを扱っています。 ゆえに、今のところは機械学習技術を利用したロジックを書くときに、速さを意識することはあまりありません。 一方で、空いている時間に競技プログラミングをやっていることもあり、 高速なコードについて考えたり、書いたりすることは個人的には好
すみません、ISUCONのアレに火がついてしまったので..。 Advent Calendarとはとくに関係がありません。 qiita.com qiita.com こちらの記事をみて、気になってしまったので interpolateParams の追加とMySQLチューニングをしてベンチマークを回してみました。 ベンチマークの環境が公開されているのは素晴らしいですね。 github.com 8vCPU/16GB Memのc5a.2xlargeなEC2のインスタンスを起動して、以下の手順にしたがってdockerとdocker-composeをインストールしました。OSはUbuntu 20.04を使いました。 docs.docker.com docs.docker.com 上記のbenchmarkのrepositoryをgit cloneし、compose build && compose upし
こんにちは、主に検索周りを担当しているエンジニアの伊藤です。 この記事は Enigmo Advent Calendar 2020 の 17 日目の記事です。 みなさんは適切なDockerfileを書けていますか?とりあえずイメージのビルドが出来ればいいやとなっていませんか? 今回は自戒の意味も込めて、改めてDockefileのベストプラクティスについて触れつつ、 そもそもDockerfileを書かずにコンテナイメージをビルドする方法とコンテナセキュリティに関する内容についてまとめてみました。 Dockerfileのベストプラクティス イメージサイズは極力小さくしよう ビルドキャッシュを活用しよう Dockerfileに関する悩みどころ Dockerfileを書かないという選択肢 Buildpack Cloud Native Buildpacks CNBの仕組み デモ CNBのメリット セキ
この記事は、以下のハローワークインターネットサービスから求人情報を自動で取得する試みを記録したものです: www.hellowork.mhlw.go.jp まずは、ソースコードと実行結果をお見せし、後ほどこの記事を書いた経緯などを話します。 ソースコード:HelloWork_Scraping_ST.py from selenium import webdriver from selenium.webdriver.support.ui import Select import time from bs4 import BeautifulSoup import re # ハローワークインターネットサービスのURL url = "https://www.hellowork.mhlw.go.jp/" # 以下からご自分で使用しているChromeのバージョンに合ったChromeDriverをダウンロ
1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご本人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++とJavaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++とJavaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta
Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 本ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 本ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 2023/2/12: 大規模データを高速に処理可能なデータ処理ライブラリ Polars の 100 本ノックを作成しました。こちらも興味があればご覧下さい。 Polars 100 本ノック https://qiita.com/kunishou/items/1386d14a136f585e504e はじめに この度、PythonライブラリであるPandasを効率的に学ぶためのコンテンツとして
何ヶ月か前にTwitterのタイムラインに流れてきたのですが、それっきり話題を聞かないので検証してみることにしました。 ちなみに、個人的に普段使って慣れているのは、癖が少なくて扱いやすい scikit-image です。 (OpenCVはBGRがデフォルトなので基本的に避けたいですし、PILは癖が強めなのであまり好きではないです) 高速の画像処理ライブラリを使うモチベは、もちろん Kaggle です。 特に画像の読み込みが速いと、時間短縮に直結するので個人的に嬉しいです。 Lyconとは C++で書かれたPython用の軽量画像処理ライブラリらしいです。 PyPI にあるので pip install ですぐに使えます。(一応依存関係も気にしなきゃいけないかも) github.com 性能の割にスターが控えめな気がする。 試しに使ってみる 多少の実戦を仮定して、Kaggle の Notebo
実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)
最近はセキュリティログ解析などに取り組んでいます。何か面白そうな話題があればお声がけください。IIJ/IIJ-II技術研究所所属。 こんにちは。島です。技術研究所でセキュリティログ解析などに取り組んでいます。 先日、入用でtracepathに相当する機能をPythonで作る場面が出てきました。tracepathは自分のノードから対象ノードまでのインターネット上の経路(ルータ)を発見し、遅延やMTUを計測するプログラムで、iputilsの一部として配布されています。 tracepathとは tracepathと似たプログラムにtracerouteがあり、ほぼ同等の機能を提供しています。わたしを含む年齢層高めの人には、tracerouteの方が馴染みのあるプログラムかもしれません。tracerouteはその実行に管理者権限が必要ですが、tracepathは一般ユーザでも実行できるという違いがあ
はじめに インストールすればすぐに書けて動かせるのが魅力のPythonですが、 実際に業務などでキチンと書こうと思ったら Pythonのバージョン管理ツール パッケージマネージャー エディター(IDE) リンター フォーマッター 型チェッカー くらいは最低限用意する必要があります。 しかしこの界隈、怒涛の勢いで日々新しいものがリリースされていて一概に「これがベストプラクティス」を提示するのが難しいんですよね。そこで今回は上記それぞれのツールについて「こんなものがあるよ」というのをご紹介したいと思います。 TLDR バージョン/パッケージ管理はpyenv + Pipenvがスタンダードだった時代は終わった VS CodeかVimを使うなら型解析にPyrightを導入するとよい テンプレートを用意しました 1. バージョン/パッケージマネージャー プロジェクトごとに異なるPythonのバージョ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く