hiyoko-programingの日記

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

プログラミング・テキスト

データの検索 基本文法

データの準備 テーブルにあるデータの検索のために、まずはデータの入ったデータベースを用意する必要がある。 今回はこちらでデータの入ったプロジェクトを用意してあるので、以下の手順からデータの入ったデータベースを作成する。 現在mysqlに接続してい…

テーブルに保存するデータの操作

ターミナルを再起動した場合は以下のコマンドからデータベースを選択した場面まで進む。 ・mysqlに接続 1 mysql -u root ・データベースを選択 1 USE sqltest; データを登録してみる まず、データの操作として最も基本的なのは、データの登録である。 データ…

データベース構造の操作

mysqlへ接続してみる SQLを実行するために、まずはデータベースへ接続をする必要がある。 データベースを扱うために、mysqlというデータベース管理システムを使用していた。またこれまではmysqlを扱うために、SequelProというアプリケーションからデータベー…

SQL

SQL SQL(Structured Query Language)はリレーショナルデータベース(RDB)の操作を行うための言語。 リレーショナルデータベースとは、データをテーブルという表形式の構造で管理するデータベースのことで、Webアプリケーションを作成する際は一般的にリレ…

form_forとform_with

form_forとform_withの間には細かな違いはあるものの、使用感が大きく異なることはない。 自動でパスを選択してくれて、HTTPメソッドを指定する必要が無いこと コントローラーから渡された、ActiveRecordを継承するモデルのインスタンスが利用できること inp…

よくあるミス

Rails 記法 ハッシュの記法 aタグ→link_to imageタグ→image_tag %button→button_tag パスの指定 考え方 インスタンス変数生成のコードをメソッド化 すべての操作はリソースに対するCRUD操作にまとめる DB関係 外部キーの設定 外部キーをreferences型にする …

GitやGitHubを用いる上でのトラブルシューティング

ブランチを作成せず、masterブランチ上でコードを書いてしまった 新たにブランチを作成し、これまで書いたコードを新しいブランチに移す。コードを書いている途中にブランチを作成する際は、書いているコードを作成したブランチに引き継ぐか、0からコードを…

複数人で開発する方法

1. 事前準備 git-app というアプリケーションを作成し、作業を進めていく。 アプリケーションを新たに立ち上げる git-app というアプリケーションを新たに作成 以下の手順で操作をしていく。 ターミナル 1 2 3 4 $ pwd #現在のディレクトリがprojectsである…

GitHub Desktop

GitHub Desktopをインストール GitHub Desktop GitHubが提供しているデスクトップ用のアプリケーション。本来はコンソールで実施する作業を、グラフィカルに表現してくれるので、GitHubを利用した開発をより容易にしてくれる。これらのツールはGUI(グラフィ…

GitHubの概要

GitHubとは Gitを利用してチーム開発に便利な機能を提供するWebサービスがGitHubである。Hub(ハブ)というのは「集まり」という意味。GitHubは世界中のGitのリポジトリが集まったハブの役割を担っているサービスということ。 GitとGitHubは一緒のものではな…

Git

ローカルリポジトリでGitの練習 バージョン管理をする箱を作る Gitはバージョン管理をしてくれる機能があるが、その管理をするための入れ物が必要である。それをリポジトリと言う。 リポジトリとは リポジトリとは、Gitの管理下にあるファイルやディレクトリ…

JavaScriptのライブラリ

avaScriptはどんなライブラリやフレームワークがあるのか理解すること。 ライブラリとは何か 「ライブラリ」とは、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたもので、他のプログラムに何らかの機能を提供するコードの集合体。簡単に…

JavaScriptで画面上の表示

JavaScriptで簡単な機能を実装 "ボタンをクリックしたらコンソール上に「Hello world」と出る"簡単な機能を実装してみる。 「ボタン」をJavaScript上で扱えるようにする ボタンはHTMLの要素。HTMLの要素をJavaScript上で取得し操作するために、DOMという仕組…

JavaScriptの基本文法

JavaScriptをどこでどのように書けばいいのか。2つ方法がある。 ①コンソールに直接記入する/表示する JavaScriptはブラウザ上で動く言語である。したがって、以下のように検証ツールからコンソールを開くことでJavaScriptのコードが書ける。 ブラウザ上で二…

JavaScript概要

JavaScriptの使用場面 JavaScript(略してJS、ジェイエスと読む)は非常に汎用的な言語であり、様々な場面で使われている。特に、ブラウザ上での操作において有益であることが多く、Webアプリケーション開発においては必要不可欠である。 ウェブサイトで操作を…

正規表現

正規表現とは 登録フォームに電話番号を記入する欄がある。Aさんはハイフンを付けて入力したが、Bさんはハイフン無しで入力をしている。そのままデータベースに保存すると、異なるフォーマットで保存されてしまい管理が大変。 フォーマットを統一させるため…

リファクタリング 参考資料

MVCとは 皆さんがよく知っているようなWEBサービスも、最近はRuby on Railsで作られていることが多くなってきており、モデルの個数が300個を超えるような中〜大規模以上のアプリケーション開発の例が増えてきた。 WEBサービスを構築していく過程で数万行に及…

オブジェクト指向 参考資料

オブジェクト指向とは オブジェクト指向とは、複数のオブジェクトを組み合わせてプログラムを構築する考え方。オブジェクトとはデータと処理の集まり。漠然とした集まりではなく、ひとつのテーマを持った集まりである。人をオブジェクトとして考えてみると、…

リファクタリング

リファクタリングとは リファクタリングとは、処理の内容を変えずに冗長なコードを削除したり、コードを改善すること。 リファクタリングのメリット リファクタリングを行うことで下記のメリットが得られる。 読み手が最短時間でコードを理解できるようにな…

良いコードの書き方

良いコードとは 良いコードとは、読みやすいコードのこと。読みやすいコードは、「他の人が短時間で理解できるように書かれている」ことを指す。読みやすいコードを書くことは、一緒に開発するチームのためだけではなく、自分のためにも重要。 今後複数人で…

Rails Drill 問題10

必要となる知識 テーブルに保存されているレコードは、 「インスタンスの取得」 → 「インスタンスのカラムの更新」という流れで特定のインスタンスのカラムの値を更新することができる。 属性値の更新には、 update というメソッドを利用する。 updateメソッ…

Rails Drill 問題9

必要となる知識 テーブルから取得してきたレコードの塊に対してorderメソッドを利用すると、様々な条件でレコードの順番を並び替えることができる。例えば、order('カラム名 DESC')とすると、指定したレコードのカラムの中身の数値が大きい順にレコードを並…

Rails Drill 問題8

必要となる知識 limitメソッドを利用すると、取得するレコードの数を制限することができる。制限する数は、limitメソッドの引数で指定する。以下のようにすると、tweetsテーブルから取得してきたレコードのうち5つだけの配列を作成する。 コンソール 1 2 3 4…

Rails Drill 問題7

必要となる知識 特定の条件を満たすインスタンス(レコード)を全て取得する場合はwhereメソッドを使う。find_byメソッドと同様に引数でカラムと値を指定することで、その指定に一致するレコードを全て取得する。なお、返り値は条件を満たすインスタンスによ…

Rails Drill 問題6

必要となる知識 特定の条件を満たすインスタンス(レコード)を取得するにはfind_byメソッドを使う。ただし、条件に満たすものが複数あった場合、idが一番若い一件だけを返す。そのため、主に1件しか存在しないことが期待される場合にfind_byメソッドを使う…

Rails Drill 問題5

必要となる知識 モデルに対し、findメソッドを使うと特定のidのレコード一つを取得することができる。findメソッドは数字を引数にとり、その数字をidとするレコードを取得する。 tweetsテーブルに保存されている任意のidのレコードを取得する。 実行例 コン…

Rails Drill 問題4

必要となる知識 モデルに対してallメソッドを使うことで、そのモデルに保存されている全てのインスタンスを取得することができる。これはテーブルに保存されているレコードと対応している。 tweetsテーブルに保存されている全てのレコードを取得する。 実行…

Rails Drill 問題3

必要となる知識 newメソッドだけでは、インスタンスは生成されるものの、テーブルには保存されない。そのため、saveメソッドを用いる必要があるが、createメソッドを使えばnewとsaveを同時に行ってくれる。createメソッドは、newメソッドと同様に引数でカラ…

Rails Drill 問題2

必要となる知識 以下のように、インスタンスは生成された後でもカラムの値を変更することができる。 コンソール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # textカラムの値を"first"とする pry(main)> tweet = Tweet.new(text: "first") => #<Tweet id: nil, text: "first", image: nil, created_at: nil, updated_at: nil, user_id: nil> # tweetのtextカラ</tweet>…

Rails Drill 問題1

必要となる知識 newメソッドでは、それぞれのインスタンスのカラムの値が空(nil)になっている。以下のように、newメソッドに引数を渡すことで、カラムの値がセットされた状態でインスタンスを生成することができる。カラムを複数指定する場合は、カンマで区…