2023-01-01から1年間の記事一覧

FastAPIで、DELETEのときのステータスコードを`204No Content`に変更する

RFC基準と削除操作のステータスコード RFC 9110では、特に削除操作(DELETEリクエスト)の場合、レスポンスボディが含まれる場合は200 OKを使用し、レスポンスボディがない場合は204 No Contentを使用すべきとされています。 a DELETE method is successfull…

FastAPIで、Trailing Slashリクエストの自動リダイレクトを無効にする

Trailing Slashのリダイレクト動作の制御 FastAPIを含む多くのフレームワークで、末尾にスラッシュのある(Trailing Slash)リクエストを受け取ったときにマッチするurlが見つからないと、 自動で末尾にスラッシュの無いurlにリダイレクトします。 しかし、API…

PyCharmのLookupError: unknown encoding: windows-31jを解決した時のメモ

環境 PyCharm 2023.2.1 windows 10Pro Python 3.10 エラー PyCharmのデバッガーを設定しようとしたところ、 Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding Python runtime state: core initialized …

Reactのレビューの練習①

Reactを業務で使うようになって○ヶ月、まだ自分がレビューする機会が無いので、ここでレビューの練習をしてみたいと思います。 前提 Typescriptで書いている buildツールはesbuild お題 実際にプロダクト内で見かけたコードを簡素にしたものです。 import Re…

Pythonのtry-else句と、テストカバレッジ100%が必ずしも品質を保証しないという話

こんにちは。fastAPI歴○か月のケイ太です。 先日、テストカバレッジも大事だけれど、それだけで品質を保証できるわけではない、ということを実感することがありました。 きっかけはこんなコードです。 def create_users(db:Session, users_list: List[UserCr…

RubyでWebサーバを作ってみた2:静的なサーバを完成させる

ここまでで、CSSや画像を含むページを表示出来るようになりました。 今回も gihyo.jp の書籍を参考に、Rubyで URLエンコードの対応をする ファイルが存在しない時に404 NOT FOUNDを返す ディレクトリトラバーサル脆弱性に対応する ドメインだけ/ディレクトリ…

RubyでWebサーバを作ってみた

gihyo.jp この書籍を参考に、RubyでWebサーバを作ってみようと思います。 目次 目次 動作環境 実装 実装のゴールの確認 初期化 待機 リクエスト受信 レスポンス送信 切断 全体のコード index.htmlを用意する 起動 確認 ソースコード モドキじゃないサーバへ …

RubyでTCPサーバ/クライアントを作ってみた

gihyo.jp この書籍を参考に、RubyでTCPサーバ/クライアントを作ってみました。 目次 目次 TCPとソケット 動作環境 サーバ側 初期化 待機 データ受信 データ送信 切断 ソースコード クライアント側 初期化 送信 ソースコード 実行 client_send.txtとserver_se…

RailsプロジェクトのRubyのバージョンを上げたときのメモ

RailsプロジェクトのRubyのバージョンを3.1.1から3.2.2に上げたときのメモです。 目次 目次 環境 Ruby3.2.2のインストール 更新前チェック Rubyのバージョンを上げる 参考にしたサイト 環境 wsl2 debian 11 Ruby 3.1.1 Rails 7.0.1 Ruby3.2.2のインストール …

開発テーマは速い!安い!メンテナンス楽々! ~漢検学習アプリをリリースしました~

1年間のフィヨルドブートキャンプでの学習の仕上げとして、漢検学習アプリ『漢検練習帳』を作成しました。 漢検練習帳 | クイズで漢検 目次 目次 1. 仕様 2. 開発環境 3. 開発テーマ 3.1 自分の実力の及ぶ範囲で 3.2 出来る限り新しいバージョンのフレームワ…

はてなブログにカスタムcssをあてる

備忘のために、cssデザインの変更方法と変更内容をメモします 1. 変更方法 2. css ソースコード 1. 変更方法 はてなブログにログインし、ダッシュボードからデザインを選択 カスタマイズボタンをクリック 左下の{}デザインcssをクリック 枠内にcssを貼り付け…

Rails + SQLite3 + React プロジェクトをGoogle Cloud Run にお安くデプロイする

GCPに興味はあるけれど、DB料金がお高くて個人開発には厳しいな。。。と思っていたところ、 個人開発のコストはDB次第 - laiso https://t.co/rL8qYmafuv ここ最近は SQLite + Litestream という選択肢をとれば良いと思ってる。https://t.co/nR5BObiBtu— V (@…

Rubyで<ArgumentError: invalid byte sequence in US-ASCII>エラーを解決した時のメモ

<ArgumentError: invalid byte sequence in US-ASCII>エラーを解決した時のメモです。 環境 wsl2 Debian 11.5 Ruby 3.1.1 問題 コメントに全角文字があるだけで、debuggerのところでエラーで落ちてしまう。 # frozen_string_literal: true require 'debug' arr = ["a", "b", "c"] #コメント arr.each do |a| deb</argumenterror:>…

Vite.jsの本番環境用のbuildでError: 'fileURLToPath' is not exported by __vite-browser-external, imported by node_modules/local-pkg/dist/shared.mjsを解決したメモ

Vite.jsで本番環境のbuildエラーを解決したときのメモです。 エラーログ $ npm run build > frontend@0.0.0 build > tsc && vite build vite v3.2.5 building for production... transforming (155) ../node_modules/axios/lib/platform/browser/index.js ✓ …