あまブログ

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

2022-01-01から1年間の記事一覧

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

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

【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)の対応を解説します。 ファイルモードの記号表記については以下の記事を参照ください。 ama-tech.hatenablog.com 1. File::Stat#modeが返す値 fs = File::Sta…

【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業界未経験から独学で基本情報技術者試験に合格するための方法を解説します。 この記事を書いている僕は、平成30年度秋期 基本情報技術者試験…

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

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

【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 こちらのHTM…

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

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

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

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

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

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

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

Git

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

【Git】派生元ブランチの変更

Git

この記事ではGitの派生元ブランチ(親ブランチ)の特定と変更方法を紹介します。 間違った親ブランチからブランチを作成してしまいコミットもしてしまった時などに有効です。 派生元ブランチの特定方法 $ git show-branch | grep "*" | grep -v "$(git rev-par…

【Ruby 3.1】ボウリングのスコア計算プログラムを作る

OOP版はこちら↓ ama-tech.hatenablog.com 1. 実行環境 2. ボウリングのスコア計算プログラムの要件 3. ソースコード 3-1. ver1 3-2. ver2 4. ソースコード(ver2)の解説 4-1. 主な使用メソッド 4-2. 解説 4行目 6~18行目 21~30行目 1. 実行環境 macOS Montere…

【Git】プルリクエストを使った開発の流れ

Git

この記事ではGit/GutHubでPull Requestを使った開発の流れを紹介します。 準備 まずは開発用のリポジトリを作成します。 リポジトリの作成方法には以下の2つがあります。 リポジトリを自分で作る 既存のリポジトリをcloneする リポジトリを自分で作る リポジ…

【Git】リポジトリの作成

Git

この記事ではGitのリポジトリの作成方法を紹介します。 手順 1. リモートリポジトリの作成 まず初めに、GitHub上にリモートリポジトリを作成します。 GitHubの「New repository」からリモートリポジトリを作成。 2. ローカルリポジトリの作成 次に自分のPC上…

【VSCode】ファイル末尾に改行を自動で挿入する設定

この記事では、Visual Studio Codeのファイル保存時に、自動で末尾に改行が挿入されるように設定する方法を紹介します。 環境 VS Code バージョン 1.68.1 手順 ⌘,(command + ,)で設定を開く insertFinalNewlineで検索 Files: Insert Final Newlineにチェック…

Q&A掲示板のER図を書く

「ユーザが質問を投稿して、そこに誰かがコメントを付ける、問題が解決したらコメントの中からベストアンサーを1つ選ぶ」というシステムのER図を書く。 要件 質問を投稿する コメントする ベストアンサーを選ぶ ER図 または

NginxでSSL対応サイトを作る

この記事では、Debian 11上のNginxでSSL対応サイトを作る方法を紹介します。 自己署名証明書を作成し、Nginxの設定を編集します。 Nginxの設定ファイルの詳しい解説は以下の記事を参照してください。 ama-tech.hatenablog.com 環境 Debian GNU/Linux 11 bull…

さくらのVPSに設定した独自ドメインにサブドメインを設定する方法

この記事ではさくらのVPSに設定した独自ドメインでサブドメインを利用できるようにする方法を紹介します。 これにより、契約ドメインは1つで複数のサイトを扱うことができます。 例えばfoo.comの独自ドメインにbarをサブドメインに設定することで、foo.comと…

【RuboCopエラー】Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.

環境 rubocop 1.30.0 Ruby 3.1.0 エラー内容 Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||. if文の中身が1行の場合は、後置ifを使用するか、&&または||を使用してください。 エラ…

【RuboCopエラー】Use the return of the conditional for variable assignment and comparison.

rubocopでUse the return of the conditional for variable assignment and comparison.のエラーが出た時の対処法。 環境 rubocop 1.30.0 Ruby 3.1.0 エラー内容 Use the return of the conditional for variable assignment and comparison. 変数の代入と比…