hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

2020-02-01から1ヶ月間の記事一覧

Pictweetの作成

必要なファイルを準備 アプリケーションの以下のディレクトリにある同名のファイルと入れ替える方法。 app views layouts application.html.erb 入れ替える際は、以下の動画のようにすると便利。まずはfinderを開き、その状態で別タブを開きます。別タブを開…

M V Cの実装

投稿画面を作成する ツイートの新規作成画面を作成し、遷移できるようにする考え方を確認する。ツイートの新規作成画面を表示するためのアクションと新規作成画面があれば、ブラウザからのリクエストによってそのアクションを動かすことで新規作成画面は表示…

MVCの関係

ビューにデータを受け渡す Railsでの処理がルーティング→コントローラ→ビューの順番で進む際にコントローラの役割を、リクエストに応じたビューをレスポンスとして返すことだが、実はそれだけでなく、コントローラのアクションの中で何らかの処理を行うこと…

モデルとテーブル

ユーザーが投稿した情報をビューに反映させるサイトのことを動的なサイトと言う。これを作成するには、情報を保存したり、またそれを引き出しビューに反映する仕組みが必要 モデルとテーブルについて テーブルとモデルを連携させることで、DBから情報を引き…

ルーティングの設定

リクエストとレスポンス ユーザーがPCやスマートフォンを使ってウェブサイトにアクセスした時、PCからはリクエストというものが送信される。それに対して、リクエストを受け取ったサーバーはリクエストに対して適切なレスポンスを返す。これが基本的なウェブ…

データベースの作成

Railsではアプリケーション内でデータベースを利用することができる。データベースを利用するためには、新規アプリケーションの作成とは別にデータベースの作成を行う必要がある。 データベースを作成 データベース データベースとはたくさんの情報(データ)…

Gemについて

Gemの追加 ライブラリ ある特定の機能を持ったコンピュータプログラムを他のプログラムから呼び出して利用できるように部品化し、そのようなプログラム部品を複数集めて一つのファイルに収納したものをライブラリという。ライブラリはrubyやrailsに限ったも…

新規アプリケーションの作成

Railsで新規アプリケーションを作成するためにはrails newコマンドを使用する。このコマンドを実行すると、Railsアプリケーションのひな形のようなものが作成される。 rails new コマンド このコマンドはRailsで新規アプリケーションを作成する際に使用。コ…

新しいバージョンのRubyのインストール方法

・rbenv と ruby-buildをインストール Rubyの土台となる、rbenvとruby-buildを、Homebrewを用いてインストールする。 ターミナル 1 $ brew install rbenv ruby-build ・rbenvをどこからも使用できるようにする rbenvはインストールされたが、PCにおけるどこ…

クラスとインスタンスのコード理解

Rubyのオブジェクトは、全ていずれかのクラスのインスタンスである。例えば、今まで使っていた"Hello World"のような文字列はStringクラスのインスタンス。 [例]Stringクラス 1 2 string1 = "Hello World" # インスタンス string2 = "こんにちは Ruby" # イ…

jQueryを使ってブラウザ情報を取得

jQueryでタブメニュー切り替えを実装する。 JavaScriptを書き換えて、jQueryでタブメニュー切り替えを記述する。 事前準備 以下のコマンドをターミナルにprojectsディレクトリ上で打ち込んで、main.jsの中身を以下のように書き換える。 ターミナル 1 git clo…

jQueryを使って検索機能を実装

以下のような検索ボックスに入力した文字と一致するフルーツが検索できるアプリケーションを作成する。 事前準備 アプリケーションをクローンする ターミナル 1 2 3 $ cd #ホームディレクトリに移動 $ cd projects #projectsディレクトリに移動 $ git clone …

モデリングとクラスとインスタンス

モデリングについて 本格的なプログラムを作るにあたって必須となる「モデリング」あるいは「抽象化」。ラスとインスタンスの仕組みを利用してレビューアプリを作ることができたが、その際に作ったクラスは「Review」クラス一つだった。しかし、実際のプログ…

linuxのコマンド

linuxコマンドとはターミナル内で使用できるコマンドのことを指します。新しくディレクトリを作成する時などに使用する。たくさんの種類があるので、全て覚えるのではなく必要に応じて使用する。 コマンド 意味 役割 cd change directory 現在のディレクトリ…

クラスとインスタンス

クラスについて クラスとは、とある種類のオブジェクトの共通の属性とメソッドをまとめて定義しておく型のようなもの。例えば、"Hello World"という文字列と"こんにちは"という文字列は、それぞれが一つの異なるオブジェクト。しかし、この二つのオブジェク…

レビューを読めるようにする

見たいレビューの順番を入力してそのレビューを表示させるようにする。 配列から要素を取り出す 配列から選んだ順番の要素を取得できるようにする。 配列は順番でオブジェクトを管理しているので、配列は順番を指定することでオブジェクトを取得することがで…

レビューアプリの完成ソースコード

reviewApp.rb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 # メソッドの定義 def post_review(a_posts) # 変数の定義 post = {} pu…

レビュー数をカウントし表示する

reviewApp.rb 41 puts "レビュー数:#{posts.length}" 配列オブジェクトに入っている要素の数を返すメソッドは lengthメソッド。 レビューの数はレビューを管理する配列オブジェクトpostsの要素数と等しいので、 今までレビュー数:0となっていたのをレビュ…

配列オブジェクトpostsを引数として渡す

reviewApp.rb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 # メソッドの定義 def post_review(a_posts) # 変数の定義 post = {} pu…

引数

違うスコープの変数を利用する 下記のソースコードではエラーが出る 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def post_review # 変数の定義 post = {} puts "ジャンルを入力してください:" post[:genre] = gets.chomp puts "タイトルを入力…

配列オブジェクト

配列オブジェクト 配列オブジェクトはハッシュと同じように、1つの変数でたくさんの情報を持つことのできるオブジェクト。 配列の中にはたくさんのオブジェクトを入れることができる。ハッシュがキーでオブジェクトを管理していたのに対して、配列は順番でオ…

ループ処理

ループ処理をする メニューで「アプリを終了する」を選択するまでプログラムが終了しないような実装は以下のようなイメージとなる。 プログラムを実行してから終わらせないようにするにはループ処理というものを使う。 繰り返し処理 ループ処理は while とい…

複雑な条件分岐の実装

複数の条件分岐を書くときはelsifという文法を使う。 1 2 3 4 5 6 7 8 if 条件式1 then # 条件式1が真(true)のときに実行する処理 elsif 条件式2 then # 条件式1が偽(false)のとき、かつ # 条件式2が真(true)のときに実行する処理 else # 条件式1と条件式2が…

条件分岐

条件分岐 条件はユーザーから入力された値で、分岐は以下。 入力された値 処理 0 レビューを書く 1 レビューを読む 2 プログラムを終了させる それ以外 無効な値と教える if文で条件分岐 if文 条件分岐にはif(イフ)文という文法を使う。if文は条件式が正しい…

ハッシュ

ハッシュという複数の情報を扱うことのできるオブジェクトをつかってレビューの情報をより分かりやすく扱う。 変数が増えるという問題 これまでのソースコードを見てみるとジャンル、タイトル、感想をそれぞれ別の変数として扱っていた。しかし、レビューを…

文末改行を取り除く

getsメソッドで返ってきた文字列オブジェクトは勝手に文末で改行してしまう。これはgetsメソッドの仕様で入力した文字の末尾にバックスラッシュ記法の\nをつけた状態の文字列オブジェクトを返り値として返してしまうから。 期待する表示 ターミナル 1 2 3 4 …

ターミナルから文字を入力

ターミナルから文字を入力できるようにするにはgetsメソッドを使う。 getsメソッド getsメソッドはユーザーからターミナルへ入力できるようにするメソッド。ユーザーが入力した値を文字列オブジェクトとしてプログラムに渡す。(返り値はユーザーが入力した値…

変数と式展開

変数を使う 変数は入れ物としての役割の他にオブジェクトに名前をつけるという役割がある。変数を定義するとその分ソースコードは長くなってしまうが、見やすくなるので積極的に使っていくべき。 1 puts 200 * 2 + 100 * 5 これは単なる計算のプログラムだが…

バックスラッシュ記法

バックスラッシュ記法はその名前の通り、\(バックスラッシュ)から始まる文字の記法のこと。ウィンドウズ環境ではバックスラッシュの代わりに¥記号で代用する。日本語キーボードを使っている方は「option + ¥」でバックスラッシュを打つことが出来る。 この…

変数

変数 変数とは、オブジェクトの入れ物、またはオブジェクトを識別する名札のようなもの。例えば、helloworld.rbで"Hello World"という文字列を作った。そしてこの文字の数を数えたかったため、lengthメソッドを利用した。 ターミナル 1 2 3 #"Hello World"の…