バックエンド、ルビー、レールの物語

これはレールに関する記事の別の翻訳で、今回は私自身のものです。 この記事はおもしろく、バックエンドとレールのアプリケーションに慣れていない人を対象としています。



元の記事はここにあり、写真はそこで撮られています。



私たちは皆、ウェブの美しい世界について知っています。 毎日、答えを求めたり、楽しい時間を過ごすためにそこに戻ります。 しかし、この統一とゼロの世界がどのように配置されているかを誰もが知っているわけではありません。



さて、この世界は非常に広く、誰もがその優位性を見ているわけではありません。 今では私たちのものと同じくらい素晴らしいです、幸いなことに、それに境界はなく、毎日拡大しています。 そこに新しい州が表示されます。たとえば、PhPやPythonなど、それらの一部について聞いたことがあります。これらの州には都市(アプリケーションと呼びます)、都市には居住者(オブジェクトとエンティティ)が表示されます。



ルビーの世界へようこそ



今日はこれらの州の一つについてお話します。おそらくあなたはそれについて聞いたことがあるでしょう。 この状態はRubyと呼ばれます。 また、おそらくあなたは彼の栄光の王朝である「レール」について最近聞いたことがあります、若くて強い国王であるRails Vが王位に就きました。彼らは他の国でこの王について聞いて、彼から例を挙げましたDjangoは彼がRails王朝の王に非常に似ています。



画像



Rails王朝は多くの都市を作りました。 ちなみに、Twitter、Github、Kickstarterなどの都市について聞いたことがあるかもしれませんが、これらの都市はRubyをベースにしています。



キングレールズVは、父親の意志に従って栄光に満ちた状態を支配し、父親の意志を支配しました。 多くの人がこの意志を聞いたことがあるでしょう。おそらくあなたも、この意志は(MVCプログラミングパターン)と呼ばれています。 この意志について少し。

各都市(アプリケーション)は同じアーキテクチャに従って開発され、各都市には3つの主要な建物があります。



  1. 自治体(モデル)
  2. 都道府県(コントローラー)
  3. エリア(表示)


以上です。 そのような意志。 しかし、それにもかかわらず、それは非常に重要です。 理由を見つけましょう。



画像



私たちは、街のゲストとして、その美しさをすべて見たいので、広場(ビュー)に行きます。 そうです、広場から街全体を見ることができます。また、ギャラリー、コンタクトセンター、または街の他のゲストと知り合うために、どこからでも、あらゆる機関に行くことができます。 ただし、ギャラリーの写真を見る、またはコンタクトセンターから電話番号を調べる、または市内の他のゲストに関する情報を表示するには、都道府県(コントローラー)を調べる必要があります。そこで、要求された情報にアクセスする権利があるかどうか、そしてアクセスがある場合は、リクエストは市(モデル)に送信されます。これは、市、その住民、ゲストに関するすべての情報が保存されている場所です。



広場(ビュー)に関しては、現在、広場の建設に特化した州に置くことは、その建設に対する人気の責任を獲得しています。 そのような州は「モバイル開発」大陸に定住しました。おそらく聞いたことがあるでしょう。これらはAndroid州とIOS州です。



都道府県(コントローラー)は非常に便利な場所です。 存在しない都市(たとえば、海にアクセスできない都市の船積み港)で機関を見つけようとすると、「 404-not found 」と言うのは県の従業員です。



自治体(モデル)は各都市の拠点であり、それがないと都市は空になります。 市内に広場があるかもしれませんが、自治体がなければ誰にも会えません。 ここでは、居住者、施設、ゲスト、一般的には市内にあるすべての情報を見つけることができます。 自治体は、各都市のアーカイブを担当する部分です。



都市生活



画像



今日は、世界で最も有名な名前である「 MyApp 」という非常に若い発展途上の都市を訪れます 。 この都市は、世界中の人々を結びつけるために作られました。



すでにMyApp Squareにアクセスして、誰かと知り合うときだと決めたとします 。 都道府県(管理者)に向かい、現在市内にいるすべての男性に関する情報を要求します。



“GET https://my_app/men”



としましょう



県の管理者は、あなたのリクエストが自治体(モデル)に送信され、正常に完了したことを丁寧に返信します。 一瞬が過ぎて、これらのすべての人が広場であなたを待っています。



画像



この一瞬で何が起こったのですか?



自治体のアーカイブに行き、調べてみましょう。 アーカイブ内の情報は別の形式で保存でき、1つの棚に置くことができ、適切に分類できます。



たとえば、この棚に都市のすべてのゲストに関する情報を配置し、すでに赤いフォルダーに残っているゲストと、私たちの都市で初めてのゲストに関する情報を緑色でラップし、男性に関する情報を書き留めます青い紙の上、そして紫色の女性について...



アーカイブのアーキテクチャが優れた専門家によって開発された場合、ほんの一瞬で必要な人をすばやく簡単に見つけることができます。さもなければ、ほんの一瞬でひどい数秒に成長してしまいます。 このようなアーキテクチャの開発は、バックエンド開発者の主要なタスクの1つです。



画像



写真のアーカイブに入って、これらの写真に誰が描かれているかを知りたいものを選んだとしましょう。 しかし、何をすべきか? 「ユーザー」アーカイブは、自治体の反対側にあります。 正しく記述されたコードのおかげで、そこに行く必要はありません。写真を裏返すだけで、写真に描かれている全員の名前が裏面に書き込まれます。 これがアーカイブの仕組みです。



もちろん、県にいることは、市町村で何が起こっているのかわかりません。広場でこれを認識しないので、なおさらです。 しかし、自治体の従業員は、彼らの都市への訪問者の時間と彼らの要求について心配しています。



そのようなことを担当するのはバックエンドです。さらに、都市全体が居住者だけでなくゲストにとっても便利である必要があります。 したがって、各ブリックをテストする必要があります。 そしてもちろん、セキュリティについても忘れないでください。 市の安全は、県がどのように機能するかにかかっています。 彼らは悪人とゲストを区別する必要があります。



パスワードを要求する都道府県、電話番号を持っている都道府県、銀行カードやお金を扱う都道府県もあります。 このような重要な部分には、かなりの知識と同じ責任が必要です。そのため、市を設立する際に市町村に特別な注意を払う必要があります。



都市の生活からもう一つ例を示します。 あなたが非常に長い間街にいて、そのすべての住民を知っていると仮定しますが、残念ながらあなたは街が拡大し、新しいゲストが毎日来るので、ゲストを知りません。 たぶん、今日は毎日何人のゲストが現れたかを知りたいでしょう。 しかし、県に頻繁に行って、新しいゲストの到着について尋ねることはできません。 それは非常に疲れるでしょう...心配しないでください、あなたはこれをする必要はありません。 彼らは、あなたが毎日、街のどこにでも(そしてあなたが望むなら、いつでも)伝書鳩を受け取るという事実を心配します。



これは、県と市町村の従業員が行っていることのほんの一部です。 開発者のバックエンドのタスクは、これらの管理棟で作業をセットアップし、都市のゲストが何を望むか、何が彼らを妨げるかを予測することです。



この物語の教訓...



画像



MyAppの街に関するおとぎ話を要約すると、バックエンドはすべてのWebアプリケーションの不可欠で主要な部分であり、作業するデータはきちんと整理されている必要があります。侵入者から隠されている必要があります。



メインタスクに加えて、開発者はアプリケーションの拡張性と柔軟性の問題に直面しています。 すでに1,000,000人のユーザーがいるときにアプリケーションにFacebook登録を追加したい、またはその逆の場合、削除するか、今日ではアプリケーションに新しいインターフェイス言語を導入する必要があり、これらすべての条件下で設計段階でそれを考えなかったアプリケーションは、大幅な変更前の動作と同じように動作する必要があり、バックエンド開発者が面倒を見るのはこれよりも良い場合もあります。



All Articles