Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20210618_出張!Railsウォッチ in 銀座Rails#34

20210618_出張!Railsウォッチ in 銀座Rails#34

Masato Mori

June 18, 2021
Tweet

More Decks by Masato Mori

Other Decks in Programming

Transcript

  1. About Me
 • 森 雅智: @morimorihoge
 • BPS株式会社でRailsの受託開発チームをやってたり、週1大学非常勤で Web開発を教えてたりします
 •

    Ruby/Rails歴は11年くらい。Web開発は17年くらい
 • 銀座Ralis #10でActiveRecordでVIEWを使おうという話をしました
 • 銀座Rails #27でアプリケーションコンフィグの話をしました
 About BPS & TechRacho
 • Web受託開発や電子書籍製品開発をやっている会社です
 • TechRachoという自社技術Blogを運営しています
 ◦ 5年ほど前から平日毎日更新してます
 ◦ https://techracho.bpsinc.jp/ • お仕事相談、転職相談、TechRachoへのご意見など気軽にどうぞ
 ◦ https://www.bpsinc.jp/ 2

  2. これまでの出張Railsウォッチのピックアップテーマ
 • 銀座Rails#12: 複数DB対応
 • 銀座Rails#13: ActionText、Trix
 • 銀座Rails#14: ActionMailbox


    • 銀座Rails#15: production、development、staging環境について
 • 銀座Rails#16: 機能開発の設計レビューについて
 • 銀座Rails#17: リソース管理スコープについて
 • 銀座Rails#19: 開発チームの冗長化について
 • 銀座Rails#20: Excelと仲良くしよう
 • 銀座Rails#21: 標準仕様を読むためのABNF
 • 銀座Rails#22: CLIプログラムにOptionParserを使う
 • 銀座Rails#23: ActiveRecordのSELECTベンチマーク
 • 銀座Rails#24: 令和Devise事情
 • 銀座Rails#28: 2020年の銀座Railsを振り返る
 • 銀座Rails#29: Serverless Railsを試す
 • 銀座Rails#30: Railsインフラ環境Overview
 • 銀座Rails#31: Railsプロジェクトあるある
 • 銀座Rails#32: MimeMagic騒動を振り返る
 • 銀座Rails#33: Rails 7.0で入る予定の新機能(暫定版)
 4
 各回資料に興味がある方はこちらからどうぞ:https://speakerdeck.com/morimorihoge 

  3. RailsでDBコメントを使う方法
 • migration時に以下の方法で付与できる
 ◦ スキーマ記述時に comment: ‘コメント’ 形式のオプションを付ける 
 ◦

    change_table_comment :テーブル名, ‘コメント’ ◦ change_column_comment :テーブル名, :カラム名, ‘コメント’
 8
 RDBMSごとの差違はActiveRecordさんが吸収してくれます

  4. DBコメントがうれしいケース:用語定義入り交じり問題(1)
 • 仕様策定時は多くの場合主要となる言語(つまり日本語)でユビキタス言語(業務 上名付けた用語)を定め、シナリオを整理する
 ◦ 例:「注文」「価格」「税抜価格」「消費税率」など 
 • ユビキタス言語をプログラムに落とす際、英語に変換する
 ◦

    例:「purchases」「price」「price_without_tax」「tax_rate」など 
 • システムに近いプログラマは英語名でモノを考えるが、ビジネスサイドは日本語で モノを考えるという齟齬が発生し、しばしば行き違いが発生する
 ◦ ビジネスサイド「税抜価格が1000円以上の商品だけ抽出して」 
 ◦ 先週JOINしたプログラマ「税抜価格?...お、priceかな?」 -> 😇😇😇
 11
 ※ローマ字を使ったとしても、漢字の持つ情報が落ちるので同様の事態は発 生する(例:`shiyou`は「仕様」か「姿容」か区別できない)

  5. 補足(2) A5:SQL Mk-2
 知る人ぞ知る神ツール(Windows only)
 今ではMySQL WorkbenchやIntelliJ DataGripその他多くのリッチなGUIツールが出ている ので、DBアクセスツールとしての存在感は若干弱まった。
 しかし、日本人SIerが見慣れた感じのExcel定義書をそこそこいい感じに自動生成してく

    れる機能は、日本国内でソフトウェアエンジニアをやるのであればあるのとないのでド キュメント作成工数が段違いになる
 ※大手SIerでもA5:SQL Mk-2で自動生成した仕様書でOKもらったことが多々あります
 21
 https://a5m2.mmatsubara.com/