CMSおよびメディア発行サむト甚の䞀連のRubyラむブラリ



CMSメディア出版物を開発するための䞀連のラむブラリは、実際には他のアプリケヌションず倉わりたせん。 TapeずVedomostiのサンプルアプリケヌションを䜿甚しお、各ラむブラリの遞択に぀いおコメントするこずにしたした。 説明は、各gemのディスカッション圢匏です。

前のレビュヌ蚘事 Media Editionの再起動抂芁

CMS Tapes.ru


テヌプに぀いお曞かれたものは2014幎4月たで関連がありたした。

gem 'unicorn' 

foxweb Pumaでない理由を説明する必芁がありたす。
7even 存圚したせん。
zaur これは私の保守的なアプロヌチで、Puma Webサヌバヌの可胜性を解き攟぀自由を人々に䞎えたせん。 耇数のプロセスが実行されおいる堎合、クラシックWebサヌバヌモデルを䜿甚するこずを奜みたす。 たた、ハンドラヌが埓来のむンタヌプリタヌの異なるスレッドで芁求を競争的に凊理するモデルは奜きではありたせん。 MRIむンタヌプリタヌのスレッドセヌフに察する信頌の欠劂ず、jRubyたたはRubiniusに切り替えるこずを誰もが嫌がり、遞択が事前に決定されたした。
7even ルビヌに切り替える準備ができたした。
foxweb さお、はい。
zaur  7even 、最近では異なる意芋がありたした。
7even  ルビニりスは急速に発展しおいたす。 数ヶ月前、圌は%i(foo bar)ずいう圢匏の構造に萜ちたした。

 gem 'newrelic_rpm' gem 'newrelic-redis' 

foxweb RedisのRailsアプリケヌションずメッセヌゞキュヌは、NewRelicサヌビスの垞時監芖の䞋で機胜したした。 財政が蚱せば、すべおの重芁なプロゞェクトで間違いなくこのツヌルを䜿甚する必芁がありたす。 NewRelicは、数時間ず就業日を節玄し、開発者の静かな眠りを助け、解雇や怪我からさえ救助したす。 線集スタッフの誰かが「䜕も動䜜したせん」ず叫ぶ前に、どのサヌバヌで、どのような理由で動䜜しなかったのか、誰が壊れたのか、誰が修理したのか、誰が切断されるのかをすでに知っおいたした。 HTMLペヌゞにいく぀かのグラフを配眮し、壁の倧きなモニタヌで1日24時間回転させたした。 誰もが垞に「サむトの内容」を知っおいたした。 1人の開発者の寄せ集めは、チヌム党䜓で芋られたす。 NewRelicは、「ドロップ-䞊昇」する反応時間を可胜な限り短瞮したす。 オンラむンメディアの堎合、これは特に重芁です。
zaur モゞュヌルをセットアップするずきは、テスト環境ず開発環境を陀倖するこずを忘れないでください。 蚭定ファむルで行われたす。



 gem 'rails', '~> 3.2' 

foxweb これはRailsです。
zaur それで、叀いレヌル。 圌らは新しいものに切り替えたせんでした、誰もが「すべおが壊れる」こずを恐れおいたした。
foxweb より正確には、圓時のほずんどの宝石はRails 4に適合しおいたせんでした。

 gem 'faye' 

foxweb Fayeは、WebSockets pub / subの単玔な実装であり、同じサむトに座っおいる異なるナヌザヌ間でメッセヌゞを亀換するこずに焊点を圓おおいたす。 最初は、これはWeb゜ケットでの非垞に䟿利なチャットです。 私たちのプロゞェクトでは、フェむは管理゚リアの線集者間でメッセヌゞを送受信したした。 誰かが新しいテキストを保存し、誰かが10枚の写真をアップロヌドしたした-受信したメッセヌゞ。 しばらくするず、サヌバヌは写真が生成および公開されたこずを報告したす。この蚘事に珟圚関䞎しおいる党員がメッセヌゞを受信したした。 これはすべお線集者にずっお非垞に䟿利であり、盞互䜜甚のレベルを高め、線集者党䜓の䜜業を加速したした。 Skypeで「みんな、このニュヌスに觊れないで、今すぐ保存したす」たたは「ギャラリヌに行っお、䜜成したした」ず曞く必芁はありたせんでした。 ゞャヌナリングおよびバヌゞョニングシステム、差分比范サヌビスずの組み合わせにより、線集チヌムは同じ資料で䜜業するこずが非垞に䟿利になりたした。 実装する時間がなかったのは、通知システムのロヌルずアクセスレベルによる分離だけです。 たずえば、線集長が特別なペヌゞですべおを芋るこずができ、どこでも「シャむニング」する必芁がなく、研修生が特定の皮類のメッセヌゞを受信できるようにするこずは興味深いでしょう。 ただし、フェむを暪から䜿甚できないようにするために倚くの䜜業が行われたした。 䜕でも起こりたす。 たずえば、Redisに保存されたCookieおよびトヌクンを介した承認は、ある皋床実装されたした。 トヌクンは、特定の線集者のアカりントに関連付けられおいたした。 これにより、線集者は䜜成者に代わっお「Vasily Petrovが文曞を保存した」かのようにメッセヌゞを芋るこずができたした。 基本バヌゞョンでは、fayeはナヌザヌ認蚌ずメッセヌゞ保護を䞀切扱わず、Rails環境ずはたったく接続したせん。
ksavelyev ええ、実際にはそれほど単玔ではありたせん。フェむは誰にずっおも良いのですが、スケヌルしたせん。

 gem 'faye-redis' 

foxweb 名前が瀺すように、pub / subメッセヌゞの䞭間ストレヌゞずしおRedisを䜿甚できるfayeのプラグむン。 トヌクンの承認ず保管にのみ䜿甚したしたそうです。
zaur ...そしお、ResqueやCloudyビデオを操䜜するための自䜜のクラフトなどのバックグラりンドプロセスのキュヌを保存したす。

 gem 'thin' 

foxweb ThinはFayeのサヌバヌです。
zaur お気に入りのプヌマではありたせん。
7even ここで、 zaurは非同期サヌバヌを気にしたせん:)
ksavelyev Zaurには遞択の䜙地がありたせん。そうでなければFayeは動䜜したせん;

 gem 'pg' 

foxweb MySQLからPostgresぞの玠晎らしい移行。 圌らはgitで別のブランチを䜜成し、そこですべおを埮調敎し、テストし、ステヌゞングしたした。 最初に、構造をSQLファむルにダンプしたした。 圓然、Postgresぞの盎接むンポヌトには適さないこずが刀明したした。 たずえば、ファむル党䜓で匕甚笊を眮き換える必芁がありたしたが、いく぀かの問題は手動で修正されたした。 7evenは、そのようなプロゞェクトのMySQLがなぜ悪いのかに぀いお玠晎らしい物語を曞くず思いたす。
7even MySQLにはhstoreがありたせん:)実際、真剣に、RubyコミュニティのPostgresははるかに人気があり、その結果、問題の解決策をグヌグルで怜玢するのが簡単です。 さらに、カスタムデヌタ型配列、json、同じhstoreにより、䜜業が楜になりたす。 Psqlコン゜ヌルクラむアントの方がはるかに䟿利です少なくずも少し習埗するには。
zaur しかし、 ksavelyevは、MongoDBに完党に切り替える必芁があるず考えおいたす。

 gem 'postgres_ext' gem 'activerecord-postgres-json', github: 'michaelbn/activerecord-postgres-json' gem 'activerecord-postgres-hstore' 

zaur MySQLからPostgreSQLに切り替えるずき、レヌルは3番目のバヌゞョンでした。 これらのラむブラリを䜿甚しお、PostgreSQL拡匵をサポヌトしたした。

 gem 'marionette-rails' 

ksavelyev MarionetteラむブラリヌをAsset Pipeliteに远加したす。 Marionetteは、Bacbonに別のレベルの抜象化を远加し、モゞュヌル、アプリケヌションの抂念を導入し、コレクションの芖芚的衚珟での䜜業を䟿利にしたす。 ベヌコンからほずんどその角を䜜りたす。
zaur 角床は最埌たで無芖されたした。

 gem 'haml_assets' gem 'dust_assets' gem 'haml_coffee_assets' 

ksavelyev haml / dustテンプレヌトのサポヌトを远加し、指定された構文でテンプレヌトを蚘述し、Asset Pipeline内で䜿甚できるようにしたす。その結果、JSアプリケヌション内で、もずもずhaml / dustで蚘述されたコンパむル枈みのすぐに䜿甚可胜なテンプレヌトを含む倉数を取埗したす。

 gem 'turbo-sprockets-rails3' 

ksavelyev rakeアセットの実行を高速化したす。倉曎されたアセットのみをコンパむルおよびマヌゞしおプリコンパむルし、叀いアセットを削陀するための远加機胜が含たれたす。

 gem 'terminal-notifier-guard' 

foxweb システムのポップアップ通知ナヌティリティぞのGemむンタヌフェむス。 LinuxおよびOS Xでのテスト䞭に、ポップアップステヌタスメッセヌゞが衚瀺されたす-成功、倱敗。 䟿利テストは単独で実行されたす。この時点で別のりィンドりに切り替えるこずができ、ポップアップ通知によりテストの完了が通知されたす。

 gem 'guard' gem 'guard-rspec' gem 'guard-zeus' 

foxweb Springは、バックグラりンドコヌドのプリロヌドのためにRails 4.1で導入されたした。 Rails 3では、同じ目的でZeusを䜿甚する必芁がありたした。 開発者がファむルを倉曎するず、Zeusは盎ちにファむルを再起動し、それに関連するRSpecテストを実行したす。 Guardは、プロゞェクトファむルの倉曎に関連するむベントを远跡するツヌルずしお倚くの人に知られおいたす。 guard-rspecは、ファむルを保存するずきにテストを実行するだけです。
zaur あれ、2番目のほうが䞍䟿だった。 必芁なテストを手で盎接実行する方が簡単です。 そしお、ルビヌのパフォヌマンスの悪さに察する堅実な蚀い蚳です。
7even 「ルビヌの䜎パフォヌマンス」ではなく、鉄道アプリケヌションの開始が遅いこずです。 圓然、数秒で起動した堎合、これらの束葉杖は必芁ありたせん。
foxweb 14秒で470スペックで十分高速です。



 gem 'rspec-rails', '~> 2.14' 

foxweb 以前はTestUnitを䜿甚しおいたようですが、その埌7evenが提䟛されたため、すぐにRSpecに切り替えたした。 これにより、テストプロセスが新しいレベルになりたした。 完党なTDDがありたした。 その埌、新しいコヌドがほずんどなかったため、テストの䜜成を停止したした。䞀郚のコヌドはテストでカバヌするのが非垞に困難たたは非実甚的でした。
zaur 議論の䜙地のある決定で、倧倚数を獲埗したした。 そしお、この新しいレベルは「nafigテスト」ず呌ばれたす。

 gem 'ffaker' 

foxweb 新しい゚ンティティを䜜成する堎合、ランダムなデヌタ名前、姓、電子メヌル、䜍眮などをテストしお入力する必芁がありたした。 デバッグの過皋で、通垞のプログラマは1〜3゚ントリを䜜成できたすが、その埌退屈し、コヌドは未開発のたたです。 実際、このgemのクラスを䜿甚するず、非垞に倚様で、最も重芁なこずずしお、信頌できる情報を生成できたす。 7evenはロシアの名前ず姓のゞェネレヌタヌを远加するこずでそれに貢献したした。 したがっお、実皌働環境に展開する前に、さたざたなデヌタセットのパフォヌマンスをデバッグできたした。 このgemの䜿甚はテストに関連付けられおいたせん。 たずえば、テストの䜜成時には、暙準のレヌル固定具が䜿甚されたした。

 gem 'quiet_assets' 

foxweb サむレントアセット
ksavelyev たったく、静かです。 レヌルアプリケヌションが開発者のマシンで開発モヌドでロヌカルに実行されるず、Webサヌバヌは静的自身を提䟛したす。 本番環境では、Nginxがこれを行い、アセットのログを個別に管理したす。 開発では、Webサヌバヌがアセットのバンドルに提䟛した情報は通垞、誰も必芁ずしたせん。このgemは、静的ファむルがブラりザヌに提䟛されたガベヌゞメッセヌゞをブロックしたす。 必芁に応じお、そのようなgemがない堎合、grepを䜿甚しおログをい぀でもフィルタリングできたす。たずえば、 tail -f development.log | grep SELECT tail -f development.log | grep SELECTは、ログ内のSQLク゚リの出珟を監芖したす。

 gem 'colorize' 

foxweb コン゜ヌルにデヌタを出力するずきむンポヌトログたたは䜕らかのrakeタスクなど、コン゜ヌルメ゜ッドを䜿甚しお色付きの線を衚瀺でき、ログの䞀般的な読みやすさが向䞊したした。

 gem 'rails-erd' 

foxweb ある時点で、゚ンティティずそれらの間の関係の数が非垞に増えたため、それらを芚えお新しい埓業員に知識を䌝達するこずが難しくなりたした。 このgemを䜿甚するず、リンクずさたざたなオプションを含むモデルの図をいく぀かのアクションで生成できたした。 その埌、図はA3の倧きなシヌトに印刷され、よく考えられたした。
zaur それから圌らはそれを投げおボヌドにペむントしたした。

 gem 'ruby_parser' 

foxweb 誰かがRubyの解析を詊しおいたした。 おそらく、独自のファむル泚釈゚ンゞン甚です。
7even 私ではありたせん。

 gem 'capistrano' 

foxweb Capistranoでは、Minaが登堎するたではすべお順調でした。 Capistranoはゆっくりず動䜜したしたが、マルチサヌバヌ展開を行うこずができたした。 ミヌナは高速で、圌女の出力はずっず読みやすくなっおいたす。 CMSずフロント゚ンドをMinaに転送するこずはできたせんでしたが、Minaの助けを借りお特別なプロゞェクトず、たずえばDom.lenta.ruが最初に展開されたした。 マルチサヌバヌ展開は、ホストのリストを単玔なサむクルを䜿甚しお非垞に単玔に「゚ミュレヌト」されたしたせいぜい4぀しかなかったようです。 ぀たり、1回の実行で4぀のホストに4぀のデプロむメントのみが実行されたす。
zaur 珟圚、どちらも展開に䜿甚されおいたせん。 ansibleを䜿甚しお制埡回路に切り替えたした。 サヌビスを䞭断せずに展開するず、HAProxyが提䟛されたす。
7even 鉱山の5倍遅くなりたしたが、停止時間はれロになりたした。
foxweb 秘密をお䌝えしたす。珟圚の蚭定ではダりンタむムさえれロではありたせん;

 gem 'better_errors' gem 'binding_of_caller' 


ksavelyev better_errorsは、500番目の゚ラヌの暙準情報画面を倧幅に改善したす。 コヌルスタックブラりザずむンタラクティブなrubyコン゜ヌルが衚瀺され、オブゞェクトのステヌタスを衚瀺できたす。
foxweb ブラりザのコン゜ヌルなしでレヌルアプリケヌションをデバッグする方法がわかりたせん。
7even ブラりザではなく、手動でリンクをテストしお、テストを䜜成する必芁がありたす。
ksavelyev フロント゚ンドがバック゚ンドでテストを䜜成し、バック゚ンドがシャドりを䜜成しおフォントをペヌゞに統合するず、䞖界は間違いなく良くなりたす。
foxweb たずえば、通垞のコン゜ヌルでレむアりト゚ラヌをキャッチするこずが䞍可胜な堎合を意味したす。

 gem 'jazz_hands' 

7even  こじ開け 、awesome_print、およびいく぀かのこじ開けパンのセット。
foxweb 暙準のレヌルコン゜ヌルのコン゜ヌルに、矎しい色付け、構文の匷調衚瀺、出力の曞匏蚭定を远加したす。 倚くの堎合、皌働䞭のサヌバヌのコン゜ヌルに登らなければならなかったため、本番環境に残されたした。

 gem 'active_record-annotate' 

7even モデルに泚釈を付けるために、最初はannotate_modelsを䜿甚しおいたしたが、ある時点でPostgreSQLの新しいデヌタ型に分解し始めたした-そしお、独自の実装を蚘述するこずにしたした。
foxweb 決めた、曞いた。
7even  Github

 gem 'rabl' gem 'jbuilder' gem 'gon' 

zaur シリアル化のために、 Rablの䜿甚を開始したした。 決定が非垞に遅い。 埐々にJBuilderに切り替え始めたした。 そしお、HTML生成の段階でJSONをペヌゞに転送するために、圌らはGonを䜿甚したした。

 gem 'fast_seeder' 

foxweb  Ffakerず同じカテゎリのものですが、CSVファむルのデヌタを゜ヌスずしお䜿甚できたす。

 gem 'oj' 

7even 最速のJSONパヌサヌ。
foxweb Peterはモスクワよりも優れおいたす。 䜕がいいですか モスクワより。

 gem 'slim' 

foxweb 最初はHamlでしたが、Slimは読み曞きが簡単であるだけでなく、レンダリングも高速であるこずがわかりたした。 プロゞェクト党䜓でHamlをSlimに眮き換えるには、たずえばhaml2slimを䜿甚できたす。

 gem 'russian' 

foxweb 日付ず暙準の鉄道メッセヌゞのロシア化の有名な宝石。

 gem 'whenever', require: false 

foxweb Cronifix-Rubyでクラりンクラりンを管理するためのラむブラリ。 1日1回、ニュヌスで䜕かが起こりたした。

 gem 'redcarpet' 

foxweb Markdownを操䜜するための逞品ですが、どこで䜿甚したのか誰も芚えおいたせん。

 gem 'kaminari' 

foxweb Paginator-倧きなリストをペヌゞ1,2,3 ... 100に分割したす。

 gem 'truncate_html' 

ksavelyev 母の怠inessは 、1぀の関数からgemファむルにgemを远加したす。 この堎合、正芏衚珟を䜿甚しおHTMLを正しく食い止めるのは面倒でした。
foxweb それに぀いおは知りたせんでした。

 gem 'devise' gem 'devise-encryptable' 

zaur サむトで承認を䜜成するためのゞャンルの叀兞。

 gem 'mini_magick' 

foxweb ImageMagickの宝石。

 gem 'mimemagic' 

foxweb ダりンロヌドされるコンテンツのタむプを決定するための宝石。

 gem 'foreman' 

foxweb 開発者向けのシンプルなプロセスマネヌゞャヌ。 倧芏暡なプロゞェクトで䜜業しおいる堎合、倚くの小さなサヌビスを実行する必芁がありたす。 Foremanは、必芁なすべおを1぀のコマンドで起動したす。 この䟋では、これらはRails、Faye、テスト、公開、および画像凊理のキュヌサヌビスです。
7even Foremanでテストを実行するず、出力が非垞に読みにくくなるため、Procfileからすぐにそれらを芋぀けたした。
foxweb 芚えおいたしたが、Fayeメッセヌゞやアプリケヌションログなど、テストずずもにすべおが䞀般的な出力になったようです。

 gem 'faraday' 

7even Faradayは、倖郚ネットワヌクリ゜ヌスにアクセスするために䞍可欠なラむブラリです。 ミドルりェアシステムRackに類䌌のおかげで、リク゚ストずレスポンスの䞡方のすべおの倉換を䞀床蚭定できたす。たずえば、リク゚ストに送信する前にOAuth認蚌ヘッダヌを远加したり、レスポンスJSONを解析しおHashie :: Mashでラップしたりできたす。
foxweb 「倖郚ネットワヌクリ゜ヌス」-叀いバヌゞョンのサむトぞの通垞の HTTP芁求。
7even わかりたした、ネットワヌクリ゜ヌスに。 この堎合、サむトの叀いバヌゞョンですが、さたざたな状況でFaradayを䜿甚したした-APIずHTML-kiの䞡方がありたした。

 gem 'faraday_middleware' 

7even このgemにはファラデヌに圹立぀倚くのミドルりェアがありたす。
foxweb これは、たずえばJSONですか
7even そしお、䟋えば、 mashify 。

 gem 'hashie' 

7even Hashie-ハッシュ拡匵のコレクション。 Hashie :: Mash-芁玠ぞのアクセスがキヌにアクセスするのではなく、同じ名前のメ゜ッドの呌び出しずしおハッシュのバリ゚ヌションを䜿甚したしたたずえば、 user[:name]ではなくuser.name 。 残念ながら、将来この宝石は悪甚され、モデルの代替品ずしお䜿甚されたした。
foxweb  レむアりトデザむナヌは新しい圢匏を気に入っおおり、「ドット衚蚘」ず呌びたした。
7even だから私はこれに぀いお話しおいる。

 gem 'nokogiri' 

foxweb 有名なXML / HTML解析ラむブラリ。 叀いアヌカむブの解析に積極的に䜿甚されたす。 むンポヌトプロセス䞭にこれを䜿甚しお、叀いリンク、画像タグを眮き換え、無関係なコヌド、ゎミなどを削陀したした。 閉じられおいないタグも閉じおいるようです。

 gem 'eventmachine' gem 'em-synchrony' gem 'em-hiredis' 

7even ビデオを凊理するために、サヌドパヌティのサヌビスE **** ******* mが䜿甚され、その盞互䜜甚はREST APIを介しお行われたした。 デヌモンが私たちの偎で働​​き、倧根のキュヌを介しお、゚ディタヌによっおロヌドされたビデオファむルぞのパスを取埗し、それをE ****サヌバヌに送信し、別のRedisキュヌに転送し、5分ごずにサヌバヌをポヌリングしたした-凊理がE ***偎にあったずき*が完了し、デヌモンは完成したファむルを送り出したした。 これらのプロセスはすべお䞊行しお実行する必芁があるため、デヌモンはEventMachineで䜜成されたした。
zaur マットはアスタリスクで塗り぀ぶされおいたせん。

 gem 'streamio-ffmpeg' 

7even ffmpegのこのラッパヌにより、ビデオファむルの幅、高さ、ビットレヌト、継続時間、およびその他のメタデヌタを取埗できたす。
foxweb このデヌタは、サむトのペヌゞにビデオコンテンツを衚瀺するために䜿甚されたした。

 gem 'ruby-progressbar' 

foxweb コン゜ヌルの進行状況バヌの簡単な実装。 叀いデヌタベヌスから新しい圢匏にデヌタをむンポヌトするずきに䜿甚されたす。 500,000以䞊の資料があなたを埅っおいるずき、プログレスバヌはあなたの時間を蚈画し、その過皋で瞑想するのに圹立ちたす。 クラスは非垞に単玔です。 入力では、サむクルの最終番号、すべおの皮類のビュヌ蚭定などのパラメヌタヌが蚭定されたす。 撀回するずき、圌自身が興味、時間を蚈算し、カりンタヌをひねり、バヌを動かし、䞀般に、OSの通垞のプログレスバヌが行うすべおを行いたす。 線集長に叀いデヌタをむンポヌトするのに3日かかるこずを通知するこずは貎重です。

 gem 'version' 

foxweb リク゚ストに応じおVERSIONファむルのバヌゞョン番号をむンクリメントし、Gitのコミットに察応するタグを付けるギミックガゞェット 。 プレむしお忘れたした。

 gem 'environment' 

zaur 異なる環境に蚭定を配垃するための自転車の1぀。そのうち3぀以䞊ありたした。 蚭蚈゚ラヌ、蚈算。
7even 忘华に沈んだ。

 gem 'settings' 

7even configatronずrails_configの䞡方が、異なる時間にアプリケヌション蚭定を保存するために䜿甚されたした。 しかし、どこかでgemがRailsコンテキストの倖で機胜しなかった-むベントマシン䞊のFayeずデヌモンから蚭定にアクセスする胜力を奪われた-しかし、他のどこかに他の問題があった。 したがっお、結果ずしお、独自の実装が䜜成されたした。 珟圚、 Githubで入手できたす。

 gem 'bluepill' 

7even すべおが単玔です監芖サヌビス。
foxweb 倚くの堎合、クラッシュしたサヌビスたたはハングしたサヌビスを実皌働環境で盎接再起動する必芁がありたした。 その埌、疲れおBluepillを入れたした。 Foremanず同様、サヌバヌのみ。
zaur サヌビスのひどい監芖。 しかし、他の人は良くありたせんでした。 PIDを倉曎できるプロセスに埓うこずが必芁でした。 同時に、これを行うこずができる人は倚くありたせんでした。 れロダりンタむム再起動時のWebサヌバヌのプロセスを倉曎したした。 たずえば、展開䞭、アプリケヌションの円滑な運甚のために、圌らはそのような玠晎らしいUnicorn機胜を䜿甚したした。

 gem 'diffy' 

foxweb 非垞に䟿利な線集ツヌル。 りィキペディアのように、テキスト線集の履歎を芋るこずができたす。 圓然、比范するものを埗るために、バヌゞョン履歎を保存する必芁がありたす。 圌女はすでに私たちのために働いおおり、そのような噚具を固定するのに数時間かかりたした。 .
zaur : , . - , RSS . , , .
ksegoh : .



zaur : . , . , . , . , .

 gem 'roo' 

foxwebExcelスプレッドシヌトからデヌタを抜出するための宝石。線集者やコンテンツプロバむダヌが、競技䌚や参加者に関するデヌタを衚圢匏で提䟛したオリンピックの際に圹立ちたした。テヌブルを操䜜するためのWebむンタヌフェヌスを倧隒ぎする時間も欲求もありたせんでした。

 gem 'net-scp' 

foxwebたた、「Olympic」gemは、ファむルサヌバヌからSSHでこれらのたさにテヌブルをピックアップする機胜を提䟛したした。

 gem 'resque' gem 'resque-web' gem 'resque-pool' 

zaur : . ImageMagick. ( ) Sidekiq ( ). , , , . , . Resque, ImageMagick. .
foxweb : , . , JPEG , , PNG , , ImageMagick.
zaur : . “” . – . , , HTTP 




 gem 'ar_after_transaction' 

zaur : , .
ksavelyev : ? .

API-


 gem 'rails-api' 

7even : API, JSON, , rails-api.

 gem 'active_model_serializers' 

7even : rabl jbuilder JSON rails-api, .

 gem 'awesome_pry' 

7even : jazz_hands Ruby (, , - ), — -, pry awesome_print.

 gem 'ice_nine', require: %w(ice_nine ice_nine/core_ext/object) 

7even : . , #freeze ; #freeze — , . #deep_freeze .

 gem 'highline' 

7even : - API-, highline.

 gem 'rack-cors' 

7even : CORS-.

 gem 'database_cleaner' 

7even : , database_cleaner.
zaur : , rake task . - , pow . , , , .

 gem 'guard-yard' 

7even : guard, YARD- .

 gem 'apiaryio' 

7even : API apiary.io, HTML .

 group :development do gem 'puma' end 

foxweb : Puma, production - Unicorn.

 group :production do gem 'unicorn' end 

foxweb : Unicorn, development - Puma.

CMS


 source 'https://rubygems.org' source 'https://rails-assets.org' 

ksavelyev : rails-assets.org . , rails-assets github . , , bower-. - gem 'rails-assets-BOWER_PACKAGE_NAME' . JS/CSS Asset Pipeline , .

 gem 'puma' gem 'unicorn', group: :production 

zaur : , .



 gem 'compass-rails' 

ksavelyev : , , . . — SASS/SCSS. , , CSS, , , , . , .

 gem 'rails-assets-angular' gem 'rails-assets-angular-cookies' gem 'rails-assets-angular-animate' gem 'rails-assets-angular-sanitize' gem 'rails-assets-angular-ui-router' gem 'rails-assets-angular-promise-tracker' gem 'rails-assets-angular-loading-bar' gem 'rails-assets-restangular' gem 'rails-assets-angular-contenteditable' gem 'rails-assets-angular-ui-ace' gem 'rails-assets-angular-bootstrap-colorpicker' gem 'rails-assets-ng-sortable' 

ksavelyev : bower-, rails-assets, .

:

Source: https://habr.com/ru/post/J244157/


All Articles