chevron_left

メインカテゴリーを選択しなおす

cancel
きり丸
フォロー
住所
未設定
出身
未設定
ブログ村参加

2022/07/22

arrow_drop_down
  • PythonのPydanticでdatetimeのシリアライズフォーマットを決める

    始めに Pythonにてアプリケーション内ではdatetimeとして扱いつつ、APIとしてはYYYY-mm-dd等の特定のフォーマットの文字列で返却したいことがあります。 今回はPydanticを用いて実装する方法を記事にします。 環境 Python 3.12.4 Pydantic 2.8.2 実装 field_serializer を使用する field_serializerを用いることで、シリアライズ時にフォーマットしてくれるようになります。 次のコードでは、特に何もしていなければISO8601のフォーマットで返却し、field_serializerが有効な個所では%Y-%m-%d %H:…

  • FILTER関数で足りない行を見つける(Google スプレッドシート)

    始めに 小ネタ。 更新系処理にて1000レコードあるemailが含まれているCSVをアップロードしたときに、DB側には999レコードしかない時には1レコード足りないために処理が失敗するとします。その場合どのレコードがDBに足りないかを調査する必要があります。 今回の記事では、その足りない1レコードを調査するためにGoogle スプレッドシートのFILTER関数を使えば一発で差分を検索できる方法を知ったのでブログにします。 環境 Google スプレッドシート 20240721 時点 実装 比較したいレコードをA列、B列に記載している状態で、D3セル、E3セルに次の数式を入力します。そうすると、…

  • 【詳細不明】NoInspectionAvailable を回避する

    始めに ※ 自宅で検証した際には実装できなかったので詳細は不明です。 テスト実装中に次のエラーが発生しました。 E sqlalchemy.exc.NoInspectionAvailable: No inspection system is available for object of type <class 'models.User'> 発生原因が不明ですが、発生しないように対応できたのでその件を記事にします。 環境 Python 3.12.3 SQLAlchemy 2.0.27 発生したバージョン 2.0.31 再現できず 対応 インスタンスをcopyして対応しました。または、commit…

  • Ngrokで無料プランでドメインを固定できるようになっていた(2023/08/16 以降できたらしい)

    2023年8月16日からできるようになっていたのを、単純に知らなかったので共有するだけのブログです。 ローカルで外部からAPIを実行する検証をしたい時があります。たとえばWebhookの検証だったり、Outlook連携の検証だったり。 そのときにローカルのAPIをHTTPSで外部公開できて有用なのがNgrokでした。ただ、昔はNgrokを無料プランで使用する場合は公開されるAPIが常にランダムになり、Ngrokを検証するたびにいろんな箇所を修正する必要がありました。 ngrok http 3000 https://7a55-221-117-101-49.ngrok-free.app それが、2…

  • PythonでSoftAssersionをする(use pytest-check, avoid assertion roulette)

    自動テストの原則として、1テストに1検証とした方が良いです。これが複数あった時には失敗箇所が分かりづらくなってしまうため、その状態をバッドパターンとしてAssertion Rouletteと呼びます。 今回の記事では、PythonのTestフレームワークであるPytestを拡張しているpytest-checkを使用してAssertion Rouletteを回避するのを紹介します。 環境 Python 3.12.3 pytest-check 2.3.1 使用方法 Assertion Rouletteを回避するなら、pytest-checkを依存関係に含めてcheck.xxxメソッドを使用するだけ…

arrow_drop_down

ブログリーダー」を活用して、きり丸さんをフォローしませんか?

ハンドル名
きり丸さん
ブログタイトル
きり丸の技術日記
フォロー
きり丸の技術日記

にほんブログ村 カテゴリー一覧

商用