-
GCE、クラウドストレージ、PubSubを使用してRubyで稼働時間監視システムを構築する
稼働時間の監視には、Webサイト、API、およびサーバーの可用性のチェックが含まれます。モニターは、指定された間隔内で特定のエンドポイントをプローブして、それが使用可能かどうかを判別します。目標は、システムのSLAで指定されているように、契約レベルの可用性を達成し、契約が満たされていない場合の違いを判断することです。 この記事では、Prometheusblackbox_exporterに基づく稼働時間監視システムを構築します。カスタムHTTP監視システムを構築するのは簡単かもしれませんが、エクスポーターの周りにラッパーを構築することで、他の多くのプローブ手法にアクセスし、システムの他の要素を
-
ActionCableとTurboを使用してRailsでリアルタイムチャットアプリを構築する
Facebookにアクセスして、ページを更新せずに通知を受け取ったことはありますか?この種のリアルタイム機能は、状態管理を介したReactなどのJavaScriptフレームワークを使用するほとんどのアプリケーションで実現されます。これらのアプリケーションのほとんどは、データをリアルタイムで更新するために使用中にページをリロードする必要がないため、シングルページアプリケーションとして機能します。Railsアプリケーションは、通常、ページのリロードが必要であるという意味で、ステートレスでした。アプリケーションの現在の状態。たとえば、劇場で利用可能な映画のリストを表示するRailsアプリを使用してい
-
Rubyニュースブリーフ(2021年第3四半期)
Honeybadgerの四半期ごとのブリーフィングでは、プログラミングコミュニティの最も重要な開発について最新情報を入手できます。本当に重要なことに集中できるように、ニュースを厳選しています。 イベント:会議や交流会。今後および最近完了しました。 セキュリティ:最近の脆弱性レポート プロジェクト:主要なコミュニティプロジェクトに関するニュース トレンドトピック:みんなが話している大きなトピックの要約 傑出したコンテンツ:他のセクションには収まらなかったが、クールすぎて除外できないコンテンツ。 イベント 11月8〜10日のRubyConf 2021 RubyConfは、Rubyの愛好家
-
ActiveSupports #descendantsメソッド:詳細
RailsはRubyの組み込みオブジェクトに多くのものを追加します。これは、Rubyの「方言」と呼ばれるものであり、Rails開発者が1.day.agoのような行を記述できるようにするものです。 。 これらの追加のメソッドのほとんどは、ActiveSupportに存在します。今日は、ActiveSupportがクラスに直接追加するあまり知られていないメソッドdescendantsを見ていきます。 。このメソッドは、呼び出されたクラスのすべてのサブクラスを返します。例:ApplicationRecord.descendants それを継承するアプリ内のクラス(たとえば、アプリケーション内のすべ
-
RailsアプリでのDynamoDBの使用
DynamoDBは、その中核となるNoSQLデータベースであり、キー値とドキュメントのデータ構造を提供します。これを開梱しましょう。これを読んでいる開発者のほとんどは、テーブル、行、列に正規化された明確に定義されたスキーマとデータを含む従来のリレーショナルデータベースシステムに精通していると思います。これらのテーブルの間には、外部キーを利用する「関係」があります。対照的に、DynamoDBはスキーマレスです。すべてのテーブルに主キーが必要ですが、他の非キー属性に他の制約はありません。これはいつ有益でしょうか?さて、AmazonがDynamoDBを作成した理由を学びましょう。 Amazonは、
-
Rubyを使用したGoogleCloud関数の構築、テスト、デプロイ
サーバーレス機能は、クラウドサービスの開発と展開の新しいプログラミングパラダイムです。サーバーレスの世界では、バックエンドサービスのプロビジョニング、メンテナンス、スケーリングをクラウドプロバイダーに抽象化します。これにより、開発者は特定の問題の解決に集中できるため、開発者の生産性が大幅に向上します。サーバーレス関数を構築することには多くの長所と短所がありますが、それらを構築する際に考慮すべきことの1つは言語サポートです。最近、GoogleはGoogle CloudFunctionsでのRuby2.7のサポートを発表しました。この記事では、Ruby on Google Cloud Functi
-
ドライモナドを使用した鉄道における鉄道指向プログラミング
エラー処理は、すべてのプログラムの重要な部分です。コードの実装中にどのようなエラーが発生する可能性があるかについて積極的に取り組むことが重要です。これらのエラーは、各エラーとそれが発生したアプリケーションの段階を適切に説明する出力が生成されるように処理する必要があります。それでも、コードが機能し、読みやすい状態を維持できるようにこれを実現することも重要です。あなたがすでに持っているかもしれない質問に答えることから始めましょう:鉄道指向プログラミングとは何ですか? 鉄道指向プログラミング 特定の目的を達成する機能は、より小さな機能の組み合わせである可能性があります。これらの機能は、最終的な目標
-
RubyでのAWSLambda関数の記述
AWS Lambdaを使用すると、オーバーヘッドを最小限に抑えながらスケーラブルな関数をセットアップできます。 Ruby on Railsアプリ全体を作成、ホスティング、保守する代わりに、Lambda関数を使用して個々のイベントに個別に応答できます。この記事では、AWSの初心者から、独自のLambda関数でRubyを作成する方法について説明します。 Lambdaを使用すると、サーバーを管理しなくても、イベントに応答してコードを実行できます。このイベント駆動型アーキテクチャにより、コードの支払いは、アイドリング中ではなく、機能している間だけになります。 Lambdaは、S3バケット内のファイル
-
TurbolinksからTurboへの移行
Webアプリケーションのナビゲートを高速化するための優れたツールであるTurbolinksは、現在活発に開発されていません。これは、Hotwireアンブレラの一部であるTurboと呼ばれる新しいフレームワークに取って代わられました。 その背後にあるチームは、フレーム、フォーム送信、ネイティブアプリなど、他のものがTurbolinksから抽出された同様の概念を採用して、より高速なWebに準拠できることを理解していました。 この記事の目的は、Turbolinksの新しい代替品であるTurboフレームワークのガイドを提供することです。これには、Turboで最も重要で一般的に使用されるTurbol
-
ViewComponentGemの紹介
Reactに触発されたViewComponentsは、ビューをレンダリングするためのマークアップを構築するために使用されるRubyオブジェクトです。 ViewComponentは、Railsで再利用可能、テスト可能、およびカプセル化されたビューコンポーネントを構築するためのフレームワークです。通常、再利用可能なビューは、パーシャルを使用してRailsで作成され、必要に応じてさまざまなビューでレンダリングされますが、ViewComponent gemの導入により、パーシャルをビューコンポーネントと交換できるため、より多くの利点が得られます。これらの利点について詳しく見ていきましょう。 いつ、なぜ
-
Railsアプリでユーザー権限を管理するための完全ガイド
Webアプリケーションの一般的な要件は、特定の役割と権限を割り当てる機能です。 多くの種類のWebアプリケーションは、制限付きアクセスを提供する際に管理者と通常のユーザーを区別します。これは多くの場合、ユーザーが管理者であるかどうかを判断する単純なブール値を使用して実行されます。ただし、役割と権限ははるかに複雑になる可能性があります。 アプリケーションの価値は、特定のデータとアクションへのアクセスを制限することにあります。それは間違いなくあなたが台無しにしたくないものです。この投稿では、基本的なRubyonRailsアプリケーションにロールと権限を実装する方法について説明します。 権限を管
-
Rails Hidden Gems:ActiveSupportキャッシュのインクリメントとデクリメント
Railsは、特定の状況に対応する多くの便利なツールが組み込まれた大規模なフレームワークです。このシリーズでは、Railsの大規模なコードベースに隠されているあまり知られていないツールのいくつかを見ていきます。 この記事では、incrementについて説明します。 およびdecrement Rails.cacheのメソッド 。 Rails.cacheヘルパー Rails.cache アプリケーションのキャッシュと対話するための入り口です。これは抽象化でもあり、内部で使用されている実際のキャッシュ「ストア」に関係なく呼び出すための共通のAPIを提供します。箱から出して、Railsは以下をサポ
-
ストライプ付きRailsで1回限りの購入を販売する方法
Stripeは、何百万もの企業で使用されており、サブスクリプションと1回限りの購入を処理するアプリケーションに支払いインフラストラクチャを提供します。 Stripe Checkoutを使用すると、コンバージョンを増やすために作成されたホスト型支払いページを介してカード支払いを簡単に受け入れることができます。これをWebhookと組み合わせると、開発者は製品やサブスクリプションを販売し、それらをデジタルで配信できます。 既存のプロバイダーを使用して自分で支払いを処理することは技術的に可能ですが、Stripeには多くの利点があります。手始めに、それはより速いです。 Stripeには、4,000人
-
Rubyオブジェクトモデルを詳細に理解する
ウィキペディアによると、オブジェクト指向プログラミング(OOP)は、「オブジェクト」の概念に基づくプログラミングパラダイムであり、データとコードを含めることができます。フィールド形式のデータ(多くの場合、属性またはプロパティと呼ばれます)と形式のコードです。手順の(多くの場合、メソッドとして知られています)。 Rubyは純粋なオブジェクト指向言語です。つまり、Ruby言語では、すべてがオブジェクトです。これらのオブジェクトは、文字列、数値、クラス、モジュールなどであるかどうかに関係なく、オブジェクトモデルと呼ばれるシステムで動作します。 。 Rubyはobject_idと呼ばれるメソッドを
-
RuboCopを使用したRubyコードのリンティングと自動フォーマット
リンティングは、プログラムおよびスタイルのエラーについてソースコードを自動チェックすることです。このチェックは、リンターと呼ばれる静的コード分析ツールによって実行されます。ただし、コードフォーマッタは、事前に構成された一連のルールに厳密に準拠するようにソースコードをフォーマットするためのツールです。リンターは通常違反を報告しますが、問題を修正するのは通常プログラマー次第ですが、コードフォーマッターはそのルールをソースコードに直接適用する傾向があるため、フォーマットの間違いを自動的に修正します。 プロジェクトでより一貫性のあるコードスタイルを作成するタスクでは、通常、個別のリンティングツールと
-
Kafkaを使用したRailsでのイベントストリーミング
企業は、大量のデータをリアルタイムで処理および共有する必要性に迅速に対応して、洞察を得て、より魅力的な顧客体験を生み出すことを望んでいます。そのため、従来のデータ処理は今日の世界ではもはや実行可能ではありません。 これを実現するには、大量のデータを可能な限り高速に処理してから、他のサービスに送信してさらに処理する必要があります。ただし、これらすべての迅速なアクションの途中で、イベントが発生したときに消費者に通知する必要があります。これは、イベントストリーミングを使用して行うことができます。 これは、使用するGitHubのリポジトリです。 イベント イベントストリーミングについて話す前に、
-
隠された宝石:ActiveRecordストア
Railsは、特定の状況に対応する多くの便利な組み込みツールを備えた大規模なフレームワークです。このシリーズでは、Railsの大規模なコードベースに隠されているあまり知られていないツールのいくつかを見ていきます。 この記事では、ActiveRecordのstoreに焦点を当てます およびstore_accessor メソッド。これらの方法はどちらも、JSONやYAMLなどのデータベース列に構造化データを格納するユースケースを対象としています。 store_accessor ゲッターメソッドstoreでモデルを詰まらせることなく、これらのデータから値を取得する便利な方法を提供します さらに一歩
-
既存のRailsアプリケーションのコンテナ化
コンテナ化ソフトウェアは、開発と展開を容易にするために、標準化されたユニットにパッケージ化しています。コンテナは、アプリケーションのコードとそのすべての依存関係をバンドルします。コンテナは完全にスタンドアロンにすることができます。これには、ソフトウェア、ランタイム環境、およびシステムライブラリを含むパッケージが含まれています。コンテナは、開発者と運用チームが、環境に関係なく、ソフトウェアが同じように実行されることを保証するのに役立ちます。コードをインフラストラクチャから分離することで、「コンテナ化」されたアプリは、ローカル環境、テスト環境、本番環境で同じように実行されます。 Dockerは、
-
RailsでのElasticsearchによる全文検索
Elasticsearchは、世の中で最も人気のある検索エンジンの1つです。それを愛し、制作に積極的に使用している多くの大企業の中には、Netflix、Medium、GitHubなどの巨人がいます。 Elasticsearchは非常に強力であり、主なユースケースは全文検索、リアルタイムログ、セキュリティ分析を特徴としています。 残念ながら、ElasticsearchはRailsコミュニティからあまり注目されていないため、この記事では、Elasticsearchの概念を読者に紹介し、RubyonRailsで使用する方法を示すという2つの目標を念頭に置いてこれを変更しようとしています。 ここ
-
Rubyプログラミングは何に使用されますか?
Rubyプログラミングとその人気のあるWebフレームワークについて聞くために、プログラミング言語の調査に多くの時間を費やす必要はありません。 Ruby on Rails 。他の多くのアプリケーションと同様に、インターネットの膨大な範囲はRubyプログラミング言語で構築されています。しかし、Rubyプログラミング言語とは何ですか。 Rubyプログラミングの用途 ? Rubyプログラミング言語とは何ですか? Rubyは他のコーディング言語とどのように比較されますか? Rubyプログラミングは何に使用されますか? Rubyプログラミングはどこで学ぶことができますか?