Ruby

 Computer >> コンピューター >  >> プログラミング >> Ruby
  1. Rubyでの素朴なニル処理

    過去6か月ほどの間、私はRustでNESエミュレーターを使用してきました。ご想像のとおり、私はさびについて多くのことを学び、さらにNESの内部についても学びました。しかし、その経験によって、Rubyの見方も変わりました。 具体的には、nilを返すメソッドについて少し妄想的になりました。 。 何かを支持しないと、何にでも落ちる nilとは Rubyの意味ですか?ほとんど何でも。メソッドがnilを返す場合、それは次のことを意味する可能性があります: メソッドには戻り値がありません 通常は戻り値がありますが、今回はありません データベースからNULLの値を返します 予期しないことが起こりました

  2. フレークテストスイートのケース

    私は最近、信頼性が低いために使用するのが本当にイライラするテストスイートに取り組みました。 テストスイートが対象としていたアプリケーションは、RailsAPIのみのアプリケーションでした。テストは、「JSONRESTエンドポイントでエンドツーエンドのテストを実行するように設計されたAPIテストフレームワーク」であるChakramと呼ばれるフレームワークを使用してJavaScriptで記述されました。 テストスイートの問題は、それが決定論的ではなかったことでした。関数またはプログラムは、同じ入力が与えられた場合、常に同じ出力を提供する場合、決定論的です。 この特定のテストスイートは、アプリ

  3. ラーテルジェム4.0がリリースされました!

    先週、honeybadgerのバージョン4.0.0をリリースしました。 Rubygem。このリリースには待望の機能が含まれており、Honeybadgerに送信する前にエラーレポートをさらに簡単にカスタマイズできます。また、非常に必要とされていたリファクタリングをいくつか行い、適切な対策のためにいくつかの削除と非推奨を行いました。ただし、心配する必要はありません。ほとんどのAPIは変更されていないため、アップグレードはほとんどのユーザーにとって比較的簡単なプロセスです。 before_notifyの紹介 コールバック honeybadgerの以前のバージョン gemは、報告されたエラーのさま

  4. AWSLambaでのRubyの使用

    昨日AWSLambdaでのRubyサポートが発表されたとき、私はそれについて非常に興奮していたので、すぐに試してみる必要がありました。私たちはHoneybadgerでしばらくLambdaを使用してきましたが、Rubyで関数を記述できることを切望していました。新しいRubyサポートを数時間試してみたので、Node、Go、Pythonに費やす時間が減ると確信しています。 :) 簡単な例 AWSからの発表ブログ投稿により、Ruby on Lambdaをすばやく起動して実行できますが、サーバーレスフレームワークを使用してRubyLambda関数をデプロイする例を共有したいと思います。このフレームワ

  5. Rubyでのジャンクドロワークラスの回避

    Rubyはオブジェクト指向言語であるため、世界をオブジェクトのセットとしてモデル化する傾向があります。 2つの整数(xとy)は点であり、線には2つあると言います。 このアプローチはしばしば有用ですが、1つの大きな問題があります。これは、データの1つの解釈を他のすべてよりも優先します。 xとyは常に点であり、セルまたはベクトルとして機能する必要はないことを前提としています。 セルが必要な場合はどうなりますか?ええと、Pointがデータを所有しています。したがって、セルメソッドをPointに追加します。時間の経過とともに、ゆるやかに関連するメソッドのジャンクドロワーであるPointクラスになり

  6. UUIDとULIDについて深く掘り下げる

    先日、HBチームがチャットをしていて、開発オペレーションマスターのBenが、特定のシステムにUUIDではなくULIDを使用したいと言っていました。 他のベテランエンジニアと同じように、私の反応は、コミットメントのないものをつぶやいてから、Googleに忍び寄って、ULIDが何であるかを理解しようとすることでした。 2時間後、私は千ヤードの凝視で現れ、一意の識別子の世界は想像以上に大きく、不思議であることに気づきました。 ULIDの使用を開始する前に、基本に戻ってUUIDとは何かについて説明しましょう。 「通常の」IDの問題は何ですか? データベースを使用するほとんどのWebアプリケーシ

  7. アカウントのセキュリティ更新

    あなたはあなたの高価なインターネットの請求書を捨ててあなたの隣人の安全でないwifiを使いたいと思いましたか? Honeybadgerの単一要素認証フローを妨げているのはそれだけでしたか?さて、私はあなたにニュースをもらいました。 発表:2要素認証(2FA) 冗談はさておき、私たちはセキュリティを非常に真剣に受け止めています。ユーザーとそのデータの安全性を維持するための重要なツールを提供できることを嬉しく思います。 2FAを有効にする方法を説明できると思いますが、その面白さは何ですか?暗号化の野生の世界を気楽に垣間見て、2FAがどのように機能するかを理解してみませんか。 楽しみがあなたの

  8. ブレッドクラムの紹介

    本番環境でエラーに対処したことがありますか。何をしようとしても 、開発環境またはステージング環境で問題を再現することはできませんか?多くの場合、次のステップは、本番環境でデバッグログをスローして、より多くのデータを収集することです。ログをリクエストと関連付ける良い方法がない場合、特にインシデントの際にイライラする可能性があります。 役立つ機能を追加しました。これはブレッドクラムと呼ばれます。 ブレッドクラム ログイベントに非常によく似ていますが、エラーと一緒に保存および報告されます。ログのように、ブレッドクラムにはメッセージが含まれますが、メタデータ(ハッシュマップの形式)を保持する

  9. Rubyを使用したPostgreSQLパーティションテーブルの管理

    巨大なテーブルから大量のデータを削除するとデータベースのパフォーマンスが低下する可能性があるため、プライマリPostgreSQLデータベースでパーティション化されたテーブルを使用して古いデータを効率的に期限切れにします。バージョン10より前は、PostgreSQLはパーティション化されたテーブルをネイティブでサポートしていなかったため、pg_partman拡張機能を使用してパーティション化を実装しました。これは、PostgreSQLのテーブル継承を使用して、パーティション化されるテーブルの子テーブルを作成し、親テーブルではなく子テーブルにデータを挿入するトリガーによって機能します。この拡張機能

  10. Rubyistsによる文字エンコード、Unicode、UTF-8の紹介

    UndefinedConversionErrorのようなRuby例外が発生した可能性が非常に高いです。 またはIncompatibleCharacterEncodings 。例外の意味を理解している可能性は低くなります。この記事が役に立ちます。文字エンコードがどのように機能し、Rubyでどのように実装されるかを学びます。最終的には、これらのエラーをはるかに簡単に理解して修正できるようになります。 では、とにかく「文字エンコード」とは何ですか? すべてのプログラミング言語で、文字列を操作します。それらを入力として処理する場合もあれば、出力として表示する場合もあります。しかし、あなたのコンピ

  11. RubyでBig-O表記を調べる

    「そのためのBig-O表記は何ですか?」という質問を聞くことほど私を怖がらせなかった時期がありました。学校での話題を思い出しましたが、数学と関係があったので(これは私の最強の科目ではありませんでした)、それを黒く塗りつぶしました。 しかし、私のキャリアが進むにつれて、私は自分自身に気づきました: パフォーマンスチャートを見る 遅いクエリをデバッグしようとしています 負荷が増加した場合にコードがどのように保持されるかを検討したかどうかを尋ねられます Big-Oを学ぶために戻って(わかりますか?)と決めたとき、私はその高レベルの単純さに驚いていました。この記事で学んだことを共有して、エンジ

  12. Ruby同時実行ツールボックスを開く

    並行性と並列性は、Ruby開発者にとってこれまで以上に重要です。それらは、アプリケーションを最大限に活用するハードウェアを利用して、アプリケーションを高速化できます。この記事では、すべてのRubyistが現在利用できるツールと、Rubyがこの部門で間もなく提供することを約束しているツールについて説明します。 誰もが並行性を直接使用するわけではありませんが、Sidekiqなどのツールを介して間接的に並行性を使用します。 Rubyの並行性を理解することは、独自のソリューションを構築するのに役立つだけではありません。既存のものを理解してトラブルシューティングするのに役立ちます。 しかし、最初に一

  13. Rubyのデカップリング:委任と依存性注入

    オブジェクト指向プログラミング 、あるオブジェクトが機能するために別のオブジェクトに依存することがよくあります。 たとえば、財務レポートを実行するための単純なクラスを作成する場合: class FinanceReport def net_income FinanceApi.gross_income - FinanceApi.total_costs end end FinanceReportと言えます 依存 FinanceApi 、外部の支払い処理業者から情報を引き出すために使用します。 しかし、ある時点で別のAPIをヒットしたい場合はどうでしょうか。または、外部リソース

  14. PryがジュニアRubyistが学ぶことができる最も重要なツールの1つである理由

    putsステートメントを入力し、最終的に必要な場所に表示されることを期待して、コードをデバッグしようとしたことがありますか?あなたは私が何を意味するか知っています-あなたはタイプします: puts “This worked!" コードに挿入してからターミナルで実行しますが、何も表示されません。あるいは、Rubyistが利用できるすばらしいデバッグツールについて聞いたことがあるかもしれませんが、それらを試すことを恐れています。したがって、代わりに、デバッグのスパゲッティ方式を選択します。テキストエディタでコードをスローし、何がうまくいくかを確認します。問題は、この方法は解決策を保

  15. Rubys Bitwise Toolbox:演算子、アプリケーション、および魔法のトリック

    Railsアプリの構築に一生を費やすことができ、ビット演算子を使用する必要はありません。プログラミングに不慣れな場合は、「ビット単位」が何を意味するのかさえわからないかもしれません。 しかし、効率が重要でリソースが限られているシステムに関心を持った瞬間、ビット単位の操作が重要になります。これらは、ネットワークプロトコル、暗号化、Unixファイルのアクセス許可、組み込みシステムなどで広く使用されています。 さらに、コンピューターが2つの数値を加算するなどの動作を実際に理解するには、ビット演算を理解する必要があります。 Rubyや他の多くの言語はネイティブサポートを備えているため、将来

  16. すべてのWeb開発者が機械学習を検討する必要がある理由

    私にはまだ子供がいませんが、子供がいるときは、2つのことを子供に学んでもらいたいです。 パーソナルファイナンス 機械学習 特異点が近いと信じているかどうかにかかわらず、世界がデータで実行されていることは否定できません。そのデータがどのように知識に変換されるかを理解することは、最近の成人にとって重要であり、開発者にとってはさらに重要です。 これは、フルスタックのRuby開発者が機械学習(ML)にアクセスできるようにするシリーズの最初の記事です。自由に使えるMLツールを理解することで、利害関係者がより良い意思決定を行えるように支援できます。今後の記事では、個々のテクニックと実際の例に焦点

  17. AWSElasticBeanstalkとRDSを使用してRails6アプリをホストする理由と方法

    アプリケーションを作成するとき、考慮しなければならない主要な問題の1つは、アプリケーションが他の世界とどのように共有されるかです。 一般的なアプローチの1つは、Herokuで起動することです。セットアップは簡単で、完全に管理されています。ただし、チームが後でHerokuを削除することもよくあります。トラフィックが増えると、Herokuは高額になり、柔軟性がなくなります。 AWSのようなより汎用的なプラットフォームから得られる柔軟性とコスト削減をあきらめることなく、Herokuのような簡単さで新しいアプリケーションをデプロイできたらどうでしょうか。 AWSのサービスであるElasticBe

  18. ARGVはRubyでどのように設定されますか?

    Rubyがコマンドライン引数をARGVと呼ばれるグローバル配列に固定していることをご存知かもしれません。しかし、なぜそれはARGVと呼ばれるのですか?これは、CでのRubyの起源を強調する興味深い歴史のレッスンです。 引数ベクトル ARGVは引数ベクトルの略です。そして、この奇妙な昔ながらの用法における「ベクトル」は、「1次元配列」を意味します。 Cでは、すべてのプログラムにmain()があります。 関数。通常、次のようになります。 int main(int argc, char *argv[]) { ... your code here } お気づきかもしれませんが、main

  19. HTTPヘッダーがnginxからRubyアプリに渡される方法

    最近では、ほとんどすべてのWeb開発がフレームワークで行われています。 Rails、Sinatra、Lotusのいずれを使用する場合でも、Cookieやその他のヘッダーがnginxやapacheからアプリケーションサーバーやアプリにどのように渡されるかを考える必要はありません。彼らはただそうします。 この旅をもう少し詳しく見ていきます。ヘッダーのストーリーには、ウェブの歴史に関する興味深い情報がたくさん含まれていることがわかったからです。 とにかくHTTPヘッダーとは何ですか? Webブラウザがrequesnginxtを作成するたびに、HTTPヘッダーと呼ばれるものを送信します。 Cook

  20. Rubyでコマンドラインアプリを作成する

    ユーティリティスクリプトを1つだけ作成するのは楽しいことですが、神に正直なコマンドラインアプリケーションを作成する必要がある場合もあります。引数を取り、入力、出力、エラー報告などのUNIX規則とうまく連携するもの。 幸い、Rubyは、コマンドラインアプリケーションに必要なすべてのビルディングブロックをかなり簡単に提供します。この投稿では、通常の「gem Yを使用してXを実行する方法」のアプローチを超えて、一流のコマンドラインアプリを作成するために連携するすべての要素の概要を説明したいと思います。 入力:環境変数 環境変数は通常、しばらくの間保持したい短い構成値に使用されます。 APIキーは

Total 560 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:23/28  20-コンピューター/Page Goto:1 17 18 19 20 21 22 23 24 25 26 27 28