rubyのアルゴリズムについて
まだまだ理解が足りない。その2。
さあ行ってみよう!
RubyOnRailsにおけるActiveRecordとは何ですか?それがRubyのアルゴリズムにどのように関連していますか?
ActiveRecordはRubyOnRailsのデータベースアクセス層であり、
データベースとのやり取りを簡素化するためのライブラリです。
ActiveRecordを使用することで、データベーステーブルとオブジェクトのマッピングや、
クエリの作成・実行、データのバリデーションなどを容易に行うことができます。
あまり意識してactiverecordを使ったことがなかったから結構いい勉強になったなこれは。
やはり時々復習も必要だと感じましたね。
まずデータベースアクセス層とは?のところからでしたよね。 (本当今までよく理解せずに進めていたな笑)
データベースアクセス層(Database Access Layer)は、
アプリケーションとデータベースの間でのデータの取得や保存などの操作を行うための層です。
この層は、データベースへのアクセスを抽象化し、
アプリケーションからのデータベース操作をより簡単に行えるようにします。
とのこと。どうやらデータの操作を行うための層があるらしい。
そこでモデルの操作や、データベースクエリの作成、データベースとの接続
などを行なっているらしい。君がいることによって僕たちはデータベースを簡単に操作できるとのこと。
完全なる縁の下の力持ち。今はこれぐらいにしておこう。
(じゃないと永遠に調べ続けることになってしまう。)
今のを聞いてからまとめてみる。
ActiveRecordはrailsにおける、データの操作を行うための層に住んでいる、
データベースを簡単にいじれるようにしてくれる住人
と今は考えておこう。
RubyOnRailsのMVCアーキテクチャについて説明してください。このアーキテクチャがRubyのアルゴリズムに与える影響は何ですか?
RubyOnRailsは、
MVC(Model-View-Controller)アーキテクチャを採用しています。
MVCはソフトウェアの設計パターンであり、
アプリケーションの機能と責任を3つの主要なコンポーネントに分割することで、
保守性と可読性を向上させます
これがMVCの説明ですね。
いつも使っているやつ!
モデル!(データベースの操作を担当)
ビュー!(htmlなどを利用してユーザーがみやすいように表示してくれる。)
コントローラ!(ユーザーからの入力を受け取って最適な処理を実行する。)
の三つですね。みんなが与えられた職責をしてくれることによって、
保守性が可読性が上がるよね。とのこと。簡単にいえば。
必ず決められた場所に保存されているので探しやすいし変更もしやすい。(保守性が上がる)
同じコードとかならメソッドにまとめちゃって、再利用ができる。
などなどたくさんの恩恵があるね。
RubyのEnumerableモジュールについて説明してください。このモジュールがRubyOnRailsにどのように利用されるか、またアルゴリズムへの影響はありますか?
RubyのEnumerableモジュールは、
反復処理やコレクション操作に便利なメソッドを提供するモジュールです。
Enumerableモジュールをインクルードすることで、
クラスに対して反復処理や要素のフィルタリング、変換、ソートなどの操作を行うことができます。
モジュール名だけ聞いても ん?てなったけど解説を見てみると、
なるほどね。となりました。
知らず知らずにうちに使っていた
each、map、select、reject、reduce、sort
こいつらのことらしい。activercord君がいい感じに作成してくれたデータを
Enumerable君がもらってデータをいじくりまわせるということか。
activerecord君がくれたデータをそのまま使ってもいいんだけど、その場合だと
使い勝手が悪い場合がある。
その時にEnumerable君強制出動。
そしたら扱いやすいデータができたよ。
ということだね。