2025-01-01から1年間の記事一覧
ログって大事ですよね。 でも書くのが面倒ですよね。 単体試験でデバッグするとき、デバッガやprintを使わず、loggerを使うとデバッグができて、本番環境で使えるログも仕込めます。 コスパがよいと思います。 単体試験でなにか問題が発生したら「これはlogg…
原文 You don’t have to code 100% of the time. You don’t even have to code 50% of the time. But you do have to code some of the time. And when you code, you should code well. 和訳 100%の時間をコーディングに費やす必要はありません。 50%の時間…
先に結論 最初のPushは-u 2回目以降はgit push git push origin main git pushコマンドの書式は以下の通りです。 git push <Remote Repository名> <ブランチ名> ローカルの<ブランチ名>を、Remote Repositoryにある同名のブランチにPushしてくれます…
前々回、uvを使ったPython開発プロジェクトのセットアップ事例を紹介し、前回はPythonコードをpipインストール可能な配布形式にする方法を紹介しました。 今回は実行ファイルを作成する方法を紹介します。 実行ファイルという選択肢 Pythonスクリプトを配布…
前回、uvを使ったPython開発プロジェクトのセットアップ事例を紹介しました。 architecting.hateblo.jp 今回は開発したPythonコードをuvを使ってpipインストール可能な配布形式にします。 ちなみに昔、PyCharmとsetup.pyを使って作成する方法を紹介したこと…
Pythonのコードの書き方は人それぞれです。 Pythonプロジェクトのフォルダ構成、パッケージ構成にも色々なものがあります。 私自身、今まで色々と変遷してきまきました。 今回は「今はこんな感じで作ってるよ」というのをご紹介したいと思います。 簡単なス…
昨今、よく見かけるようになったuv。 「またPython環境管理ツールかよ、、、」という感もあるが、悪くなさそう。 特徴は高速なことと、venv/pip/pyenvを組み合わせたAll In Oneツールなこと。 pipenvの二の舞いとなるか?今後、メインストリームになっていく…
Pythonで非同期処理がしたい 昨今のLLMブーム、MCPブームでまたREST APIを叩く機会が増えてきました。 そしてREST APIのようなネットワーク処理は非同期処理したくなります。 AIではPythonを使うことが多いので、「Pythonでも非同期処理したい」と感じること…
今日現在、Goggle Colabで利用できるGPUと、そのスペックは以下の通りです。 GPU システムRAM GPU RAM ディスク 使用率 A100 GPU 83.5 GB 40.0 GB 112.6 GB 6.86 L4 GPU 53.0 GB 22.5 GB 112.6 GB 2.09 T4 GPU 12.7 GB 15.0 GB 112.6 GB 1.43 無課金で利用で…
モデルの選び方 パラメータが小さいものを選ぶ パラメータとは強引に言えばLLMの語彙です。 語彙が多いLLMは話のレパートリーも表現も豊かです。 色々な話を聞かせてくれますが、大量のGPU RAMを必要とし、処理が遅いです。 語彙が少ないLLMは話のレパートリ…
ここまで2回にわたってLLMを動かしてきました。 次はLLMを活用したAIエージェントを作成してみたいです。 でもLangChainとかLangGraphとか難しいことはわかりません。 いずれ学びたいとは思いますが、そういう難しいことは一旦、飛ばして、AIエージェントで…
前回はGoogle Colabを使ってLLMを動かしました。 今回は自分のMacの上でLLMを動かしてみましょう。 当然ですが、私のMacbookにはGPUなんて高価なものは搭載されていません。 CPUはM1、メモリは16GBです。 そんなスペックですが、それでもLLMを動かしてみまし…
「そうだ、Hugging Face上で公開されているモデルを動かしてみよう」 と、ふと思い立ちました。 Hugging Faceという言葉を知ったのも最近、という超初心者の私が四苦八苦してようやく動かすことができたので記事にまとめたいと思います。 手順 手順1. Huggin…
Clean ArchitectureではController、UseCase、Presenter、Viewなどのオブジェクトを生成する必要があります。 ControllerはUseCase、Presenter、Viewオブジェクトをフィールドに保持して利用します。 これらオブジェクト群の生成処理をどのようにするべきか…
Clean Architectureを念頭に開発すると色々なクラスやインタフェースができる。 これらをどのようなディレクトリ(もしくはパッケージ)に配置すべきなのだろうか。 考えてみる。 なお以降は上図の用語を以下のように読み替えて欲しい。 読者には面倒を強い…
はじめに 本格的なデータ解析をする場合は専用のシステムを利用することが多いと思う。 ちょっと手元のPCでデータを確認したいときに使うのがPythonのpandasやR言語だ。 ここではpandasとR言語の基本的な使い方を対比するような形で紹介していく。 なお、グ…
Clean Architectureで書いているとEntityやModel(InputData/OuputData)について悩むことがあります。 Entityにはどこまでビジネスロジックを書かないといけないのか? フィールドとアクセッサだけのEntityはだめなのか? Modelを使わず、EntityをControlle…
「素人コードにこれをパパッと加えればたちまちお店の味に」というソフトウェア業界の「味の素」がloggingです。 以前、Javaで同じような記事を書きましたが、Pythonでもログ出力をprintからloggingにするだけで雰囲気がぐっと良くなります。 architecting.h…
簡単なユースケースをClean Architectureで実装する流れをメモします。 まだポエムの段階です。 勉強目的ですので、「そもそも簡単なユースケースをClean Architectureで作る意味があるのか?」という疑問は忘れてください。 1. お絵かき(簡易設計) 「入力…