2024-02-01から1ヶ月間の記事一覧

2月の学習記録まとめ

こんにちは! 今回は2月の学習記録まとめです。 2月の学習記録 2月の学習記録 総学習時間:168時間 やったこと Railsでアプリを作成しました 家計簿アプリを設計から見直して作り直したので使いやすくなりました 店舗ごとの商品価格を比較するアプリも作りま…

プライベートIPアドレスの範囲

こんにちは! 今回はプライベートIPアドレスの範囲についてまとめます。 プライベートIPアドレスとは LAN内などのあるネットワーク内で割り当てられるIPアドレス そもそもIPアドレスとは ネットワーク上の端末を区別するためのアドレス IPv4という規格では、…

DDNS NowというDDNSサービスを使ってみた

こんにちは! 今回はDDNS NowというDDNSサービスを使ってみたことについてまとめます。 DDNSサービスとは Dynamic DNSの略 DNSとは Domain Name Systemsの略 google.comなどの文字列(ドメイン)をIPアドレスに変換する仕組み ダイナミックなDNSとは 固定IP…

LinuxでDockerとDockerコンテナを自動起動する方法

こんにちは! 今回はLinuxでDockerとDockerコンテナを自動起動する方法についてまとめます。 Dockerの自動起動 systemctl enable docker Dockerデーモンの自動起動設定 状態確認: systemctl status docker 自動起動解除: systemctl disable docker Dockerコ…

Linuxを最低限扱いやすくするための設定 (bash, vim)

こんにちは! 今回はLinuxを最低限扱いやすくするための設定についてまとめます。 bash Ctrl + Sを無効化 stty stop undefをホームディレクトリの.bashrcに記載する コマンドの履歴検索を扱いやすくする コマンドの履歴はCtrl + Rで遡って検索できる 順方向…

Ubuntu Serverのネットワーク関係で使うコマンド

こんにちは! 今回はUbuntu Serverのネットワーク関係で使うコマンドについてまとめます。 networkctl ネットワーク状態を表示 表示 意味 lo ループバックインターフェース(自分自身) en イーサネット(有線接続) wl Wi-Fi networkctl status インターフ…

Ubuntu Server 22.04で自宅サーバーを構築した

こんにちは! 今回はUbuntu Server 22.04で自宅サーバーを構築したことについてまとめます。 使用したハードウェア 2011年製のノートPC(Core i5 480M、メモリ4GB) passmark(CPUベンチマーク)スコアが1323 Apple M1のスコアが14187なので時代を感じるスペ…

Linuxの設定ファイルをetckeeperでバージョン管理する

こんにちは! 今回はLinuxの設定ファイルをetckeeperでバージョン管理する方法についてまとめます。 etckeeperとは Linuxの/etcディレクトリをgitを用いてバージョン管理するためのソフト 設定ファイルの状態を保存し、動作がおかしくなった場合以前の状態に…

Linuxのプロセスとジョブについて

こんにちは! 今回はLinuxのプロセスとジョブについてまとめます。 プロセス OSから見た実行中のプログラムを管理する単位 固有のプロセスID(PID)によって管理される プロセスIDは生成されてから終了するまで変化しない psコマンド 実行中のプロセスを確認…

Linuxのパーミッションについて

こんにちは! 今回はLinuxのパーミッションについてまとめます。 パーミッション ファイルごとに設定されたアクセス制限 所有ユーザー、所有グループ、第三者ごとに設定される 読み込み、書き込み、実行が可能かどうかを制限する ファイルタイプとファイルモ…

Linuxのユーザーとグループの管理について

こんにちは! 今回はLinuxのユーザーとグループの管理についてまとめます。 ユーザーとグループ Linuxのユーザーシステム LinuxはマルチユーザーのOS インストール時に作成したユーザー以外にも、後からユーザーを追加できる ユーザーには個別にホームディレ…

コマンドラインシェルの基本操作

こんにちは! 今回はコマンドラインシェルの基本操作についてまとめます。 基本的にはUbuntu上のBashを対象としています。 コマンドの記述方法 複数コマンドを連続して実行 ;で区切って入力することで、1行に複数のコマンドを入力できる 例 date; hostname; …

「Linuxをマスターしたい人のための 実践Ubuntu」を読んだ感想

こんにちは! 今回は「Linuxをマスターしたい人のための 実践Ubuntu」を読んだ感想についてまとめます。 Linuxをマスターしたい人のための実践Ubuntu作者:水野源秀和システムAmazon おすすめ度 ★★★★★:5/5点 なぜ読んだのか Railsを学んでいく上で、作成した…

「HTML解体新書: 仕様から紐解く本格入門」を流し読みした感想

こんにちは! 今回は「HTML解体新書: 仕様から紐解く本格入門」を流し読み(1時間)した感想についてまとめます。 HTML解体新書作者:太田良典ボーンデジタルAmazon なぜ読んだのか HTMLの深さを知りたかったから HTMLは比較的簡単だと言われたり、反対に奥が…

Rubyでオブジェクトの配列を要素で並び替える方法(sort_by)

こんにちは! 今回はRubyでオブジェクトの配列を要素で並び替える方法(sort_by)についてまとめます。 やりたいこと オブジェクトの配列を要素によって並び替えたい sort_byメソッド sort_byはブロックを受け取り、ブロック内で各オブジェクトの比較する要素…

Railsでレコードが存在する場合はレコードを返し、存在しない場合は新規作成する方法(find_or_create_by)

こんにちは! 今回はRailsでレコードが存在する場合はレコードを返し、存在しない場合は新規作成する方法(find_or_create_by)についてまとめます。 やりたいこと ある条件のレコードが存在しなければ追加したい すでにレコードが存在すればそのレコードを取…

Railsで重複しない値を取得する方法(distinct)

こんにちは! 今回はRailsで重複しない値を取得する方法(distinct)についてまとめます。 やりたいこと DBから重複した値を除外して取得したい distinctメソッド SQLのDISTINCTと同様に重複を除外する 使用例 # Itemモデルから重複しないレコードを全て取得 I…

Railsで特定のカラムのデータを配列で取り出す方法(pluck)

こんにちは! 今回はRailsで特定のカラムのデータを配列で取り出す方法(pluck)についてまとめます。 やりたいこと DBから特定のカラムの要素を取り出したい pluckメソッド 指定したカラム名の値を取り出せる 使用例 # Itemモデルからname列を取得 Item.pluck…

Railsでlink_toをpostに変更できなかった

こんにちは! 今回はRailsでlink_toをpostに変更できなかったことについてまとめます。 やりたかったこと link_toをPOSTメソッドで送信 事象 <%= link_to "送信", :clear_items, method: : post %> 上記リンクがGETで送信されてしまう 環境 Rails 7.1.3 Ruby…

Railsでフォームのボタンで条件分岐してビューの内容を変更する方法

こんにちは! 今回はRailsでフォームのボタンで条件分岐してビューの内容を変更する方法についてまとめます。 やりたいこと アイテムを登録するフォームがある 初回の登録は「追加」ボタンを表示 2回目の登録は「比較」ボタンを表示 環境 Rails 7.1.3 Ruby 3…

RailsでCreateアクションが動かなかった

こんにちは! 今回はRailsでCreateアクションが動かなかったことについてまとめます。 起きたこと 新しく作ったRailsアプリでcreateアクションが動かなかった new.html.erbにフォームを作成し、submitでcreateアクションが動くはずだった createアクション内…

Ngrokを使ってRailsに外部からアクセスする方法

こんにちは! 今回はNgrokを使ってRailsに外部からアクセスする方法についてまとめます。 Ngrokとは Ngrok(エングロック)はローカルのサーバーに外部からアクセスできるようになるサービス ngrok.com リバースプロキシサーバーとして働く 名前 動作 プロキ…

DockerでRails7.1の環境を構築する際にはまったポイント

こんにちは! 今回はDockerでRails7.1の環境を構築する際にはまったポイントについてまとめます。 Rails7.1からの変更点「rails newでDockerfileが自動生成される」 Rails7.1から、rails newをした際に自動的に本番環境用のDockefileが作成される 自分で作成…

DockerでRails環境を構築する方法

こんにちは! 今回はDockerでRails環境を構築する方法についてまとめます。 はじめに docs.docker.jp クイックスタートガイドに基づいて解説 手順 Dockerfile、Gemfile、Gemfile.lock、docker-compose.ymlの作成 docker compose run web rails new . --force…

Railsのモデル間の関連付けについて

こんにちは! 今回はRailsのモデル間の関連付けについてまとめます。 モデル間の関連付けとは テーブルとテーブルを結びつけて扱いやすくすること テーブル間の関係により、1対多の関連付けや多対多の関連付けなどがある 1対多の関連付け 一つのレコードは一…

Ubuntuのキーボード関係の設定

こんにちは! 今回は自分のUbuntuのキーボード関係の設定についてまとめます。 環境 Ubuntu 22.04 ※環境を表示するコマンドはlsb_release -a キーボードの設定 入力ソース 日本語(Mozc)を使用 キー配置はUS配置 ソースはMozcだけで英語の入力と日本語入力…

Railsでネストされたリソースの使い方

こんにちは! 今回はRailsでネストされたリソースの使い方についてまとめます。 ネストされたリソースとは 1対多の関連付けがされたモデルを扱う方法 MemberがEntryを所有するような関係で利用する 前提 Memberモデルにはhas_many: entriesの関連付けがされ…

Failure/Error: require_relative "../config/environment"のエラーでRSpecが動かないときの対処法

こんにちは! 今回はFailure/Error: require_relative "../config/environment"のエラーでRSpecが動かないときの対処法についてまとめます。 事象 Ruby on Rails 6 実践ガイドのChapter7で、RSpecを実行したら下記のエラーが出てテストが実行できなかった Ru…

Macのターミナルで使えるショートカット

こんにちは! 今回はMacのターミナルで使えるショートカットについてまとめます。 ショートカット ショートカット 動作 Ctrl + A 行頭へ移動 Ctrl + E 行末へ移動 Ctrl + H 一つ前の文字を消す (Backspace) Ctrl + D 一つ後の文字を消す (Delete) Ctrl + W …