-
RubyonRailsのモデルパターンとアンチパターン
Ruby on Railsのパターンとアンチパターンシリーズの2番目の投稿にようこそ。前回のブログ投稿では、一般的なパターンとアンチパターンについて説明しました。また、Railsの世界で最も有名なパターンとアンチパターンのいくつかについても触れました。このブログ投稿では、Railsモデルのアンチパターンとパターンをいくつか紹介します。 モデルに苦労している場合は、このブログ投稿が最適です。モデルをダイエットするプロセスをすばやく実行し、移行を作成するときに避けるべきいくつかのことをしっかりと完了します。すぐに飛び込みましょう。 脂肪 太りすぎのモデル Railsアプリケーションを開発する場
-
サブドメインを使用したマルチテナントRubyonRailsアプリの構築
マルチテナンシーの定義によると、アプリが複数のテナントにサービスを提供する場合、ソフトウェアインスタンスへの共通アクセスを共有するユーザーのグループがいくつかあることを意味します。マルチテナンシーをサポートするアプリの優れた例は、Jiraプラットフォームです。このプラットフォームでは、各企業がソフトウェアにアクセスするためのサブドメインを持っています(例: mycompany.atlassian.net )。 。 この記事では、マルチテナンシーの理論的側面と実践的側面の両方について説明します。アプリケーションで複数のテナントのサポートを実装するためのいくつかの一般的なタイプのアプローチについ
-
RubyonRailsアプリケーションのAppSignalモニタリングのセットアップ
監視を容易にするために最善を尽くしているため、実際に表示されるコンテンツを増やしたいと考えていました。 AppSignalを使用して監視を設定するのがいかに簡単かを説明するだけではありません。 私たちはLeighHalldayと協力して、セットアッププロセスについて知っておく必要のあるすべてを紹介するこのビデオを作成しています。このような動画はYouTubeチャンネルにさらに投稿される予定です。今後の動画に関する通知を受け取りたい場合は、チャンネル登録する必要があります。あなたはそれがどのように機能するか知っています😉 ビデオの内容 このビデオでは、LeighがAppSignalをRai
-
Ruby on Rails用の新しいマジックダッシュボード:ActionMailer
アプリケーションを使い始めたばかりの場合、アプリケーションの監視は難しい作業になる可能性があります。どの指標が最も重要であるかを知り、どの指標を組み合わせて意味のあるグラフにすることができるかを理解する必要があります。 ユーザーにとって物事をスムーズにするという(休日⛄️だけでなく)精神で、Ruby統合に魔法のダッシュボードを追加して、ActionMailerで送信するメールの量を表示します。 マジックダッシュボード セットアッププロセス中に、エージェントがアプリインフラストラクチャをスキャンします。使用しているツールが特定されると、アプリの一部が自動的に計測され、最も重要なダッシュボード
-
AppSignalからの2020年のトップ5Rubyブログ投稿
2020年は私たち全員が取り残されることを楽しみにしている年であることは間違いありません。ストロープワッフルを手に取って、このような1年でも、素敵なことや、知識を共有するために時間を費やした人々について少し考えてみましょう。 今日の投稿では、あなたから最も注目された上位5つの投稿を含むRubyリストをまとめました。バックグラウンドでいくつかの素敵な曲でそれを打ち負かしましょう。 2020年のRubyブログ投稿トップ5💎 RubyonRailsでのサービスオブジェクトの使用 アプリが処理する必要のある機能はたくさんありますが、そのロジックは必ずしもコントローラーやモデルに属しているとは限
-
マイクロサービスの監視:データ構造化のための名前空間の使用
マイクロサービスアーキテクチャとは何ですか? マイクロサービスアーキテクチャは、いくつかの小さなプログラムを組み合わせてアプリケーションを作成するソフトウェアデザインパターンです。マイクロサービスと呼ばれるこれらのプログラムは、共通の目標のために連携して機能します。一部のチームでは、単一の大きなアプリケーションよりも、いくつかの小さなアプリケーションを作成する方がはるかに少ない時間と労力で済みます。 マイクロサービス指向のプロジェクトは、それぞれがその役割を果たし、別々のプロセスで実行され、標準化されたインターフェイスを介して他のアプリケーションと通信する一連の小さなアプリケーションで構成
-
RubyonRailsアプリケーションでミックスインとモジュールを使用する方法
モジュールとミックスインは、間違いなく、Rubyを非常に魅力的なものにする優れたリソースです。これらは、他の場所で簡単に使用できるコードをアプリケーションに共有する機能を提供します。また、機能と懸念事項をグループ化することでコードを整理するのに役立ち、コードの可読性と保守性が向上します。 この記事では、モジュールとミックスインの背後にある概念について説明します。モジュールを作成して他のクラスにミックスする方法を学び、RubyonRailsアプリケーションでそれらを使用する利点について説明します。 旅を楽しんでいただければ幸いです! モジュールとは モジュールは、名前空間を作成して名前の衝
-
RBS:動作中の新しいRuby3タイピング言語
待望のRubyバージョン3.0.0がついにリリースされました。以前のバージョンと比較して3倍高速なパフォーマンスの向上、同時実行並列の実験機能など、多くの大幅な改善に加えて、RubyチームはRubyでの動的型付けのための新しい構文言語RBSも導入しました。 これは、Sorbetなどの静的型チェック用のコミュニティ開発ツールの成功に基づいて、チームが何年にもわたって話し合っていたものでした。 Sorbetは、Stripeに裏打ちされた強力なタイプチェッカーです。 RBIファイルに注釈を付けたり定義したりしてコードをチェックします。次に、RBIファイルは、静的コンポーネントと動的コンポーネント
-
RubyonRailsのビューパターンとアンチパターン
RubyonRailsパターンとアンチパターンシリーズの第3回へようこそ。以前の投稿では、Railsモデルに関連するだけでなく、一般的なパターンとアンチパターンについても説明しました。この投稿では、weareがRailsビューに関連するいくつかのパターンとアンチパターンについて説明します。 Railsビューは完全に機能し、高速である場合もあれば、あらゆる種類の問題が発生する場合もあります。ビューの処理方法に対する信頼を高めたい場合、またはトピックについて詳しく知りたい場合は、このブログ投稿をご覧ください。あなた。さっそく飛び込みましょう。 ご存知かもしれませんが、Railsフレームワークは
-
Ruby on RailsアプリケーションでWebpackerを使用する—詳細
インターネット時代の初めには、ウェブサイトははるかに単純で、あまりインタラクティブではありませんでした。テクノロジー、デバイス、プログラミング言語の進歩に伴い、それらはより複雑になり、画像やCSSスタイルシートなどのアセットを含むいくつかのファイルで構成されていました。 Webサイトがインタラクティブであるほど、使用する必要のあるJavaScriptコードが多くなります。このようなコードを使用するには、scriptタグを使用してすべてのHTMLコードファイルを含める必要があります。このようなアプローチでは、すべてのファイルを含めて正しい順序を維持する必要があるため、エラーが発生しやすくなりま
-
ActiveRecordパフォーマンスのトラブルシューティング
ActiveRecordは、RubyonRailsの最も魅力的な機能です。通常、内部の動作について心配する必要はありませんが、心配する場合は、AppSignalが内部で何が起こっているのかを知るのにどのように役立つかを説明します。 ActiveRecordとは何ですか? ActiveRecordについて話すには、最初にフレームワーク、特にMVCフレームワークについて考える必要があります。 MVCはModel-View-Controllerの略で、グラフィックおよびWebアプリケーションで人気のあるソフトウェアデザインパターンです。 MVCフレームワークは次のもので構成されています: モ
-
Ruby Gem 3.0のAppSignalを発表しました!
Rubygemの新しいメジャーリリースであるAppSignalforRubyのバージョン3.0をご紹介できることを大変うれしく思います。 🎉 他のインストルメンテーションジェムとの互換性を高めるために、アプリとジェムのインストルメンテーション方法を変更しました。 Rubyバージョン1.9のサポートが削除され、非推奨のクラス、モジュール、メソッド、およびインストルメンテーションも削除されました。 アップグレードガイドをお読みください! 投稿の残りの部分では、新しいバージョンのgemがあなたとあなたのアプリに何をもたらすかについて説明します。行きましょう! Ruby1.9サポートを削除
-
Rubyを監視する最も簡単な方法:自動インストルメンテーション
アプリケーションのパフォーマンスに関する適切な監視の概要を設定することは、複雑な作業です。通常、最初に何を監視する必要があるかを理解し、次にコードをインストルメント化し、最後に送信されたすべてのデータを理解する必要があります。 ただし、いくつかの設定が行われ、RubyをネイティブにサポートするAPMを使用すると、この手順をこれまで以上に簡単に実行できます。この投稿では、その方法も紹介します。 自動計測-ハンズフリーAPMセットアップ コードのどの部分がパフォーマンスの問題を引き起こしているのかを見つけるには、それにインストルメンテーションを追加する必要があります。そうすれば、すべてのアクシ
-
RubyonRailsコントローラーのパターンとアンチパターン
RubyonRailsのパターンとアンチパターンシリーズの第4回へようこそ。 以前は、一般的なパターンとアンチパターン、およびRailsモデルとビューとの関係について説明しました。この投稿では、MVC(Model-View-Controller)デザインパターンの最後の部分であるtheControllerを分析します。 Railsコントローラーに関連するパターンとアンチパターンを詳しく見ていきましょう。 最前線で Ruby on RailsはWebフレームワークであるため、HTTPリクエストはその重要な部分です。あらゆる種類のクライアントがリクエストを介してRailsバックエンドにアクセス
-
Rubyコードのリンティング
リンティングは、潜在的な問題を検索するためにコードを静的に分析するプロセスです。 この場合、問題を構成するものは、プログラミング言語間、または同じ言語内のプロジェクト間でさえ異なる可能性があります。これらの問題をいくつかの異なるカテゴリに分類します。 プログラマティック セキュリティ 文体 パフォーマンス それぞれの例をいくつか見てみましょう。 文体の問題 コードのスタイルを設定するための客観的に正しい方法はありません。それはすべて読者の好みに関するものだからです。重要なのは一貫性です。議論の一般的なポイントは次のとおりです。 二重引用符と一重引用符 タブとスペース 最大行長 以下
-
Sidekiqジョブの重複を回避する3つの方法
Rubyコードを記述している場合は、Sidekiqを使用してバックグラウンド処理を処理している可能性があります。 ActiveJobから来ている場合 または他の背景については、しばらくお待ちください。ここで取り上げたヒントのいくつかは、そこにも適用できます。 人々はさまざまなケースで(Sidekiq)バックグラウンドジョブを利用します。いくつかのクランチナンバー、いくつかのユーザーへのウェルカムメールのディスパッチ、およびいくつかのスケジュールデータ同期。あなたのケースが何であれ、あなたは最終的に重複した仕事を避けるための要件に遭遇するかもしれません。重複した仕事によって、私はまったく同じこ
-
Railsのパフォーマンス、ストレス、および負荷テスト
テストは、メンテナンスが悪夢ではなく、新しい機能が一貫して追加されたり、既存の機能が改善されたりする、ほとんどの正常に機能するRailsアプリケーションの不可欠な部分です。残念ながら、多くのアプリケーションにとって、実稼働環境では、初めて大きなワークロードまたは大量のトラフィックが発生します。このようなテストには費用がかかるため、これは理解できます。 ありがたいことに、Railsは、ユニット、エンドツーエンド、統合テストだけでなく、パフォーマンスとロードに関連するテストも適切にサポートしています。これらすべてを記事で取り上げ、アプリケーションのパフォーマンスレベルをテストするツールを効率的に
-
データベースのパフォーマンスを監視および最適化する方法:実用ガイド
アプリケーションアーキテクチャの特定の側面だけでなく、アプリケーションアーキテクチャ全体を見て、さまざまな部分がどのように接続されているかを理解できることが重要です。可観測性が最初に来て、次に監視が続きます。 この投稿では、アーキテクチャのデータベース部分について詳しく説明し、データベースのパフォーマンスを監視および最適化する方法を示します。以下の原則のほとんどは、スタックに関係なく、またはPostgreSQL、MongoDB、またはその他のデータベースのパフォーマンスを監視および最適化するかどうかに関係なく適用されます。 データベースのパフォーマンスを監視する理由 クエリが非常に遅く、ア
-
一般的なRubyonRailsの問題とポイント
RubyonRailsのパターンとアンチパターンシリーズの最後の部分へようこそ。これらすべてのトピックを書き、調査することは、かなりの乗り物でした。このブログ投稿では、RubyonRailsアプリケーションを構築して出荷するときに遭遇した最も一般的な問題について説明します。 ここで説明するアイデアは、コード内のほぼすべての場所に当てはまります。したがって、これらは、Model-View-Controllerパターンに関連するものではなく、一般的なアイデアと見なしてください。 Rails MVCに関連するパターンとアンチパターンに興味がある場合は、モデル、ビュー、およびコントローラーのブログ投
-
Rubyでのパターンマッチングの概要
Rubyでのパターンマッチング、その機能、およびコードの可読性の向上にどのように役立つかについての簡単な説明から始めましょう。 数年前の私のような人なら、正規表現のパターンマッチングと混同するかもしれません。他のコンテキストがない「パターンマッチング」をGoogleですばやく検索しても、その定義にかなり近いコンテンツが表示されます。 正式には、パターンマッチングは、データ(文字のシーケンス、一連のトークン、タプルなど)を他のデータと照合するプロセスです。 プログラミングに関しては、言語の機能に応じて、これは次のいずれかを意味する可能性があります。 予想されるデータ型との照合 予想される