Pythonを使って、BOOTHで販売している英辞郎のテキストデータをMDict化し、BOOX Leaf2 の辞書に登録してみた

去年くらいから、 E-Inkディスプレイ搭載のAndroid端末 BOOX Leaf2 で、KindleやO’Reillyアプリの電子書籍を読んでいます*1。 BOOX Leaf2 – SKT株式会社 普通のAndroidタブレットで電子書籍を読むのに比べたら、 Leaf2 は目はあまり疲れない感じです。 また…

Pythonで、実行時のmオプションやpyproject.toml の project.scripts の指定による、実行可能なライブラリを作ってみた

Pythonで自作ライブラリを作った時に python -m <パッケージ名> 例: $ python -m hello <ライブラリで指定したコマンド名> 例: $ hello のような形でライブラリを実行したくなりました。 そこで、どんなふうにすればよいか試してみたので、メモを残します…

Railsにて、ActiveSupport::TaggedLoggingやActiveSupport::ErrorReporterを使って、Request-IDをログへ出力してみた

Railsをproductionモードで動かしている時、ログに I, [*** #237177] INFO -- : [95c95a65-608b-45d3-aa02-bcf61950e7c2] Completed 204 No Content in 1ms と、 [95c95a65-608b-45d3-aa02-bcf61950e7c2] のようなHTTPリクエストを識別できるようなタグがつ…

Djangoにて、ASGIミドルウェアのasgi-correlation-idを使って、HTTPリクエストごとの識別子(Request-ID) をログに出力してみる

前回の記事では、 Django + django-log-request-id という構成で、HTTPリクエストごとの識別子(Request-ID) をログに出力してみました。 また、記事ではRequest-IDをログに出力するサードパーティライブラリを調べました。その中にASGIミドルウェアの asgi-c…

Djangoにて、 django-log-request-id を使ってHTTPリクエストごとの識別子(Request-ID) をログに出力する

OpenTelemetryやログ集約などが不要そうな小さなシステムであっても、HTTPリクエストごとの識別子がログに含まれていると、何かあった時に「どのHTTPリクエストによりログが出力されたのか」を追いかけやすいです。 そこで、DjangoでHTTPリクエストごとの識…

2023年の振り返りと2024年の目標

例年通り、2023年の振り返りと2024年の目標っぽいものを書いてみます。 目次 2023年の振り返り 身近な技術の素振り・深堀りをして、技術のキャッチアップを継続 Ruby / Rails / React まわり OpenTelemetry / Redash / Playwright まわり JetBrains IDEまわ…

React + react-jsonschema-form にて、 JSON Schemaを元にしたフォームからデータを送信し、バックエンドのDjango REST frameworkに保存してみた

これは react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita Djangoのカレンダー | Advent Calendar 2023 - Qiita の25日目の記事です。 ここまでの react-jsonschema-form (RJSF) の Advent Calendar では、JSON Schema を元にしてフォーム…

react-jsonschema-formにて、FormのExperimental featuresをためしてみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の24日目の記事です。 react-jsonschema-form (RJSF) の機能の中には Experimental features と呼ばれる機能があります。 この機能は Warning: This API is experimental and un…

react-jsonschema-formのマイグレーションガイドを読んでみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の23日目の記事です。 react-jsonschema-form (RJSF) の公式ドキュメントには Migration Guides というページがあります。 Migration Guides | react-jsonschema-form このペー…

react-jsonschema-formにおける、バリデーションエラー時の気になる挙動と対応について

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の22日目の記事です。 react-jsonschema-form (RJSF) では、JSON Schemaを元にバリデーションができます。 ただ、バリデーションエラーとなったときに気になる挙動がいくつかあ…

react-jsonschema-formで、additionalPropertiesを使った時の表示を確認してみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の21日目の記事です。 JSON Schemaには additionalProperties キーワードがあります。 Additional Properties | JSON Schema - object これを使うことで、JSON Schemaにて定義し…

react-jsonschema-formにて、formContextを使ってWidgetやFieldに値を渡してみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の20日目の記事です。 react-jsonschema-form (RJSF) では、 uiSchemaに自作の option を定義することで、特定のWidgetに独自の値を渡すことができます。 詳細については、Adven…

react-jsonschema-formに含まれる、データを変換する系のユーティリティ関数を使ってみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の19日目の記事です。 react-jsonschema-form (RJSF) にはいくつかのユーティリティ的な関数が含まれています。 RJSF utility functions, constants and types | react-jsonsche…

react-jsonschema-formにて、ArrayのTemplateをカスタマイズしてみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の18日目の記事です。 9日目の記事ではTemplateのカスタマイズとして BaseImputTemplate ObjectFieldTemplate FieldTemplate をためしました。 ただ、 react-jsonschema-form (R…

react-jsonschema-formにて、JSON Schemaのexamplesキーワードを使ってみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の17日目の記事です。 JSON Schemaでは、draft-06から examples キーワードが導入されました。draft-06のリリースノートには array of examples with no validation effect; the…

react-jsonschema-formでは、フォームのsubmit時の状況により送信データが変わる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の16日目の記事です。 以下のようなJSON Schemaからreact-jsonschema-form (RJSF) が生成したフォームをsubmitするとします。 const schema: RJSFSchema = { title: "No Input F…

react-jsonschema-formにて、MUIのテーマを適用してみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の14日目の記事です。 react-jsonschema-form (RJSF) では、あらかじめ用意されているデザインテーマを適用したり、自作のデザインテーマを適用したりできます。 Custom Themes …

react-jsonschema-formにて、Formコンポーネントのpropsの設定をカスタマイズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の13日目の記事です。 この記事では、react-jsonschema-form (RJSF) が提供している Form コンポーネントの props の設定をカスタマイズしてみます。 ただ、Formコンポーネント…

react-jsonschema-formにて、validatorであるajvのオプションを変更する

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の12日目の記事です。 react-jsonschema-form (RJSF) では、フォームの入力値に対するvalidatorとして ajv を使います。 Validation | react-jsonschema-form ajv には複数のオ…

react-jsonschema-formにて、バリデーションのエラーメッセージをローカライズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の11日目の記事です。 今回は、react-jsonschema-form (RJSF) にて、バリデーションのエラーメッセージをローカライズしてみます。 目次 環境 RJSFのバリデーションエラーメッセ…

react-jsonschema-formのバリデーションをカスタマイズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の10日目の記事です。 この記事では、react-jsonschema-form (RJSF) の公式ドキュメントでバリデーションまわりを見てみます。 Validation | react-jsonschema-form その後、RJS…

react-jsonschema-formにて、Templateをカスタマイズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の9日目の記事です。 7日目の記事でreact-jsonschema-form (RJSF) の Widget を、8日目の記事で Field をカスタマイズしてきました。 そこで今回は、残る Template のカスタマイ…

react-jsonschema-formにて、Fieldをカスタマイズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の8日目の記事です。 7日目の記事では、react-jsonschema-form (RJSF) のコンポーネントのうち Widget についてカスタマイズしてみましたので、今回はFieldをカスタマイズしてみ…

react-jsonschema-formにて、Widgetをカスタマイズしてみる

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の7日目の記事です。 react-jsonschema-form (RJSF) では、JSON Schemaの type に応じて、RJSFは入力項目の見た目・機能を持つコンポーネントが決まります。 ただ、実際にはRJSF…

react-jsonschema-formにて、どのようにフォームを表示するかを uiSchema で定義する

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の6日目の記事です。 この記事では、react-jsonschema-form (RJSF) にて、どのようにフォームを表示するかを uiSchema で定義してみます。 目次 環境 uiSchemaとは uiSchemaの u…

react-jsonschema-formにて、単一ファイル・複数ファイルのアップロードを試してみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の5日目の記事です。 この記事では、react-jsonschema-form (RJSF) における、単一ファイル・複数ファイルのアップロードを試してみます。 目次 環境 RJSFにて input="file" な…

react-jsonschema-formにて、JSON Schemaのdefinitionsや外部JSONファイルを使ったときの表示を確認してみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の4日目の記事です。 この記事では、react-jsonschema-formにて JSON Schemaの definitions 外部JSONファイル を使ったときの表示を確認してみます。 目次 環境 JSON Schemaのde…

react-jsonschema-formにて、JSON Schemaのdependenciesやif-then-elseなどの条件分岐を使って、条件に応じた表示を確認してみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の3日目の記事です。 この記事では、react-jsonschema-form (RJSF)にて、JSON Schemaのdependenciesやif-then-elseなどの条件分岐を使って、条件に応じた表示を確認してみます。…

react-jsonschema-formにて、JSON Schemaのtypeごとの表示を確認してみた

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の2日目の記事です。 この記事では、JSON Schemaのtypeごとの react-jsonschema-form (RJSF) の表示を確認してみます。 目次 環境 JSON Schemaのtypeとは typeごとの表示を確認…

react-jsonschema-form (RJSF) とは

これは「react-jsonschema-formのカレンダー | Advent Calendar 2023 - Qiita」の1日目の記事です。 この記事では、Advent Calendarを始めたきっかけと、 react-jsonschema-form (RJSF) とは何かについて書いていこうと思います。 目次 はじめに react-jsons…