タグ

ブックマーク / techracho.bpsinc.jp (7)

  • Rails 7 API: ActiveRecord::FixtureSet(翻訳)|TechRacho by BPS株式会社

    概要 MITライセンスに基づいて翻訳・公開いたします。 英語API: ActiveRecord::FixtureSet バージョン: Rails 7.0.0 サイト: api.rubyonrails.org ライセンス: MIT-LICENSE 2019/07/11: 初版公開 2021/12/17: 5.2.3->7.0.0に更新 以下も参考にどうぞ。 週刊Railsウォッチ(20190708-1/2前編)ActiveRecord::FixtureSetがめちゃ強くなってた、MacだとRubyが遅い理由、Puma 4登場ほか 銀座Rails#13の発表スライド↓ Rails API: ActiveRecord::FixtureSet(翻訳) fixtureとは、テストの対象としたいデータ(つまりサンプルデータ)を組み立てる手法のひとつです。 fixtureはYAMLファイルに保存されます

    Rails 7 API: ActiveRecord::FixtureSet(翻訳)|TechRacho by BPS株式会社
  • Railsで木構造を扱うには|TechRacho by BPS株式会社

    また以下のような、根ノード(親を持たないノード)や葉ノード(子を持たないノード)や世代をキーとしたmapを取得するクラスメソッドが使えるようになります。 Comment.roots # => [[隣接リスト最高!],[こんにちは]] Comment.root # Comment.roots.first と同じ # => [隣接リスト最高!] Comment.leaves # => [[シンプルでいいですよね],[入れ子集合モデルの方が良いですよ], [こんにちは。]] Comment.generations # => {0=>[[隣接リスト最高!],[こんにちは]], # 1=>[[シンプルでいいですよね],[アンチパターンですよ、経路列挙モデル使いましょう]], # 2=>[[入れ子集合モデルの方が良いですよ]]} またインスタンスメソッドでいえば、#parentで親ノード、#ances

    Railsで木構造を扱うには|TechRacho by BPS株式会社
  • Rails: スコープをモデルの外でチェインするのはやめておけ(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Say no to chained scopes! 原文公開日: 2015/06/24 著者: Jeroen Weeink サイト: Crafting Ruby語タイトルは内容に即したものにしました。 2018/04/18: 初版公開 2023/02/14: 更新 Railsアプリで、次のようにモデルのデータベーススキーマの内部にまで立ち入っている(コントローラ)コードをよく見かけます。 class Person < ActiveRecord::Base enum gender: { male: 1, female: 2 } end class PeopleController < ApplicationController def index @people = Person.where(gender: Person.ge

    Rails: スコープをモデルの外でチェインするのはやめておけ(翻訳)|TechRacho by BPS株式会社
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • 現場で使うansible|TechRacho by BPS株式会社

    弊社でのansible活用例について記事にしてみました。 記事は弊社での運用例なので、どの組織にも適用できるかは分りませんが、何かの参考になれば幸いです。 目次 リポジトリの作り方 2種類のリポジトリを作成する 利用例 playbook作成規約 READMEに以下のことを書く 設定できる変数はroleリポジトリのdefaultsに書く roleリポジトリの変数は role名 + _(アンダーバー)で始める 運用時のコツ ansibleで設定したサーバをどう管理するか 汎用的にしようと無理をしない roleの切り出し方について サーバのコピーに使わない よく分からないroleは実行しない まとめ リポジトリの作り方 最初に、ansibleのリポジトリをどのような方針で作っているかを書きます。 2種類のリポジトリを作成する まず作業のためにansibleのplaybookを保存するリポジトリ

    現場で使うansible|TechRacho by BPS株式会社
  • Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社

    Railsで大きなファイルを扱う際のポイントをまとめてみました。 前提 大きなファイルとは だいたい100MB~10GBくらいのファイルをダウンロード・アップロードするのを想定することにします。 数MB程度だと、特別な工夫なしでもそれほど問題になりません。10GBを超えてくると、気をつけるべき点が変わってくるかと思います。 以下では主にサンプルとして、1GBのファイル(ISOファイルやZIPファイルなど)を想定します。 環境 以下のような環境を想定します。 Railsは4系 Nginx + Unicornのスタンダードな構成 サーバ1台のシンプルな構成(ロードバランサを使用した複数台構成については、末尾に少し記載しています) ダウンロード ファイルのダウンロード まずは、Railsアプリから大きなファイルを配信するケースを考えましょう。 たとえば、ISOファイルをサーバ内に保存しておいて、

    Railsで大きなファイルを扱う際のポイント|TechRacho by BPS株式会社
  • [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社

    こんにちは、hachi8833です。今回は弊社システム管理者のyamasitaさん監修のもとで、Matt Jaynes氏のDocker Misconceptionsを翻訳いたしました。それなりに文言を最適化してあり、原文と一対一対応しているとは限りませんのでご了承ください。エラーがありましたらお知らせいただけると助かります。 Dockerについてよくある勘違い Matt Jaynes 元記事: Docker Misconceptions Dockerは最近のシステム管理業界で大変な脚光を浴びてます。これによるシステム管理の進歩ははかりしれないものがありますが、いくつか重要な点で勘違いしている人を見かけます。 分野を限定して語っているのでよろしく この記事で説明する内容は、主にWebサービスにおけるミッションクリティカルなシステムのマルチホストセットアップに限定しています。Dockerをそれ

    [翻訳] Dockerについてよくある勘違い|TechRacho by BPS株式会社
  • 1