window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() レールおよびその他の輸送手段 - The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2021-06-30
ソフトウェア開発

レールおよびその他の輸送手段

The Codest

クシシュトフ・ブシェビッチ

シニア Software Engineer

Railsは、迅速なアプリケーション開発に焦点を当てたRack互換フレームワークです。しかし残念なことに、「すべてを箱から出す」というアプローチやRails流の盲目的な動作によって、アプリケーションコードの受け答え(可読性)と動作の両面で品質が損なわれることがよくあります。

よくあるRailsとRails-wayの問題

で言及されている問題: Shopifyに関する記事

  • ルーティング
  • ビフォア・アクション、
  • コントローラーの大きなアクション、
  • コントローラのプライベートメソッド、
  • ミキシンは一度だけ使用される、
  • ビューのロジック、
  • ActiveRecordのコールバック、
  • アソシエーション
  • "太ったモデル"

その他の問題

  • アクティブレコードの検証、
  • 明示的より暗黙的
  • DRYの乱用、
  • 協会への委任
  • モデルのサービスコール。

Railsの代替品

に関しては レールズ での ルビー の世界では、いくつかの選択肢がある。Rackをベースにした他のフレームワークには以下のようなものがある:- シナトラ, – ロダ, – 花見.

何が彼らをユニークにしているのか?

SinatraもRodaもブロックルーティング構文を提供してくれますが、Sinatraのルーティングはリストで、Rodaのルーティングはツリーです。どちらのフレームワークでも、モデルレイヤーの実装は自分で行う必要があります。Rodaの場合、Sequel gemを使うのがよいでしょう。

RodaはSinatraにインスパイアされている。それ自体はとても軽いが、プラグインがたくさんある。

お花見が最も近い レールズ フレームワークでカバーされる分野に関しては。使用上の最も重要な違いは以下の通りである:

  • のコントローラ レールズ 対花見での行動、
  • 特定のリソース(モデル)に関連するアクションのための1つのコントローラではなく、特定のHTTPリクエストを処理する専用のクラス/オブジェクトです、
  • リポジトリとエンティティに基づくモデルレイヤーは、アクティブレコードパターンではなく、アプリケーションの残りの部分から永続性を分離する。

Hanamiのバージョン1では、ベースになっているROMの使用が強く制限されている(バージョン3、すでに5)ので、そこで提案されているモデルレイヤーを使う価値はない。しかし、非常にオープンなフレームワークなので、そこに独自のモデルを実装するのは非常に簡単だ。

Rails用サプリメント

に依存しないソリューションを使う価値はある。 レールズ より "純粋 "に近い ルビー.プレゼンテーションで言及されたツールは以下の通り:

  • Sequel(ORM、ActiveRecordの代替)、
  • ROM(オブジェクトマッパー)、
  • dry-rbライブラリ:dry-validations、dry-system、dry-monads。

続編は プロジェクトプラグインをベースにしており、アクティブレコードパターンも実装している。これは レールズ' ActiveRecord.

ROMはSequelを使用しているが、そのコンセプトはデータベース内のレコードと ルビー オブジェクト。スピードとデータ変換を目指す。アプリケーション内の永続化レイヤーを明確に分離する。

Dry-Rbライブラリは非常に便利なツールだ:

  • dry-validationはAPIプロジェクトで非常に使いやすく、入力されるデータの正しさを非常にコントロールしやすい、
  • dry-systemは、開発者が理解するのに少し練習と忍耐が必要だが、アプリケーションの依存関係を非常に柔軟に管理し、プロジェクトのコンポーネントを分離してロードすることができる。 レールズドライレールを使えばいい、
  • ドライ・モナドは理論的には難しい概念だが、実際には理解しやすい。 コード を分岐させる代わりに、特定のケースを考慮する。

結論

を使うのがベストだ。 レールズ を使う必要がない。 レールズ ある日のことだ。

情報源

記事

  • Railsアプリのコード臭(Shopifyによる)
  • 花見:レポツィトリア
  • レールガイド

フレームワーク

  • シナトラ
  • ロダ
  • 花見

宝石

  • 続編
  • ROM
  • ビブリオテキ・ドライRB
  • Ruby JSON スキーマ検証ツール (json-schema)
  • ページ
  • ロダウト
  • ロドートレール

仕様

  • ラック
  • JSONスキーマ

続きを読む

Ruby on Jetsとは何か、それを使ってどのようにアプリを作るのか?

Vuelendar。Vue.jsをベースにしたCodestの新しいプロジェクト。

コーデストの技術記事週間ベストレポート。50M同時ソケットのソフトウェアを構築する (10)

関連記事

ソフトウェア開発

将来を見据えたウェブ・アプリケーションの構築:The Codestのエキスパート・チームによる洞察

The Codestが、最先端技術を駆使してスケーラブルでインタラクティブなウェブアプリケーションを作成し、あらゆるプラットフォームでシームレスなユーザー体験を提供することにどのように秀でているかをご覧ください。The Codestの専門知識がどのようにデジタルトランスフォーメーションとビジネス...

ザ・コデスト
ソフトウェア開発

ラトビアを拠点とするソフトウェア開発企業トップ10社

ラトビアのトップソフトウェア開発企業とその革新的なソリューションについて、最新記事でご紹介します。ラトビアの技術リーダーたちがあなたのビジネスをどのように向上させるかをご覧ください。

thecodest
エンタープライズ&スケールアップ・ソリューション

Javaソフトウェア開発の要点:アウトソーシングを成功させるためのガイド

outsourcingのJavaソフトウェア開発を成功させるために不可欠なこのガイドを読んで、The Codestで効率性を高め、専門知識にアクセスし、プロジェクトを成功に導きましょう。

thecodest
ソフトウェア開発

ポーランドにおけるアウトソーシングの究極ガイド

ポーランドのoutsourcingの急増は、経済、教育、技術の進歩がITの成長とビジネス・フレンドリーな環境を促進していることによる。

ザ・コデスト
エンタープライズ&スケールアップ・ソリューション

IT監査ツール&テクニック完全ガイド

IT監査は、安全かつ効率的で、コンプライアンスに準拠したシステムを保証します。その重要性については、記事全文をお読みください。

The Codest
ヤクブ・ヤクボヴィッチ CTO & 共同創設者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese