開発日誌– category –
-
開発日誌
カレントディレクトリのファイル名をすべてUUIDにするPythonスクリプトのワンライナ
タイトルのまま。破壊的なので念のためバックアップとってからやること推奨。Pythonで動かす。 コード Python 3.9で動作確認済み。以下をターミナルで実行すると、カレントディレクトリのファイルがすべてUUIDにリネームされる。拡張子はそのまま。サブディレクトリには手をつけない。 python -c 'import os, uuid; [os.rename(f, str(uuid.u... -
開発日誌
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_handler(sig... -
開発日誌
GitHubのIssueの初期ラベルについて
GitHubのProjects機能を使ってタスク管理をしようとしている。そこで、Issueのラベルについても今一度整理しておこうと思った。で、ChatGPTに聞いた😂 真面目なことをやる時には真面目に役にたつな。 ラベル一覧 ラベル 意味 bug バグがあることを示す。修正が必要な問題がある場合に使用される。 documentation ドキュメンテーションに関す... -
開発日誌
Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する
DynamoDB使ってるとちょくちょくあるシチュエーションかなと思う。DynamoDBはDecimalだけどjsonになおす時にDecimalあると使えないし。 こういうロジック考えると地味に頭使うと思うんだけど、ChatGPTが1秒で考えてくれました。なんか軽く死にたい。しかも結局使わなかった😂 環境 Python 3.9 ロジック 以下、int, floatは何もせず、Decimal... -
開発日誌
bashでフォルダ内にある横長の画像ファイルだけ移動する
なんか限定的な用途ですが、表題まま。Stable Diffusionとかで絵をいっぱい作ってるとやりたいことがあるので。なおChatGPTに教えてもらった模様。 環境 bash imagemagick スクリプト カレントディレクトリにある横長画像をすべてlandscapeフォルダにぶちこむ。 #!/bin/bash # landscapeフォルダが存在しない場合は作成する if [ ! -d "lands... -
開発日誌
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 │ ├── conftest.p... -
開発日誌
同じディレクトリにpngファイルと拡張子以外が同じjpgを検出・削除する
どういう状況やねんという感じですが、自分はこれに遭遇するのです。そしてChatGPTにきいたら即座にいい感じのコードを出してくれたのでメモ。何度も同じこと聞くの阿呆くさいからね。 検出・削除のbashスクリプト 何も指定しないと検出のみ、-rを引数に入れると削除まで実行する。 #!/bin/bash # 引数によって、削除を行うかどうかを設定す... -
開発日誌
GKE + Flask で REST API
k8sもDockerもちゃんとやらないままに、k8s上でちょっとしたAPIサーバをたてることになった。なので、手始めにGKE上にAPIサーバを構築することにした。FirebaseでしかGCP使っていなかったので、辿々しくコンソール画面をいじっている……。 フレームワークはなんでもよかったが、Pythonを使い慣れているので、Flask + nginx を行くことにする。... -
開発日誌
QnQ開発日誌 SNSからSlack寄りのツールへの移行を模索中
まだ続けていたのかと思われそうだけれどまだ続けていた。 Search | QnQ 今何をしているのかというと、SNS的な使い方を諦めて、SlackとかTeams寄りに方向性を変えている。あと使い勝手が悪すぎるので、少しでもUXを上げようと細かい修正。 具体的には、「チーム」みたいなものを作って、そのチーム内でのみ閲覧・書き込みできるような体制に... -
開発日誌
for文の中でawaitして返り値使う直列処理を Promise.all() で並列処理
何か日本語の不自由なタイトルだが、実際僕の思った疑問をそのまま文章にするとこんな感じだった、というか実際こういう間抜けな文章で検索していたので、このままいくことにする。 JavaScriptでfor文の中でawaitして直列でやっている処理を、Promise.all()を使って並列にやりたい、ということだ。const answers = Promise.all( .... ) と書...