タグ

railsに関するauientのブックマーク (72)

  • 素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社

    はじめに 「Railsは関心の分離が不十分である」という批判をよく目にします。状況が深刻になったら、Railsに足りない別のピースを導入しなければならないというのです。しかし私たちはそうは思いません。 「素のRails(vanilla Rails1)ではここまでしかできない」みたいな批判を耳にすることがよくあります。Railsはアーキテクチャレベルで関心の分離が不十分なのだから、アプリはいずれメンテナンス不能になり、足りないピースを導入するという別のアプローチが必要になるというのです。 代表的なDDD(ドメイン駆動開発)書籍では、概念上の4つの層である「プレゼンテーション層」「アプリケーション層」「ドメイン層」「インフラストラクチャ層」について議論しています。 アプリケーション層は、ドメイン層と協調動作してビジネスタスクを実装します。しかし、Railsが提供しているのは「コントローラ」と「

    素のRailsは十分に豊かである(翻訳)|TechRacho by BPS株式会社
  • 速報: Basecampがリリースした「Hotwire」の概要|TechRacho by BPS株式会社

    12/23の朝方、DHHが以下のツイートを発信しました。 Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This includes our brand-new Turbo framework and pairs with Stimulus 2.0 😍🎉🥂 https://t.co/Pa4EG8Av5E — DHH (@dhh) December 22, 2020 取りあえず様子を知りたかったのでDHHのツイートを追ってみました。お気づきの点がありましたら@hachi8833までお知ら

    速報: Basecampがリリースした「Hotwire」の概要|TechRacho by BPS株式会社
    auient
    auient 2020/12/25
  • Smart UI パターンが再評価される世界 - id:onk のはてなブログ

    設計ナイト2020 を受けて、今どんなアーキテクチャを選ぶべきかという話をしたくなったのだ。 kichijojipm.connpass.com 設計ナイトで高ぶった結果1時間コースの発表資料が完成したので供養場所を探しています。聞いてくれ!!!— Takafumi ONAKA (@onk) 2020年11月1日 お前誰よ 2000年代前半に SI 2000年代後半にブログ、SNS 2010年代にソーシャルゲーム 2020年代に UGC サービス をやってきた人間。数百万〜数億行のデータ、月間数千万〜数十億 imp 程度を主戦場にしています。 今日の話 DDD と PofEAA から学ぶパターン/アンチパターン Rails によって発見された、密結合で速く走れるソフトウェア 今求められているアーキテクチャ 昂ぶって 15,000 字ぐらい書いてしまった。 DDD と PofEAA から学ぶパ

    Smart UI パターンが再評価される世界 - id:onk のはてなブログ
  • モデル設計を適当にやるとどうなるのか

    Rails アプリケーションの保守開発をターゲットとして、 データ構造が壊れていく過程と、それをどのように番運用しながら直していくかについて

    モデル設計を適当にやるとどうなるのか
  • ふつうのRails開発を続けるために

    2017/05/23に開催された「『ふつう』のRuby on Rails ウェブサービス開発(Clipla x みんなのウェディング)での発表資料です。 イベントURLはこちら。 https://mwed.connpass.com/event/55698/

    ふつうのRails開発を続けるために
    auient
    auient 2017/05/28
  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
    auient
    auient 2015/04/15
    Railsが遅くなった原因と解決策を探る話。/ メジャーバージョンアップして遅くなるとは。rails 4になって嬉しいことと比較してどうなんだろう?
  • Railsアプリケーション構築ガイド — Railsアプリケーション構築ガイド

    Railsアプリケーション構築ガイド¶ 業務でRuby on Railsを利用する人のための、アプリケーション構築ガイド 最終更新日: Feb 03, 2018 Ruby on Railsは、流儀・規則に従うことで効率的なシステム開発が可能となるWebアプリケーションフレームワークです。 レールの上に乗って開発を行っているうちは、 少ないコード量で複雑なアプリケーションを 簡単に実装できる、Railsというフレームワークの強力さ、美しさを体感できるはずです。 しかし、少しでもレールから外れたアプリケーションを実装しようとすると、途端に複雑になるのも事実です。 業務アプリケーション構築の分野では、Railsの流儀とは相容れない実装を強いられる事が多々あります。 レールから外れたアプリケーションをよく考えずに実装すると、 コードが難解になり、システムのメンテナンス性が大きく下がってしまいます。

    auient
    auient 2015/03/21
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
  • それでもRailsを選択する3つの理由 - pblog

    スタートアップ界隈でのRuby on Rails利用率は割と高く感じる。 みんなが使っているから使う?それだけではないはず。なぜ使うのだろう。 railsの特徴を考える。 規約縛りの哲学 周辺gemのエコシステム webの進化への追従の速さ 規約縛りの哲学 Convention over Configurationてやつ。規約を決めて、それに沿えば、フレームワークに乗って素早く開発できるようになる。規約で縛ることでRailsに流れる哲学に従うことを強制化している。 外れると痛い目を見る。Railsに乗るということは電車に乗って簡単に遠くまで行けるということ。Railsから降りるということは電車からも降りるようなものだ。中途半端な理解で突き進むと線路からすぐに降りて歩くことになる。 スタートアップでRailsが採用される一番の理由は、 簡単に遠くまで行ける だと思う。ただ、そんなにうまい話は

    それでもRailsを選択する3つの理由 - pblog
  • PHPerがRailsデビューしてWebAPIを作りRSpecでテスト書いてCap3/CircleCIでデプロイして分かった事を1ヶ月前の自分に教えたいので、まとめてみた - Qiita

    PHPerがRailsデビューしてWebAPIを作りRSpecでテスト書いてCap3/CircleCIでデプロイして分かった事を1ヶ月前の自分に教えたいので、まとめてみたRubyPHPRailsRSpec タイトル長い。すまぬ。PHPerとして約10年近く。Ruby自体は案件によってちょこっとだけ触ったことがある程度。Rails自体を格的にさわるのは今回が初めて。PHPだとCakePHPを中心にZend/Symfonyなどいくつか。そんな僕が今回、Rails4デビューをして、WebAPIを作り、RSpecでテスト駆動開発風味で、GitHubプルリクベースの、CircleCI経由デプロイをするまでの開発の流れをひと通りやってみて、分かったことがいくつかあったので、それをまとめてみた。過去の自分のために。 注意点としては、今回作ったのはWebサービスではなく、スマホゲーム(ネイティブ)のサー

    PHPerがRailsデビューしてWebAPIを作りRSpecでテスト書いてCap3/CircleCIでデプロイして分かった事を1ヶ月前の自分に教えたいので、まとめてみた - Qiita
  • アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestar Ruby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている

    アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog
  • Rails エンジン入門 - Railsガイド

    ガイドでは、Railsの「エンジン」について解説します。Railsエンジンのきわめて簡潔で使いやすいインターフェイスを用いて、ホストとなるRailsアプリケーションに機能を追加する方法についても解説します。 このガイドの内容: エンジンの役割 エンジンの生成方法 エンジンのビルド方法 エンジンをアプリケーションにフックする エンジン機能をアプリケーションで上書きする 読み込み/設定フックでRailsフレームワークが読み込まれないようにする方法 1 Railsにおけるエンジンの役割 エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。この場合、ホストとなるRailsアプリケーションは、実際にはエンジンに「ターボをかけた」ようなものにすぎず、Rails::ApplicationクラスはRails::Engi

    Rails エンジン入門 - Railsガイド
    auient
    auient 2014/11/16
  • Railsプロジェクトの初期開発フェーズでのDBスキーマ管理を見直す | Webシステム開発/教育ソリューションのタイムインターメディア

    DBのスキーマ、皆様どのように管理されているでしょうか。 Railsを利用されている方の多くは、ActiveRecordのマイグレーションを利用して管理をされているかと思います。 私もいままでいくつかのRailsプロジェクトに関わってきましたが、 ほぼ全てのプロジェクトでActiveRecordのDBマイグレーションを利用してきました。 (一部のプロジェクトはActiveRecordを使っていないため、マイグレーションも独自のものを利用しています) ActiveRecordのマイグレーションでは、DBスキーマ変更の差分情報をマイグレーションスクリプトとして保存しておきます。例えば、新しいテーブル「users」を作成する場合は、下記のようなマイグレーションスクリプトを作成します。 class AddUsers < ActiveRecord::Migration def up # ここにマイグ

    Railsプロジェクトの初期開発フェーズでのDBスキーマ管理を見直す | Webシステム開発/教育ソリューションのタイムインターメディア
  • Rails Style Guideに載っていることが分かれば大体Rails書ける気がする | mah365

    Rails Style Guideに載っていることが分かれば大体Rails書ける気がしました。もちろん実際に書けるというのと、知識として知るのは全く別のことだと思うのですが、知識としては要点がかなりおさえられている気がしました。 Rails Style Guideで言っていることが分かれば大体分かってる もちろんRails Style Guideは個々の単語(ActiveRecordとかMigrationとか)が分かっている前提で書いてあるので、その分のハードルは高いのですが、逆にここで書いてあることが理解できれば大体Railsのコードが書けるし読めるという到達点が示されている、と捉えることもできます。 昔流行った遅延学習法の話に遡るわけでもないのですが、1から積み上げで勉強していくのも退屈だし、0の段階からいきなりコードを書くのも若干ハードです。何より、知識としてどこまで学べば良いのか分

    Rails Style Guideに載っていることが分かれば大体Rails書ける気がする | mah365
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
    auient
    auient 2014/09/01
  • Railsをバージョンアップし続けるために必要なこと - Qiita

    当は、RubyWorld Conf辺りでこういう内容も交えてなんか話せればいいなあと思ってたんだけど、CFPに落ちたのでQiitaにポエムを書いてみました。 Railsはそれなりに学習コストはかかりますが、慣れてくるとデフォルトで便利なものが揃ってるしサードパーティライブラリも豊富で、未だに最も便利なWebアプリケーションフレームワークの一つだと思います。 なので、最近のスタートアップ界隈ではRailsで開発をスタートする、という話をよく耳にします。(個人の感想です) しかし、Rails体に新しい要素をガンガン取り入れてくるので、バージョンアップのサイクルはかなり早く、それに追従していくのはそれなりに大変です。 Railsで開発をする場合には、一旦レールに乗ったらプロダクトが死ぬまで走り続ける覚悟が必要です。(時速60km以下になったら爆発する) それを最初に理解しておかないと、あっ

    Railsをバージョンアップし続けるために必要なこと - Qiita
    auient
    auient 2014/08/28
  • [翻訳] Rails Guideの翻訳を進めました|TechRacho by BPS株式会社

    こんにちは、hachi8833です。これまでチマチマ翻訳してきたRails Guideへのリンクをご紹介します。ガイド全体から見ればまだ半分ぐらいですが、サイズの大きいファイルから先に翻訳を進めてきたので、残っているのは比較的小さなファイルです。 注意: これらのファイルは今のところ翻訳が完了しただけであり、レビューなどはまだ行われていません。各人の責任でご利用ください。 補足: Githubに置いたことでmarkdownは簡易整形されていますが、画像は表示されません。Railsガイド ガイドラインに記載されている方法で Railsガイドをビルドすれば画像+CSSのあるガイドが得られます。 ファイル間のリンクはビルドが前提なので、そのままでは無効です。 訳していて怪しいと思った箇所には●を付けてとっとと先に進んでいます。 原文に忠実な訳とは限りません。原文より情報を増やしたり言い方を変えて

  • Ruby on Railsサービス開発逆引き辞典

    レンタルサーバなら「さくらのレンタルサーバ」! 月額換算でわずか129円、缶ジュース1分のお値段で使える格安プランから、ビジネスにも使える多機能&大容量プランまで、 用途と予算に合わせてプランを選べます。 さらにマルチドメイン対応でメールアドレスも無制限。無料ウイルススキャンや無料電話サポートもあるので安心して ご利用いただける共用レンタルサーバサービスです。

    Ruby on Railsサービス開発逆引き辞典
    auient
    auient 2014/07/24
  • ActiveRecord のモデルを整理する7つのパターン - tkawachi Blog

    7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
    auient
    auient 2014/07/01