あまブログ

ドキドキ......ドキドキ2択クイ〜〜〜〜〜〜〜ズ!!

【Rails】deviseでユーザー認証機能を実装する

この記事では、devise gemを使ってRailsアプリケーションにユーザー認証機能を実装する方法を紹介します。 1. 実行環境 2. 手順 2-1. サンプルアプリの作成 2-2. deviseのセットアップ 2-3. ルートルーティングの設定 2-4. フラッシュメッセージの表示 2-5. …

VSCodeでRailsをデバッグする【Rails + vscode-rdbg(debug.gem)】

この記事では、Ruby 3.1で標準ライブラリとなったdebug.gemを使って、VSCode上でRailsアプリのデバッグを行う方法を紹介します。 はじめに debug.gem vscode-rdbg 設定方法 1. debug.gemのインストール 2. vscode-rdbgのインストール 3. launch.jsonファイル…

【Git】グローバルなgitignoreの設定方法

Git

この記事では、グローバルなgitignoreの設定方法を紹介します。 グローバルなgitignoreファイル(~/.config/git/ignore)を作成し、全てのリポジトリでGitの追跡対象外とするファイルを定義します。 1. gitignoreとは 2. gitignoreの使い分け 3. グローバルなg…

【Rails】kaminariでページング処理を実装する

この記事では、kaminari gemを使ってページング処理(ページネーション)を実装する方法を紹介します。 1. 実行環境 2. 手順 2-1. kaminari gemのインストール 2-2. ページネーションを実装 2-3. 日本語化 1. 実行環境 macOS:12.5.1 Ruby:3.1.2 Rails:6.1.7…

【Rails】i18nで日本語化する方法

この記事では、Railsに同梱されているi18n gemを使ってアプリケーションを多言語化する方法を紹介します。 1. 実行環境 2. 手順 2-1. i18nモジュールの設定 2-2. ロケールファイルのダウンロード 2-3. Active Recordモデルで翻訳を行なう 2-4. その他の翻訳 …

【Git】コミット済みファイルを管理対象から除外する方法

Git

Gitは一度ファイルを追跡すると、.gitignoreに追加しても追跡は継続されます。 .gitignoreに追加する前にコミットしてしまった リモートリポジトリにすでに追跡されているファイルの追跡をやめたい このような既にGitの管理対象になっているファイルの追跡を…

【iTerm2】現在のディレクトリのまま新規タブを開く

iTerm2のデフォルトでは、ホームディレクトリで新規タブが開かれます。 これを、元のタブと同じディレクトリで新規タブを開くように設定します。 iTerm2:3.4.16 設定方法 Preference > Profile > Working Directory > Reuse previous session's directory …

【Ruby】Sinatraでメモアプリを作る(DB編)

この記事では、RubyのWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データ保存先のDBにはPostgreSQLを使用します。 今回は、以下の記事で作成したメモアプリのデータ保存先をPostgreSQLに変更します。 amab…

【Ruby3.1】wcコマンドを作る

この記事では、RubyでLinuxのwcコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でwcコマンドの課題に取り組まれている方はご注…

【Ruby】rbenvのよく使うコマンド一覧

この記事ではrbenvのよく使うコマンドを紹介していきます。 1. バージョン確認 1-1. 現在使用中のRubyのバージョンを表示 1-2. インストール済みのRubyのバージョンを表示 2. インストール 2-1. インストール可能なRubyの最新安定版のバージョンを表示 2-2. …

【Mac】VSCodeのショートカットキーまとめ

この記事ではMacユーザー向けに、Visual Studio Codeのキーボードショートカットの中から特に使用頻度の高いものを紹介していきます。 1. 一般 操作 ショートカット コマンドパレットを開く shift + ⌘ + P クイックオープン ⌘ + P 新規ウィンドウを開く shif…

【Ruby】Sinatraでメモアプリを作る(JSONファイル編)

この記事では、RubyのWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データの保存先にはDBを使わず、JSONファイルを使用します。 1. 実行環境 2. メモアプリの要件 3. 作成手順 3-1. 設計 1. URI設計 2. デ…

【Ruby3.1】lsコマンドを作る

この記事では、RubyでLinuxのlsコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でlsコマンドの課題に取り組まれている方はご注…

【Ruby】File::Stat#modeが返すファイルモードの数値を記号表記に変換する

この記事では、RubyのFile::Stat#modeが返すファイルモードの数値と、記号表記(symbolic notation)の対応を解説します。 ファイルモードの記号表記については以下の記事を参照ください。 amablog.tech 1. File::Stat#modeが返す値 fs = File::Stat.new('samp…

【ls -l】ファイルタイプとファイルモードの記号の意味

この記事ではLinuxのlsコマンドの-lオプションで表示されるファイルタイプとファイルモードの記号の意味を解説します。 ls -lコマンドを実行すると、以下のようなファイルの詳細情報が表示されます。 $ ls -l -rw-r--r-- 1 uname staff 0 11 28 12:31 defaul…

【Ruby】JSON.parseエラー対処【no implicit conversion of File into String (TypeError)】

バージョン情報 Ruby:3.1.0 robocop:1.32.0 経緯 以下のような、JSONファイルを読み込むコードを書いていた。 require 'json' file_path = "test.json" p File.open(file_path) { |f| JSON.load(f) } #=> ファイルの内容 これをrubocopでチェックすると以…

RubyでJSONファイルを扱う方法

この記事ではJSONの基礎と、RubyでJSONファイルを扱う方法を紹介します。 1. JSONの基礎 1-1. JSON(JavaScript Object Notation)とは 1-2. JSONの表記方法 JSONのデータ型 1. 文字列(string) 2. 数値(number) 3. 真偽値(boolean) 4. ヌル値(null) 5. オブジ…

【REST】TwitterのURLを再設計する

この記事ではRESTの考え方を理解するために、TwitterのURLをRESTの設計原則に従って再設計します。 1. 対象の機能 今回はTwitterの以下の機能を再設計の対象とします。 ユーザを表示する ツイートする ツイートに返信する 引用ツイートをする リツイートする…

【Git】特定のコミットを修正する方法【rebase -i】

Git

はじめに 本稿では、git rebase -iを使った特定のコミットの修正方法を解説します。 直前のコミットだけではなく、2つ以上前のコミットを修正できる コミットメッセージの修正だけではなく、ファイルの編集内容の修正も可能 チーム開発等で既にpushしている…

【MacBook】USキーボードで簡単に「英字⇄かな」切替する方法

USキーボードのMacBookを買ったけど、日本語入力への変換がめんどくさい! 「英字⇄かな」切替をもっと簡単にする方法はないかな? 本記事の内容 USキーボードのMacBookで「英字⇄かな」切替を簡単に行う方法 今回は、USキーボードのMacBookで「英字⇄かな」切…

【未経験・独学】基本情報技術者試験の勉強時間はどれくらい必要?

IT業界未経験から合格するにはどれくらいの勉強時間が必要? 実際に合格した人の勉強内容や勉強期間が知りたい! 本記事の内容 IT業界未経験から合格までに必要な勉強時間 勉強のスケジュール 勉強内容 オススメの参考書 今回はIT業界未経験から独学で基本情…

【初心者向け】JavaScriptで簡単なゲームを30分で作ろう!

JavaScript初心者でも簡単に作れるゲームが知りたい! ゲームの作り方の詳しい解説やソースコードも見たい! 本記事の内容 ゲームの完成形とソースコード ゲームの作り方の解説 この記事は、JavaScriptの基礎文法を一通り学んで「実際に何かを作ってみたい!…

【書籍まとめ】ゼロからわかるRuby超入門

ゼロからわかる Ruby 超入門 2章 オブジェクトと変数 3章 処理の流れを変える 4章 配列 5章 配列の便利なメソッド 6章 ハッシュ 6.1 ハッシュとシンボル 6.2 ハッシュの繰り返し処理 7章 メソッド 7.1 メソッドの基礎 7.2 メソッドへオブジェクトを渡す(引数…

【VSCode】オススメ拡張機能まとめ

この記事では、Visual Studio Codeのオススメの拡張機能を紹介していきます。(随時更新中) 1. 一般 ★★★ Code Spell Checker Japanese Language Pack for Visual Studio Code Material Icon Theme Project Manager 2. HTML ★★★ HTML CSS Support HTMLHint ★★ …

【Mac】Chromeのショートカットキーまとめ

この記事ではMacユーザー向けに、Google Chromeのキーボードショートカットの中から特に使用頻度の高いものを紹介していきます。 タブとウィンドウのショートカット 操作 ショートカット 新しいウィンドウを開く ⌘ + n 新しいウィンドウをシークレットモード…

【ER図】Twitterのデータベースを設計する

この記事ではTwitterのサイトのER図の書き方を解説します。 論理設計の対象はTwitterの一部の機能に限定し、ER図はIE記法で、Draw.ioで作成しました。 対象の機能 ユーザを表示する ツイートする ツイートに返信する リツイートする 引用ツイートする フォロ…

【書籍まとめ】Webを支える技術

Webを支える技術 3章 REST RESTの概要 リソース RESTの構成 1. クライアント/サーバ 2. ステートレスサーバ 3. キャッシュ 4. 統一インタフェース 5. 階層化システム 6. コードオンデマンド 4章 URIの仕様 URIの構文 絶対URIと相対URI URIと文字 5章 URIの設…

【書籍まとめ】達人に学ぶDB設計 徹底指南書

達人に学ぶDB設計 徹底指南書 1. データベース設計を制する者はシステム開発を制す データベースについて データベース = データの集まり DBMS(Database Management System) = データベースを管理するシステム RDB(Relational Database) = 関係データベース …

【VSCode】HTMLタグの自動閉じタグ補完・自動タグ名変更を拡張機能なしで設定する方法

はじめに Visual Studio Codeの拡張機能であるAuto Complete Tagが提供する機能は、Visual Studio Codeの基本設定だけで代替可能です。 この記事では、拡張機能をインストールすることなく、HTMLタグの自動閉じタグ補完機能と自動タグ名変更機能を有効にする…

【Git】作業ツリー上の変更を取り消す方法

Git

この記事ではgit addもgit commitもしていない、作業ツリー上のファイルの変更を取り消して元に戻す方法を紹介します。 (インデックスに登録されていないワークツリー上のファイル) 方法 $ git checkout -- <ファイル名> git checkout -- .で全てのファイル…