- 1. Locustをローカル環境で動かす
- 2. プログラム課題(paizaの森)
- 3. Python3で関数作成
- 4. 6-3-1 pandas-データの読み込み
- 5. Matplotlib
- 6. SwitchBot API v1.1を使って、スマートプラグ プラグミニの状態をZabbixでモニタリングできるようにした
- 7. ChatGPT Code Interpreterで、できること・できないこと
- 8. Selenium4.10.0でwebdriver.Chrome()でエラー
- 9. G++ Python
- 10. flaskで簡単にページネーションを作成した
- 11. 最も単純なデコレータ
- 12. Pythonでプログラミング! ~入門編 パート2~
- 13. 【Python】マイクロ秒を含まない形式(2023-07-12 22:43:13)で現在の日時を取得する方法
- 14. 【Web開発者必見】Flaskの便利ライブラリ10個まとめてみた
- 15. 【Python】Pytestで3種類のテストをやってみる
- 16. 指じゃんけんWebアプリのモード追加
- 17. 【ChatGPT初学者】OpenAIのAPIでAIチャットボット機能を作ってみた
- 18. Pythonの環境構築でつまづいたこと
- 19. 【Python】勤怠入力アプリ作成
- 20. chatGPTを用いてpythonでテキスト+イメージを新規イメージ保存
Locustをローカル環境で動かす
# この記事は何か
Locustという負荷検証ツールを、ローカル環境で動かしてみました。# Locustとは
Python製の負荷検証ツールです。
Web UI付きで、手軽に操作することができます。
[ドキュメント](https://docs.locust.io/en/stable/)# ローカル環境で動かしてみた
## 動作環境を用意
Docker環境を用意しました。https://github.com/tatsukoni-pra/Locust-local
コードは↑を参照ください。ポイントは以下。
– WebUI用に、`8089`ポートを開けておく
– Python環境にて、`pip install locust`でLocustをインストールする(`build-essential`がないとインストールに失敗したので、入れておく)“`shell-session
# python –version
Python 3.9.17# locust –version
locust 2.15.1 from /usr/local/lib/python3.9/site-
プログラム課題(paizaの森)
***paiza***様のpaizaの森のプログラム課題からこんな問題を解きました。
>1行目に入力する数を決める
>2行目以降に2つの数を入力し、2つの数が同じなら2つの数を掛け、2つの数が異なるなら2つの数>を足す。これを1行目に入力するデータの数だけ行い、計算結果を表示する。プログラムで書きました
“`Python3
# coding: utf-8
# 自分の得意な言語で
# Let’s チャレンジ!!
num = int(input())
sum1 = 0
for i in range(num):
ans1 = 0
data = input()
array1 = data.split(‘ ‘)
A = int(array1[0])
B = int(array1[1])
if A == B:
ans1 = A * B
else:
ans1 = A + B
sum1 += ans1
print(sum1)
“`
Python3で関数作成
***Python3***で関数を作成しました。
“`Python3
# 文字表示の練習
# Create 2023/7/16#文字表示関数
def display(msg):
print(msg)str1 = “test”
#文字の連結
str1 += “46”
display(str1)str2 = “山下美月”
display(str2)“`
6-3-1 pandas-データの読み込み
第1項 データの読み込み
データを扱う
繰り返しになりますが、機械学習ではデータが重要になります。
そのため、データを読み込み、それを処理することが必要になります。データの読み込みには標準ライブラリのcsvモジュールを使うこともできますが、機械学習、データ分析の分野ではpandas(パンダス)と呼ばれるライブラリがよく利用されています。
ワンポイント
pandasはpanel data、統計学などで利用される用語から名づけられているようです。pandasのインストール
pandasは第1章ですでに他のライブラリと合わせてインストールを行っています。個別にインストールする場合は以下のようにpipコマンドを入力します。
“`
pip install pandas
“`CSVファイルの読み込み
pandasを利用してCSVファイルを読み込んでみましょう。
まず、ファイルを格納するための「chapter06」ディレクトリを作成してください。
次に、以下のリンクからCSVファイルをダウンロードしてください。sample06_3_1.csv
CSVファイルをダウンロ
Matplotlib
## Matplotlibのインストール
“`python
import matplotlib.pyplot as plt
“`##
SwitchBot API v1.1を使って、スマートプラグ プラグミニの状態をZabbixでモニタリングできるようにした
# 背景、事の始まり
私はSwitchBotのスマートプラグミニを3カ月ほど使用してきましたが、せっかくなら電圧や消費電力といった情報を取得したいと考えました。そこで調べてみたところ、SwitchBotには開発者用APIがあり、私でも利用することが可能であることを知りました。実は私はAPIを使用したことがなかったのですが、この機会に挑戦してみることにしました。また、Grafanaを使ってモニタリングしている方がいるというのもTwitterで知り、私もそれにならって試してみようと考えましたが、自宅には既にZabbixが導入されているため、折角ならZabbixを利用して管理することにしました。
## 調べ始め
### SwitchBotAPI v1.0でのモニタリング
どうやら同じことを考えた人は居たようです。
こちらの方は温湿度計をZabbixでモニタリングしているようですが、v1.0で利用しているみたいです。https://satoweb.net/2021/09/switchbotonzabbix/
### SwitchBotAPI v1.1について
2022年9月にAPI
ChatGPT Code Interpreterで、できること・できないこと
## 背景・目的
+ Code Interpreterで何ができるのか?を調べて活用方法について考察したい
## できること
+ ユーザー
+ 自然言語の入力
+ ファイルのアップロード
+ システム
+ Pythonの実行
+ 自然言語の解釈
+ Pythonの実行結果の解釈## できないこと
+ インターネットアクセス
+ python以外の言語を使った処理(shellscriptとか)
+ 学習しないように設定して使う(2023/07/15時点で、chat history & trainingをOFFの状態で使えない)## Pythonの実行環境について
+ CPUコア数: 16
+ `psutil.cpu_count()`
+ メモリ: 60GBぐらい
+ `psutil.virtual_memory().available`
+ ディスク: 130GBぐらい
+ `psutil.disk_usage(‘/’).total`## プリインストールされているPythonライブラリ
“`p
Selenium4.10.0でwebdriver.Chrome()でエラー
# 事象
pip install seleniumで、7月14日時点で最新バージョンの4.10.0をインストール。webdriver.Chrome(WEB_DRIVER_EXE)で以下の警告が現れる。
「Expected type ‘Optional[Options]’, got ‘str’ instead 」“`python
# Chromeドライバ
WEB_DRIVER_EXE = r’chromedriver.exe’driver = webdriver.Chrome(WEB_DRIVER_EXE)
“`
実行すると、
AttributeError: ‘str’ object has no attribute ‘_ignore_local_proxy’
となってコケる。なお、chromedriver.exeは.pyと同フォルダにもちろん配置済み。
# 対応
seleniumのバージョンを4.8.3にさげたら通った。
G++ Python
import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt
class G_n_plusplus:
def __init__(self, n_factor = 2) -> None:
“””
Augs
discount_factor_vec: 割引率のベクトル。スワップのCFに合う形を想定
“””
# ファクターの数を設定する。
self.n_factor = n_factor# 初期値を設定する
self.variance_vec = np.array([1] * n_factor)
self.drift_vec = np.array([1] * n_factor)
self.a_vec = np.array([1] * n_factor)
self.correlati
flaskで簡単にページネーションを作成した
# flask学習中
簡単にページネーション付けたいなー
![hirameki_man.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1228723/a8cc7fe8-bb38-ba42-e905-3e7505e549c2.png)## 最終目標
一覧画面のリストにページネーションを付ける## まずは設定
~~~md:python3
pip3 install Flask-Paginate
~~~~~~md:cafe.py
from flask_paginate import Pagination, get_page_parameter
~~~
## 早速書いていきます
### パスを準備しておきます
~~~md:cafe.py
@app.route(‘/cafe/list’)
def list():
~~~#### メソッド内です
~~~md:cafe.py
@app.route(‘/setting/cafe/menu/list’)
def list():
————ここ
最も単純なデコレータ
#### 最も単純なデコレータ
“`py
def decorator(func):
return lambda *args: func(*args)@decorator
def some_function(args):
pass
“`
デコレータは関数上の関数、つまり汎関数である。
今定義したデコレータ`decorator`はどんな処理もしない恒等写像である。
Pythonでプログラミング! ~入門編 パート2~
# Python入門編 その2
今回扱うプログラムは[こちら](https://github.com/victor-von-pooh/Python_Learn/blob/main/Python%E5%85%A5%E9%96%80%E7%B7%A8/Python_1_2.ipynb)にあるので、是非ダウンロードしてみてください!
中身はここにあるものと一緒です。## イントロダクション
こんにちは、東京理科大学所属の秋田と申します!
[前回](https://qiita.com/Hiroki_Akita/items/328698b7c40e8a040aed)は、Pythonに関する基本的な文法事項をメインに紹介しました。
今回はPythonのライブラリを使ってもっと便利なことをやってみましょう!## Section 3. 「NumPyライブラリ」
キーワード :
* import
* エイリアスNumPy([公式ドキュメント](https://numpy.org/))は、Pythonでの計算処理を高速化するためのライブラリです。
Pythonは「**インタプリタ
【Python】マイクロ秒を含まない形式(2023-07-12 22:43:13)で現在の日時を取得する方法
# 概要
マイクロ秒を除外して現在の日時(秒までの情報)を取得するコードを3つ紹介します。
`2023-07-12 22:43:13`のような形式です。
標準ライブラリの`datetime`(日付と時間を操作するためのクラスや関数を提供するモジュール)を使用します。# サンプルコード解説
“`py
from datetime import datetime# 1
now = datetime.now().strftime(“%Y-%m-%d %H:%M:%S”)
print(now)# 2
now = datetime.now().replace(microsecond=0)
print(now)# 3
now = datetime.now().strftime(“%Y-%m-%d %H:%M:%S.%f”)[:-7]
print(now)# 出力結果
# 2023-07-12 22:43:13
# 2023-07-12 22:43:13
# 2023-07-12 22:43:13
“`上記、いずれの場合も同じように「`2023-07-12 22:43:
【Web開発者必見】Flaskの便利ライブラリ10個まとめてみた
# はじめに
みなさん、Flask使っていますか?
小〜中規模のwebアプリ開発なら大抵のことはFlaskで実装可能です???今回の記事では、**Flaskの便利ライブラリ10個まとめました**?
サンプルコードも記載しているので、参考になれば幸いです。また、Flaskのおすすめ技術書も載せているのでご興味あれば購入して読んでみてください!
## Flaskのおすすめ技術書
### [Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方](https://amzn.to/3O5mDCs)[![画像タイトル](https://m.media-amazon.com/images/I/81pe2xY1XXL._AC_UL800_FMwebp_QL65_.jpg)](https://amzn.to/3O5mDCs)
**Webアプリの作り方からAPI化、デプロイメントまで
エンジニアとデータサイエンティストのためのFlask入門**Pythonのフレームワーク「Flask」によるWebアプリ開発の入門書です。
まずは、最小のアプリの作
【Python】Pytestで3種類のテストをやってみる
# 初めに
私は最近QA分野にはまっており、QAエンジニア資格であるJSTQBのシラバスを読んでいます。
シラバス31ページ`2.2 テストレベル`にはテストの種類が書いてあります。
今回はその3種類のテストをPytestでやってみます。
# テスト対象は`FizzBuzz`
テストする都合上、Fizz&Buzzの判定を関数化しています。
“`python
def IsFizz(num: int)-> bool:
return num % 3 == 0def IsBuzz(num: int)-> bool:
return num % 5 == 0def main():
for i in range(10, 16):
if IsFizz(i) and IsBuzz(i):
print(“FizzBuzz”)
elif IsFizz(i):
print(“Fizz”)
elif IsBuzz(i):
print(“Buzz”)
指じゃんけんWebアプリのモード追加
# 1.はじめに
先日、SKJvillageの動画内で作られた謎ゲーム「**指じゃんけん**」を遊ぶことができるWebアプリを開発しました!今回は、「ハードモード」「extraモード」を加えてみたので紹介します。↓前回の記事
https://qiita.com/nyar_ramen/items/37aa7b996e9c612f31f0
# 2.SKJvillageとは?
[SKJvillage](https://www.youtube.com/@SKJVillage)は、3人組のゲーム実況系YouTubeチャンネル。高校時代の親友で「早稲田・慶應・上智」大学にそれぞれ進学し、大手企業を退職後、2018年に3人でYoutube活動開始。
(https://www.youtube.com/@SKJVillage/about より参考)# 3.指じゃんけんについて
改めて指じゃんけんとは何かを紹介します。指じゃんけんは下記のリンクに掲載した動画内のくだりであり、マリオメーカーの勝敗を決めるために行われたゲームです。指で1から5を作り遊びます。https://www.yo
【ChatGPT初学者】OpenAIのAPIでAIチャットボット機能を作ってみた
## はじめに
流行りのAIでラフに開発したいなぁというモチベを抱き早3ヶ月。
「AIってむずかしそう」「開発のレベル高そう」って謎にこじらせていました。
たしかに、やったことないことに挑戦するのはハードルが高いです。
しかし、そういう時こそ「まずは手を動かしてみる」ことでした。(猛省)今回は、たった10分で多くの人がChatGPTの門戸を叩けるような開発備忘録を残したいと思います。
テーマは「AIチャットボット開発」。
この開発が完了して実行したら、チャットボットにありがちな文章がターミナルで表示されていることです。
写経でも動かせるプログラムなので、ぜひ10分チャレンジに挑戦してみてください。参考URL:https://udemy.benesse.co.jp/development/system/chatgpt-chatbot.html
#### 想定読者のレベル
* python初学者
* OpenAI APIでの開発未経験者#### 開発環境
* vs code#### 使用言語
* python (python3)#### 使用ライブラリ
* O
Pythonの環境構築でつまづいたこと
こちらの記事を見ながら進めています。
https://prog-8.com/docs/python-env
行った手順は下記の通りです。Homebrewとpyenvのインストールと設定はできています。
“`
% brew -v
Homebrew 4.0.28% pyenv -v
pyenv 2.3.22
“`# エラーが起きたところ
“`
# インストールできるPythonのバージョンを確認
% pyenv install –list
(省略)
stackless-3.7.5# ↓インストールを試みるもエラー
% pyenv install 3.7.5
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.5.tar.xz…
-> https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz
Installing Python-3.7.5.
【Python】勤怠入力アプリ作成
勤怠入力のデスクトップアプリを簡易的に作成しました。
随時、更新をしていきます。### 入力前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/4c30934a-9d63-8c6b-22d8-ee0feb7425e9.png)### 入力後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/0380ecb9-a87d-636e-d1bb-8d3cc834f75b.png)### ソース
“`python
import tkinter
from datetime import datetimedef days_func():
”’日付を取得しラベルにセットする。”’
import datetime
t_delta = datetime.timedelta(hours=9)
JST = datetime.timez
chatGPTを用いてpythonでテキスト+イメージを新規イメージ保存
## はじめに
pythonをchatGPTを用いてコードを書かせる。
プロンプトエンジニアリングを実際に使用することで向上させたいと思っています。## 目的
常に目的は同じです。自動化推進です。
楽したいは正義でしょう。## 今回
画像にテキストを埋め込みそのまま画像として保存したい。
chatGPTへ出力依頼。“`
プロンプト参考.txt//当方メモレベルです。。
pythinでテキスト AAAA とpngファイルをまとめて画像として保存するプログラムを記述してください。
なお上記コードで各処理を関数で処理するようにプロのコーダのように記述してください。また適切なコメントアウトをおこないより可読性に優れたコード構成をしてください
またデバッグしやすいようにデバッグプリント関数を追加してください
“`非常に適当ですね。(いやいい塩梅です。このぐらいでいいのです。)
結果が大事です。出力しながら学習しましょう。## 出力結果
“`
text_plus_image.pyfrom PIL import Image, ImageDraw, Image