- 1. BlackをPython 3.10で使う
- 2. 今年も全力で間違えていくアプリ開発 ~シェフの気まぐれクソアプリGCP添え~
- 3. 【Python】SQLAlchemyを試してみる
- 4. for文(繰り返し処理) wip
- 5. CDK(Python)を使ってEC2作成してみた
- 6. AWS Lambda Powertools Pythonをまとめてみた。AWS Lambda Powertools Python 〜概要編〜
- 7. Python clickの案外知られていない機能
- 8. Pythonを用いた数値積分
- 9. python –versionの出力は、python3.4からstdoutに出力されるようなっていた
- 10. `python3`系を使いたいのに、`python`と実行すると`python2`系が使われてしまう時の対策
- 11. AOJトライに関する知識知見の記録共有:Volume0-0055
- 12. kivyMDチュートリアル其の肆什肆 Behaviors – Focus篇
- 13. 太陽光の電力検出ユニットとモニターの内容をブラウザから見に行けるようにする方法(+α)
- 14. 正二十面体に魚眼画像を投影して物体検出やりたい話(正二十面体メッシュ編)
- 15. Series.dt.strftime( )とは?
- 16. paiza ダンジョンのデッドロック 3 未完
- 17. walkを使って特定のファイルサイズのリスト抽出
- 18. subprocessを使ってコンソール引数付のpythonファイルを外部から実行する
- 19. stripe API 使い方 (List all customers)
- 20. 【Python】turtleを使って☆星マークを記述
BlackをPython 3.10で使う
# tl;dr
* コマンドライン `black 〜 –target-version py310`
* pyproject.toml“`pyproject.toml
[tool.black]
target-version = [‘py310’]
“`# はじめに:Blackはデフォルトだとmatch文のparseに失敗する
Python 3.10になりmatch文が追加されました。
Blackも21.11b1から対応しましたが、デフォルトだとmatch文のparseに失敗するようになっているため、match文を含むソースコードファイルのフォーマットに失敗します。# 解決:実行時オプション `target-version` をつける
target-versionをつけましょう。
“`bash
black 〜 –target-version py310
“`Poetryを使っていてpyproject.tomlに設定値を書いている場合は
“`pyproject.toml
[tool.black]
target-version = [‘py310’]
今年も全力で間違えていくアプリ開発 ~シェフの気まぐれクソアプリGCP添え~
まだ、日付回ってないから、 ⊂(^ω^)つセフセフ
## 挨拶
はじめましての方ははじめまして
ご存知の方はそうだよヒズミさんだよ注釈:この記事は2割ネタです。
著者は、本気で「謙遜でクソアプリって言ってるんじゃねぇ!!○ソが!」と思っているわけではありません。なので、ニコニコ笑顔で、?中指?を立てながら、お楽しみください。(鼻ホジ
## 前置き
今年もこの季節がやってきましたッ!!
才能の無駄遣いの祭典!クソアプリアドベントカレンダー!
馬鹿どもの作品をまっていたあああああああああああああああああ!!!
あああああああああああああ↓↓↓
今年も、自分のアプリがウルトラ恥ずかしいくらいに、神ばかりでございます。
日本の未来は、明るいな。毎年、毎年、誰に頼まれたわけでもなく、我が物顔でクソアプリをつくっております。
## 今年は違うね?
ええ、シリーズものは3作目でダレるのが世の常です。
毎年、間違っている!というのもみなさん求めていないのでは・・・?と、思いまして。
いわゆる、テコ入れと言うやつですね☆ヤバいですね☆## こちら、シェフの気まぐれクソアプリG
【Python】SQLAlchemyを試してみる
ものすごく今さらな感じがするのですが、最近Pythonを書く機会が増えてきたので、有名どころのORM、SQLAlchemyを試してみようと思います。
DBはMySQLです。# インストール
SQLAlchemyを利用するには、それ自体のインストールと利用するドライバのインストールが必要になります。
今回はMySQLなので、mysqlclient をドライバとして利用します。
[SQLAlchemy | Engine Configuration – MySQL](https://docs.sqlalchemy.org/en/14/core/engines.html#mysql)“`bash
pip install mysqlclient SQLAlchemy
“`# エンジン
SQLAlchemyはEngineと呼ばれるオブジェクトがコネクションプールとして働き、DBとのコネクションの中心となります。
Engineはグローバルなオブジェクトとして一度だけ定義します。
※ Webの場合、リクエストごとに作成せず、ワーカープロセスごとに1つだけ作成すると理解しました。[
for文(繰り返し処理) wip
# 今回の授業資料
# 本日の内容
どんなプログラミング言語に限ら
CDK(Python)を使ってEC2作成してみた
CloudFormationを最近触り始めた私がAWS CDKを使ってEC2作成まで挑戦します
# 前提条件
以下インストールされていること
Python3
aws cli
aws cdk# app作成
以下を参考にapp作成していきますhttps://docs.aws.amazon.com/cdk/latest/guide/hello_world.html
“`shell
$ mkdir cdk-app
$ cd cdk-app$ cdk init app –language python
$ source .venv/bin/activate
$ python -m pip install -r requirements.txt
$ cdk bootstrap“`
成功するとこんな感じにファイルができます
“`shell
$ ls -a
. .venv cdk_app tests
.. README.md requirements-dev.txt
.git app.py requirements.txt
.gitignor
AWS Lambda Powertools Pythonをまとめてみた。AWS Lambda Powertools Python 〜概要編〜
# AWS Lambda Powertools Pythonとは
[AWS Lambda Powertools Python](https://awslabs.github.io/aws-lambda-powertools-python/latest/) は、AWS Lambda関数用のユーティリティースイートで、トレース、構造化ロギング、カスタムメトリックスなどのベストプラクティスの導入を容易にします。 AWS Lambda Powertools (python) は、AWS Lambda関数の実行環境とサポートされているランタイム専用に最適化されています。Core Utilitiesの使い方については、こちらの[Blog](https://aws.amazon.com/jp/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)にも書かれています。## インストール方法
Powertoolsは以下の方法で利用可能です。– Lambda Layer: arn:aws:lam
Python clickの案外知られていない機能
# Python clickの案外知られていない機能
Pythonには[click](https://click.palletsprojects.com/en/latest/)というコマンドラインパーサとして使えるライブラリがあります。同様のライブラリとして以前から[argparse](https://docs.python.org/ja/3/howto/argparse.html)がありますが、clickはargparseよりももっと簡単に使えるライブラリです。
clickでコマンドラインパーサを書く例は以下になります。“`python
# main.py
import click@click.command()
@click.option(
“–count”,
type=int,
default=1,
required=True,
help=”Number of greetings.”,
)
@click.option(
“–name”,
type=s
Pythonを用いた数値積分
#はじめに
Pythonの使い方に慣れるため,色々な記事を参考にしながら,Pythonを使った簡単な数値積分の方法をまとめてみました.
今回は 例として,$\int_{a}^{b}x^2dx\quad a=0,b=3\hspace{5pt}$の積分を行います.#目次
1.[ SciPy,Sympyを使用する方法](#scipysympyでの数値積分)
・[定積分](#定積分)
・[不定積分](#不定積分)2.[ ライブラリを使用せずに求める方法](#ライブラリを使用せずに求める方法)
・[区分求積法](#区分求積法)
・[台形公式](#台形公式)
・[シンプソン法](#シンプソン法)#SciPy,Sympyでの数値積分
Scipyでの積分方法の例
|種類||
|:—:|:—:|
|quad|求積法(1変数)|
|dblquad|2重積分|
|tplquad|3重積分|
|trampz|台形公式|
|simps|シンプソンの公式|普通,関数の積分にはquad
python –versionの出力は、python3.4からstdoutに出力されるようなっていた
少しハマったのでメモです
`python –version`の出力は、python3.4からstdoutに出力されるようなっていた
検証コード
“`python:test.py
import subprocess
ret = subprocess.run(“python –version”, shell=True, stdout=subprocess.PIPE , stderr=subprocess.PIPE ,encoding=”utf-8″)
print(ret)
“`“`python:python2.7の場合
python3 test.py
CompletedProcess(args=’python –version’, returncode=0, stdout=”, stderr=’Python 2.7.17\n’)
“`“`python:python3.7の場合
$ python3 test.py
CompletedProcess(args=’python –version’, returncode=0, stdout=’Python 3.
`python3`系を使いたいのに、`python`と実行すると`python2`系が使われてしまう時の対策
例えば、以下のように実行すると`python2`系が使われてしまう
“`
$ python –version
Python 2.7.17
“``/usr/bin/python`を`/usr/bin/python3`のシンボリックリンクにする方法もあるが、それが難しい事もある。
この場合は、以下のようにエイリアスを設定すれば簡単に`python3`系を使えるようになる。“`
alias python=”python3″
“`以下のように確認できる
“`
$ python –version
Python 3.6.9
“``~/.bashrc`に記載しておくとターミナル起動時に設定されるので便利
AOJトライに関する知識知見の記録共有:Volume0-0055
# タスク概要
Sequence
https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0055
# コード実装例
TIPS1. 例外処理含む評価パターンを追加
1. 計算誤差比較例を追加“`Python
import pprint, sys, timedef core(arg, adv=True, n_item=10):
a = arg[0]
s = arg[1] if len(arg) >= 2 else 0
if adv:
d = pow(3, int(n_item / 2))
odds = [d / pow(3, i) * pow(2, i) for i in range(int((n_item + 1) / 2))]
evens = [2 * d / pow(3, i) * pow(2, i) for i in range(int(n_item / 2))]
r = (sum(odds + evens) *
kivyMDチュートリアル其の肆什肆 Behaviors – Focus篇
ハロー、Qiita!いかがお過ごしでしょうか。
もう寒くないとは言えない(当たり前)時期になってきていますが、どうでしょうか。
体調など崩してはいないでしょうか。アドベントカレンダーも真っ最中という状況ですね。投稿者はまったく参加していない
のですが、中には投稿している方もいらっしゃるのではないでしょうか。KivyMDはタグ
すらなかったので、まず前提に立たされていないというのは余談ではありますが、投稿
などしなくとも、何か気になる記事など見つかったでしょうか。ということで賑わってる中、投稿者はもくもく週1でやっているというのはあるのですが、
本題に入りまして今日はというとFocus篇となります。次回予定のHover篇とどう違うの
だろうと思っているところですが、それを解き明かすのは次回あたりになりそうです。まず今週は、Focusを解き明かすのが先決でしょうか。では前置きはこのあたりにして
おいてさっそく取り掛かるとします。それでは、レッツラゴ。## Focus
冒頭にはこう書かれていますね。最初の1文を見てみましょう。
> Changing the backgr
太陽光の電力検出ユニットとモニターの内容をブラウザから見に行けるようにする方法(+α)
#1.はじめに
我が家の屋根には長州産業株式会社製の太陽光発電システムが載っている。太陽光発電システムでは発電量や売電量を見られるモニターが付属していることが多いと思う。
我が家ではCMCS-P04という型番のモニターと、ここに表示する情報を取得するための電力検出ユニットが付いてきた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1637818/bf97422f-ab1e-1bd7-15d8-6bceb376bb77.png)
※図は長州産業さんの広告から引用
https://zz102.secure.ne.jp/~zz102035/pdf/pdf_g51_333w300w275w.pdf入居当時、我が家にはWi-Fiルーターがなかったため、電力検出ユニットとモニターが直接、無線で接続されていた。
正二十面体に魚眼画像を投影して物体検出やりたい話(正二十面体メッシュ編)この記事は[DeNA 21新卒×22新卒内定者 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/dena-21×22)の18日の記事です。
こんにちは、22新卒の[@John_bardera](https://twitter.com/John_bardera)です。研究に苦しんでいます。
DeNA 21新卒×22新卒内定者アドカレなんて面白そうなものがあったので飛びついてみたものの、研究かバイトしかしていません。
バイトの方は喋っちゃいけないがあったり、ちょっとマイナーめな技術を使ってたりなので必然的に研究の話をすることになりました。
時間があれば、低温調理器作ってみた!とかPC電源解体して実験用の電源作ってみた!とか電動スタンディングデスク作ってみた!とかやりたかった。。さて今回は研究でやっていることの一部なのですが、正二十面体を使った魚眼画像の物体検出の話をします。
ただ、物体検出をやるまで書こうと思っていたのですが、研究の合間にやってる&記事のカロリーが大きかったので泣く泣く分割させていただきました。
Series.dt.strftime( )とは?
![c6h7rok9c2v31.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1076905/e2fff834-99f8-75de-80a6-9b26f9126db6.jpeg)
#Series.dt.strftime( )とは?たまに見かけるシリーズ型の列に対して書いていた.dt.strftime
ご存知の通り日付型の文字列を好きな形で表示できる関数である。
strftimeをさまざまなところで見かけるが、初学者にとってとっつきにくく少しわかりにくい.
そこで今回、調査結果をツラツラと記載していきたいと思う。“`公式ドキュメントから該当ページ抜粋
Convert to Index using specified date_format.Return an Index of formatted strings specified by date_format, which supports the same string format as the python standard lib
paiza ダンジョンのデッドロック 3 未完
https://paiza.jp/works/mondai/steinsgate/moving_deadlock_step3
※いくつかのテストケースでタイムオーバーとなり解けませんでした。
どうも実力不足のようなので分かり次第修正します。“`python
N,M = input().split()
M = int(M)
ini,pend,ans,seq = [],[],[],[]
flg = 0for i in range(M):
ini.append(input().split())for i in range(M):
ini[i].insert(0,str(i+1))seq = ini[0]
end = ini[-1]while flg == 0:
for idx,elem in enumerate(ini):
if seq[1] == seq[2]:
pend.append(seq)
flg = 1
break
walkを使って特定のファイルサイズのリスト抽出
## walkの練習
フォルダ構成は下記のようになっています。
(コマンドプロンプトでtree フォルダ名 /f)“`
LOGS
│ log.txt
│ log2.txt
│ 大きいファイル君1.htm
│ 新規 Text Document.txt
│
├─.ipynb_checkpoints
├─202112_15
│ │ log.txt
│ │ log2.txt
│ │ 大きいファイル君2.htm
│ │
│ └─.ipynb_checkpoints
│ 大きいファイル君2-checkpoint.htm
│
└─2021_1214
│ koko.txt
│ 大きいファイル君3.htm
│
├─.ipynb_checkpoints
└─その他
│ 大きいファイル君4.htm
│
└─.ipynb_checkpoints“`
まずはどのように表示されるか見てみる。
“` python
import osdir = ‘log
subprocessを使ってコンソール引数付のpythonファイルを外部から実行する
### コンソール引数付のファイルを外部から実行する
“`subpro_qiita.py
import subprocess
from time import timename_list = [“john”,”power”,”smith”,”jack”]
for i in name_list:
print(i)
# コンソール実行時の場合に空白で区切る部分を分割してリストに入れる”
# python greeting.py –nickname XXXX の場合下記のようになる。
command = [“python”,”greeting.py”,”–nickname”, f”{i}”]
proc = subprocess.Popen(command)
“`実行するファイル
“`greeting.py
import argparse
import timedef arg_res():
parser = argparse.ArgumentParser()
parser.add_argument(‘–nic
stripe API 使い方 (List all customers)
API の仕様はこちら
[List all customers](https://stripe.com/docs/api/customers/list)Ubuntu 21.10 で確認しました。
#データの準備#CLI のインストール
“`bash
wget https://github.com/stripe/stripe-cli/releases/download/v1.7.9/stripe_1.7.9_linux_amd64.deb
sudo dpkg -i stripe_1.7.9_linux_amd64.deb
“`インストールの確認
“`text
$ stripe –version
stripe version 1.7.9
“`カスタマーの作成
“`bash
stripe customers create
“`Secret Key の取得
https://dashboard.stripe.com/test/dashboard
![stripe_aa.png](https://qiita-image-store.s3.ap-northea
【Python】turtleを使って☆星マークを記述
Pythonとturtleと使って星マークを記述するコード。
## 実装コード1
“`python
from turtle import *for i in range(10):
forward(100)
if i % 2 == 0: left(72)
else: right(144)
done()
“`## 実行結果1
![スクリーンショット 2021-12-16 19.45.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522445/1896ae5a-69b3-2494-3e48-a03364ccec11.png)*クロスさせないタイプの星型の図形です。
## 実装コード2
“`python
from turtle import *for i in range(5):
forward(100)
right(144)
done()
“`## 実行結果2
![スクリーンショット 2021-12-16 19.50.44.png](https://qiit