Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

APIを使用するとひどく間違ってしまう

APIドキュメントでは、APIの使用方法を説明しています。しかし、物事がうまくいかないとき、あなたはあなた自身に任せられることができます。エラーメッセージは、多くの場合、不完全、誤解を招く、または役に立たないものです。そして、NoMethodError: undefined method '[]' for nil:NilClassで何をすることになっていますか 、とにかく?

API、フレームワーク、またはライブラリを学ぶとき、物事がうまくいったときにそれを使用する方法を学ぶだけではありません。 また、エラーが返されたらどうするかを理解する必要があります。

どのようにコードを解読しますか?

使用しているAPIが壊れたときに何をすべきかを学ぶ簡単な方法があります。自分で壊してください!

たとえば、次のようにします。

  • 間違ったタイプのデータを渡します。 文字列の代わりにシンボル、配列の代わりに文字列、配列の代わりにハッシュなどを渡すことができます。

  • 不完全なデータを渡します。 nilを渡すことができます 、一部のフィールドが入力されていないハッシュ、および初期化されたばかりのオブジェクト。

  • APIにネットワークアクセスが必要な場合は、 WiFiから切断するか、ネットワークケーブルを引っ張ってください。 タイムアウトしただけですか、それとも到達できなかったサービスを教えてくれますか?

  • APIでブロックを渡すことができる場合は、ブロック内で例外をスローするか、間違ったタイプのデータを返す

優れたAPIは、何が間違っていたかを教えてくれます。優れたAPIは、それを修正する方法を教えてくれます。ただし、ほとんどの場合、Ruby NoMethodErrorに遭遇します。 、予期しないnil s、またはさらに悪いことに、完全に奇妙な戻り値を取り戻す。

なぜコードを壊すのですか?

これはすべて悪いことではありません。オープンソースのgemで遊んでいる場合は、時間をかけてどこでを理解することができます。 その予期しない行動は、理由 それは起こった。ライブラリまたはAPIがどのように機能するかについて多くを学ぶために、デバッグして少しのコードを読むことができます。

NoMethodErrorの場所を見つけたら から来ている、あなたはさらに一歩進むことができます。次の人がこの問題に実際に遭遇するためのエラーメッセージを修正できます! エラーメッセージの修正がほとんどないため、オープンソースに大きく貢献し、プルリクエストを簡単に行うことができます。 そして、それらはRubyエコシステム全体を他のすべての人にとって少し良くします。

クローズドソースのRESTAPIであっても、この演習から何かを得ることができます。 APIから発生するさまざまなエラーを確認した後、実際にエラーが発生したときに問題を修正するのが簡単になります。

周囲のコードのエラーを確認して修正することに慣れると、壊れたコードが解決すべきパズルとして表示されます。例外とバックトレースが画面にダンプされた場合、自動的に反動することはありません。代わりに、使用しているシステムについて詳しく知る機会としてそれらを見ることができます。

最後に、コードが壊れたときに、コードを元に戻すことができることがわかります。新しいライブラリやAPIを試す自信が高まります。そして、その大胆さはあなたのレートを増加させます 新しいことを学ぶのです。


  1. Windowsバックアップ使用時のトラブルシューティングエラー0x81000036

    一部のWindowsユーザーは、常に 0x81000036に遭遇しています。 Windowsバックアップを使用してOSの状態を以前の時点に復元しようとするとエラーが発生します。この特定の問題は、Windows10に固有のようです。 この特定のエラーコードを調査した後、いくつかの異なる根本的な原因がこの問題を引き起こしている可能性があることが判明しました。潜在的な原因の候補リストは次のとおりです。 Windowsサンドボックスとの競合 –影響を受ける多くのユーザーによると、このエラーコードの原因として知られている最も一般的な原因は、Windowsサンドボックス環境とWindowsバックアッ

  2. Windows ファイアウォールの使用時に直面する 3 つの問題

    Windows ファイアウォールは、Windows オペレーティング システムに組み込まれている強力なセキュリティ サービスです。脅威がシステムに侵入するのを発見して阻止するために作成されました。システムのすべてのポートを保護し、実行中のアプリケーションが他のネットワークのポートに情報を送信するのを防ぎます。 Windows ファイアウォールは、すべての Windows コンピュータに必要な基本的な保護ソフトウェアです。 Windows は、ソフトウェアをよりスマートで直感的なものにするために、さらに努力しています。 Windows ファイアウォールは、システムを脅威から遠ざけるのに役立つ一連