プログラミング– category –
-
カレントディレクトリのファイル名をすべてUUIDにするPythonスクリプトのワンライナ
タイトルのまま。破壊的なので念のためバックアップとってからやること推奨。Pythonで動かす。 【コード】 Python 3.9で動作確認済み。以下をターミナルで実行すると、カレントディレクトリのファイルがすべてUUIDにリネームされる。拡張子はそのまま。サブディレクトリには手をつけない。 python -c 'import os, uuid; [os.rename(f, str(uu... -
Python3: Ctrl-cで割り込み処理
怪奇!ChatGPTに聞いたことのメモ帳と化したマイブログ! というのはいいとして、PythonスクリプトでCtrl-Cで割り込んだときに特定の処理をさせたいスニペット。 【環境】 Python 3.9.16 macOS 12.6.3 【コード】 マジでChatGPTが出力したまんまのため若干気が引けつつ……。 import signal import sys import time def keyboard_interrupt_han... -
Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する
DynamoDB使ってるとちょくちょくあるシチュエーションかなと思う。DynamoDBはDecimalだけどjsonになおす時にDecimalあると使えないし。 こういうロジック考えると地味に頭使うと思うんだけど、ChatGPTが1秒で考えてくれました。なんか軽く死にたい。しかも結局使わなかった😂 【環境】 Python 3.9 【ロジック】 以下、int, floatは何もせず、... -
bashでフォルダ内にある横長の画像ファイルだけ移動する
なんか限定的な用途ですが、表題まま。Stable Diffusionとかで絵をいっぱい作ってるとやりたいことがあるので。なおChatGPTに教えてもらった模様。 【環境】 bash imagemagick 【スクリプト】 カレントディレクトリにある横長画像をすべてlandscapeフォルダにぶちこむ。 #!/bin/bash # landscapeフォルダが存在しない場合は作成する if [ ! -... -
motoでDynamoDBのMockを作成する
最初に作る時いつもどうやるんだっけ?となるのでメモ。 motoを使ってDynamoDBのmock作る時のテンプレ。 【環境】 Python 3.9.16 boto3==1.18.1 pytest==6.2.4 moto==4.0.5 macOS 12.6.3 【ディレクトリ構造】 func/app.py をテストする感じで。 . ├── func │ ├── app.py ├── tests │ ├── __init__.py │ └── unit │ ├── __init__.py │ ├── co... -
同じディレクトリにpngファイルと拡張子以外が同じjpgを検出・削除する
どういう状況やねんという感じですが、自分はこれに遭遇するのです。そしてChatGPTにきいたら即座にいい感じのコードを出してくれたのでメモ。何度も同じこと聞くの阿呆くさいからね。 【検出・削除のbashスクリプト】 何も指定しないと検出のみ、-rを引数に入れると削除まで実行する。 #!/bin/bash # 引数によって、削除を行うかどうかを設... -
GKE + Flask で REST API
k8sもDockerもちゃんとやらないままに、k8s上でちょっとしたAPIサーバをたてることになった。なので、手始めにGKE上にAPIサーバを構築することにした。FirebaseでしかGCP使っていなかったので、辿々しくコンソール画面をいじっている……。 フレームワークはなんでもよかったが、Pythonを使い慣れているので、Flask + nginx を行くことにする。... -
for文の中でawaitして返り値使う直列処理を Promise.all() で並列処理
何か日本語の不自由なタイトルだが、実際僕の思った疑問をそのまま文章にするとこんな感じだった、というか実際こういう間抜けな文章で検索していたので、このままいくことにする。 JavaScriptでfor文の中でawaitして直列でやっている処理を、Promise.all()を使って並列にやりたい、ということだ。const answers = Promise.all( .... ) と書... -
firebase.auth().onAuthStateChanged() で返ってくるプロパティ
firebase.auth().onAuthStateChanged(async (user) => { ... というような関数で、userに入るオブジェクトのプロパティのメモ。 【メモ】 { "uid": "xxxx", "displayName": "tama", "photoURL": "xxxx", "email": null, "emailVerified": false, "phoneNumber": null, "isAnonymous": false, "tenantId": null, "providerData": [{ "uid":... -
react-native run-ios したら The following build commands failed:PhaseScriptExecution Start\ Packager と言われてこける
表題のとおり、react-native run-ios したら、The following build commands failed: PhaseScriptExecution Start\ Packager と怒られて先に進めなかった時のメモ。 結論を言うと、使いたいポートがnodeに使われていた。sunproxyadminなるプロセスとかぶっているらしい…killしたらとおった。 【環境】 MacBook Pro 2019 macOS 10.15.7 react-...