私の外部記憶装置

ただの覚え書きです。ちょこちょこ加筆・修正しています。

【Git】他の人のコミットが自分のプルリクに含まれる

状況 「他の人のコミット」が「自分のプルリク」に含まれる 原因と対応 原因:ブランチ派生元のmainブランチが変わった為らしい (リモート側がrebaseされて、コミットの歴史が変わった???) 対応:以下を実行する git pull --rebase origin main git pus…

【Rails】N+1問題

概要 対応 基本の書き方(メソッドの使い分け) 1)eager_load 2)preload 3)includes 4)with_attached_* 関連付けが深い場合の書き方 書き方例(モジュールを使う場合) 参考 概要 「関連付けされたデータ」を読み込む時に発生する問題 例えば、「N個…

【SQL】対話モードの操作(コマンド)

SQL

対話モード(対話的ターミナル)の起動と停止 PostgreSQL SQLコマンド メタコマンド SQLite 対話モード(対話的ターミナル)の起動と停止 Railsで使っているDBを見たい場合 bin/rails db:「development環境のDB」の対話モードを起動。bin/rails dbconsoleの…

【Rails】セレクトボックス/ドロップダウンリスト(collection_select, select, select_tag)

概要 各ヘルパーメソッドの使い方 単体で使えるもの(⭐️書く時はこれ) collection_select select 2種類の組合せが必要なもの select_tag(セレクトタグを生成) options_for_select(オプションタグを生成) options_from_collection_for_select(オプショ…

記事リスト(トラブル対応の記録)

目次 トラブル対応の記録 FBCチーム開発 Git Rails Rails, Homebrew 教訓、調査のtips トラブル対応の記録 FBCチーム開発 【Git】他の人のコミットが自分のプルリクに含まれる Git 【Git】多数の「未コミット or 未保存」ファイルを全削除したい Rails 【Rai…

【Rails, Homebrew】「LoadError」「Could not open library 'glib-2.0.0'」

状況 発生タイミング:xzのバックドア問題(下記「参考」を参照)への対応で、Homebrewをダウングレード(アップグレードするとダウングレードされる)後、以下のエラーが出た。 (最近、「Homebrewのアップグレード」して「vipsのインストール」した事が影…

【Rails】「PG::ObjectInUse: ERROR: 〜」でdb操作できず

状況 ローカルのdevelopment環境で、データを入れ直そうと bin/rails db:drop した所、以下のエラーメッセージが出た PG::ObjectInUse: ERROR: database "bootcamp_development" is being accessed by other users DETAIL: There is 1 other session using t…

【Git】多数の「未コミット or 未保存」ファイルを全削除したい

状況 ブランチの最先端で、ワークツリーにある「多数のファイル」を全て消したい (git reset --hard HEADでは消せなかった) 対応 以下の一連の操作でファイルを削除できた git add . git stash git stash drop 参考 command line - git undo all uncommitt…

【Rails】リンク、画像付きリンク(link_to, image_tag)

link_to image_tag 参考 link_to link_to < ActionView::Helpers::UrlHelper (v6.1) link_to < Action View ヘルパー - Railsガイド (v7.0) 現場Rails ⭐️書き方(色々な書き方がある。上記を参照) (1)基本の書き方 link_to(表示, URL, a要素の属性など)…

【Rails】パーシャルのレンダリング(render)

書き方 基本 ローカル変数への対応 パーシャルの集合を表示(eachメソッドを使わない方法) 参考(最新版) 書き方 4.1 パーシャルをレンダリングする < Action View の概要 - Railsガイド(v7.1) ActionView::PartialRenderer (v7.1) render < ActionContr…

【PostgreSQL】起動と停止など

注意点 OS等のコマンドで起動・停止する方法 macOS(Homebrew) 起動失敗と対応の例① 起動失敗と対応の例② Debian 共通の停止方法(Linux、macOS) PostgreSQLのコマンドで起動・停止する方法 pg_ctlを使う方法 postgresを使う方法 参考(最新版) 注意点 バ…

【Linux】コマンド編集機能など

移動 編集 入力補助 トラブル対応 移動 ctrl - b:1字後 ctrl - f:1字前 ctrl - a:文頭に移動(折り返しは無視) ctrl - e:文末に移動(折り返しは無視) Macのターミナルでの操作 option - ⇨:次単語(Linuxの場合、esc + b) option - ⇦:前単語(Lin…

【Vim】コマンドなど

移動(モーション)コマンド、スクロールコマンド オペレータコマンド モード ノーマルモード ビジュアルモード 挿入(インサート)モード 置換(リプレース)モード コマンドモード モードのあわせ技 個人設定ファイル その他 参考 移動(モーション)コマ…

【VSCode】ショートカットキー

表示 移動 マルチカーソルなど 編集 検索、置換 その他 参考 表示 ctrl - -:前に見ていたタブに移動 shift - ctrl - -:後に見ていたタブに移動 cmd - opt:タブの選択。矢印(左右)で選択移動。Macも同じ cmd - k + cmd - 数字:数字(1 〜7)のレベルで…

【Mac】ショートカットキー

表示画面の操作 移動、削除(文字の編集) 文字 スクリーンショット その他 設定 参考 表示画面の操作 cmd - opt:タブの選択。矢印(左右)で選択移動。VSCodeも同じ ctrl (- shift) - tab:タブの選択。tabで選択移動。VSCodeでは、リストから選択 cmd - t…

【Rails, gem】slim

概要 書き方(基本) 書き方(詳細) 行の指示記号 テキスト | 注意点(|) 制御コード - 出力 = コメント その他(行の指示記号) HTMLタグ インラインタグ テキストコンテンツ 動的コンテンツ (= と ==) その他(HTMLタグ) 属性 属性の囲み Ruby コードを…

【ブラウザのAPI】ウェブストレージ API(localStorage, sessionStorage)

概要 用語説明「オリジン」 注意点 localStorage 使い所 使い方 基本の書き方 React でローカルストレージを使う Chrome での表示・編集方法 参考 概要 ウェブストレージ API - Web API | MDN ウェブストレージ API の使用 - Web API | MDN JavaScript操作で…

記事リスト

目次 ショートカットキー、コマンドなど Git 基礎 逆引き Rails 基礎(モデル) 基礎(コントローラ) 基礎(ビュー) 逆引き セキュリティ gem React 基礎 逆引き フック、API SQL Web技術全般 ブラウザのAPI ショートカットキー、コマンドなど 【Linux】コ…

【Rails】クロスサイトスクリプティング(XSS)とその対策(🚧作成中)

概要 書き方 サニタイズの書き方 エスケープの書き方 その他のエスケープのメソッド 参考(最新版) 概要 クロスサイトスクリプティング(XSS)とは: インジェクション(Webアプリに悪質なコードやパラメータを導入して、そのときのセキュリティ権限で実行…

【Rails】権限昇格とその対策

概要 対策例 参考(最新版) 概要 権限昇格とは:URL直接入力で、アクセス権のないページに到達できること 5.6 権限昇格 < Rails セキュリティガイド - Railsガイド 対策:クエリでアクセス権を設定し、各アクションで「操作できるデータ」を制限する 対策例…

【Rails】SQLインジェクションとその対策

概要 書き方(対策) 参考(最新版) 概要 SQLインジェクションとは: インジェクション(Webアプリに悪質なコードやパラメータを導入して、そのときのセキュリティ権限で実行させること)の1種 Webアプリのパラメータを操作してデータベースクエリに影響を…

【Rails】ストロングパラメータ

概要 書き方 参考(最新版) 概要 フォームからの入力を更新する時に、意図しない項目の更新を防ぐフィルタ paramsから項目を選別する 書き方 7.3.2 Strong Parametersを使う < Rails をはじめよう - Railsガイド 4.6 Strong Parameters < Action Controller…

【Rails】ActiveRecord::Relation について(🚧作成中)

クエリの返り値としてのRelation 参考 クエリの返り値としてのRelation 「whereメソッド」や「collectionメソッド(関連付け)」の返り値 【Rails】クエリ:where(抽出条件を指定する検索メソッド) 【Rails】クエリ:カラム名・テーブル名(関連付け)によ…

【Rails】クエリ:カラム名・テーブル名(関連付け)によるデータ取得

概要 注意点 書き方例 カラム名による読み書き テーブル名によるデータ取得 「関連付け」種類による返り値の違い 「関連付け」で使える、その他のメソッド has_many :through関連付けで、中間テーブルを書かない方法 概要 モデルのオブジェクト.カラム名で、…

【PostgreSQL】索引(用語、コマンド)・注意点 など

索引 用語 コマンド 注意点 用語(基礎) 参考(最新版) 索引 用語 全ての用語の一覧 索引 < PostgreSQL 15文書 コマンド ホスト上でのみ使えるコマンド一覧 PostgreSQLサーバアプリケーション < PostgreSQL 15文書 クライアントからでも使えるコマンド一覧…

【Rails】クエリ:find, find_by, take, first 等(単一オブジェクトを取出す検索メソッド)

概要 find テーブルで複合主キーを使っている場合 find_by, find_by! ✅条件が複数の場合(find_by) take, take! first, first! 類似のメソッド 参考(最新版) 概要 データベースからオブジェクトを取り出すための「検索メソッド」の内、単一のオブジェクト…

【Rails】クエリ:where(抽出条件を指定する検索メソッド)

概要 注意点 条件を与える方法3種 ①条件を文字列だけで表す ②条件を配列で表す LIKEを使う場合 ③条件でハッシュを使う 等値条件 ✅条件が複数の場合(where(ハッシュ)) 範囲条件 サブセット条件 メソッドを使った条件指定の方法 NOT条件 OR条件 AND条件 テ…

【SQL】識別子(名前)とキーワード

SQL

PostgreSQL の場合 SQLite の場合 PostgreSQL の場合 4.1.1. 識別子とキーワード < 4.1. 字句の構造 付録C SQLキーワード キーワードと識別子(名前)は、大文字と小文字を区別しない ※慣習的には「キーワードを大文字」「識別子(名前)を小文字」で書く 識…

【Rails】スコープ

概要 書き方 基本の書き方 応用の書き方① 引数がある場合 応用の書き方② 条件文を使う場合 もっと応用 参考(最新版) 概要 よく利用するクエリ条件をメソッドとして利用できる機能 モデル内で定義する 書き方 Active Record クエリインターフェイス - Rails…

【Rails】params

概要 詳細 params ハッシュでアクセスできるパラメータ 「クエリ文字列」と「POSTデータ」 ①クエリ文字列 ②POSTデータ JSON形式のパラメータ ルーティングで定義されるその他の値パラメータ(idなど) リクエストに関連するパラメータ 書き方 基本 リクエス…