- 1. pythonでjwtを検証してみる。
- 2. django-admin startproject XXについて
- 3. pip, virtualenvについて
- 4. paizaでアセンブラ その17
- 5. Python,Ruby,PHP,Java,JavaScript,PerlのSQLiteの比較
- 6. 防御率と援護率と勝率の関係を探る
- 7. Pythonプログラムで Azureの請求アカウントIDをから請求データを取得してみました – REST API編
- 8. trio-utilによるreadableな並行処理①(AsyncValue)
- 9. Pythonプログラムで Azureの請求アカウントIDをから請求データを取得してみました – CostManagementモジュール編
- 10. 【tkinter + threading】tkinterで無限ループのスレッドを正常に終了させる方法
- 11. 自作画像セグメンテーションデータセットの統計について
- 12. FastAPIを用いてテキスト生成APIを作る
- 13. [UE5] Pythonでお手軽にエディターのメニューを拡張してみる
- 14. AWS LambdaでPython向けLayerを作ろうとしたらはまった話
- 15. 大学の購買で最適な買い物をしてみた
- 16. 【Python】妻に真夜中のダンスレッスン予約を強要されたので、Webスクレイピングで回避を試みようとしている話 (5.Excelで会員・予約情報の管理を考える)
- 17. Scipy.solve_ivpの中身について
- 18. paizaのBランク問題集 FINAL問題 「五目並べ」 を配列を使って解く
- 19. 【Python】spinboxの初期値を設定する
- 20. PyCon JP 2022 day1 Pythonに上級テクニックは要らない(そして正しい付き合い方)
pythonでjwtを検証してみる。
# 概要
pythonでjwtを検証してみる。
# 参考にしたページ
https://qiita.com/leo1109/items/2e82c899891f8e771315
# サンプルコード
“`
# coding: utf-8
# Your code here!
import base64
import json
import jwtjwt_ = ‘eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ’
tmp = jwt_.split(‘.’)
header = json.loads(base64.b64decode(tmp[0]).decode())
payload = json.loads(base64.b64decode(tmp[1]).decode())
print(header)
print(payload)
django-admin startproject XXについて
Python, Djangoの勉強ということで、とりあえず(https://itc.tokyo/django/tutorial/ )で公開されている内容をそのまま読んで書いていきます。
その中で初心者の自分が疑問に思ったところやつまずいたところを共有できたらなと思います。第2回 「【初心者向け】Djangoのインストール方法を一から徹底的に解説」
・「django-admin startproject XX」コマンドで自動作成されたフォルダやファイルは何なのって思ったのでまとめておきます。【django-admin startprojet XX】
開発を効率的に進めるために必要なファイル群を生成するコマンド
(https://codor.co.jp/django/about-startproject )
・_init_.py:Djangoプロジェクトの初期処理を行うスクリプトファイルです。
・settings.py:プロジェクトの設定情報を記述したファイルです。
・urls.py:プロジェクトにアクセスする際のURLを管理するファイルです。
・wsgl.py:Webアプリのメイ
pip, virtualenvについて
Python, Djangoの勉強ということで、とりあえず(https://itc.tokyo/django/tutorial/ )で公開されている内容をそのまま読んで書いていきます。
その中で初心者の自分が疑問に思ったところやつまずいたところを共有できたらなと思います。第1回目 「virtualenvでDjangoの開発環境を整える 5ステップ」
・開発環境はこうやって設定しますよ~ってことが書いてあったが、そもそも「pip」や「virtualenv」って何やねんってなったのでまとめておきます。【pipとは】
Pythonをインストールした段階で、Pythonの中に既に入っている、Python公式のパッケージ管理システムです。
(https://prograshi.com/language/python/python-pip/ )【virtualenvとは】
システム上に分離されたPythonが動作する仮想環境を作ることができるソフトウェアです。
(https://www.sejuku.net/blog/68398 )
paizaでアセンブラ その17
# 概要
paizaでアセンブラ、やってみた。
アセンブラ、見つけたので、やってみた。
直打ちする根性は無いので、pythonでやってみた。# 参考にしたページ
https://qiita.com/reika727/items/23bd5367e13114f6705c
# サンプルコード
“`
# -*- coding: utf-8 -*-import re
import subprocess
import ossrc = “””
#ヘッダ(64 バイト)
7f 45 4c 46 | マジックナンバー
02 | 64 ビット
01 | リトルエンディアン
01 | バージョン(実質 1 で固定)
00 | UNIX System V ABI
00 | ABI のバージョン(実質 0 で固定)
00 00 00 00 00 00 00 | 予約領域(0 で埋める)
02 00 | 実行ファイル
3e 00 | x86-64
01 00 00 00 | バージョン(実質
Python,Ruby,PHP,Java,JavaScript,PerlのSQLiteの比較
Python,Ruby,PHP,Java,JavaScript,PerlのSQLiteの比較
# Python
https://qiita.com/flcn-x/items/69481d31211421e21f21
# Ruby
https://qiita.com/akito_tameto/items/868e3805dc01c7bef6ef
# PHP
https://qiita.com/39_isao/items/a5b4940138bced936de0
# Java
https://qiita.com/tsweblabo/items/39bdd73a910417a9a8df
# JavaScript
https://qiita.com/zaburo/items/a155cbc02832b501a8dd
# Perl
https://perlzemi.com/blog/20
防御率と援護率と勝率の関係を探る
趣味で嗜む野球に関するデータ分析を気まぐれにまとめています。今回はプロ野球における防御率と援護率、そして勝率[^1]の関係を2022年シーズンデータを使って分析し、そこから投打がかみ合っていい感じに勝ち試合を作れた投手を示す指標を作ってみた話です[^2]。
# 概要
「えっ、この防御率でこの勝利数?」「またこの投手援護点ないよ・・・」というのはプロ野球をみてると結構ありますよね。どんなに防御率がよくても援護が少なければ勝ち投手にはなれないし、逆にどんなに援護があってもそれ以上に失点しても勝てない。今回の分析はここの関係性を2022年データを使って見ていきます。### やったこと
* スクレイピングでデータを取得し、投手別2022年シーズン援護率を算出する
* 防御率および援護率を使い勝率との関係を調べる(プロット、回帰)# データを取得して投手別2022年シーズン援護率を算出する
### 援護率について
援護率はどのように計算されているのか。[こちらのサイト](https://base-info.com/engoritsu)を参考にしました[^3]:::note
援護率
Pythonプログラムで Azureの請求アカウントIDをから請求データを取得してみました – REST API編
## 概要
Azureの請求アカウントIDとその配下の顧客ID(テナントID)から請求データを取得するPythonプログラムです。
本プログラムは CostManagement REST API を利用して作成されています。
[CostManagementモジュールを利用したプログラム](https://qiita.com/turupon/items/d39b5312600ce1d2a4f3)でいろいろ問題があったので、改めて REST API を利用しています。1. リクエストの返り値が1000件を超える場合でも問題なく動作します
2. 利用するAPIバージョンを指定することができる### 実行環境
macOS Monterey 12.3.1
python 3.8.12### 事前準備
[この記事](https://qiita.com/turupon/items/d39b5312600ce1d2a4f3) の「事前準備」を完了していること
### 実行プログラム
“`python:REST_QueryTimePeriodByCustomerId.py
imp
trio-utilによるreadableな並行処理①(AsyncValue)
[目次](https://qiita.com/Kyosuke_Ichikawa/items/b7fdffcbfe00773074a6)
# trio-utilの紹介
これまでpythonの並行処理ライブラリ[trio](https://trio.readthedocs.io/en/stable/)について紹介してきました。
[trio-util](https://trio-util.readthedocs.io/en/latest/)はtrioについて便利な機能を提供するライブラリです(ソースコードは[これ](https://github.com/groove-x/trio-util))。
[README](https://github.com/groove-x/trio-util#readme)には次のような事が書かれていますが、まさにその特性を持ったライブラリだと思います。“`
What attributes make a good utility function or class?
(良いutil関数やクラスとはどのような特性なのか?)– of general us
Pythonプログラムで Azureの請求アカウントIDをから請求データを取得してみました – CostManagementモジュール編
## 概要
Azureの請求アカウントIDとその配下の顧客ID(テナントID)から請求データを取得するPythonプログラムです。
本プログラムは CostManagementモジュール を利用して作成されていますが、以下の問題がございます(私の力量不足かもしれません)。1. リクエストの返り値が1000件を超える場合、CostManagementモジュールを利用できない
2. CostManagementモジュールで利用するAPIバージョンを指定することができず、古いバージョンのため取得できない項目がある[REST-API利用する場合](https://qiita.com/turupon/items/fcaf63b88745b47f15fb)、上記2点の問題は発生しません。
### 実行環境
macOS Monterey 12.3.1
python 3.8.12### 事前準備
– Pythonプログラムの実行に必要なサービスプリンシパルの作成
– Azure AD にて サービスプリンシパル を作成し、以下のアクセス許可を付与する
– Microso
【tkinter + threading】tkinterで無限ループのスレッドを正常に終了させる方法
# 1. きっかけ
シリアル通信をするGUIアプリを作っていました。
すると、応答を待っている間のコンマ数秒アプリがフリーズすることに気付きました。
微妙な差ですがストレスに感じたので解決策を講じました。# 2. 結論
– `QUIT`ボタンを作り、そのボタンで呼ばれる関数内でスレッドを終了させる
– 無限ループはフラグが立ったら抜け出すようにしておく
– アプリをバツボタンで閉じられるとスレッドが無限ループから抜出せず強制終了するしかなくなるので、バツボタンで閉じられないように設定# 3. 実装
– サンプルアプリ
“`python
class App(tk.Frame):
def __init__(self, master):
super().__init__(master)# ウィジェット作成
self.number = tk.IntVar(value=0)
self.label_number = tk.Label(master, textvariable=self.number)
自作画像セグメンテーションデータセットの統計について
https://qiita.com/chiba1sonny/items/9a16fbb3e8136e3f983c
#### こちらにアノテーションツールLabelmeを使ってデータセットを作る方法を記載しました。作ったデータセットの属性を了解することは、データ処理やモデル構築に有益です。この記事では、自作画像セグメンテーションデータセットの画像ごとにあるRGB値とそれぞれが占めるピクセル値を統計する方法と全データセットにあるRGB値を入手する方法を記載します。
### 1.画像ごとにあるRGB値とそれぞれが占めるピクセル数
使う画像はPascal VOC2012データセットのgt画像です。
![nisgel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1668082/bc76da96-ddc1-44ba-6e6d-1a8aed661125.png)
“`
from PIL import Image
import numpy as npimg = Image.open(‘pascal/nisge
FastAPIを用いてテキスト生成APIを作る
## はじめに
FastAPIを用いてGPTによる文生成APIを作る方法です.## 手順
まず,main.pyに以下を記述します.
“`python
# 事前にライブラリをインストール
# pip install fastapi
# pip install “uvicorn[standard]”
# pip install transformersfrom fastapi import FastAPI
from transformers import pipelineapp = FastAPI()
# GPT2の読み込み (初回はモデルのダウンロードに時間がかかります)
generator = pipeline(‘text-generation’, model=’gpt2′)@app.get(“/gpt/{text}”)
async def read_item(text: str):
gen_text = generator(text, max_length=30, num_return_sequences=5)
return {“generated_
[UE5] Pythonでお手軽にエディターのメニューを拡張してみる
EUWというツールメニューにも自動で登録されるような便利な機能がありますが、何らかの理由でエディターのメニューにカスタムの項目を追加したい場合、Pythonからやる方法が結構簡単だった、かつあまり情報が無かったので置いておきます。
早速ですがコード
“`
import unrealdef main():
#メニューオブジェクトに、セクションを追加する
ToolMenus = unreal.ToolMenus.get()
ToolMenu = ToolMenus.find_menu(“LevelEditor.MainMenu.Tools”)
ToolMenu.add_section(section_name=”mytools”,label=”My Tools”,insert_type=unreal.ToolMenuInsertType.DEFAULT,)#新しく追加したセクションに追加するエントリーを作成して追加する
entry = unreal.ToolMenuEntry(name=”newentry”, type=unre
AWS LambdaでPython向けLayerを作ろうとしたらはまった話
AWS Lambda(Python)を使ってGoogle APIにアクセスしようとしたらライブラリではまった話です。
(Python初心者なので誤った記述があるかもしれません)# 環境
– 開発環境用にEC2 Amazon Linux2 + Python 3.7
– Google APIにはサービスアカウントでアクセスする
– Google API利用に必要なPythonパッケージ用にLambda Layerを作成する# 参考にした記事
– メインのコード自体は「補足:サービスアカウントを使ったやり方」を
ほぼそのまま活用させていただきました。https://www.coppla-note.net/posts/tutorial/google-calendar-api/
– 必要なパッケージについてはGoogleの「[Python quickstart](https://developers.google.com/docs/api/quickstart/python)」を参照しています。
# 事象
`pip -t`でインストールしたディレクトリを圧縮・Layer化したのに
大学の購買で最適な買い物をしてみた
どうも、先日大学院入試に無事合格した公立はこだて未来大学(以下、弊学) B4 の [Ryusuke](https://twitter.com/ryusuke__h) です。
弊学では、新型コロナウイルスによる影響や国際情勢の変化による食品や日用品の価格の向上により、 9 月末に生活支援事業から「 1 万円分の食堂・購買利用券」が配布されました ???
そこで基本暇してる僕はこの利用券の最適な使い方はなんだ?と思い調べることにしました。
今回はその過程と結論についてまとめましたので、最後まで読んでいただければ幸いです。## 1 万円分の食堂・購買利用券について
この「 1 万円分の食堂・購買利用券」についての詳細をまずは紹介します。
:::note info
– **学生 1 人あたり、 400 円券 × 25 枚の配布**
– **400 円単位での利用が可能であり、400 円以下の品物を購入した場合であってもお釣りは出ない**
– 他人に譲渡してはならない
– 混雑緩和のため、利用の際はレジに並ぶ前に準備する
:::これがメールで送られてきた守るべきルールです。
この
【Python】妻に真夜中のダンスレッスン予約を強要されたので、Webスクレイピングで回避を試みようとしている話 (5.Excelで会員・予約情報の管理を考える)
前回は、「4.処理フロー」について発信しました。
今回は、会員・予約情報を管理する Excelファイルのレイアウトについて考えます。## 必要項目
実際に予約サイトを操作しながら、必要そうな項目を洗い出しました。
> – ユーザー名
> – パスワード
> – 予約日付
> – レッスン開始時間
> – レッスン名
> – 予約優先位置処理結果を記録する項目も必要ですね。
> – 予約できた位置
> – 処理メッセージ
> – 記録日時それをもとに表を作成しました。(会員・予約管理用ファイル:reserveLessonList.xlsx)
![WS000004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2915699/22c54127-8dbc-6f25-496e-f2ed7b76b604.jpeg)
予約プログラムは、この情報を1行ずつ読み込んで処理
Scipy.solve_ivpの中身について
計算法というよりはプログラムの構成に関してです.
コードはすべてv1.9.2の[ソース](https://github.com/scipy/scipy/tree/656076ca6b490f587e9bd9c4cd10cb259a687c5b/scipy/integrate/_ivp)からの引用(現時点ではLatest)です.適宜省略しつつ引用します.## 実装されている機能
`solve_ivp`には,
– 時間ステップ幅の調整
– 精度の保証
– 解の値の判定,指定した値の追跡などの機能があります.上記の処理が入っているためソースコードはそれなりに煩雑です.ここでは処理の詳細には触れずに,プログラム全体としてどのような構成になっているのか,解法のメインである時間ループの計算がどこで・どのような順で実行されるのか,という点について調べたことを書きます.RK23を例として見てみます.
## Signature
“`py
def solve_ivp(fun, t_span, y0, method=’RK45′, t_eval=None, dense_output=Fa
paizaのBランク問題集 FINAL問題 「五目並べ」 を配列を使って解く
paizaラーニングのBランク問題集 FINAL問題 五目並べについて
模範解答があるものの、100行ほどに渡り書かれてありよく分からない方へ向けて。
“`py
s = [input()for _ in range(5)]
win = “D”
a = []
“`
まずsリストに5行の入力を1次元リストにします
次に、最終的に勝者として出力する文字としてwinという変数に初期値”D”を与え、仮にXかOが勝者となる場合にその文字を代入するようにします。
そして調べる5つの文字をaのリストに入れ、a.count(“X”または”O”)が5であるかどうかで勝者を確かめます 5であればwinに”X”か”O”が代入されることになります## 斜めの調べ方
“`py
#ななめ
for i in range(5):
a.append(s[i][i])
if a.count(“X”)==5:
win = “X”
elif a.count(“O”)==5:
win = “O”
a.clear()
“`
ここで左上から右下へのラインを調べます
O・・・・ s
【Python】spinboxの初期値を設定する
<初めに>
comboboxの初期値を簡単に設定することができたから
spinboxも出来ると思ったら…とんでもなくやり方が違ったので書いておきます<やりたいこと>
Treeviewの列をダブルクリックしたときに
spinboxの初期値にTreeviewデータを入れたい
(理想↓)
①任意の列を指定したら…
![spinbox_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2021763/5d30facf-ef85-7bf0-eb72-9456b9dbc5db.jpeg)
②自動でspinboxの初期値が入力されるようにしたい…
![spinbox_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2021763/6e4b1dbd-3786-6f74-d2ab-22451e862834.jpeg)
<これがやりたい理由>
CSVからTreeview作成しているんだけど
中身を修正するときにspinboxが0から始
PyCon JP 2022 day1 Pythonに上級テクニックは要らない(そして正しい付き合い方)
現地参加したPyCon JP 2022のセッションのまとめ4本目です。
今回は、Day1の「Pythonに上級テクニックは要らない(そして正しい付き合い方)」です。
# 動画
# スライド
– http://slides.hirokiky.org/pyconjp2022.html#1# スピーカー
– 清原弘貴さん
– 株式会社ゼンプロダクツ
– 代表取締役# 内容まとめ
– テクニックを過剰に使いすぎず、可読性・メンテナンス性の高いPythonコー