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

Railsを5.2.4から6.0.4にアップデートした手順をメモ

Railsを5.2.4→6.0.4にアップデートする機会があった。アップデートのために行った手順、手順ごとの調査をメモした。 手順 1. Rails以外のバージョンが古いライブラリをアップデートする Railsアップデートの影響範囲を小さくするため、Rails以外のライブラリ…

activerecord-import の on_duplicate_key_update, on_duplicate_key_ignore 周りを調査

背景 activerecord-importのバージョンを0.15.0から1.2.0(最新)にアップデートしたい。 on_duplicate_key_update周りでBREAKING_CHANGEがある。 DBはMySQLを使用している。 on_duplicate_key_updateとは MySQL https://dev.mysql.com/doc/refman/5.6/ja/inse…

Ralisのstrict validation

Active Record バリデーション - Railsガイド 使ったことなかったが、ユーザー普通にフォームからPOSTしただけでは起きえないエラーのvalidationに良さそう。 POSTされたデータが、普通にフォームをPOSTしただけじゃ起きえないような整合性の崩れ方している…

form runの調査

form run とは フォーム系のSaaS form.run 背景 マッチング系のサービスにおいて 一方が任意の項目を設定する -> もう一方が回答する といったモデルを設計するときに参考になるので調査した。 できることを調査 1. フォームの項目が自由に設定できる フォー…

Googleフォームの調査

Googleフォームとは www.google.com のこと 背景 マッチング系のサービスにおいて 一方が任意の項目を設定する -> もう一方が回答する といったモデルを設計するときに参考になるので調査した。 できることを調査 1. フォームの項目が自由に設定できる 以下…

構造が定まってないHashにアクセスする場合は[]よりもfetchのほうが安全

Railsの話。Hashは[]で値が取り出せる pry(main)> p = {a: {b: :c}} pry(main)> p[:a][:b] => :c Hashの構造が定まってなくて、求めている構造のときのみ値を取得するケースを考える 例えば信用できない外部APIのレスポンスをパースしたり、ユーザーがPOSTす…

『良いウェブサービスを支える 「利用規約」の作り方』を読んだ

良いウェブサービスを支える 「利用規約」の作り方 を読んだ。 利用規約に限らず、ウェブサービスに関する法規制についてのわかりやすいガイドブックだった。 この本を読んだモチベーション 法的な制約によりXXの実装が必要だったことが後から発覚して手戻り…

データモデルとUIの整合性をとる

ソフトウェア開発で要件を詰める際に、データモデルとUIの整合性に気をつけている。 特にどういった点に気をつけて整合性を確認しているか書く。 データモデルとは 一言で言うとデータをモデリングしたもの、つまりソフトウェアが扱うデータを整理して構造化…