- 1. 家庭教師がオンライン授業のためのホワイトボード共有サイトを作ってみた
- 2. esptoolでESP32にファームウェアを書き込む方法
- 3. Pythonにおける日本(東京)時刻の取得 ※Google colabでdatetimeを使用
- 4. ツイッターの自動懸賞応募botを作るまで python
- 5. アルゴリズム実技検定(PAST) 第11回 E問題 Python解答例(二分探索)
- 6. PythonでOpenCV with CUDAを使う方法
- 7. Pythonの関数デコレータに入門する
- 8. Python3で静的Webページをスクレイピング
- 9. 【言語学者向け】エクセルの調査票からpdfの調査票を作成する (Python + TeX)
- 10. Windows/Mac/Linux対応のウインドウタイトルを設定する関数を作る
- 11. win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法
- 12. WindowsにPycharmの「Failed to create a virtual environment」解決
- 13. Python メモ:for文で動的にlambda式を使う
- 14. 40代おっさんPythonを勉強する(データ解析,Pandas編②)
- 15. 「答えてナナちゃん」アプリケーション
- 16. Discordでbotを作る手順まとめる
- 17. GoogleCloudStorageにファイルを配置したことを契機にして、CloudFunctionを起動して、BigQueryにロードしてみた。
- 18. Python3.11がどれくらい高速化したのか
- 19. Pythonの高速Webフレームワーク FastAPI に、rinna社の言語学習済みモデル(計4.7GB)を搭載して、Cloud Run で動かしてみた
- 20. twitter apiとtkinterでツイート送信画面を作ります
家庭教師がオンライン授業のためのホワイトボード共有サイトを作ってみた
## 前提
コロナ禍の状況で、zoomを使ってオンライン授業をしていたが、使いにくかったので、自分で作ることにしました。
[ボードミート](https://board-meet.com/ “ボードミート”)## 技術
**バックエンド**
— 言語
– Python3— フレームワーク
– Django 3.0.6**フロントエンド**
— 言語
– CSS
– Javascript
– HTML— フレームワーク
– jquery
– materiallize.css**インフラ**
– AWS EC2
– AWS S3 storage
– AWS Route53## アーキテクチャー
![スクリーンショット 2022-11-01 18.48.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1860891/9ab885ca-2127-3908-bec2-4ce2e87d8942.png)
## 工夫した点
– webRTCを使ってシグナリングをする際に、複数人
esptoolでESP32にファームウェアを書き込む方法
## はじめに
windowsを使っている人だと, 最初使うであろうIDE 「uPyCraft」ですが, いろいろと不調が起こりやすく使いにくい。
なので今回は, esptoolコマンドを使ったESP32のセットアップを説明します。## 準備
pythonのpipインストールを使い, esptoolコマンドをインストールします。##### ・pythonのインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728179/5f137a33-2f7c-d5c2-27ba-131ae05d0578.png)Menuの「Downloads」にホバーし, 「Python3.11.0」をクリック
詳しい手順↓
https://www.python.jp/install/windows/install.html##### ・esptoolのインストール
“`
pip install esptool
“`## ESP32にファームウェアをインストール
1. ESP32
Pythonにおける日本(東京)時刻の取得 ※Google colabでdatetimeを使用
# Pythonにおける日本時刻の取得について書く。
※2022/11/1 09:00 環境に関して追記。
*このコードはGoogle colabで使用することを想定しています。*
## 目的
**Google colab上で日本時間を取得して格納すること**まず一般的に現在の時刻を取得する方法は下記のコードである。
“`python
import datetime
now = datetime.datetime.now()
“`
しかし、これは**UTC時刻**であり、**日本時刻**とは違います。
Google Colabでは協定世界時をデフォルトにしているため、これを日本時間に直す必要があります。## 日本時間の取得方法
“`python
import datetime
from pytz import timezone
now = datetime.datetime.now() #現在時刻生成
now = now.astimezone(timezone(‘Asia/Tokyo’)) #タイムゾーンを東京に
“`上記を付け加えることで、**
ツイッターの自動懸賞応募botを作るまで python
pythonを学び始めて3週間経った 基礎構文なども身についてきたため、なにか作りたいと思いアイデアを探っていたところ、
どうやらツイッターにおいてアカウントを自動bot化し、自動でフォローなどが出来ると知り、懸賞ツイートに自動で応募出来ないかと思った調べてみるそういうコードがちらほら見つかるが、どうやらリツイートされたものまで拾ってきて、さらにはそのリツイートした全く関係ないユーザーをフォローしてしまうコードであったり、以下のようなツイートへの対処はどのコードも考えられてなかった
プレゼント企画ツイート(特に認証アカウントの)にはフォロー&リツイートをすれば参加できるものが圧倒的に多い。ただ「こちらのアカウントも併せてフォローしてください!! @~~~ @ー----」 というように企画に関連するユーザーのフォローも促すツイートもちらほら見かける。
公式アカウントのプレゼント企画は当選確率は低いかもしれないが、信憑性が高いので逃したくない
今回はこういうツイートにも対応しているような、メンションを正規表現で抽出してフォローするようにしたいと思う
### BOTを作る3つの流
アルゴリズム実技検定(PAST) 第11回 E問題 Python解答例(二分探索)
SupershipでVPoEしている名畑です。
「[アルゴリズム実技検定(PAST)について 並びに 第11回A〜C問題 Python解答例](https://qiita.com/nabata/items/0421f20e8ec849ee70ad)」と「[アルゴリズム実技検定(PAST) 第11回 D問題 Python解答例(Union-Find使用と不使用)](https://qiita.com/nabata/items/013c2fed8386967daa3f)」の続きとして、アルゴリズム実技検定(PAST)第11回のE問題の私の解答例(Python3)を公開します。
## 第11回の過去問題全部
– [第11回](https://atcoder.jp/contests/past202206-open)
## 第11回 E問題 変わった数列(7点)
### 問題
– [E – 変わった数列](https://atcoder.jp/contests/past202206-open/tasks/past202206_e)
### 私の言語
– Python (3.8.
PythonでOpenCV with CUDAを使う方法
## 概要
pip経由でOpenCVをインストールすると使用できないモジュールや機能がありますが、GPU利用もその一つです。公式ドキュメントや参考文献を見ながらOpenCVをC++からビルドしてPythonでGPUを使用できるようにします。
## OpenCV with GPU
OpenCVでGPUを使うことができます。もう少し具体的に言うとOpenCVで用意されているCUDAモジュールを使用することでNVIDIA GPUを使うことができます。他にもOpenCLを使うこともできたり細かい話は色々ありますが詳細は割愛します。
## pipでインストールしたOpenCVには制限がある?
PythonでOpenCVを使う場合、pipを使って下記のコマンドでインストールすると思います。“`shell
pip install opencv-python
“`または
“`shell
pip install opencv-contrib-python
“`このようにpip経由でインストールされたOpenCVではCUDAを使用することができません。例えば次のようなC
Pythonの関数デコレータに入門する
## 概要
Pythonを使っていると`def`の上部に@がくっついていることがありますよね。
“`python
@main.result_callback()
def run(a, b):
….
“`これ、関数デコレータ(以下、デコレータ)と呼ばれるものらしいのですが、調べてみてもよくわからないし、使い道もサッパリだったので無視してました。
だがしかし。
大量にデコレータがついているソースコードに遭遇してしまい、どうしても理解しないといけない状況になりました。
仕方なく重い腰をあげて勉強してみます。
## デコレータの基本の「き」
デコレータの最低限の動きを確認するために次のコードを実行してみます。
“`python
def decorator(f):
def inner():
print(‘before’)
retval = f()
print(‘after’)
return retval
return inner@decorator
def example():
print(‘insi
Python3で静的Webページをスクレイピング
# 開発環境、前提
– macOS Ventura 13.0
– Rancher Desktop 1.6.1
前提:dockerコマンド、docker-composeコマンドを使える
– ターミナル、またはVisual Studio Code# やること
– 入力:Webページのリンクを記載したテキスト(※)
– 出力:パースした情報を記載したテキスト処理
1. 各行のWebページのhtmlをダウンロードする
1. HTMLをダウンロードする
1. いい感じにパースして必要な情報をパースする※ 注意
– この記事では、実験的にYahoo!ファイナンスの日経平均株価とダウ平均を取得してみる。
– 一般的に、Webページを定期的に/網羅的に/大量にスクレイピングする場合、国内法や利用規約に準拠しているか、確認する必要がある。
– __筆者はこの記事で、Yahoo!ファイナンスを定期的に/網羅的に/大量にスクレイピングして良いかどうか確認していない。推奨もしていない。__# ディレクトリ構造
“`
scraping-py3 % tree
.
├── Dockerfi
【言語学者向け】エクセルの調査票からpdfの調査票を作成する (Python + TeX)
# 想定読者
フィールド調査をする言語学者# 目的
エクセルに記入した調査票から、調査時に文字を書き入れるためのpdfの調査票を作る。# できること
こんな感じのエクセルから
![スクリーンショット 2022-10-29 21.32.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573180/62089396-21dd-62d6-8155-665cc05da97e.png)#こんな感じのpdfを生成する
![スクリーンショット 2022-10-29 22.11.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573180/13fa765a-e7c5-7c21-8418-b057cd113e37.png)# 背景
多くの研究者は、フィールドワークの準備としてエクセルで調査票を管理することが多いと思う。また、共同プロジェクトで共通の調査票を用いる場合、エクセルで調査票が配布されることがほとんどである
Windows/Mac/Linux対応のウインドウタイトルを設定する関数を作る
タイトルバーに表示する文字列を設定する関数です。
Windowsならコマンドプロンプト・PowerShell、Mac・Linuxならターミナル(端末)のウインドウ上部のタイトルバーに表示されている文字列をいじります。私の調べる限りだとタイトルを設定する関数がおそらく存在しないっぽいので、自分で作ってやろうって感じです。
## 環境
– Python – すべて3.10.xに統一今回は以下の4つのOSで動作検証を行いました。
– Windows – Windows11 Pro 22H2
– Mac – macOS Ventura 13.0
– Linux – Ubuntu 22.04.1 LTS / Fedora Linux 36## ソースコード
“`python:Title.py
import osdef title(text):
# OSの種類を判別する
# Windows
if os.name == ‘nt’:
os.system(f’title {text}’)
# Mac / Linux
elif os.name == ‘
win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法
win32comを使ってOutlookを自動化した際にエラーが発生した。
自分のパソコンでテストした時は問題なく動作したが、他部署にexeファイル化して渡したところ
#### com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)
というエラーが表示された。
アプリケーションを読み込む部分でエラーが発生している
“`py
import win32com.client
outlook = win32com.client.Dispatch(“Outlook.Application”)
“`色々と調べると
– bit数が違う
– Outlook.exeがローカルに保存されていないこの2点が問題ではないかと書いてあったが、どちらも問題はなかった。
## 結論
WindowsのスタートメニューからOutlookが消えていた。
どうやらローカルに保存されているだけでは読み込んでくれない模様。設定のアプリと機能からOfficeをクイック修復をしたところエラーが解消した。
https://support.micros
WindowsにPycharmの「Failed to create a virtual environment」解決
# 事象
Windows11にPycharm CE版を入れて、「Python Interpreter」を設定する時に、「Failed to create a virtual environment」というエラーメッセージが出てしまって、設定できなかった。
メモとして、解決案を残します# 解析
* Pycharmに対して、何か環境にエラーが起きた時に、「idea.log」にエラーメッセージとか普通に残っています。
* 「Help」→「Show log in Explorer」を押す
* 「idea.log」中の内容を確認する# 解決
## エラー内容
“`
INFO – #c.j.p.p.PyPackageManagerImpl – Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding
Python runtime state: core initialized
LookupError: unknown encoding: window
Python メモ:for文で動的にlambda式を使う
# はじめに
メンテナンスツール(スクリプト)を数々作成したため、いちいちスクリプトファイルを選んで実行するのは面倒でした。そこで、TkinterによるSelect Launcherを作り、選択実行できるようにしました。
ボタンを作るたびに、その数分tk.Button宣言を記述していては、長々としたコードになってしまうので、lambda式を使用してコード量を減らします。
この時のlambda式の記述の仕方をメモに残しておきます。## lambda式
Python 公式ドキュメント
https://docs.python.org/ja/3/reference/expressions.html
> 6.14. ラムダ (lambda)
“`
lambda_expr ::= “lambda” [parameter_list] “:” expression
“`
>ラムダ式 (ラムダ形式とも呼ばれます) は無名関数を作成するのに使います。 式 lambda parameters: expression は関数オブジェクトになります。 この無名オブジェクトは以下に定義されている
40代おっさんPythonを勉強する(データ解析,Pandas編②)
## 本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。## 前回の記事
## データフレーム(DataFrame)オブジェクト
– データを操作するためのオブジェクト
– 高速で効率的に操作できる
– 多様なデータフォーマットと相互的に読み書きできる
– CSV, Excel, SQLデータベース, JSONなど
– データの集計やグラフの作成ができる### データセット
– 気象庁([http://www.data.jma.go.jp/obd/stats/etrn/index.php](http://www.data.jma.go.jp/obd/stats/etrn/index.php))から福岡市の132年間の月別の[日平均気温](https://www.data.jma.go.jp/obd/stats/etrn/v
「答えてナナちゃん」アプリケーション
# 1 はじめに
今回は、バーチャルフレンドをテーマにtkinterでアプリケーションを作成しました。
作成の際には以下のポイントに気をつけました。1. 与えられた内容に対して、声に出しているか
1. 入力した内容によって画像が変わっているか?
(デフォルト時の画像が残らず、新しい画像に切り替わっているか。)# 2 まず画像を用意する
使用する画像はデフォルトを含めて、3枚使用しました。
今回使用した画像は「イラストAC」さんから、
使用する表情を一つ一つ切り抜いて作成しました。https://www.ac-illust.com/main/detail.php?id=23110713&word=%E3%82%B9%E3%82%AD%E3%83%B3%E3%82%B1%E3%82%A2%E3%81%99%E3%82%8B%E5%A5%B3%E6%80%A7%E3%81%AE%E3%81%A1%E3%81%B3%E3%82%AD%E3%83%A3%E3%83%A9%E9%A1%94%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3&searchI
Discordでbotを作る手順まとめる
# Discord でBotを作成する備忘録
::: note info
自分のために作ってるけど一応忘れないために書き残す用
曖昧な部分については詳しい人がいたら教えてください
2022/10/27 開発中なので作成しながら追加していく予定
:::プロフィール
– 触ったことのある言語
– C++
– C#
– JavaScript
– Python
– プログラミング歴
– 大学4年間
– 社会人2年[Discord Developers](https://discord.com/developers/)
[DiscordPy ドキュメント](https://discordpy.readthedocs.io/ja/latest/index.html)Python 3.10.*
Discord.py 2.0.*## Pythonをインストール
WindowsのStoreにあった
公式サイトからでも良さそうだけどどう違うのかとかはわかんな
GoogleCloudStorageにファイルを配置したことを契機にして、CloudFunctionを起動して、BigQueryにロードしてみた。
# はじめに
私はクラウドを使って仕事をすることが多いのですが、もっぱらAWSを使うことが多いです。
これはプライベートでもそうで、何かしらサービスを構築しようだの考えると1stChoiceはAWSになってしまいます。
この度GCPを使う機会に恵まれたので、GCPの使い所などや詰まったところ共有し、皆様の一助になればとのことで、今回こういった記事を書いてみることにします。# GCSからCloudFunctionを動かしてみたい。
AWSの中でもS3とLambdaが好きで、この二つあれば大概のサービスなんとかなるやん!と常々思ってます。であればそれをGoogleCloudでも実現したいと思っていたので、このお題にしてみました。# サービスの説明
## GCSとは
GCSはAWSでいうS3で、オブジェクトストレージのことをさします。
基本的な機能はS3と同じで、高い耐久性や可用性を保持しており、機能としてさまざまなStorageクラスで保存することで、ユーザにとって最適なコストパフォーマンスでオブジェクトを保存することができます。詳しい機能の説明は公式のhttps
Python3.11がどれくらい高速化したのか
# はじめに
Pythonといえば人口の多さとライブラリの豊富さと情報の多さが強みで
初心者でも簡単に実行できるしWebフレームワークから機械学習までなんでもOKな万能言語ただひとつ問題点を上げるなら実行速度がナメクジ
C言語もこれにはニッコリところが今回の3.11ではこれが従来比平均1.25倍らしい
すげえ# さっそく試してみた
Pythonで重たい処理といえばforループとListへのappendだと思ってます
なので適当に100万回forループさせて処理速度を計測してみました“`python
import times = time.time()
l = []
for i in range(1000000):
l.append(i)print(time.time() – s )
“`
比較したのはPython3.10
それぞれ10回実行した結果とその平均が下記||3.10|3.11|
|–:|–:|–:|
|1|0.151611089706420|0.110505104064941|
|2|0.127127647399902|0.1
Pythonの高速Webフレームワーク FastAPI に、rinna社の言語学習済みモデル(計4.7GB)を搭載して、Cloud Run で動かしてみた
# この記事はなに?
3行でまとめるとこうだよ。
1. Pythonの高速Webフレームワーク FastAPI に
1. rinna株式会社が公開している日本語特化の事前学習済みモデル(計4.7GB)を載せて、
1. 文章の空欄埋めや自動生成をできるDockerコンテナを Cloud Run で動かしてみた学習済みモデルを2件まとめてDockerイメージ内に組み込むから、イメージサイズはかなり膨れ上がるよ。 **モデルだけで4.7GB、他を合わせるとおよそ5GBのコンテナイメージになる。**
だけど Google Cloud Run には「Dockerイメージのサイズが大きくても起動が早い」という強みがあるから、たとえDockerコンテナイメージのサイズが5GBを超える巨大なものだったとしても、ある程度まともな速度でコンテナを起動してくれるかもしれない…という(甘い)期待のもとにこの構成を試してみたよ。
▼ 参考
> Cloud Run のコンテナ イメージ ストリーミング テクノロジーのため、コンテナ イメージのサイズは、コールド スタートやリクエストの処理時間に影響
twitter apiとtkinterでツイート送信画面を作ります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2134624/bb897907-f1b7-de48-645d-dca678184184.png)
# 環境
windows11
Python 3.9.6
# はじめに
今回はtwitter apiとtkinterでツイート送信画面を作ります。twitter開発者登録のやり方やトークン類の取得の仕方は説明を省略しています。
# コード
トークン関係をまとめるkeys.pyと画面関係をまとめるgui.pyに分けてコードを書きます。
“`python:keys.py
import tweepyclass Apikeys:
CK = ” # Consumer API key
CKS = ” # Consumer API Secret key
AT = ” # Access token
ATS = ” # Access token secret
auth = tweepy.OAuthH