BLOG

Toy Appをscaffoldで作る。

大事だと思った箇所をメモします。

・MVCの挙動

・REST

・継承の階層


1、MVCの挙動



request 〜 response の一連の流れを把握する

controllerのアクションについて

ページが出力されるのはindex、new、show、edit 、create、update、deleteは見えない

なぜなら、ページを出力せずにデータベース上のユーザー情報を操作するので


2、REST

RESTとはWebアプリケーション構造の抽象的なガイドブック

その中にはいろいろ条件があり、以下項目もその一部

・CRUD

・HTTP

RESTのガイドブックに従った構造だとRESTful となる。

※以下、記事をつまみ食いしながら理解を深めたので間違いがあればご指摘お願いいたします。

関連知識をまとめた場所





3、継承の階層


ActiveRecord::Baseを継承したApplicationRecordはActiveRecord::Baseが持つオブジェクトを持つ。

つまり、何が言いたいというと、TopにあるActiveRecord::Baseを継承したApplicationコントローラで定義したルールは、アプリケーションのすべてのアクションに反映されますということ。



大事だと思った箇所をメモします。

・1、MVC概念

・2、Gitの使い方

・3、Herokuの使い方


1、MVC概念

アプリケーションソフトウェアを実装するためのデザインパターン

ソフトウェアの設計/開発が複雑さを解決するために生まれた

役割を明確化し、規約化することで解消する。

model: アプリケーションデータ、ビジネスルール、ロジック、関数

view: グラフや図などの任意の情報表現

controller: 入力を受け取りmodelとviewへの命令に変換する

2、Gitの使い方

その前に、Github はwebサービスの名前、Gitはソースコードのバージョンを管理するツールの名前である。なので、正確にはGitというツールが使えるwebサービスがGithub

ソースコードをいつ誰がどこを変えたのかを把握できるようにするために生まれた


概念

使い方


3、Heroku

ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するサービス(PssS)である。

DB設計や契約、ドメインの取得などwebサービスを公開する上で

必要となる行為を、まとめて提供してくれるサービス。


違いを一言で表現するとスコープの範囲の違い


クラス変数

各インスタンスが共有する変数のこと。

書き方:@@x

範囲:クラス内にあるメソッドから呼べる

  :継承クラスのメソッドから呼べる


クラスインスタンス変数

そのクラスのみでしか参照できない変数のこと。例えば、そのクラスを継承したクラスではその変数にはアクセスできない。

書き方:@x

範囲:クラス内にあるメソッドから呼べる


インスタンス変数

インスタンスごとに持つ変数のこと。

書き方:@x

範囲:クラス内にある、そのメソッドのみから呼べる


したいこと

xクラスのAメソッドとBメソッド内で、インスタンス変数を使用したい場合


解決

クラス変数を使用するか、xクラスにinitializeメソッドを定義する必要がある

------------------------

# クラス変数

class Car

 @@num = 0

 def add_weight

  @@num += 1

  puts @@num

 end

end

------------------------

# initializeメソッドを定義

class Car

  def initialize

  @num = 0

 end

 def add_weight

  @@num += 1

  puts @@num

 end

end

------------------------

<参考URL>

http://d.hatena.ne.jp/mirichi/20140206/p1

https://teratail.com/questions/51652

【コメント】

回答を読解するでせいいっぱいだった。

q3のモジュールを使用するコードはいまいち理解できておらず。

他は、読解はできたと思うが、回答を見ないで書くとなると少しきついかな

来週あたりに回答を見ないで挑戦したい。

クラス、インスタン、メソッドの生成についての”流れ”、”作りかた”は理解できたので

要件にそったオブジェクトを生成する際には、ググりながら自力で作れそうです。

次はブラックジャックに挑戦。

Rubyオブジェクト指向 問題

【コメント】

以下、項目理解すること

・Rubyのクラス変数、インスタンス変数、クラスインスタンス変数の違い

・Rubyの自己代入

<参考URL>

https://qiita.com/nakamaru/items/1339303487fe8a876825

https://qiita.com/scivola/items/bb2934941040dab14acd

https://qiita.com/tmiyachi_teen-spirit/items/82417ab6126d816af4e4

https://qiita.com/mogulla3/items/cd4d6e188c34c6819709


癒されるわ。

【コメント】

Rubyでのオブジェクト指向理解

もともとJavaでやっていたから、おおよそは理解できたがあとは実務で実際に自分でクラスやインスタンスを作りながら身につける。

【コメント】

目的の、Ruby基礎を理解=振る舞いや書き方については慣れたと思う。

メソッドは適宜覚えていくとして、

DBから取得した内容を加工するメソッドをRuby次回は練習したい


何かを選択するとき、それは自分の思考から発せられた情報なのか、

疑問に思うことがある。8割は、世間一般の物差しを基準に決めてると感じる。

そのため、抽象的な幸せとか自分がしたいことを聞かれると戸惑ってしまう。

では、軸を持ってる人と何が違うのか?

それは、目の前の目標を、わき目も振らず真っ直ぐに行動してるかどうかの違いだと思う。

行為にフォーカスして、その行為を達成するために毎日努力をしてるか

1年先よりも1日の24時間をどう過ごすかに頭を使ってる。

まずは1日を生き抜くために行動しよう。