サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
zenn.dev/alivelimb
SIer / Python / AWS認定 x12/ GCP認定 x11 ※Google Analytics, Amazonアソシエイトを利用しています
こんにちわ alivelimb です。 本記事では一時ファイル・ディレクトリ作成ができる標準パッケージtempfileを紹介します。あまり使う機会は多くないですが、知っておくと便利な時があるので是非ご一読ください。 また、tempfile を使った具体例としてAWS S3上のオブジェクトをローカルのファイルのように扱えるクラスを実装してみました。 tempfile って何ができるの 永続化する必要はないけど、一時的にファイルやディレクトリを作成できます。一時ディレクトリ(Linux であれば/tmp)に作成されるため OS による差異を気にせずに一時ファイルを作成することが可能です。 余談ですが、OS による差異なくファイルパスを扱いたい場合はpathlibもおすすめです。こちらについては記事も記事を書いているので、適宜参照してください。(pathlib はいいぞ) TemporaryFi
新人: 「馬庄さん、お疲れ様です!」 先輩: 「お、森本さん。お疲れ。この前は無茶振りしてごめんね。」 新人: 「いえ!良い経験になりました!」 新人: 「(あー、無茶振りの自覚あったのか。。。)」 先輩: 「そう言ってくれてよかったよ。業務はどんな感じ?」 新人: 「新しく入ったプロジェクトでは CI/CD 環境の整備を担当することになりました」 新人: 「ただ、CI/CD って聞いたことはあるんですが、あんまりよく分かってないんですよね」 新人: 「なので、まずは適当にチュートリアルを動かしてみようかなと思ってます。」 先輩: 「なるほど。Git は一通り使ったことあったよね?」 新人: 「はい!基本的なコマンドと Git-flow での開発はやったことがあります」 先輩: 「いいね。んーそうだな。」 先輩: 「CI/CD 始めたいなら、GitHub Actions と Cloud F
こんにちわ alivelimb です。 Pythonista の皆さん、こんな風に思ったことはないでしょうか? Flask や FastAPI を書いてるけど、HTML/JS/CSS を書くのが面倒 データ分析や機械学習をやってるけど、デモをするのは jupyter では限界 デモやテスト用にテストデータを毎回作るのが大変 人名や地名をそれっぽい値で自動生成したい 1,2 に当てはまる方はStreamlitが、3,4 に当てはまる方はMimesisをおすすめします。どちらも Python パッケージなのでpip installするだけで試すことが出来ます。今回はこれらのパッケージを使って、八百屋さん EC サイトを作ってみたので紹介したいと思います。 はじめに 本記事で紹介するソースコードはgithubで公開しています。 Streamlit, Mimesis の紹介記事は多くあるため、詳細
こんにちわ alivelimb です。 Pythonista のみなさん、自動テスト書いてますか?書き捨てでないコードを書くのであれば、自動テストを書きましょう。本記事では AWS x Python で自動テストを書く際に役立つLocalStackとmotoを紹介します。 はじめに 本記事では テストフレームワークとしてpytestを利用します。また以下に示す「AWS S3 に置いてある画像をnumpy.ndarray形式で取得する」関数をテスト対象の具体例として考えていきます。 import boto3 import cv2 import numpy as np from mypy_boto3_s3.service_resource import Bucket def get_image_ndarray_from_s3(bucket: Bucket, key: str) -> np.nd
こんにちわ alivelimb です。 FastAPI などで見える機会が増えたasyncioですが、本当に恩恵があるのかベンチマークテストしてみました。 はじめに 「そもそもasyncioって何?」という方のために簡単に紹介してみます。 詳細は公式ドキュメントまたは@JunyaFffさんのスライドが非常にわかりやすいです。 asyncio とは? asyncio はその名の通り非同期(async) I/O の実装に活用できます。 ネットワーク通信を含む Input/Ouput の際は処理待ちが発生し CPU を持て余してしまいます。 File I/O の間 CPU を別の処理に割り当てることで CPU をフル活用させることができます。 フル活用と言ってもasyncio単体では 1 スレッドの CPU 使用率が 100%ということです。 multiprocessing, joblibなどの
こんにちわ alivelimb です。 Pythonista のみなさん、TypeHint(型ヒント)書いてますか?私は基本的に書くようにしています。今回は TypeHint で ジェネレータ(Generator) を書く時に出てきた疑問とそれついて調べたことを紹介します もし使い捨てコードでなく、Python3.5 以上を利用されているにも関わらず TypeHint を書いていない方がいれば、是非書くことを検討してください。TypeHint をつけることで、コード理解がしやすくなり、IDE の予測変換も活用できるので開発効率向上が期待できます。TypeHint の恩恵を最大限受ける VSCode の環境構築については記事にしているので、参照してみてください。 VSCode と Poetry で作る Python 開発環境 そもそも ジェネレータ とは 公式ドキュメントには以下の記述があり
こんにちわ alivelimb です。 先日書いた「君には今から 3 時間で機械学習 Web アプリを作ってもらうよ」という記事に予想以上に反響があり、自分が一番驚いています。今回は後日談として、執筆時に思っていたことや Google アナリティクスによるアクセス履歴の分析結果などを紹介したいと思います。 先日書いた記事について 記事はこちらです。まだ読まれていない方は一読して頂けると嬉しいです。 ありがたいことに、Zenn で 300 以上のいいね、はてなブックマーク(以下、はてブ)で 1300 人以上の方にブックマークして頂いています(本記事の執筆時点)。 執筆しようと思った理由 執筆理由は大きく 2 つあります。 拙著「Python だけで作る Web アプリケーション(フロントエンド編)」の宣伝 Streamlit の王道の使い方紹介 会話調の記事の作成 拙著「Python だけで
03 設計方針 - abc.ABC か typing.Protocol か については、PEP 544にてabc.ABCを始めとした抽象クラスを The problem with them [abc.ABCs] is that a class has to be explicitly marked to support them, which is unpythonic and unlike what one would normally do in idiomatic dynamically typed Python code. と評した上でProtocolを提案してコミュニティに承認されているので、Protocolのほうがよりpythonicというのが一致した見解のようです。
こんにちわ alivelimb です。 本記事ではプロジェクト毎に用意している Python 開発環境を紹介します。なお、本記事で紹介した環境構築の自動化スクリプトをgithubで公開しています。 概要 Python の開発環境は主に VSCode, pyenv, poetryを用いて用意しています。 pyenv は Python 自体のバージョン管理を行います。Python3.8 から 3.9 への切り替えもコマンド 1 つで行うことが可能です。Poetry は Python パッケージの管理を行います。これらに加えて VSCode の各種拡張機能を活用することで開発環境としています。 本記事で構築した環境デモ gif デモで示していることは以下の通りです リッチな予測変換 自動インポート(pathlib.Pathをインポート) ファイル保存時の静的解析 & 自動整形 Type Hint
Python だけで作る Web アプリケーション第一弾です。HTML/CSS/JSを使わずに、PythonだけでUIを含むWebアプリケーションを作ります。
新人: 「本日データサイエンス部に配属になりました森本です!」 先輩: 「お、君が新人の森本さんか。僕が上司の馬庄だ。よろしく!」 新人: 「よろしくお願いします!」 先輩: 「さっそくだけど、練習として簡単なアプリを作ってみようか」 先輩: 「森本くんは Python なら書けるかな?」 新人: 「はい!大学の研究で Python 書いてました!PyTorch でモデル作成もできます!」 先輩: 「ほう、流石だね」 新人: 😊 先輩: 「じゃ、君には今から 3 時間で機械学習 Web アプリを作ってもらうよ」 先輩: 「題材はそうだなぁ、写真に写ってる顔を絵文字で隠すアプリにしよう」 先輩: 「あ、デプロイは不要。ローカルで動けばいいからね。顔認識と画像処理でいけるよね?」 新人: 😐 新人: (えぇぇぇぇぇぇぇ。3 時間?厳しすぎる...) 新人: (まずモデルどうしよう。てかもら
こんにちわ alivelimb です。 AWS を外部から利用するためにアクセスキーを発行した場合、安全に利用しないと不正利用される原因にもなりえます。本記事では AWS アクセスキーの扱いについて紹介します。 私は情報処理安全確保支援士、Security Specialty を含む AWS11 資格を取得していますが、セキュリティエンジニアではありません。ですが私のようにセキュリティエンジニアではない方でも、AWS を安全に使う上で知っておいてほしい内容をまとめました。なお、AWS 資格については記事にしているので適宜参照して下さい(私が AWS を 11 冠するまでにやったこと)。 アクセスキーをそもそも発行しない アクセスキーを最も安全に扱う方法は、そもそも発行しないことです。アクセスキーの代わりに IAM ロールを利用する方法があります。 IAM ロールを付与した EC2 で開発サ
こんにちわ alivelimb です。 pandasは言わずと知れた Python のデータ分析ライブラリですが、私が分析業務をする時も利用しています。本記事では自分自身が過去に詰まったところや、後輩のコードレビューをしていてバグの原因になることが多いと感じた部分を Tips として紹介します。 はじめに 本記事では成績ダミーデータを生成して、データ操作を行います。 import random import pandas as pd def create_dummy_scores(n): scores = [ dict( user_id=f"user{i+1}", subject=subject, score=random.randint(0, 100) ) for i in range(n) for subject in ["国語", "数学", "英語", "理科", "社会"] ]
こんにちわ alivelimb です。 Pythonista の皆さん、標準ライブラリに導入されているpathlibは使っていますでしょうか。 本記事では pathlib の魅力をお伝えします。 /の有無を意識する必要がない ファイルパスを指定する時、どのように書いていますか? 一番最初に思いつくのは といった文字列形式でしょうか。 では以下のようなディレクトリ構成を考えてみます。 main.py からは data ディレクトリの csv ファイルを読込処理します。 csv ファイルは日別で作成されており、スキーマは毎日同じものとします。
このページを最初にブックマークしてみませんか?
『alivelimbさんの記事一覧』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く