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

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

自分にとって意味のないRailsトピックを見つけたことがありますか?

たとえば、あなたはそれを知っていると思ったので、コードを書いたのですが、まったく別のことが起こりましたか?

または、知っている あなたは理解していませんが、エッジケースとの戦いに多くの時間を費やしているので、それが終わったときには専門家であった可能性があることを除けば、十分に理解していますか?

ええと、そうする必要がなかったらどうしますか? 知っているだけの方がいいのではないでしょうか 物事はどのように機能しましたか?あなたの目の前に問題のしっかりしたメンタルモデルを持っているために? では、適切な決定を下し、適切なコードを記述できますか?

私が最初にWeb開発を学んだとき、セッションはそのことでした。私はそれらをある程度知っていると思いましたが、知りませんでした。そして、セッションについての私の誤解は、私が作成した問題について多くの批判を受けるほど多くのバグを引き起こしました。

すぐに、実際に時間をかける必要があることに気付きました。 セッションがどのように機能したかを理解します。 それらをわかりやすく説明し、怖いものや奇妙なものにしないようにします。そして最終的には、彼らがどのように振る舞うかを推測できるようになり、正しくなるようになります。

私が深く掘り下げたトピックは「セッション」だけではありません。データモデリング、キャッシング、メタプログラミング、これらはすべて、種類に到達するのが非常に簡単な紛らわしいものです。 仕事。ただし、理解していないと、デバッグの問題が永遠に困難になります。

レールの練習T字型学習について書きました :ベースラインに関する十分な知識があるが、必要に応じて特定のトピックにさらに踏み込む場合。 これらのプッシュは詳細な説明であり、プログラミングのキャリアを通じて大きな問題を解決するのに役立ちます。

いつディープダイブを行う必要がありますか?

では、どのようにして詳細な調査が必要かを知ることができますか?

まず、深く潜るには、何に潜っているのかを知る必要があります。

1つのトピックを扱う場合は、ディープダイブが最も役立ちます。 単語や短いフレーズで説明できる特定のこと。 SQLクエリのパフォーマンスセッションHTTPキャッシング 。具体的すぎると、トピックを非常に複雑にする相互作用を見逃してしまいます。一般的すぎて、あなたは「プログラミング」について深く掘り下げています。確かにそうだと思いますが、それはあなたがキャリア全体を費やす深いダイビングです。

次に、次の2つの状況のいずれかで詳細を確認する必要があります。

  1. あなたは考える 自分が何をしているのかはわかっていますが、まったく予期しないことが起こります。 あなたはあなたの心の中で知っています その緑色のボタンを押すと廊下のライトが点灯しますが、押すと部屋が崩壊します。

  2. あなたは知っている あなたは本当に何かを理解していません、そしてそれは大丈夫です… しかし今、あなたはバグを修正しているので、あなたが試みることはすべてあなたが解決しているよりも多くの問題を引き起こし、古いバグを修正するのと同じくらい早く新しいバグを作成します。

これらの状況には共通点があります。あなたは自分が間違った方向に進んでいることに気づき始めたところです。そして、あなたが願っています 状況を好転させると、苦労して多くの時間を無駄にすることに気づき始めます。

これらは両方とも、物事を行っている方法が機能していないことを早い段階で感知するのに役立つ方法です。

したがって、次に円を描いて走り回ったり、バグを修正するためにエッジケースと戦ったりするとき、または次にあなたが書いたコードに悩まされたときは、予想とはまったく異なることをして、自分の気持ちを覚えておいてください。それに敏感になりなさい。それが、一時停止する時間だという感覚です。自分を集めるため。 そして、あなたが今知っていることを深く学ぶために、あなたは理解していません。

しかし、深く掘り下げる必要があると判断したので、どうやってそれを実行しますか?


  1. Rails5でのAngularの使用

    あなたは前にその話を聞いたことがあります。分散型で完全に機能するバックエンドAPIと、通常のツールセットで作成されたフロントエンドで実行されているアプリケーションがすでにあります。 次に、Angularに移動します。または、AngularをRailsプロジェクトと統合する方法を探しているだけかもしれません。これは、この方法を好むためです。私たちはあなたを責めません。 このようなアプローチを使用すると、両方の世界を活用して、たとえばRailsとAngularのどちらの機能を使用してフォーマットするかを決定できます。 構築するもの 心配する必要はありません。このチュートリアルは、この目的のた

  2. Railsアプリのパフォーマンスを理解するための新しい方法

    Railsアプリは遅いですか? 単純なビューであるはずのものをロードするのに数秒かかる場合、掘り下げる価値のある問題があります。 データベース呼び出しが多すぎるか、メソッドが遅い可能性があります。あるいは、誰かがあなたのコードに入れて忘れてしまったスピードアップループかもしれません。 アプリの速度を低下させている原因を見つけるのに役立つツールがたくさんあります。数週間前、私はrbtraceについて話しました 。 NewRelicのrpm gemは、アプリの高速化にも役立ちました。 しかし、パフォーマンスの問題を調査するための私のお気に入りのツールは、さらに多くのことを行います。 箱か