- 1. AOJトライに関する知識知見の記録共有:DSL_1_A
- 2. 【2022年3月受験版】G検定チートシート
- 3. Django 一定期間パスワードを変更していないユーザにパスワード変更を強制する
- 4. Django 初回ログイン時にパスワード変更を強制する
- 5. pythonで作成したファイルを実行ファイルに変更する
- 6. kivyMDチュートリアル其の肆什捌 Behaviors – ToggleButton篇
- 7. wikiのFacadePatternをpython3.xで実装(python3.9)
- 8. 【Python3.8(32-bit)】おそらく「matplotlib」と「Pyinstaller」の互換性で悩んだが「cx_Freeze」を使ったらあっさり解決【Pythonプログラムのexe化】
- 9. 登山動画クリエイター向けにGPXファイルを軌跡画像に変換するサービスをつくってみた
- 10. FastAPI入門 〜環境構築からMySQL連携まで〜
- 11. pycodestyleを使ってPEP8に平伏する
- 12. Clear Linuxで画像認識
- 13. Python: インターネットからjsonを取ってきてDictにする
- 14. Python: インターネットからHTMLソースを取ってきての中身だけを抜く(レスポンスがHTMLのURLの場合)
- 15. python3小技
- 16. ジェネレータ メモ
- 17. FastAPIで異なるセンサーからデータをGETする
- 18. はじめてのGoogle AIY Voice Kit⑦【音声認識編】
- 19. 資格試験勉強に対してやる気がでない自分がPython認定基礎試験を勉強したわけ
- 20. お答えしましょう–> 今さらだけど「Jupyter Notebook」って何?
AOJトライに関する知識知見の記録共有:DSL_1_A
# タスク概要
Disjoint Set: Union Find Tree
https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_1_A
# コード実装例
TIPS1. 例外処理含む評価パターンを追加
“`Python
import pprint, sys, timedef core(args, adv=False):
ret = []
grps = “”.join([str(i) for i in range(args[0])])
for cmd, idx1, idx2 in args[1]:
r = []
if cmd == 0:
if adv:
grps = grps.replace(grps[idx1], grps[idx2])
else:
tmp = “”
for i in range(l
【2022年3月受験版】G検定チートシート
#白本まとめ
#人工知能の定義
##人工知能とは何か
コンピュータを使って、学習・推論・判断など人間の知能のはたらきを人工的に実現したもの。##AI効果
人工知能で何か新しいことが実現され、その原理が分かってしまうと、「それは単純な自動化であって知能とは関係ない」と結論付ける人間の心理的な効果##人工知能とロボットの違い
ロボット:あらかじめプログラムされた動作を正確に行う。自己判断で進めることはできない。
人間で例えると「体」
人工知能:自立して発展していく。自ら学習して精度を高めることができる仕組み。
人間で例えると「脳」##エージェント
事前に定義された目標を達成するためのコードまたはメカニズム
「チャットボット」「ソフトウェア」など##古典的な人工知能
将棋のプログラムや掃除ロボット、あるいは質問に答える人工知能
入力と出力を関係づける方法が洗練されており、入力と出力の組み合わせの数が極端に多いもの##機械学習
経験からの学習により自動で改善するコンピューターアルゴリズムもしくはその研究領域##ディープラーニング
ディープニューラルネットワークを用い
Django 一定期間パスワードを変更していないユーザにパスワード変更を強制する
## 環境
Windows 11 Home
Python 3.10.2
Django 4.0.2
venv利用あり
(PyPI)
APScheduler==3.8.1## 関連記事
Django 第1回:[Django Custom User Model の作成](https://qiita.com/startours777/items/706d38e712b0c737a16a)
Django 第2回:[Django 初回ログイン時にパスワード変更を強制する](https://qiita.com/startours777/items/28db625a9bb81a36d4ad)
Django 第3回:[Django 一定期間パスワードを変更していないユーザにパスワード変更を強制する](https://qiita.com/startours777/items/d550ca9b67cea4408a44) 今回## 背景
一定期間、たとえば90日経過したらパスワード変更を促したい場合がある。
これに関してはセキュリティ的に意味があるかの[議論](https://www.soumu.go
Django 初回ログイン時にパスワード変更を強制する
## 環境
Windows 11 Home
Python 3.10.2
Django 4.0.2
venv利用あり## 関連記事
Django 第1回:[Django Custom User Model の作成](https://qiita.com/startours777/items/706d38e712b0c737a16a)
Django 第2回:[Django 初回ログイン時にパスワード変更を強制する](https://qiita.com/startours777/items/28db625a9bb81a36d4ad) 今回
Django 第3回:[Django 一定期間パスワードを変更していないユーザにパスワード変更を強制する](https://qiita.com/startours777/items/d550ca9b67cea4408a44)## 背景
Django利用時、パスワードをメール送信するがそのままそれを利用されたくないケースが存在する。
(セキュリティ的に、とか)
そういったケースでユーザの初回ログイン時にパスワードを強制変更させる機能を実装する。[前
pythonで作成したファイルを実行ファイルに変更する
## 仮想環境を構築
“`
python -m venv exe
exe\Scripts\activate
“`
## ライブラリインストール
“`
pip install pyinstaller
“`
## サンプルスクリプトを用意
以下内容のファイルsample.pyを用意しました。
“`
print(‘sample’)
“`
## 実行ファイルを作成
“`
pyinstaller sample.py
“`
上記コマンドで作成したときは以下ファイルが作成されます。
– pycache
– build
– dist
– sample.spec### 一つのファイルでまとめたいとき
dist内の複数ファイルを纏めて一つのファイルとして扱うときは、
–onefileを付与します。
“`
pyinstaller sample.py –onefile
“`### コンソール画面を非表示
コンソール画面を表示しない場合は、–noconsoleを付与します。
“`
pyinstaller sample.py –noconsole
“`### ライブラリ
kivyMDチュートリアル其の肆什捌 Behaviors – ToggleButton篇
ハロー、Qiita!いかがお過ごしでしょうか。
本当に余寒(先週の続き)という言葉を生み出した人は凄いなぁとしみじみしつつ、
ブルブル震えながらこの投稿記事を書いております。体調などは崩してはないで
しょうか。関東は豪雪だからチュウイセヨ!と警戒情報が出ていましたが、ちょっと積もっただけで
何が警戒なんだろうと思うばかりでしたね。みなさんの区域は結構積もったので
しょうか。全然関係ない地域の人はすみませんが、腹筋でもなさって頂ければと
思います。はい、ということで無事でなによりで、無事でなければこうしてのうのうと記事を
書くこともできません。ひとまず安心ということで、今週も元気にKivyMDのことを
やっていきたいと思います。今週はタイトルの通りで、ToggleButtonとなります。では、レッツラゴ。
## ToggleButton
冒頭にいきなり説明文がありますね。見てみましょう。
> This behavior must always be inherited after the button’s Widget class
> since it works
wikiのFacadePatternをpython3.xで実装(python3.9)
“`python:facade_wiki.py
“””UML
————–> ModuleB
| / |
Facade –> ModuleA |
| \ |
————–> ModuleC
“””# Module B
class Car:def __init__(self):
self.__speed = 0
self.__distance = 0@property
def speed(self) -> int:
return self.__speed@speed.setter
def speed(self, speed: int):
self.__speed = speed@property
def distance(self) -> int:
return self.__d
【Python3.8(32-bit)】おそらく「matplotlib」と「Pyinstaller」の互換性で悩んだが「cx_Freeze」を使ったらあっさり解決【Pythonプログラムのexe化】
## はじめに
これはPython3.8で「matplotlib」モジュールを使ったpyスクリプトをexe化しようと思ったときに、
「Pyinstaller」で出来ず数ヵ月悩んでいましたが、
改めて「cx_Freeze」を使ったらあっさり解決できた話です。## さきに結論
(ジコログさん)[cx_Freezeの使い方【Pythonプログラムのexe化】](https://self-development.info/cx_freeze%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9%E3%80%90python%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AEexe%E5%8C%96%E3%80%91/)
“`cxfreeze -c [pythonスクリプト名].py –target-dir target“`
・・・これだけで解決しました。。
※「cx_Freeze」には「Pyinstaller」のようにonefileオプションは無いようですが、とりあえずOKとしました。(何よりexeが動いてく
登山動画クリエイター向けにGPXファイルを軌跡画像に変換するサービスをつくってみた
はてなブログに掲載しています。
https://moritomo7315.hatenablog.com/entry/gpx2route
## 本サービス「GPX2ROUTE」
https://gpx2route-image.com/
## やったこと
* YamapなどのGPX山行記録データ(GPXファイル)を用いて、登山の軌跡画像を作成するwebアプリを作った。
* 軌跡画像を作るためには`matplotlib`を使用
* pythonを使用するためwebフレームワークはDjangoを使用
FastAPI入門 〜環境構築からMySQL連携まで〜
#FastAPIとは
FastAPIとはAPI作成に特化したPythonのフレームワークです。
Python3.6以上で動作し、簡単にRESTfulなAPIを作成することができます。
また自動で生成されるswaggerUIドキュメントからAPIのテストなども行えます。
#目次
[環境構築](#1-環境構築)
[HelloWorld](#2-helloworld)
[MySQL連携とCRUD操作](#3-データベース連携)#自身の環境
Ubuntu 20.04 LTS
Python 3.8.10
MySQL 8.0.28
SQLAlchemy 1.4.28#1. 環境構築
環境構築といってもFastAPIは非常に手軽で、pipでインストールするだけで簡単に使用することが出来ます。##install
“`
pip install fastapi uvicorn
“`
インストール出来ましたか?
今回はfastapi_sampleディレクトリを作成し、そちらにプログラムを置くことにします。“`
mkdir fastapi_sample
touch main.py
“
pycodestyleを使ってPEP8に平伏する
こんにちは、夜ご飯は納豆です。
納豆単体でも料理として成立しているのに、キムチやオクラなんかと一緒に食べるとさらにおいしいのでつい連日食べてしまうんですよね。
しかも三パックとかでしか売ってないので続けて食べさせようとしているんじゃないかとか疑ってしまいます。
さて、、納豆を食べ続けていくよりも、Qiitaにまとめていくのを続けていきたいです。
今日は、コーディング規約を守りながら書いていく際に自分的に怒られがちなものを書き連ねていきたいと思います。
※備忘録として書くので詳しいことは実際にコーディング規約を見るのが早いと思います。# コーディング規約について
* コーディング規約は、必ずしも順守しなくてはいけない(守らなかったら罰金!とかではなく)ものではないが守ることでより読みやすく、一貫性のあるコードを書くためのものです。
* 各プログラミング言語のコーディング規約
どの言語にもコーディング規約なるものが存在します。[^1]
* Pythonでは通称PEP8(ペップエイト)と呼ばれる[ドキュメント](https://www.python.org/dev/peps/p
Clear Linuxで画像認識
#やりたいこと
今回のやりたいことは、AIを使った画像認識をClearLinuxでやらせる。CLの一つの特徴は数値計算のパフォーマンスが高いということが歌われていますが、それじゃあAI画像認識処理を定番データセットと言われているImageNETを使ってやらせてみようと思いました。画像は例の別邸で定点観測を続けている映像です。参考にしたリンク:
https://creepfablic.site/2020/09/30/python-image-recognition-ai/
https://creepfablic.site/2019/10/25/python-virtualenv/
https://clearlinux.org/software/bundle/python3-basic##バンドルをインストール
“`
clear~ $ sudo swupd update
パスワード:
Update started
Version on server (35810) is not newer than system version (35810)
Update complete
Python: インターネットからjsonを取ってきてDictにする
“`python
USER_AGENT_DUMMY = “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”
HEADERS = {“User-Agent”: USER_AGENT_DUMMY}r = requests.get(“https://hogehoge.com/fuga.json”, headers=HEADERS)
print(r.json())
# {‘hoge’: ‘fuga’}
“`
Python: インターネットからHTMLソースを取ってきての中身だけを抜く(レスポンスがHTMLのURLの場合)
“`python
import urllib.request
from bs4 import BeautifulSoupUSER_AGENT_DUMMY = “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36”
HEADERS = {“User-Agent”: USER_AGENT_DUMMY}def request(url: str, headers: Dict[str, any] = HEADERS) -> str:
req = urllib.request.Request(url, headers=headers)
with urllib.request.urlopen(req) as res:
html = res.read()
soup = BeautifulSoup(html, “html.parser”)
r
python3小技
##フォルダの作成
cv2.imwriteなど、フォルダが存在しないファイルを作成してくれない。
以下により、フォルダが無い場合だけ作成する。“`
import os
os.makedirs( path, exist_ok=True)
“`
ジェネレータ メモ
“`python
def test():
yield [1,2,34] # ここで一時停止
print(‘aaaa’) # 2回目のnext実行中に出力されるdef test2():
gen = test()
print(next(gen)) # [1,2,34]
print(next(gen)) # ‘aaaa’
“`
“`
[1, 2, 34]
aaaa
StopIteration
“`—-
FastAPIで異なるセンサーからデータをGETする
# FastAPIの動作確認
公式チュートリアルを見ながらmain.pyを作成し、ライブサーバーを実行する
https://fastapi.tiangolo.com/ja/tutorial/first-steps/
同一ネットワーク下で以下のようにGETすると、jsonが吐き出されます
“`
curl http://127.0.0.1:8000→{“message”:”Hello World”}
“`例えば、複数のセンサーがつながったラズパイを用意して、FastAPI経由で特定のセンサーデータを取得したい場合は以下のようなmain.pyを作成すれば良い
“`
from fastapi import FastAPIapp = FastAPI()
@app.get(“/sensorA”)
async def root():
return {“time”: “yyyy:mm:dd”,”temp”:”25degree”}@app.get(“/sensorB”)
async def root():
return {“time”: “yyyy:
はじめてのGoogle AIY Voice Kit⑦【音声認識編】
# はじめに
前回のサンプルコード実行編の記事は[こちら](https://qiita.com/yuzuki6v6/items/2dedb4c19f86805b4e5a)から:information_desk_person:
今回はGoogleの「Cloud Speech-to-Text API」というAPI(音声をテキストに変換する)を使用し、音声認識の機能を試してみたいと思います。**※「Speech-to-Text」を使用するためには、事前にGoogle Cloud PlatformでAPIを有効化し、秘密鍵(JSON)をホームディレクトリに配置しておく必要があります**
##Google Cloud Platformにログイン
①Googleアカウントを用意します。
②[Google Cloud Platform](https://console.cloud.google.com)にログインします。
以下の画像が表示された場合、[無料で使ってみる]を選択し、その後画面に表示される手順に沿って登録します。![image.png](https://qiita-image-
資格試験勉強に対してやる気がでない自分がPython認定基礎試験を勉強したわけ
# 1.はじめに
* この記事について
* 合格体験記というよりも「資格試験」に対して今回向き合えた自分の心情や、背景などを整理したものになります。初心大事にしたい派です。
* あくまで資格試験に対しての個人の感想になるので観点を広げる、動機付けの文言化を進めるという意味で読んでいただけると幸いです。* 勉強した(している)試験
* Python 3 基礎認定試験 – 合格しました!
* Python 3 エンジニア認定データ分析 – 試験勉強中です!* 簡単な自己紹介
* 新卒エンジニア二年目
* 未経験でスタート
* Pythonを触り始めて3ヶ月目です。# 2.資格試験勉強に”やる気”が生まれなかった自分の言い分
* 自分なりの言い分として、「使うことだけ調べて実装できればいいじゃん!」って感じでした(笑)>Google先生に聞けば大抵のこと教えてくれるし、(のせてくれている皆さんありがとうございます)
>自分でプログラミングの試験うけるのって「試験を受けることが目的になって
お答えしましょう–> 今さらだけど「Jupyter Notebook」って何?
いまさら jupyter notebook はありえません。絶滅種です。
jupyter lab が後継種です
更に,JupyterLab Desktop が出現しました(Mac, Windows とも)
しかも,2021/09/22 には,すでに!!!https://blog.jupyter.org/jupyterlab-desktop-app-now-available-b8b661b17e9a
時代に乗り遅れてはいけません。