Ruby

 Computer >> コンピューター >  >> プログラミング >> Ruby
  1. RailsアプリはRedisとどのように通信する必要がありますか?

    Railsアプリを作成しているときに、別のデータストアを使用するとより簡単に解決できる問題が発生する可能性があります。たとえば、サイトの質問に回答するためにユーザーが獲得したポイント数でユーザーをランク付けするリーダーボードがあるとします。 Redisのソート済みセットを使用すると、多くの実装が自動的に行われます。素晴らしい!しかし、Redisと相互作用するコードはどこに配置しますか? あなたのUser モデルはRedisと通信できます: class User < ActiveRecord::Base def award_points(points) Redis.curre

  2. パーシャルのレンダリングには実際にどのくらいの時間がかかりますか?

    大きなRailsビューを小さなパーシャルに分割することを心配している人から聞いたことがあります。パーシャルのレンダリングには実際にどれくらいの時間がかかりますか?パーシャルを呼び出すことによるパフォーマンスへの影響は、コードの可読性の利点を上回りますか? いくつかの数値を実行して、単純な部分レンダリングとインラインレンダリングの比較例を示したので、後でトレードオフについて説明します。これは、新しいRailsアプリ(config.cache_classes = trueを使用)でベンチマークに使用したコードです。 ): app / views / test / show.html.erb

  3. コントローラを膨らませることなくRailsモデルを検索およびフィルタリングする

    Railsコントローラーでの検索、並べ替え、フィルタリングは面倒な場合があります。 ElasticSearchとSolrは優れた強力なソリューションですが、小さなアプリにとっては非常に大きな依存関係です。 幸い、Railsにはスコープが含まれており、単純な検索、フィルタリング、および並べ替えに必要な多くのものを提供できます。スコープチェーンを利用すると、大きな依存関係を引き受けたり、繰り返し検索コードを自分で作成したりすることなく、必要な機能を構築できます。 スコープで検索 #indexを想像してみてください 製品のテーブルを表示するRESTfulコントローラーのメソッド。製品は、アクティ

  4. あなたがテストを書かない5つの理由

    優れた開発者は、コードをテストする必要があることを知っています。ただし、テストがスキップされたり、急いで実行されたり、開始されなかったりすることがよくあります。人々が陥るのを私が見た本当に一般的な罠がいくつかあり、それらは毎回テストするあなたのモチベーションを殺します。 1。 RSpecを使用する必要がありますか?キュウリ?カピバラ?ミニテスト? 新しいプロジェクトを開始するとき、それは方法 最高のツールを選ぶのに多くの時間を費やすのは簡単すぎます。この種の先延ばしは、どこから始めればよいかわからないという事実を隠します。 、ツールを選択するまで、感じることができます。 実際に存在することな

  5. 私は自分のコードを乾式編集しましたが、今では扱いにくいです。どうした?

    「Don’t Repeat Yourself」は、ソフトウェア開発のキャリアの中で読んだ最も価値のある本の1つからの最も価値のあるアイデアの1つです。重複するコードをリファクタリングできれば、より一般的で安定したコードが生成されます。ただし、コードのドライアップを開始すると、いくつかの問題が発生し始めます。エッジケースを適切に処理できないコード、一般化されすぎて読みにくいコード、または見つけにくいコードです。 DRYnessに向けたリファクタリングが常に機能しない場合、いつリファクタリングする必要があるかをどのようにして知ることができますか? Too-DRYコードは、リファクタリングを試みる

  6. 新しいRailsプロジェクトで先延ばしを打ち負かす方法

    rails newと入力しました あなたの次のプロジェクトで。それで?どこから始めますか?すべてを1つのアプリで作成しますか、それともサービス指向アーキテクチャを使用しますか?これはRSpecを学ぶ良い機会ですか?すべてのデータモデルの構築を開始する必要がありますか、それともエンドツーエンドで機能するいくつかのアクションを取得する必要がありますか?事前に決定しなければならない決定はたくさんあります。迷子になり、先延ばしになり、イライラし、アプリを完成させないのは簡単です。 この問題は非常に一般的です。それは、知識に基づいた決定を下すために必要な情報が最も少ないときに、事前に多くの選択をしなけ

  7. 野心的なRailsプロジェクトを開始する3つの方法

    先週、先延ばしに打ち勝ち、新しいRailsプロジェクトを開始するのに役立つ3つの規則について話しました。今では、目の前の仕事に圧倒されることは少ないはずです。しかし、あなたにはまだ難しい選択があります。最初にどのコードを書きますか?認証? Twilioと話す部分は?そして、どのように始めますか フォーラム投稿レコメンダーエンジンで作業するには? はい、ある時点で実際に書く必要があります コード、そしてそれを行うには、開始する場所が必要です。 何が良い出発点になりますか? まず、数分かけて、構築するシステムについて考えてください。エンドツーエンドのパスと、それらのパスが必要とするリソースの種

  8. 間違っていると感じるコードでソフトウェア設計を改善する方法

    あなたはあなたが欲しいを知っています やるべきことですが、あなたのコードは単に協力していません。たぶん、インデントのレベルが多すぎるか、半ダースのメソッドをチェーンしているか、非対称に見えます。それが何であれ、何かが気分が悪くなります。あなたはそれを無視することができます-つまり、あなたはまだ書きたい機能でいっぱいのバックログを持っています、そしてそれは実際にはではありません 悪い。しかし、それは間違いです。あなたのコードはあなたに何かを伝えようとしているので、あなたはそれを見逃したくないのです。 コードが奇妙に感じられる時期を知ることができれば、ソフトウェア設計スキルを迅速かつ大幅に向上さ

  9. 単純なコード変更でスタックキャッシュをデバッグする

    パーシャルキャッシングは、多くの作業を行わなくても、ページ速度を大幅に向上させるための優れた方法です。ただし、touch: trueを忘れた場合 アソシエーションの1つで、またはテンプレートの依存関係が正しく機能していない場合、キャッシュされたパーシャルは更新されません。 開発環境は通常、キャッシュを無効にして実行されるため、これはステージング、またはさらに悪いことに本番環境でのみ検出されます。問題をデバッグするには、設定して開発モードで問題を再現する必要があります config / environment / development.rb config.action_controlle

  10. Rubyプロジェクトに最適な宝石を選択するためのガイド

    Rubyで何かを行う必要がある場合は、そのための宝石がおそらく存在します。まあ、それのためのダースの宝石はおそらく存在します。それらのいくつかは、エレガントで、機能的で、手入れが行き届いており、他の人は、作者が一度遭遇した1つのユースケースを解決するために書かれました。選択できる宝石はたくさんあるので、正しいものをどのように選択しますか ?この選択は重要です– プロジェクトに宝石を追加したことを後悔するまでに、元に戻すのは苦痛です。 統計 問題を解決するためにライブラリが必要な場合は、RubyToolboxから始めます。 Ruby Toolboxは、次のカテゴリ(「サブスクリプション管理」

  11. 長く、乱雑で、テストが不十分なコントローラーをリファクタリングする方法

    Railsでのキャリアのある時点で、プログラミングを永遠に諦めたくなるようなコントローラーに遭遇します。機能全体のコードのすべての行が含まれる場合があります。 15個のbefore_filtersがある可能性があります すべてがインスタンス変数を介して通信し、特定の順序で呼び出す必要があります。そうしないと、問題が発生します。そして、必然的に、そのテストは次のようになります: test index do get :index assert_response :success end 素晴らしい。 100%のテストカバレッジですよね? 目を閉じて存在しないふりをするのは素晴らしいこ

  12. TDDフライホイールをどのように動かしますか?

    (今週はRailsConfのためにシカゴにいます。周りに会ったら、こんにちは!お会いしましょう。サイドバーの写真に写っている年上の方です。) ある読者が、私の記事の1つに対するコメントで、テストについてすばらしい質問をしました。 「TDDフライホイール」も動かす必要があることは知っていますが、TDDは私にはなじみがありません。 RSpecを開始するための最善の方法について何かアドバイスはありますか、それとも単に「そこに入ってハックする」ようなものですか? だから私はそれに答えました: どちらか一方に落ち着かない場合は、実際にミニテストを開始する方が簡単だと思うかもしれません。こ

  13. RailsConfの後:私はまだTDDを学ぶべきですか?

    私はTDDについてたくさん書いてきました。ですから、前回の記事をほぼ正確な分に公開したのは当然のことです。 David Heinemeier Hanssonは、RailsConfの基調講演でTDDについて言及しましたが、いくつか質問がありました。 TDDに関するDHHの意見に同意しますか?それでもTDDをお勧めしますか?そうでない場合は、代わりに何をすべきですか? DHHが言ったこと 基調講演を見逃した場合は、DHHのエッセイがその要点を捉えています: おそらく、自動化された回帰テストの業界の残念な欠如を打破するための直感に反するラムとして、テストファーストを使用する必要がありまし

  14. 視点を変えるだけでスパゲッティコードを解きほぐす

    ifの巨大な混乱 ステートメントはあなたの顔を見つめ続けます。 すべきような気がします 邪魔をし続けるビジネスロジックを除いて、それを単純化することができます。 たとえば、Quoteを作成する販売プラットフォームがあるとします。 s、多くのLineItem s。ただし、広告の場合は、広告申込情報が重複している見積もりを作成できます。 、ただし、複数のウェブサイトがある場合 、価格を合計して、単一の広告申込情報として表示する必要があります。また、ウェブサイトを購入し、見積もりにすでに5つの広告がある場合は、ウェブサイトで20%の割引を提供する必要があります。 ここからずっと、窓からノートパ

  15. 犬の散歩中にルビーを学ぶ方法

    必要なことをすべて学ぶのに十分な時間はありません。そして、あなたがする時間を費やしている他のものが多すぎるように常に思われます 持ってる。これにより、Rubyの知識についていくのが難しくなります。 本やスクリーンキャストは素晴らしいですが、時間と集中力が必要です。そして、料理をしたり、通勤したり、犬の散歩をしたりすると、退屈になる可能性があります。 考えたりリラックスしたりする瞬間があるのは素晴らしいことです。しかし、ほとんどの場合、私はそれらの退屈な時間を利用して何かを学びたいです! このため、ポッドキャストに勝るものはありません。 iOSゲームをプレイしたり、メールを10回チェックした

  16. ActiveRecordモデルが太すぎるのはいつですか?

    Railsのブログや本を読んだり、会議の講演を見たりすると、モデルをよりスリムにすることについて多くのことを学ぶことができます。 モデルがなるので、これらのテクニックは素晴らしいです 大きくなりすぎたり、複雑になりすぎて処理できなくなります。しかし、永続性、関連付け、および検証のみをモデルに任せることを本当に望んでいますか? とにかく、ActiveRecordモデルに保持するロジックの量をどのように決定しますか? スキニー。しかし、あまりにも スキニー。 Active Recordは、モデルがデータベーススキーマと厳密に一致する場合に最適に機能するパターンです。それがそのために設計された

  17. プログラミングフローを節約するために少し便利を使用する

    ソフトウェアを構築している間、それらを作成しなければならないたびにイライラすることがあります。見苦しいコードのビット。または、書き方を完全に思い出せない行があるため、コードベースの別の場所にコピーして貼り付ける例を見つけます。これらはあなたの流れを壊します! したがって、それらを認識し、より便利にすることが重要です。 たとえば、Railsアプリでカスタム構成が必要になる場合があります。たぶん、いくつかの追加のアプリ固有の設定が必要です。または、使用しているライブラリがconfig/を調べたくない場合もあります。 独自の構成ファイル用。通常は、YAML-ERB-read-Rails.envを

  18. 圧倒されることなくTDDを学ぶ方法

    (私はもともとニュースレターのためにこの記事を書きました。このようなものをもっと読みたい場合は、サインアップする必要があります!) Railsコミュニティは、テスト、特にTDDに重点を置いています。このテストの文化は、Railsの最も優れた点の1つです。 しかし、テストし、正しくテストするというプレッシャーは、初心者にとっては圧倒的なものになる可能性があります。 まったくテストを行っていない場所から来ている場合、TDDを学ぶのは特に難しい場合があります。 TDDを正しく行うために知っておく必要のあるすべてのことを考えてください: 実装する機能を知っておく必要があります 各機能のどの部

  19. Railsアプリに適したライブラリをどのように選択しますか?

    AngularvsEmber。 RSpecとMinitest。 Haml vs SlimvsERB。 新しいプロジェクトを開始するときは、選択肢がたくさんあります。 両側にボーカルディフェンダーがいます。そしてすぐに、SassがLessよりも優れているかどうかについての4番目のチュートリアルまたは30コメントの議論を読んで無駄にした時間で、プロジェクトを開始できた可能性があることに気付き始めます。 では、どのようにして正しいを選択しますか ライブラリなので、実際のコードを書き始めることができますか? あなたは深刻なプレッシャーにさらされています 開発コミュニティは非常に速く動きます。 あら

  20. RubyおよびRailsツールの高速で一貫性のあるセットアップ

    Railsアプリをいくつか作成すると、それらを操作するためのいくつかの好ましい方法が得られるようになります。たぶんあなたはいつもawesome_printを使いたいでしょう Railsコンソールで。または、rails newが必要な場合もあります minitestの代わりにrspecを使用するプロジェクトを作成します。 もちろん、コマンドを実行するたびにこれらの設定を指定する必要があるのは少し面倒です。しかし、それらは忘れがちです。 そして、コンピュータがあなたが言ったと思ったことをコンピュータが実行しないとき、それは腹立たしいです: $ rails new best_app_ever ^

Total 560 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:2/28  20-コンピューター/Page Goto:1 2 3 4 5 6 7 8