[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

2018年3月31日のブックマーク (8件)

  • Rails: dry-rbでForm Objectを作る(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails Form Objects With dry-rb 原文公開日: 2016/09/06 著者: Michał Gutowski サイト: http://cucumbersome.net/ 現代のRailsでは、Form Objectを作るのは珍しくありません。多くのRuby開発者はVirtusやActiveModel::ValidationsをincludeしてForm Objectを作成することに慣れています。記事では、dry-typeとdry-validationを使ってForm Objectを作成する方法をご紹介したいと思います。 絵ハガキ(postcard)を作成する簡単なForm Objectを作ってみましょう。このアプリには次の3つのモデルがあります。 Country: フィールドはnameとis_stat

    Rails: dry-rbでForm Objectを作る(翻訳)|TechRacho by BPS株式会社
  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
    rochefort
    rochefort 2018/03/31
    transaction
  • ActiveRecord の has_many関連、件数を調べるメソッドはどれを使えばいい? - Qiita

    ActiveRecord で、has_many で定義した関連があるとき、その関連の件数を取得するのには、count, size, length の3つのメソッドがあります。さらに、0件かどうかを調べるためには、empty? や exists? といった問い合わせメソッドもあります。 これらの使い分けについて、なるべく分かりやすくなるように解説してみたいと思います。 はじめに、has_many関連とは、次のようなコード例における、company.users のことを指します。 class Company < ActiveRecord::Base has_many :users end class CompanyUsersController < ApplictaionController def index company = Company.find(params[:company_id

    ActiveRecord の has_many関連、件数を調べるメソッドはどれを使えばいい? - Qiita
    rochefort
    rochefort 2018/03/31
    size, count, length
  • railsdm2018で「ActiveRecordデータ処理アンチパターン」を発表しました

    Rails Developers Meetup 2018で「ActiveRecordデータ処理アンチパターン」というタイトルで発表してきました。 発表資料発表概要ActiveRecordはWebエンジニア達が嫌う(?)SQLを書かずとも、Rubyオブジェクトで気軽にデータベースへアクセスできる魔法のようなツールです。しかし便利な反面、何も考えずにゴリゴリActiveRecordを使ってDBアクセスしていると、劇的に重たいクエリが発行されたり非効率的なクエリが量産されたりします。 発表ではそれらActiveRecordで陥りがちな罠をパターン化し、ActiveRecordデータ処理アンチパターンとして発表します。 ※発表では実際のサンプルコードとともにパフォーマンスの計測結果も紹介します。 事前に公開したエントリ発表資料に出てくる最初の事例はこちらがベースの事例となっています。 今月末のR

    railsdm2018で「ActiveRecordデータ処理アンチパターン」を発表しました
    rochefort
    rochefort 2018/03/31
    これいいね
  • Rails tips: Policy Objectパターンでリファクタリング(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Refactor your Ruby on Rails application with policy object pattern 原文公開日: 2018/01/29 著者: Paweł Dąbrowsk Policy Objectは操作の分離に用いられる素朴なRubyオブジェクトのことです。個人的にこのパターンが好きですが、オブジェクトにPolicy Objectとしてふさわしい名前をつけるために従っておくべきルールがいくつかあります。 Policy Objectの規則 メソッド名の末尾は常に?にする メソッドはtrueかfalseのいずれかだけを返す 渡された属性は変更しない コードはシンプルな読み出しロジックだけを行う: データベース呼び出しなどは行わない デモ サンプルのクラスを作ってみましょう。後ほどPolicy Ob

    Rails tips: Policy Objectパターンでリファクタリング(翻訳)|TechRacho by BPS株式会社
    rochefort
    rochefort 2018/03/31
    policy object
  • MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる

    仕事やらなんやらでMySQLのクエリの良し悪しを判断する必要があるとき、EXPLAINの内容だけだとどのぐらい良くなったり悪くなったのか分からないので SET long_query_time = 0; してrows_examined (そのクエリでrows_sent行の結果を返すために何行に触ったのか)も一緒に提示するようにしている(少なくともMySQL 5.7時点ではrows_examinedはslow_query_logでしか確認できないはずperformance_schemaが有効ならevents_statements_historyやその仲間たちで確認できるとのこと*1 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.9.6 パフォーマンススキーマステートメントイベントテーブル)。 例: 上の例のBeforeは、もともとDBAが書いた温かみのあるSQLでO

    MySQLのクエリの良し悪しはrows_examinedで判断する - かみぽわーる
    rochefort
    rochefort 2018/03/31
    rows_examined
  • Rails tips: Null Objectパターンでリファクタリング(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Refactor your Ruby on Rails app with null object pattern 原文公開日: 2018/01/22 著者: Paweł Dąbrowsk Null Objectパターンによるリファクタリングは、指定されたオブジェクトが存在するかどうかをチェックして、存在しなかった場合に指定の属性やメソッドのデフォルト値を返す操作に適用できます。このような操作ではif条件が必要になることが多く、そのままではコードが少々読みづらいうえにテストも少しばかりやりにくくなります。Null Objectパターンを使うことでコードが非常にシンプルになり、テストも簡単になります。 Null Objectパターンを使うメリットをわかりやすく示すため、次のような事例を考えてみましょう。UserとPostという2つのク

    Rails tips: Null Objectパターンでリファクタリング(翻訳)|TechRacho by BPS株式会社
    rochefort
    rochefort 2018/03/31
    なるほどNoPostに集約すると便利そうだが、NullObject増えそうだ
  • 会社説明会情報一覧 | DevelopersIO

    【11/21(木)】Classmethod Cloud Security Fes.~基礎知識から生成AI対策までクラウドセキュリティの最新情報を学ぶ1日~

    会社説明会情報一覧 | DevelopersIO
    rochefort
    rochefort 2018/03/31
    これちょっと気になると思ったけど、「SIerおよび個人の方からのお申し込みはお断りをさせていただく場合がございます」とあるので躊躇する。誰向けのイベントなんだろう。