Pythonでサンプルデータを生成してOpenSearchに取り込んでみよう!
OpenSearchを触り始めるときや、新しい機能の検証をしたいとき、「手頃なサンプルデータがないかな?」って思うこと、ありますよね。 というわけで今回は、サンプルデータをPythonでサクッと生成して、Dockerで動いているOpenSearchに投入するまでの手順を紹介していきたいと思います! この記事では、データ生成に用いたPythonスクリプトの要点も解説します。 前回、作成した環境をベー…
OpenSearchを触り始めるときや、新しい機能の検証をしたいとき、「手頃なサンプルデータがないかな?」って思うこと、ありますよね。 というわけで今回は、サンプルデータをPythonでサクッと生成して、Dockerで動いているOpenSearchに投入するまでの手順を紹介していきたいと思います! この記事では、データ生成に用いたPythonスクリプトの要点も解説します。 前回、作成した環境をベー…
「OpenSearch、ちょっと触ってみたいな」と思ったとき、環境構築でつまずくのはもったいない。 自分自身も最近、業務で使用する必要が出てきました。 今回は、docker-compose を使って、コマンド一つでOpenSearchとOpenSearch Dashboardsの環境をサクッと構築する手順を備忘として残しておきます。 使用しているファイルなどはこちらで確認できます。 1. dock…
アプリケーションを開発していると、必ずと言っていいほど「データを削除する」という機能が必要になりますよね。ユーザーがアカウントを消したり、投稿を削除したり。一見、「DELETE文で消すだけでしょ?」と思いがちですが、実はデータの削除方法にはいくつかパターンがあって、それぞれにメリット・デメリットが存在します。 今回は、代表的な3つのデータ削除パターンについて、それぞれの特徴を整理してみました。 1…
こんにちは!今回は、私がレンタルサーバーのカラフルボックスでNext.jsアプリケーションを運用しようとした際に直面した「nproc占有問題」と、その解決策としてReact(Create React Appなど)ベースのアプリケーションに切り替えた経緯についてお話しします。 きっかけ:レンタルサーバーでのNext.jsアプリ運用 手軽にWebアプリケーションを公開したいと考え、使い慣れたカラフルボ…
ウェブサイトやアプリを作る時、ユーザーが情報を入力する欄には「入力制限」を設けることがあります。これは、例えば、電話番号を入力する欄に数字以外の文字が入らないようにしたり、名前の欄に決められた文字数以上入力できないようにする、といったものです。 入力制限は、ユーザーが間違った情報を入力するのを防いだり、システムを安定して動かすために必要ですが、制限の仕方によっては、ユーザーをイライラさせてしまうこ…
SQL内で集計をおこなう際に、SQLであれば、「MAX」や「MIN」などと合わせて、「group by」を指定することがある。 ORM使用時は、「group by」を明示的に指定することはないため、少し書き方が違う。 下記のようなモデルがあったとする。 from django.db import models class test_dogs(models.Model): name = models…
FKで参照しているテーブルに関しては、参照している先から filter にて参照が可能。 仮に、下記のようなモデルがあったとする。 from django.db import models class test_grand_parents(models.Model): name models.CharField(max_length=50); created_at = models.DateTim…
基本的なmysqlの環境構築については、下記を参照。 https://tech.tokiraku.com/archives/37 テンプレート 初期稼働時のSQLを実行するためには、エンドポイントを指定する必要があるらしい。 エンドポイントの名称は docker-entrypoint-initdb.d 。 下記は、それを含んだテンプレートになる。 version: '3' serv…
基本的なmysqlの環境構築については、下記を参照。 https://tech.tokiraku.com/archives/37 テンプレート コンフィグファイルを置くには、コンフィグファイルの場所を docker-compose.yml で指定する。 下記は指定したテンプレート。 version: '3' services: # MySQL db: image: mysql:5.…
テストコードカバレッジとは テストの進捗率、テストの網羅率を指す。これを実行することで、テストが制作したときの観点を網羅できているかを確認することができる。 品質評価の指標にも使用できるため、 網羅率が低い = 品質が低い というように設定することもできる。 モジュールの設定 requirements.txt に下記を追加する。 coverage==6.5.0 実行 下記のコマンドを実行することで…
基本的なコードの書き方は同じだが、Viewの場合は、URL経由でおこなう必要がある。 テストコードの基本的な書き方は、こちらを参照 https://tech.tokiraku.com/archives/82 REST APIでおこなっていることを前提とした例は次のようになる。 GETメソッド from django.test import TestCase,Client def test_Test…
setting.pyへの設定追加 Djangoの setting.py に下記のコードを設定する。※CACHESは初期状態から存在していることがあるので、ある場合には上書きする。 # redis CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCAT…