動かざることバグの如し

近づきたいよ 君の理想に

fastapiとHTTPXで非同期APIリクエストをやってみる

環境 Python 3.10 fastapi v0.75 やりたいこと fastapiというPython製APIフレームワークがある fastapi.tiangolo.com APIが外部の別のAPIを呼び出すことはよくある。fatsapiがネイティブで非同期(async)に対応していることもあり、 せっかくなのでHTTPリクエ…

Python3.10からimport Optionalしなくてよくなった

環境 Python 3.10 from typing import Optionalしなくて良くなった 昨今のPythonでは型アノテーションが流行っているが、その中でもOptionalは使う機会が多い 例えばPythonの組み込みメソッドであるstr.startswith()は文字列が指定された文字列から開始して…

fastapiでvalue is not a valid dictエラーになる

環境 fastapi v0.75 状況 以下のようなエラーが出て動かない pydantic.error_wrappers.ValidationError: 1 validation error for User response -> 0 value is not a valid dict (type=type_error.dict) main.pyコードは以下 よくあるコードなので抜粋のみ f…

fastapiのmodels.pyとschema.pyのモデルの違い

環境 fastapi v0.75 モデルが2つある? fastapiやってると、多くのチュートリアルでmodels.py、schema.pyが出てくる。 が、その違いがいまいち分からず混乱したのでメモ models.pyはSQLAlchemy用、schema.pyはPydantic用ファイル 実際のソースコードでは何を…

VSCodeにPylanceを入れてみた

環境 VSCode 1.66.2 Pylance 最近だとVScodeのPython Language Serverは「Pylance」がオススメと言う記事をよく見る 現状不満があるわけではないが、せっかくのGWでもあるので導入してみた インストール 普通に拡張機能としてインストールするだけ。よく見る…

Ubuntuにpyenvインストールする手順

最後にpyenvの記事書いてからだいぶ時間経ってしまい状況も変わってしまっているので再度メモ thr3a.hatenablog.com git clone https://github.com/pyenv/pyenv.git ~/.pyenv 以下を~/.zshrcに記述 export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init…

UbuntuにPreztoをインストールしてみた

環境 Ubuntu 20.04 多分Macもいける やりたいこと 今まではzshのフレームワークでoh-my-zsh使ってたが、起動がやっぱり遅いとかあったのでPreztoに乗り換えてみたメモ github.com インストール 公式のREADMEやれば問題ない 先にzshはbrewなりaptでインストー…

Ubuntuのupdate-alternativesでコマンド切り替えする

環境 Ubuntu 20.04 やりたいこと サーバー運用していると1つのコマンドで、複数のバージョンを1つのサーバーにインストールしたくなる。 が、切り替えをエイリアスでやると管理がわからなくなって破滅に向かう。そこでUbuntu標準にあるupdate-alternatives…

Ubuntuでadd-apt-repositoryを使わずにPPAを追加する方法

環境 Ubuntu 20.04 やりたいこと Ubuntuで公式以外のパッケージ群(PPA)を使いたい場合は add-apt-repository コマンドを使用するように公式では推奨されている。 が、add-apt-repository コマンドは標準では入っておらず、apt install software-properties…

Essential Phone(PH-1)にMagiskをインストールする

Essential Phone(PH-1)にRoot環境入れたのでメモ 環境 Essential Phone(PH-1) Magisk v24.3 LineageOS 18.1 大まかな流れはLineageOSの公式Wikiが一番が詳しい wiki.lineageos.org TWRPはインストールしないの? LineageOSのリカバリーイメージで最低限の作…

Linuxでルーティングの設定が正しいか確認する方法

環境 Ubuntu やりたいこと WireGuardでスタティックルーティング設定したのに全然pingが通らなくて困った thr3a.hatenablog.com 結果から言うと受信側のルーティングの話で送信側は正しかったわけだが、それを確認するためのコマンドがあったのでメモ $ ip r…

RaspiでWireGuard VPN環境作ったのに外部から他のLANIPにアクセスできない件

状況 家の光回線が固定IPでないためポート開放して自宅サーバー、ってのができない そこで固定IPを持つVPSサーバーを契約 WireGuardのVPNサーバーを設定 自宅にLANIPをもたせたRaspiを構築 WireGuardのクライアントインストールしてVPNの接続までは成功 だが…

UbuntuにMPDをインストールしてリモート音楽再生する

環境 Ubuntu 20.04 mpd 0.23 インストール インストール 本来はapt get install mpdでインストールできるが、なんやかんやがあって自前ビルドしたものを使っている thr3a.hatenablog.com 設定 # 再生したい音楽ファイルのパス -music_directory "/var/lib/mp…

UbuntuでNASのsambaをマウントする

環境 Ubuntu 20.04 ネットギアのNAS やりたいこと 自宅のネットギアのNASをUbuntuサーバーからマウントして読み書きしたい やり方 CIFSとは、Common Internet File Systemの略で、Windowsのファイル共有の仕組みであるSMB(the Server Message Block)をLinu…

UbuntuでMPDをビルドする

環境 MPD 0.23.6 Ubuntu 20.04 やりたいこと Ubuntu公式が出しているmpdのバージョンが古くて動作しなかったので自前でビルドすることにした。日本語の記事が全然なかったのでメモ。 やり方 詳しくは公式ドキュメントを参照する mpd.readthedocs.io mesonの…

動的IPでWireGuardの接続が切れてしまう対策

環境 Wireguard Ubuntu 20.04 概要 ArchLinuxのWikiに詳しく載ってるのでUbuntuでも使えるように改修した wiki.archlinux.jp コマンド # cat /etc/systemd/system/wireguard_reresolve-dns.service [Unit] Description=Reresolve DNS of all WireGuard endpo…

自宅サーバーのzshのPROMPT設定

シンプルイズベスト ユーザー名はthr3a固定だからいらない gitもサーバーないなら使わないし今のところいらない PROMPT="${fg[green]}%m${reset_color}:${fg[blue]}%d${reset_color}%# " %m %d %# 最後に半角スペース入れるのを忘れずに

VSCode用スペルチェッカー「Code Spell Checker」で特定接頭語を無視する方法

環境 Code Spell Checker v2.1.7 概要 VScodeでスペルミスを自動で指摘してくれる「Code Spell Checker」 だがテスト的な変数「mysecret」とかの場合「my secret」と分解されるわけではないので「mysecret」という単語がなくエラーになってしまう。 そこで「…

GoogleスプレッドシートをスクレイピングしてCSVにする

やりたいこと 公開設定されているGoogleスプレッドシートをCSVでスクレイピングしたい 例えば↓みたいなURL https://docs.google.com/spreadsheets/d/1pYeP5a7WgukcJ8uhtyxVktbvzGvWoj48QFwdM7Po06I GCPのAPIキー不要で行ける 環境 Python 3.9 pandas 1.4.0 …

PC版メルカリでも除外検索できるChrome拡張機能を作った

こういうやつ ダウンロード chrome.google.com ソースコード github.com

遊戯王ラッシュデュエル 最強バトルロイヤルで使ってるデッキ晒す2

追記するのだるいので新規投稿(かさ増し 環境 遊戯王ラッシュデュエル 最強バトルロイヤル!!バージョン1.1 デッキ改造パック 躍動のエターナルライブ!!までのカードプール デッキ一覧 コンセプト ドラゴン族の圧倒的パワーで脳筋で殴る。以上 立ち回り、所…

遊戯王ラッシュデュエル 最強バトルロイヤルで使ってるデッキ晒す

スイッチ版ラッシュデュエルゲームの追加アップデートが今月末にやっと来るので、これを期に今使っているデッキを残しておく。 環境 遊戯王ラッシュデュエル 最強バトルロイヤル!!バージョン1.1 デッキ改造パック 躍動のエターナルライブ!!までのカードプー…

Chrome拡張機能 Manifest V3でContentScriptを実行する

マジでダルい Manifest v3とは 現行ではManifest v2が主だが、現時点で2023年6月に動かなくなると言われている。(絶対ムリだろ softantenna.com つまりこれから作るChrome拡張機能はV3対応で書かなければいけないってわけ。 やりたいこと SPA対応ContentScr…

ウォークマンのAシリーズにカスタムファームウェアを導入する

やりたいこと Androidではない方のウォークマン A50にカスタムファームウェアをインストールして楽しみたい 探してみたら有志の方が公開してたので試してみた 文鎮化しても自己責任なので注意 メリット 追加される機能は以下。(公式サイトから引用 - 4 soun…

遊戯王ラッシュデュエルにも偽物が蔓延し始めてる件

結論 ラッシュデュエルにも偽物があるから高額カードを購入する際は気をつけろ ラッシュデュエルの偽物とは 遊戯王はコンマイの有名なTCGだが、コレクター要素もあり近年珍しいカードが高騰している背景がある。 gendai.ismedia.jp そしてラッシュデュエルは…

Sequel Aceでソケット接続するとエラーになる

環境 Mac OS Monterey Sequel Ace 3.4.4 症状 Sequel Proの後継アプリのSequel Ace。バグが治ってたり、機能が増えていたりと使わない理由がまったくないのだが、1つだけ問題がある。 ソケット接続ができないのである。 例えば以下のように接続しようとする…

RubyのMechanizeでフォーム送信する

環境 Mechanize 2.7 やりたいこと Mechanizeでスクレイピングするときに、フォーム送信したい ログイン処理とかもこれに含まれる agent = MyMechanize.new agent.get "https://example.com/login" form = agent.page.form(id: "login") form.field_with(name…

ffmepgで音声ファイルに無音を追加する

環境 ffmpeg 4.4 やりたいこと 手元のwaveファイルに1秒間の無音をつけたい やり方 コマンドは以下 ffmpeg -i input.wav -af "apad=pad_dur=1" output.mp3 3秒無音を追加したい場合は apad=pad_dur=3 にすればよい エラー もし Option 'pad_dur' not found …

遊戯王ラッシュデュエルのゲーム内通貨を全自動で無限回収する

遊戯王ラッシュデュエル 最強バトルロイヤル!!というゲームがある。 www.konami.com これは遊戯王のラッシュデュエルという新しいルールが遊べるゲームで、色々あって今だと定価6000円超なのにゲオの買取価格が100円という驚異のクソゲーお買い得ゲーである…

macでlima使う

久々すぎて記事の書き方忘れたわ インストール 自力でインストールする方法もあるけどbrew使ったほうが1000倍早い brew install lima 起動してみる コマンドは大きく2つ limactl 仮想マシンの作成、削除とかの管理 lima 起動した仮想マシンの操作 まず…