RailsのActiveRecordにて、SQLのJOIN句やWHERE句の条件を記載する場合、 JOIN句 joins() や eager_load() などのメソッド 13 テーブルを結合する | Active Record クエリインターフェイス - Railsガイド WHERE句 where() メソッド 3. 条件 | Active Record …
Rails + RSpec + factory_bot にて、あるモデルの関連データを生成する方法を調べたところ、factory_botのGETTING_STARTEDにいろいろな方法が記載されていました。 https://github.com/thoughtbot/factory_bot/blob/main/GETTING_STARTED.md そこで、GETTING…
Railsを使ったソースコードを眺めていたところ、モデルのメソッドにて def foo !!bar&.baz end というコードがありました。 どのような挙動になるのか気になったので、試してみた時のメモを残します。 目次 環境 モデル構造 挙動確認 否定(!)や二重否定(!!)…
RailsでActiveRecordを使ってDBからレコードを取得するときに、以下を考慮した昇順・降順ソートで迷ったことがあったため、メモを残します。 取得するタイミング データ取得時 (SQL発行時にソート) データ取得後 (Rubyのarrayになってからソート) ソートキー…
以前、RailsのActiveRecordにて、 eager_load を使って 子側が存在しない場合は結果に含めずに抽出する 子側が存在しなくても、結果に含めて抽出する をしました。 Railsで、eager_loadのLEFT OUTER JOINにて、WHERE句とON句のそれぞれで絞り込みしてみた - …
Railsでは、標準で用意されているモデルのバリデーションの他に、カスタムバリデーションメソッドを作成することで、独自のバリデーションを行えます。 6 カスタムバリデーションを実行する | Active Record バリデーション - Railsガイド そんな中、「カス…
前回の記事で、Playwrightを使ってDjango + ReactのE2Eテストができると分かりました。 WSL2 + Playwrightな環境にて、codegen機能によりReactアプリやDjango管理サイト向けのテストコードを自動生成してみた - メモ的な思考的な 前回は自動生成したテストコ…
前回の記事にて、WSL2上にPlaywrightをインストールして動作することを確認しました。 WSL2上にインストールしたPlaywrightを、Visual Studio Codeから動かしてみた - メモ的な思考的な これにより環境ができたため、次はPlaywrightのcodegen機能でテストコ…
以前、E2Eテスト用のツールとしてSeleniumやRobot Frameworkをさわっていました。 Selenium カテゴリーの記事一覧 - メモ的な思考的な そんな中、最近のメジャーなE2Eテスト用ツールは何だろうと思い調べてみたところ、CypressとPlaywrightがありました。 Cy…
例年通り、2022年の振り返りと2023年の目標っぽいものを書いてみます。 2022年の振り返り 2021年の振り返りと2022年の目標 - メモ的な思考的な で立てた目標っぽいものについて、ブログの記事を中心に振り返ってみます。 目次 2022年の振り返り 身近な技術の…
本屋へ出かけたところ、書籍「単体テストの考え方/使い方」を見かけました。 単体テストの考え方/使い方 | マイナビブックス 表紙に 書名に単体テストと書かれていたこと 原著がManning Publications社なこと とあったため、購入して読むことにしました。 最…
ここしばらく仕事でTypeScriptも書いているものの、まだ雰囲気で書いている感がありました。 そのため、腰を据えて学ぼうと考え、手を動かしながら理解できるチュートリアル的な書籍を探したところ、「手を動かしながら学ぶTypeScript」に出会いました。 手…
これは Djangoのカレンダー | Advent Calendar 2022 - Qiita 12/13の記事です。 Django REST framework(DRF)でOpenAPI 3系のスキーマを生成しようと考えた時、DRFの公式ドキュメントでは DRFの機能を使う Schemas - Django REST framework サードパーティパ…
これは Djangoのカレンダー | Advent Calendar 2022 - Qiita 12/6の記事です。 フロントエンドのビルドツール Vite を使って、ReactをDjangoで動かす方法を調べたところ、awesome-viteのページに django-vite の記載がありました。 Integrations with Backen…
Windows11でWindows Terminalをカスタマイズしようと考えました。 Web上でよく見かける手順は Windows Terminalのプルダウンから 設定 を選択して、 settings.json を開く でした。 そこで、 と 設定 を選択したところ、 のようにGUIが表示されてしまいまし…
Google Apps Script を使って、Google Spreadsheet にあるデータを検索するWeb APIが作れないか気になりました。 そこで、試してみたときのメモを残します。 目次 環境 Google Apps Script で、Google Spreadsheet のデータを検索する方法 TextFinderを使っ…
前回、Railsにて、同じ値でデータ更新した場合、タイムスタンプカラム( updated_at )が更新されないことを確認しました。 Railsにて、同じ値でデータ更新した場合、タイムスタンプカラム(updated_at)が更新されない - メモ的な思考的な そんな中、 lock_vers…
Railsにはタイムスタンプカラム( created_at / updated_at )があり、各カラムは データ作成時 created_at と updated_at が設定される データ更新時 updated_at が更新される という挙動になります。 2.2 スキーマのルール | Active Record の基礎 - Railsガ…
今まで、「食べたリンゴの割合をグラフ化するアプリ」をHerokuで動かしていました。 Python + Django + Highcharts + Herokuで食べたリンゴの割合をグラフ化してみた - メモ的な思考的な そんな中、個人的に使ってみたかったGoogle Cloudで動かせるか気にな…
Google Cloud で機密情報を保管するときには Secret Manager が使えます。 Secret Manager | Google Cloud ためしに、Google Cloud Console で Secret Manager に値を保存した後、ローカル環境のPythonスクリプトで Secret Manager の値を取得しようとしてみ…
10/14(金)・15(土)に、TOC有明コンベンションホールで開催された「PyCon JP 2022」に参加しました。 PyCon JP 2022 #pyconjp 着いて、ごはんいただいてた。おいしかった! pic.twitter.com/Ulg2rMNTv3— thinkAmi (@thinkAmi) 2022年10月14日 リアル参加は201…
Rails + ロールでの認可制御を調べたところ、以下のページに認可制御のgemがまとまっていました。 Category: User Authorization - The Ruby Toolbox まずは一番Githubのstarが多いgemからみてみようということで、 Pundit をさわってみることにしました。 v…
Djangoアプリでのジョブをスケジューリングしたいと思い、Google Cloud Schedulerのドキュメントを読んだところ Cloud Scheduler では、作業単位のスケジュールを設定して、定義した回数または一定の間隔で実行できます。これらの作業単位は、一般的に cron …
以前、Djangoで作った個人アプリを Python 3.10 & Django 4.1 へとアップデートしました。 Python3.7 & Django 2.1 な個人アプリを Python 3.10 & Django 4.1 へとアップデートした - メモ的な思考的な その時、データベースをPostgreSQLからSQLiteに切り替…
以前、個人アプリを Python 3.10 & Django 4.1 へとアップデートしました。 Python3.7 & Django 2.1 な個人アプリを Python 3.10 & Django 4.1 へとアップデートした - メモ的な思考的な その際、 pip-review で他のライブラリのバージョンも最新に上げたた…
前回の記事にて、個人アプリをDjangoを4.1にアップデートするついでに、DBをPostgreSQLからSQLiteへと移行しました。 https://thinkami.hatenablog.com/entry/2022/09/14/215942 DBをSQLiteに移行したことにより、DjangoアプリをDockerの1コンテナで起動でき…
前回の記事で環境を構築したアプリですが、動作環境は Python 3.7 & Django 2.1 でした。 Python3.4 & Django1.8な個人アプリを、Python3.7 & Django 2.1 へとアップデートした - メモ的な思考的な また、ブログには書いていませんでしたが、その後 Python 3…
しばらく前に ThinkPad P14s AMD Gen2 を購入し、使い始めました。 一通りのPCセットアップができたため、次は開発環境を構築することにしました。 そこで、WSL2 + Ubuntu 22.04 上に、過去作成したDjangoアプリの開発環境を構築してみたため、流れをメモに…
久しぶりに自分専用のAndroidアプリを作りたくなったため、最近のAndroid開発事情を調べてみたところ、 Jetpack Compose ViewModel Room など、色々と学びたくなるような技術を知りました。 ただ、学びながら自分専用のアプリを作り始めても挫折するだろうと…
Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定することがありました。 ただ、実装するまでにいろいろ調べたことがあったため、メモを残します。 目次 環境 わかったこと Railsでは ids=1&ids=2 な書式のクエリパラメータを受け取れる Ope…