ログって大事ですよね。 でも書くのが面倒ですよね。 単体試験でデバッグするとき、デバッガや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. お絵かき(簡易設計) 「入力…
おっさん化したことに気付いた瞬間 先日、同僚が「あの先輩、面倒ななことばかり言って、仕事は人に押し付けて、手柄だけ取っていくから一緒に仕事したくないんだよね。あっちの先輩も営業や客からは評判いいけど、できないことばかり並べて、自分で風呂敷を…
OSSの利用 今どき、OSSの力を借りずにコードを書くことは少ないでしょう。 便利なライブラリ管理機能が充実したこともあり、開発者は自然と自分のコードにOSSを組み込んでいます。 しかしOSSに適用されたライセンスをどこまで意識しているでしょうか。 趣味…
ライセンスをつけない場合 必ずしもライセンスをつける必要はありません。 ライセンスを付けずに公開されたソフトウェアはパブリックドメイン・ソフトウェアと呼ばれ、フリーソフトウェア扱いになります。 パブリックドメイン・ソフトウェアの利用には一切の…
Private NetworkはInternet Gatewayがなく、Public IPアドレス割当もない、安全なSubnetです。 外部からのアクセスが必要ないEC2インスタンスはPrivate Networkに構築することが一般的です。 それらEC2インスタンスに管理上の理由で外部からアクセスしたい場…
EC2インスタンスをハッカーに攻撃されて乗っ取られたりしたら嫌ですよね。 でも不必要に怖がっていたらクラウドなんて使えないですよね。 必要なのは正しい知識です。 AWSからBest Practiceが提示されているので理解しておきましょう。 aws.amazon.com 管理…
前回はLinxu EC2インスタンスにSSHで接続する手順を紹介しました。 architecting.hateblo.jp しかしGUIを利用したいときもあるかと思います。 今回はAmazon LinuxのMATEというデスクトップ環境へRemote Desktopでアクセスする方法を紹介します。 この公式マ…
LinuxのEC2インスタンスを作成してSSH接続しましょう。 Step1 Security Groupを作成します 悪意のある攻撃を避けるため、EC2インスタンスに通信できるアドレスを制限します Outbound Ruleは最初から入力されているので必要に応じて変更してください Inbound …
AWSアカウントを作成したら最初に実施しておきたいことを紹介しています。 前回はBilling Alarmの有効化について取り上げました。 architecting.hateblo.jp 今回は管理用IAMユーザの作成について紹介します。 管理用IAMユーザの作成 AWSではRootユーザで作業…
AWSアカウントを作成したら最初に実施しておきたいことを紹介しています。 前回はRootアカウントのMulti Factor Authentication(MFA)の有効化について取り上げました。 architecting.hateblo.jp 今回はBiling Alarmの設定について紹介します。 Billing Ala…
クラウドの勉強のためにAWSのFree Tierでアカウントを作成しました。 アカウントを作成した後、最初にやっておいた方がよいことをまとめます。 まずはRootアカウントのMulti Factor Authentication(MFA)の有効化です。 RootアカウントのMFA有効化 Rootアカ…
歴史 概要 基本設計理念 製品(OSS) 製品(有償) Dry-run機能 Orchestration機能 機器、ベンダごとのモジュールが必要 構成 module task play playbook inventory 基本的な使い方 実行方法 ansibleコマンド ansible-playbookコマンド 変数 変数(外部ファ…