2021-01-01から1年間の記事一覧

Mail on Ubuntu via Gmail

メール設定のメモ $ sudo apt install -y mailutils /etc/postfix/main.cfを編集 inet_interfaces = loopback-only relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_pa…

RaspberryPiをオーバークロックしてベンチマーク

Raspberry PiをオーバークロックしてUnix Benchmark取ってみた。 パフォーマンスはチューニングしたわけではなく、普段起動してあるサービスは起動したままターミナルを2つだけ開いてベンチマークを実行。 もう一つのターミナルではクロック速度と温度を監…

RaspberryPi + Ubuntu20.04LTS + Desktop

先日メインで使用していたマシンがお亡くなりになったので、 Ubuntu20.04LTS ServerをインストールしていたRapsberryPi 4Bモデルに急遽デスクトップ環境を整えた。 その作業に使用したコマンド類を記す。 因みにOSはRaspberryPi Imagerで書き込んだ。 環境 M…

Python unittestのベストプラクティス

Pythonのユニットテストについて、現状の結論(ベストプラクティス)を記したいと思う。 使用するフレームワーク ルール 関数ごとにテストケースを作成する プロパティのテストはTestCaseクラス名_propertyで行う アサーションは"結果"に対して行う クリーン…

GoogleAppsScript と Python の連携(Python calls GAS Functions)

PythonからGAS(Google Apps Script)関数を呼び出すためのメモ。 目標 下準備 Python から GAS関数を実行する ライブラリのインストール Credentialsの取得 GAS関数を呼び出す 応用案 GASについて おわりに 目標 GAS関数を利用してGoogleAPIを一本化しよう! …

Pythonパッケージ開発フロー

今日は半日でパッケージのα版を一つリリースして、デプロイまで実施できた。 パッケージ開発のフローにだいぶ慣れてきた証拠とも言えるので、それをメモしておこう。 作成したパッケージ メインパッケージの作成 インターフェースの設計 Docstringの整備 テ…

Python(Go)でリバースプロキシを実装

リバースプロキシをライブラリに組み込む必要があったのでそのメモ。 proxy.py Go gopy ライブラリを使用 必要条件 インストール方法 使用方法 ライブラリを使用しない 必要条件 ビルド 配布する Dockerでビルドする例 余談 まとめ proxy.py github.com (acc…

Ubuntuでpython3を消したら痛い目を見た

現在サブのコンピュータとしてUbuntuを使用しているが、基本的にプログラムはDockerで管理するからpython3要らんやろ、と適当にアンインストールしたら痛い目を見た。 実行したコマンド 発生した問題 トラブルシューティング 解決方法 反省 別の方法 実行し…

PyPI公開へのメモ

PyPIへパッケージを公開するためのメモ。 PyPIへ登録 PyPIとテスト用のPyPIにアカウント登録する。 ※本番用のPyPIに一度上げると同じバージョンでは再アップロードできない。 pypi.org test.pypi.org .pypirc をホームディレクトリに追加 .pypirc [distutils…

Authentication System with FastAPI + SQLModel

FastAPIでログイン機能を15分で実装するためのTips。 Offitial Tutorial SQLModel Installation FastAPI-Users Installation Concepts Code Run Usage ToDo Offitial Tutorial fastapi.tiangolo.com ログイン機能実装の勉強にはなるけど、わざわざ自分で書く…

__init__()の引数を書き換えずに処理を追加する

Python Tips. 忘れないようにメモ。 実現したいこと 実装方法 挙動テスト 改良版 実現したいこと サードパーティ―ライブラリ(3rd-lib)の上に自身のライブラリを作りたい時、3rd-libのクラスを継承してサブクラスを作りたい時がある。 このとき、初期化処理を…

ygo-agent

最近山ほどPythonのパッケージを作っている。 というのも、パッケージの配布方法を身に着けてからは過去のパッケージとは呼べないコードの山がただのゴミに思えてきて、そのゴミをリサイクルするためにまともなパッケージ化を進めている。 基本的に同じ作業…

Portainer

複数環境でDockerを動かすことが多くなり、ログの監視に毎回、docker logs <containername> -fと打ち込むのが面倒になってきたので、GUI管理画面を探したところPortainerというサービスを見つけた。 www.portainer.io KubernetesやSwarmも管理できるが、まだそれらのツール</containername>…

websockets(python) 型アノテーション

websocketsを使う websocketsはWebSocketプロトコルをPythonで実装する上で便利なライブラリである。 pypi.org # インストール $ pip install websockets 公式ドキュメントからそのまんまサンプルコードを # クライアント import asyncio import websockets …

サーバー on RaspberryPi を外部に公開

ラズパイを買ってスクレイピングやテスト環境として稼働させていたが、家庭内LANからしか利用できないのをもったいなく感じていた。 そこで何とかLAN外部からのアクセスを無料で実現する方法の調査結果および数日間の奮闘記を記す。 手っ取り早く実装したい…

パワポケ11ハタ人間1章攻略ルート

前田投手の綺麗なスライダーを見たら空振り三振を取りたくなったのでパワポケ11でペナントレースでもやろうと思ったら、手違いでデータが初期化されてしまった。 裏サクセスは表サクセスやグッピーとは違い、一度のクリアで最終的に高性能選手を量産できるよ…

Julia + Jupyter + VSCode + Windows10 でNotebook to PDF

以前導入したJuliaのJupyter環境をリセットして、再度セットアップしようとしたら死ぬほど詰まったのでメモ。 はじめに 環境 Juliaのインストール Juliaのパッケージ Jupyter Notebookのインストール VSCodeのインストールと拡張機能 Notebookの作成とグラフ…

Docker + Selenium + arm64

When I tried to use Selenium on RaspberryPi whose OS is Ubuntu, I couldn't do it because any image of SeleniumHQ/docker-selenium doesn't support arm64. I tried another way, which is downloading chromedriver from https://chromedriver.chromi…

RaspberryPi + Python3.9でmatplotlib/pandas

nnt339es.hatenablog.com 折角ビルドしたのにmatplotlibもpandasもpipできなかったので結局Docker。 curl -fsSL https://get.docker.com/ | bash 参考 docs.docker.jp (accessed on 2021/06/10) Dockerfile 適当にDockerfile書いて終わり。 FROM python:3.9.…

RaspberryPiへのPythonインストールメモ

RaspberryPiにUbuntu入れて適当にPythonインストールしてたらSSL関連でpipが詰まったのでそのメモ。 $ sudo apt update # ビルド用ライブラリのインストール (これを忘れていた。) $ sudo apt install build-essential libbz2-dev libdb-dev \ libreadline-…

OpenGLで遊ぶ

OpenGLを触るきっかけがあったのでfreeglutで遊んでみた。 かわいい。 よく使ったオブジェクト 球 void gluSphere( GLUquadric *qobj, GLdouble radius, GLint slices, GLint stacks ); GLquadric *qobj quadricオブジェクトのポインタ。 初学者なのでquadri…

pyYGOBot(ygo-agent)の今後

一人回しの時間がもったいないから機械学習によって一人回しと同等の知見が得られないかと画策しているpyYGOBotであるが、今後の作業について整理したいと思う。 パッケージ化 ドキュメントの整備 テストコードの実装 サーバー(ホスト)の実装 Goで実装 計…

Numpy Style の docstring

リファクタリングしたり、他の人に移譲する時にドキュメントがあったほうが良いよなと思い、Numpy Styleのdocstringを調べた。 numpydoc.readthedocs.io 記述例 def add(a: float, b: float=0.0) -> float: """ Add two floats. Parameters ---------- a : f…

Dockerfile

将来的にOSが変わったりしてライブラリで詰まったりしたら嫌だなぁ、と思い開発環境をDockerで整えることにした。 Docker Dockerfile VSCodeとの連携 Docker Remote - Container Docker コンテナ作るやつ。カーネルはホストOSのものを使うからゲストOSが要ら…

ハタ人間パーティー

100階攻略したことを踏まえて、構成してみたかったパーティーについて。 パーティ構成 逆手パ 速射パ 逆手パ パーティに必要なスキル 火力パーティ 主人公のスキル 主人公に《速射》は必要か? 主人公に素早さは必要か? 主人公の恐怖耐性 雑談 パーティ構成…

闇の誘惑解除記念

まだまだ戦えると思う(誰もが扱えるとは言ってない)。 FAQ(?) 構築編 《サンダー・ドラゴン》入れないの? 入れたのも組んでるけど皆も組んでいるのでわざわざ公にする必要がない。 《混沌領域》入れないの? 入れたのも組んである。《サンダー・ドラゴン…

ハタ人間二章武器・アクセサリ攻略

パワポケ11裏サクセス怪奇ハタ人間2章を攻略する上で合成すべき武器・アクセサリをまとめる。基本的に挙げたもの以外を作る必要はなく、同じものを作り続けて良い性能のものを引いた方が良い。 1~20階 武器 アクセサリ 20~40階 武器 アクセサリ 40~60階 武器…