Ruby

 Computer >> コンピューター >  >> プログラミング >> Ruby
  1. プログラミングの未来を予測する方法

    Railsがこんなに早く人気になったのはなぜですか? 特にJava、XML、エンタープライズの世界から来た場合は、シンプルさが役に立ちました。それはまた信じられないほどよく売られました。しかし、それだけではありません。 スタートアップの世界でのRailsの成功の多くは、単純な事実から生まれました。企業が抱えている問題はそれほどユニークではありません。 Railsは、柔軟性を維持しながら、CRUDサイトの作成に優れていました。そして、それは本当にすべてトンです の企業が必要です。特に最初は。 しかし、これは企業だけに当てはまるわけではありません。 ソフトウェア開発者が直面する問題の多くは変

  2. スコープまたはクラスメソッドを使用する必要がありますか?

    この記事は、Soonsang Hongのおかげで、韓国語でも利用できます! スコープは、データベースから適切なオブジェクトを取得するための優れた方法です。 app / models / review.rb class Review < ActiveRecord::Base scope :most_recent, -> (limit) { order(created_at desc).limit(limit) } end 次のようなスコープを使用します: app / models / homepage_controller.rb @recent_reviews =

  3. ログが読めない混乱にならないようにする

    奇妙な、一見解決できないバグに遭遇した場合、ログを改善することが最善のステップになる可能性があります。 優れたロギングは、バグのクラス全体を検出して修正する最も簡単な方法です。 十分な情報をログに記録すると、リクエスト中にデータがどのように変化するかを確認できます。他のサービスへの通話を追跡し、応答を調査できます。実際、デバッガーが失敗したとき、ロギングは私が今まで遭遇した中で最も困難なバグを修正するのに役立ちました。 ただし、ログを記録しすぎると、ログファイルがすぐに読めない、役に立たないメッセージの寄せ集めになります。 気になる情報だけをそのデータの山からどのように切り取ることができます

  4. Rubyでのエンコーディングの問題を修正するための3つのステップ

    文字列が壊れたときだけ、文字列のエンコーディングについて考えます。 例外トラッカーを確認して表示する場合 Encoding::InvalidByteSequenceError: \xFE on UTF-8 顔を見つめています。または、「they’re」が「they’re」として表示され始める場合もあります。 それで、あなたが悪いエンコーディングを持っているとき、あなたはどのように何が壊れたかを理解しますか?そして、どうすればそれを修正できますか? エンコーディングとは何ですか? エンコーディングが文字列に対してどのように機能するかを想像できる場合、これらのバグは簡単に修正できます。

  5. 彼らから彼らへの行き方

    先週の記事では、ほとんどのエンコーディングの問題を解決する短いプロセスを学びました。 しかし、解決がはるかに難しいエンコーディングの問題が1つあります。 あなたがそれを見たことがあると思います。 (または、見たことがあるかもしれませんか?)中の引用符が「」に変わるとき、または全角ダッシュが「」に変わるときです。夢中になっていると思わせるでしょう。うまくいくはずです! 巨大なテーブルを作成して、悪いキャラクターを見つけて、良いキャラクターに置き換えることができます: [{broken: –, fixed: —} {broken: —, fixed: –} {brok

  6. Railsでワンタイムスクリプトを書く

    CSVファイルからアプリに大量のデータをインポートしたいと思ったことはありませんか?または、カスタマーレビューの一部で正しくエンコードされていない文字を修正する必要があるかもしれません。または、Redisにデータを保存する方法について考えを変え、すべてを古い形式から新しい形式に移動する必要がありました。 Avvoでは、これらを「アドホックタスク」と呼んでいました。のように、おそらく一度だけ実行する必要があります。 では、Railsでアドホックタスクを処理するための最良の方法は何ですか? データベース移行を作成する データベース内のデータの構造を変更する必要がある場合は、移行が適切に機能し

  7. その最初の複雑なテストを書く

    テストされていないコードはどれですか?制御できない複雑な状況を処理するコードですか?スレッド、実行中のコマンド、git、ネットワーキング、またはUI? 私たちのアプリは、複雑なときに最も興味深いものです。彼らはまた最も危険です。 そのため、テストが難しいコードは、まさに適切にテストする必要のある種類のコードです。 それは常に起こるわけではありません。 代わりに、そのコードに触れるたびに、軽く触れます。あなたは慎重に踏みます。多分あなたはいくつかの手動テストをします。また、プルリクエストを送信するときは、チームメートがそれらのテストが存在しないことに気付かないことを望んでいます。 しかし、

  8. Rails5.1のあまり知られていない機能

    先週、RailsConf 2017中に、Rails5.1が出荷されました。 発表に従えば、最新のJavaScriptとの統合の改善、暗号化されたシークレット、システムテストなどの大きな機能を確認できます。そして、私の個人的なお気に入りがあります:最後に form_forの奇妙な組み合わせを取り除く およびform_tag 、そしてそれをform_withに置き換えます 。試してみるのが待ちきれません。 しかし、私がRailsを気に入っている理由は、大きな新機能ではありません。少しずつ、絶え間ない改善です。 Railsアプリを書いているときに私を幸せにするのは、生活の質の変化です。そして、R

  9. デコレータとサブクラス

    最近の記事で、Rails5.1の優れた新機能であるdelegate_missing_toについて触れました。 。 delegate_missing_toを使用 、あるオブジェクトで見つからないメソッドは、代わりに別のオブジェクトで呼び出されます : class Player delegate_missing_to :@user def initalize(user) @user = user end def points Game.points_for_user(user.id) end end Player.new(user).name # cal

  10. Railsの詳細を確認するタイミング

    自分にとって意味のないRailsトピックを見つけたことがありますか? たとえば、あなたはそれを知っていると思ったので、コードを書いたのですが、まったく別のことが起こりましたか? または、知っている あなたは理解していませんが、エッジケースとの戦いに多くの時間を費やしているので、それが終わったときには専門家であった可能性があることを除けば、十分に理解していますか? ええと、そうする必要がなかったらどうしますか? 知っているだけの方がいいのではないでしょうか 物事はどのように機能しましたか?あなたの目の前に問題のしっかりしたメンタルモデルを持っているために? では、適切な決定を下し、適切なコ

  11. Rails Deep Diveをどのように行いますか?

    たぶん、バグを修正することで、12個の新しいバグが生まれたのかもしれません。または、コードが非常に奇妙な方法で壊れて、本当に理解しているかどうか疑問に思うかもしれません。深く掘り下げる時だと思います。 しかし、知っている トピックを深く掘り下げる必要がありますか?それはステップ1だけです。トピックをその基本に至るまで実際にどのように学習しますか? 自然に思い浮かぶように、どのようにして十分に学びますか? どこから始めますか? あなたがあなたの学習を始めることができる多くの場所があります。 しかし、トピックについて多くのことをすばやく学ぶ必要がある場合は、本が私のお気に入りの出発点です。 た

  12. あなたが学習の休憩を取ったとき、あなたはどのようにバックアップを取り戻しますか?

    大きなプロジェクトや新しい仕事に深く集中していると、頭を上げて迷子になるかもしれません。テクノロジーの世界があなたを超えて移動したように。 新しいことを学ぶのに費やさなかった時間は、ついに追いついてきましたか? そして、どうすればそのギャップを埋めることができますか? 自宅で勉強しますか?または職場で学びますか? 学習する時間を作っていないのなら、その時間はどこかから来なければなりません。 しかし、その時はどこから来るのでしょうか?あなたは自分の時間で勉強すべきですか?または仕事について勉強しますか? トリックの質問です。 答えは両方です。 仕事以外の時間を見つけるのは大変なことです

  13. CapybaraとSeleniumを使用した自動スクリーンショット

    先週のAppSignalの更新には、すべての画面の更新されたインターフェイスデザインが含まれていました。つまり、アプリの現在の状態を反映するために、ホームページのすべてのスクリーンショットを更新する必要がありました。これにかかる膨大な手作業を減らすために、プロセスを自動化することにしました。 幸いなことに、Seleniumはスクリーンショットを撮ることができることをすぐに思い出しました。機能テストには、すでにCapybaraを通じてSeleniumをかなり頻繁に使用しているため、これが新しい可動部品を導入せずにタスクを自動化する方法であるかどうかを調査しました。いじくり回した後、私たちは自分

  14. カスタムメトリックの使用方法

    カスタム指標によるより深い洞察 AppSignal gemを使用すると、カスタムインストルメンテーションを使用して、アプリケーションのパフォーマンスに関する詳細を取得できます。ただし、他の指標も追跡したい場合があります。 1.0を使用 gemのリリースでは、カスタムメトリックをAppSignalに送信できます。これらのメトリックを使用すると、新しいアカウントからデータベースディスクの使用状況まで、アプリケーション内のあらゆるものを追跡できます。これらはコードインストルメンテーションに代わるものではありませんが、コード内の特定のデータにアクセスしやすく、時間の経過とともに測定できるようにする

  15. 並行性の習得

    並行性の習得 複数の人が同時にアプリを使用するため、アプリをできるだけ早く配信したいと考えています。したがって、並行性を処理するための何らかの方法が必要になります。恐れるな!ほとんどのWebサーバーは、デフォルトですでにこれを実行しています。ただし、スケーリングが必要な場合は、可能な限り最も効率的な方法で同時実行を使用する必要があります。 さまざまな種類の同時実行性 並行性を処理するには、マルチプロセス、マルチスレッド、イベントドリブンなど、複数の方法があります。これらのそれぞれには、それぞれの用途、長所と短所があります。この記事では、それらがどのように異なり、いつどのように使用するかを学

  16. Mongoid5へのアップグレード/mongo-ruby-driver

    開発構成 Mongoid 5にアップグレードした後にRailsアプリを起動するときに最初に遭遇することの1つは、データベース構成が正しくないというエラーです。 修正は簡単です。sessionsを変更するだけです。 clientsへ : development: clients: default: database: appsignal_development hosts: - localhost:27017 ドライバーの変更 私たちのコードベースでは、Mongoidを使用する代わりに、moped / mongo-ruby-driverで

  17. カスタムメトリクスを使用してMongoDB(クエリ)の負荷を監視する

    パフォーマンスの問題の根本的な原因を追跡するには、標準の機器では不十分な場合があります。カスタムメトリックは、不足している部分を追跡するのに役立ちます。 AppSignalのパフォーマンスグラフのおかげで、コードベースのどの部分がパフォーマンスの問題を引き起こしているかを正確に把握できます。以下のスクリーンショットでは、MongoDBが原因で大幅な速度低下が発生したことがわかります。 それが教えてくれないのはどれ さまざまなReplicaSetで実行されている多数のデータベースの中で、この速度低下が発生しました。カスタムメトリクスプラットフォームを使用すると、この質問に一目で答えることがで

  18. ガベージコレクションの概要(パートI)

    コードを実行するときはいつでも、メモリを使用します。 Rubyのような言語で書くと、利用できるメモリは無限にあるように見えます。コードを実行しているシステムにある固定量のメモリについて考えることなく、そのまま続けることができます。このRubyMagicのエピソードでは、これがどのように機能するかを説明します! ちょっとした歴史 当時、Rubyなどのスクリプト言語はまだ存在していませんでした。人々は、低水準プログラミング言語であるCなどの言語でのみコードを記述しました。これらの言語を低レベルにする理由の1つは、自分でクリーンアップする必要があることです。たとえば、Stringを格納するためにメ

  19. ガベージコレクションの概要(パートII)

    Ruby Magicの前回のエピソードでは、ガベージコレクション(GC)が必要な理由と、それが一般的にどのように機能するかについて説明しました。この投稿では、これがRubyでどのように実装されているかについてもう少し詳しく説明します。 さまざまなRubyの実装 Rubyには多くの実装があります。人気のあるものは、MRI(MatzのRubyインタープリター)、Rubinius、JRubyの3つです。 Rubyの実装が異なれば、GCのメソッドも異なります。この記事では、ほとんどのRuby開発者が使用するMRIに焦点を当てます。 ルビーのヒープ コンピュータには、スタックとヒープの2種類のメモリ

  20. 成長するユーザーテーブルを飼いならす方法

    クライアントはどのようにしてそこにたどり着きましたか? 詳細に入る前に、アプリがこの状態になる可能性があることを理解してみましょう。簡単なusersから始めます テーブル。数週間後、最後のサインイン時刻を特定できるようにする必要があるため、users.last_sign_in_atを追加します。 。次に、ユーザーの名前を知る必要があります。 first_nameを追加します およびlast_name 。 Twitterのハンドル?別の列。 GitHubプロファイル?電話番号?数か月後、テーブルは気が遠くなるようなものになります。 これの何が問題になっていますか? 大きな表はいくつかの問題を

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