chevron_left

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

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

2022/07/22

arrow_drop_down
  • Rust製のPythonライブラリは軽いと思ってた

    始めに pydantic等のPythonのライブラリはコア部分がRustで書かれていて、Pythonでも十分な処理速度が確保されている、という表現をされることがあります。 そのため、基本的にはRustで作られたライブラリに移行しようとして、テンプレートエンジンのjinja2からminijinjaに移行しようとしました。その過程で気付いたことをメモするだけの記事です。 ※ Pythonのminijinjaについては、試験的な試みでminijinja単体の機能が完全に移行されているわけではないし、処理速度も早いとかは明記されていないので、現時点で移行は勧めないです。 minijinja-py is…

  • 正規表現の\wは使う時は注意。特にOpenAPI

    始めに 正規表現には\wというメタ表現があります。私のプロジェクトではフロントのTypeScript, バックエンドにRuby, Pythonを使用しておりました。 もともとは正規表現を使用しないチェックロジックを使用していましたが、それぞれの言語で実装漏れが発生したこと、横展開の容易さを考慮して正規表現でマッチさせるようにしました。 正規表現であれば、どの言語でも同じようにバリデーションをかけてくれる、そう思っていたところ、大きな勘違いがあったのでブログにします。 環境 JavaScript ES2018 ES2024 Python 3.12 Ruby 2.7 勘違い \wはプログラミング言…

  • JetBrains IDEでcURLをhttpファイルにコピペすると修正してくれる

    始めに 小ネタ。タイトルだけの出オチ記事。 環境 PyCharm 2024.3.1 Professional Edition 例 httpファイルに一般的なREST APIのcURLをコピー&ペーストすると次のように変換されます。 curl -X 'POST' 'http://localhost:8000/tasks' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{ "title": "クリーニングを取りに行く" }' # curl -X 'POST' # 'http://localhost:800…

  • DataGripで接続先をまとめたい(JetBrains製ならどれでもOK)

    始めに 現在、私は複数のプロジェクトに参画していて、保守作業する際には接続先をプロジェクトごとに切り替える必要があるのですが、すべて接続先をフラットに管理していました。接続先名で無理やりprefixを付与して管理していたのですがDataGripにはフォルダのように管理できる方法があると聞いてその方法をメモします。 なお、DataGripでしか無理、と思っていたのですが他のIDEでも同様の挙動を実装できそうです。 環境 PyCharm Professtional 2024.03 DataGrip 2024.03.2 実装 Database explorerにて、右クリックするとMove to F…

  • nullは不明値なのでnullで一意制約をかけられない

    始めに レコードの有効期間を表示したいときに、start_at, end_atのカラムを用いて表現していました。そして、end_atがnullの場合にアクティブなレコードとして表現しようとしていました。しかし、このやり方ではデータの管理方法に失敗するとアクティブなレコードが複数できてしまう可能性があります。 そのため、アクティブなレコードを1つだけに絞りたかったので、別の主キー + end_atでアクティブなレコードであること表現しようとしました。 しかし、その方法がうまくいかなかったので、同じ轍を踏まないようにブログに残しておきます。 環境 MySQL 8.0 PostgreSQL 17.2…

arrow_drop_down

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

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

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

商用