プログラミング学習記録

主にRuby on Railsを使ったプログラミングを学んでいます。

JavaScriptでDOM操作

DOMとは DOMとはDocument Object Modelの略。 HTMLの構造をツリー構造として扱い、プログラミング言語からHTMLの要素にアクセスし操作するための仕組み。 WebブラウザがWebサーバから送られたHTML文書を解析し、DOMというデータ構造に変換している。 DOMのツ…

パーシャルでコレクションをレンダリングする/ローカル変数を渡す

パーシャルとは 部分テンプレートまたはパーシャルは、出力を扱いやすく分割するための仕組みです。パーシャルを使用することで、ビュー内のコードをいくつものファイルに分割して書き出し、他のテンプレートでも使いまわすことができます。 引用 Railsガイ…

Rails 5系でBootstrap 4系を導入する

Bootstrapとは Bootstrapとは、WEBサイトやWEBページを効率よく開発するためのオープンソースのCSSフレームワーク。 HTML・CSS・JavaScriptから構成されている。WEBページでよく使われるフォーム・ボタン・メニューなどの部品がテンプレートとして用意されて…

アセットパイプラインとマニフェストファイル

アセットパイプラインとは ブラウザが認識できる言語は、HTML,CSS,JavaScriptの三種類。 しかし、Railsでアプリケーションをつくる場合、当然ながらERB(埋め込みRuby)を使用している。画像などのリソースもブラウザで表示させる場合がほとんどだ。 つまりそ…

rails generateコマンド実行時に不要なファイルを生成しないよう設定する方法

rails gコマンドで生成されるもの コントローラーやモデルを作成する場合、rails gコマンドを使うとコントローラーやモデルのファイルと共に、テストファイルなどの関連するファイルを自動で生成してくれる。 デフォルトで生成するものは以下の通り。 ※ルー…

N + 1問題

N + 1問題とは SQLが必要以上に実行されてしまい、パフォーマンスが落ちる問題。 どういう時に起こるかというと、外部キー制約でアソシエーションが定義された複数のテーブルの情報を、横断的に繰り返し処理を用いて取得しようとする場合。例えば、一対多の…

Draper

Draperとは Railsで利用できる、Decoratorを導入するためのGem。 ※Decoratorとはソフトウェアのデザインパターンの一つ。既存のオブジェクトに新しい機能や振る舞いを動的に追加するためのもの。 どんな場合に使用するか Modelの情報をViewで表示しようとす…

i18nによる日本語化対応

i18nとrails-i18n Railsでは様々な言語に対応するために、デフォルトでi18nというgemが導入されている。 以下Railsガイド Rails 国際化 (i18n) APIより引用 RubyのI18n (国際化・多言語化を意味する internationalization を短縮したもの) gemはRuby on Rail…

sorceryを使用して、ユーザー登録・ログイン機能を作成

sorceryとは Railsに認証機能を実装するためのライブラリ。 インストール Gemfileに gem 'sorcery' と書きターミナルでbundle installを実行。 初期設定 $ bundle exec rails g sorcery:install これで必要最低限なファイルが作成される。 config/initialize…

Gitコマンドのまとめ

Git

Gitとは 簡単にいうと、ソースコードのバージョン管理をするためのツール。 Gitコマンド Gitリポジトリの作成 作業するディレクトリに移動し $ git init これでGitリポジトリが作成され、カレントディレクトリに.gitディレクトリが作られる。 Gitの状態を確…

rails consoleとテーブル Rails入門②

8月2日はほぼ復習で終わり、8月3日はRUNTEQのイベント「Vimハラ」に参加した。 8月4日、今日はRails入門②「rails consoleを制する者はRailsを制する」と入門フェーズ総復習をした。rails consoleを使って複数のモデルを作り、紐付ける事を学んだ。 学んだこ…

バグ修正 Rails入門②

8月1日は、Rails入門②の課題「バグと友達になろう」とHTTP演習をした。 復習のため学習内容をまとめてみる。 まずエラー修正課題だが、解決できていなかったエラーを書き出してみると、 1 NoNameError undefined local variable or method 'about_url' 2 NoM…

2021-7-31

現在RUNTEQに通い始めて19日目。 カリキュラムのRails入門②の「バグと友達になろう」に取り組んでいる最中。バグの修正課題。 昨日は課題となるコードをGithubでリポジトリをクローンし、環境構築でrbenvでRubyのバージョン、nodenvでNode.jsのバージョンを…

ブログを書き始めた理由

現在RUNTEQというプログラミングスクールに通っており、日々の学習の記録と復習として学んだ内容をまとめる事で理解を深めるために書き始めました。