- 1. Visual Studio Code で Python のプログラムを書いてみた(その2)
- 2. JupyterLab の Config option `template_path` not recognized by … への対処法
- 3. AWS ChaliceからLambda Powertoolsを使ってみた
- 4. Pythonでバーンズリーのシダを描いてみる
- 5. MEEPROMMER前編
- 6. AWS CDK(Python) 環境構築メモ
- 7. Failed to create schema directory ‘test_table’ (errno: 2 – No such file or directory)の解決法
- 8. AtomCam2のRTSP通信で映像を取得しStreamlitで公開すーる(Python3.6、Windows10)
- 9. ヴェイパーヴェイヴ工場
- 10. Chainerチュートリアル問6.4(ベイズの定理)の解法3選と解説
- 11. Googleの検索ページの ???にあるもの
- 12. Plotly-Dash を使う際に気を付けること いろいろまとめ
- 13. ABC233 A~E問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
- 14. 【Project Euler】Problem 66: ディオファントス方程式
- 15. PythonでのLambda環境変数の取得
- 16. CentOS7にPython3仮想環境(venv)をセットアップする
- 17. AtCoder Beginner Contest 201 A,B,C問題を初心者が頑張る
- 18. PythonでのLambda関数共通DynamoDB操作Util
- 19. PythonでのLambda関数|S3ファイルをtmpディレクトリに保存
- 20. Private な Python のパッケージを扱うための GitHub CLI Extension
Visual Studio Code で Python のプログラムを書いてみた(その2)
—
**はじめに**
Visual Studio Code で Python のプログラムを記述し “Hello Python!” と表示をさせた。
これで、あとは コードを書いていくだけ・・・と思っていたら ハマってしまった。ここでは、Python でシリアル通信を行うプログラムの作成を通して 補足をする。
参考:[Visual Studio Code で Python のプログラムを書いてみた(その1)](https://qiita.com/ytetsuo/items/4b194070037b8ffcc048)
—
1. \+ \ + \ で コマンドパレットを開き[Python:インタープリンターを選択]において
使用するインタープリターを選択する。
※ここでは、Anaconda を選択した。(職場ではAnacondaを使っている人が多いという理由で)
以前、訳も分からず Anaconda他 Python の複数のパッケージをインストールしている。
故に事前に[
JupyterLab の Config option `template_path` not recognized by … への対処法
Anaconda を導入し、JupyterLab を起動するとタイトルにも書いた Config option `template_path` not recognized by … というエラーを吐く。この対処法を記す。
[Config option template_path not recognized by LenvsLatexExporter. Did you mean one of: template_file, template_name, template_paths?#1529](https://github.com/ipython-contrib/jupyter_contrib_nbextensions/issues/1529) によると、`nbconvert` のバージョンが問題らしい。
現在のバージョンが `nbconvert==6.3.0` であったので、以下コマンドでダウングレードする。
“`bash
$ conda install -c conda-forge nbconvert==5.6.1
“`これでタイトルのエラーは出なくなった。
AWS ChaliceからLambda Powertoolsを使ってみた
# 1.はじめに
みなさんLambda Powertoolsはご存知でしょうか?Lambda関数用のライブラリで、X-Rayによるトレース、ログ出力、CloudWatchのカスタムメトリクスの作成等々が簡単に実装できる優れモノです。
現在対応している言語はPython、Javaの2つですが、今回はPython向けのサーバレスフレームワークであるChaliceの中でLambda Powertoolsを使う方法を紹介していきたいと思います。
Chalice&Lambda Powertoolsって何やねんという方は、記事の末尾に参考のリンクを貼ってますので興味があればご覧ください。# 2.ChaliceからLambda Powertoolsを使う方法
以下、ライブラリのインストールも含め手順を書いていきたいと思います。## 2-1.ライブラリのインストール
まずは事前準備として開発環境にChalice、Lambda Powertoolsをインストールします。
シンプルにpipでインストールできます。“`
$ pip install chalice
$ pip install
Pythonでバーンズリーのシダを描いてみる
Python + matplotlibを使ってバーンズリーのシダを描画してみます。
# バーンズリーのシダとは
バーンズリーのシダ(Barnsley’s Fern)とはイギリスの数学者のマイケル・バーンズリーさん(Barnsley Michael)にちなんだ1988年ごろに発表された数学的に生成されるフラクタルのパターンです。シダの植物のようなパターンが描画されます。
![cropmaeda3gou1230069.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228778/ab8b4c36-b6f9-e5fe-fd91-ac7eba1bc5e0.jpeg)
※写真はロイヤルティフリーの[木陰で共存する白くて小さな花とシダ植物の写真を拡大・トリミング(JPG画像)](https://www.pakutaso.com/photo/34600.html)より。
# どういった計算なのか
フラクタルの計算の一種で、前の座標点から確率に応じた変化処理が反映され新しい座標が算出され、結果的にシダの植物の
MEEPROMMER前編
MEEPROMMERというEEPROMライターの記事がありました。
https://ibymemo.hatenablog.com/entry/2021/03/16/185552
これを改造して[EPROMライター](https://qiita.com/yamori813/items/afcc28bfa26a91cfe48b)を作ろうと思いつきました。
ROMはPROM->EPROM->EEPROM->Flashと変わってきました。EPROMまでは紫外線で消去して、高電圧(25V,21V,12V)をかけて書き込むタイプの部品でした。
大昔の中学生時代にEPROMライターを作ろうとして、いまだに出来ていません。
MEEPROMMERのリポジトリはここです。
https://github.com/mkeller0815/MEEPROMMER
Hardwareの下に非常に分かりやすく書かれた回路図があります。ターゲットは32KByteのEEPROMの28C256のようです。
こちらのターゲットはまずEPROMの27C256にします。ほぼほぼピンは同じなので回路図に沿ってワイヤリ
AWS CDK(Python) 環境構築メモ
自分用メモです。
ご参考になれば幸いです。■ローカル環境(Windows)へのCDK環境構築手順
・git導入(サンプルコードダウンロード用)
https://git-scm.com/download/win・AWS CLI導入
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html#install-msi-on-windows・クレデンシャル登録(AWS Configure実施※対象リージョン分実施)
aws configure
aws configure –profile us-east-1・Node.js8.0以上導入
https://nodejs.org/ja/・CDK導入
コマンドプロンプトで下記コマンド実行
npm install -g aws-cdk・Python3導入
https://www.python.org/downloads/windows/・エディタ(VisualStudio Code+Python拡張)
https://code.vi
Failed to create schema directory ‘test_table’ (errno: 2 – No such file or directory)の解決法
# 目的
“` mysql> create database database_name;“`でデータベースを作成しようとしたところ、“`
Failed to create schema directory ‘test_table’ (errno: 2 – No such file or directory)
“`
と表示されてしまったため、その解決法をまとめようと思う。# 結論
PCを再起動し、
mysqlログインの際に、作成したユーザーでログインするのではなく、“`
mysql -uroot
“`
でログインするとすんなりdatabaseの作成が行えた。
# 実施環境
### ハードウェア環境
| 項目 | 情報 |
|:-:|:-:|
| OS |macOS Catalina(10.15.7) |
|ハードウェア | MacBook Air (11-inch, Early 2015) |
|プロセッサ | 1.6 GHz デュアルコアIntel Core i5|
|メモリ | 4 GB 1600 MHz DDR3 |
|グラフィックス
AtomCam2のRTSP通信で映像を取得しStreamlitで公開すーる(Python3.6、Windows10)
# はじめに
AtomCam2がRTSP対応したので、Streamlitで公開しちゃおう# 開発環境
– Windows 10 PC
– Python 3.6
– streamlit
– opencv-python
– pillow
– AtomCam2 (ファームウェア:4.58.0.73)# 実装
1.AtomCam2のRTSP通信設定をしますおおお!ついにATOMCamが公式にRTSP対応だぞ!!(現在はベータ版なのでtestflightが必要)
とりあえず動くね。パスワードとユーザー名が内部で生成されるのWyzeと同じ。メモリ転送もwyzeと同じshmなのでそっちから持って来れたのね。おめでとう。 pic.twitter.com/2n0LMfeFue— ひろみつ (@bakueikozo) ヴェイパーヴェイヴ工場
前に書いた記事を組み合わせたら無限にヴェイパーヴェイヴできるんじゃないかなと思ったので
# 工場を作る
youtubeライブ配信で垂れ流してみる## サーバの用意
サーバはOCIのalways freeで作れるやつでubuntu入れた
https://www.oracle.com/jp/cloud/free/
具体的にはこんなスペック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/175961/453e0609-d089-8b40-9c8b-e3efa08f562a.png)## 配信環境
OBSStudioってやつを入れたここを参考にした
# 工場を稼働した
稼働した
Googleの検索ページの ???にあるもの
#Google検索ページのmeta content
ちょっとした発見かもしれないので、共有します。
タイトル通りなんですが、スクレイピングの練習でGoogleのソースを開いたら、「meta content」にちょっとした言葉が隠れていたみたいです。
[Google](https://www.google.co.jp)##???とは
???とは、
_「世界中のあらゆる情報を検索するためのツールを提供しています。さまざまな検索機能を活用して、お探しの情報を見つけて下さい。」_
でした。##検証のためのソースコード
下記に置きました。
実行するとUIが起動しますので、そこに「google.co.jp」を打ち込んで、ボタンを押すと該当するソースが確認できます。“`
#coding: utf-8import tkinter
import requests
from bs4 import BeautifulSoup
from tkinter import messageboxURL_HEAD = “https://www.”
#UI
root = tkinter.Tk()Plotly-Dash を使う際に気を付けること いろいろまとめ
#Dashがインポートされない
“`
Dash was not successfully imported. Make sure you don’t have a file named
‘dash.py’ in your current directory.
“`
ディレクトリ内に”test.py”,”dash.py”などのファイルがあると起こります#チェックボックスの例が動かない
https://dash.plotly.com/advanced-callbacks
“`
dash==1.19.0
“`“`Error_SynchronizingTwoChecklists.py
import dash
from dash.dependencies import Input, Output, State
import dash_core_components as dcc
import dash_html_components as htmlexternal_stylesheets = [“https://codepen.io/chriddyp/pen/bWL
ABC233 A~E問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
ABC233(AtCoder Beginner Contest 233) A~E問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。その他のABC解説、動画などは以下です。
https://qiita.com/sano192/items/54accd04df62242b70f0
##A – 10yen Stamp
https://atcoder.jp/contests/abc233/tasks/abc233_a
(Y-X)を10で割って切り上げを計算すればよいです。
ただしY≤Xの場合は10円切手を貼る必要がないので「0」となります。切り上げの実装は
・(Y-X)が10で割り切れる → (Y-X)//10
・(Y-X)が10で割り切れない → (Y-X)//10+1
とするのがわかりやすいです。入力の受け取り、出力がわからない方は以下の記事を参考にしてください。
https://qiita.com/sano192/items/eb2c9cbee6ec4dc79aaf
**【提出】**
“`python:
# 入力の受け取り
X,Y=map(in
【Project Euler】Problem 66: ディオファントス方程式
* 本記事は[ProjectEuler](https://projecteuler.net/about)の「100番以下の問題の説明は記載可能」という規定に基づいて回答のヒントが書かれていますので、自分である程度考えてみてから読まれることをお勧めします。
### 問題:ディオファントス(ペル)方程式
原文 [Problem 66:Diophantine equation](https://projecteuler.net/problem=66)
**問題の要約: 以下の不定方程式で$D<10^3$で$x$の最小解の最大値を求めよ** $\ \ \ \ \ \displaystyle \large x^2-Dy^2=1$ 原文ではディオファントス方程式となっていますが、その中のペル方程式を扱ってますので、以下ペル方程式と呼びます。 まず[過去の投稿「ペル型方程式をsympyのdiop_DNで解く」](https://qiita.com/masa0599/items/162c7e1989ae9a653a0c)でsympyのdiop_DNを紹介しましたが、それがそのまま使って$N
PythonでのLambda環境変数の取得
#前提
###環境変数の設定
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-envvars.html
環境変数は、関数の未公開バージョンで定義します。バージョンを公開するとき、他のバージョン固有の設定とともに、そのバージョンの環境変数がロックされます。
関数の環境変数を作成するには、キーと値を定義します。関数は、キーの名前を使用して、環境変数の値を取得します。
**Lambda コンソールで環境変数を設定するには**
1.Lambda コンソールで [Functions (関数)] ページを開きます。
2.関数を選択します。
3.**[Configuration]** (設定) を選択してから、**[Environment variables]** (環境変数) を選択します。
4.**[環境変数]** で、**[編集]** を選択します。
5.**[環境変数の追加]** を選択します
6.キーと値を入力します。
**Requirements**
&
CentOS7にPython3仮想環境(venv)をセットアップする
# ポイント
CentOS 7のPython 3.6において、ensurepipの問題で仮想環境(venv)がうまく入りませんでした。
仮想環境作成時に `–without-pip` オプションを付けてまず仮想環境を作成し、続いてpipをインストールすることで無事に作成できました。## 通常の手順でやってみる(失敗する)
“`bash
$ mkdir virtual
$ python3 -mvenv virtual
Error: Command ‘[‘/home/user/virtual/bin/python3’, ‘-Im’, ‘ensurepip’, ‘–upgrade’, ‘–default-pip’]’ returned non-zero exit status 1.
“`私の環境が悪いのか、ensurepip周りでエラーが発生して仮想環境が構築されません。
ensurepipだけを読み込んでみるとsetuptoolsがないぞと言われます。“`bash
$ /home/user/virtual/bin/python3 -Im ensurepip
Tr
AtCoder Beginner Contest 201 A,B,C問題を初心者が頑張る
##A問題
A – Tiny Arithmetic Sequence
長さ3の数列を等比数列にすることができるか?
正答
“`
A = list(map(int,input().split()))A.sort()
if (A[2]-A[1]) == (A[1]-A[0]):
print(“Yes”)
else:
print(“No”)
“`一発でいけました。嬉しい。
##B問題
B – Do you know the second highest mountain?2番目に高い山の名前を出す
辞書にして値をソート(reverse= True)して2番目のキーを出せばいいのでは?と考えました。ただ、辞書に入力するやり方がわからなかったのでリストに
最初の回答(誤答)
“`
N = int(input())X = []
for _ in range(N):
s,t = input().split()
t = int(t)
X.append((s,t))X.sort(reverse = True)
PythonでのLambda関数共通DynamoDB操作Util
#実装
“`dynamodb_util.py
import boto3dynamodb = boto3.resource(‘dynamodb’, endpoint_url=”XXXXXXX”)
class DynamoDB:
“””DynamoDBの操作(CRUD)クラス
Args:
table_name: テーブル名
Attributes:
table: DynamoDBテーブルのオブジェクト
“””def __init__(self, table_name):
try:
self.table = dynamodb.Table(table_name)
except Exception:
raisedef put_item(self, item_dict):
“””アイテム追加
Args:
item_dict: 追加情報
Returns:
PythonでのLambda関数|S3ファイルをtmpディレクトリに保存
#はじめに
>各実行環境は、`/tmp` ディレクトリ内の `512 MB` のディスク領域を提供します。ディレクトリのコンテンツは、実行環境が停止された際に維持され、複数の呼び出しに使用できる一時的なキャッシュを提供します。キャッシュに保存したデータが存在するかどうかを確認するための追加コードを追加できます。デプロイのサイズ制限の詳細については、「[Lambda クォータ](
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html)」を参照してください。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1767576/b16b8e7f-7656-8a1e-883e-85b950d2bc50.png)
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/runtimes-context.html
#実装
“`py
import bo
Private な Python のパッケージを扱うための GitHub CLI Extension
Private な Python のパッケージの管理に困ったので [`gh-pip-install`](https://github.com/utisam/gh-pip-install) という [GitHub CLI](https://github.com/cli/cli) の Extension を書いてみました。
https://github.com/utisam/gh-pip-install
Python のプライベートなパッケージを配布する方法はいくつかあります。
* [pypiserver](https://github.com/pypiserver/pypiserver) を運用する
* サーバーの管理しんどい
* `pip install git+https://…` で Git のコードをそのままインストールする
* `poetry build` とか CI で完成させるスタイルには不向き
* wheel (`.whl`) や egg (`.tar.gz`) を Private な場所に置いて配る
* 一旦ダウンロードする一手間が面倒