りゅうじのRails学習のアウトプットblog

初学者による初学者の為の記事です。

2021年9月29日 ログイン機能を実装するにあたってCookie セッション ステートレスについて復習しました

Cookieとは ブラウザに保存される小さな情報またはその領域 セッションとは サーバ側で一時的に保持できる情報またはその領域 HTTPはステートレス 日常生活での例えが分かりやすかったので引用します。 客 『ハンバーガー1つと...』 店員 『はい、ハンバーガ…

転職の思考法

今回は技術のアウトプットではなく、転職に関する書籍を読んだものをアウトプットします。 自分のマーケットバリューを知る 技術資産 例:どんな会社からも必要とされる高い技術力を持った人 ひとことで言うと、専門性 人的資産 例:どんな人とも仲良くなり…

2021年9月23日パーフェクト Ruby on Rails

複数のデータベースを扱う Webアプリケーションの規模が大きくなるとしばしば応答速度の低下が問題になる事があり、ボトルネックになりやすいのはDBアクセスに関する部分という事がよくあります。 そういった問題を解決し、複数のDBを利用するgemパッケージ…

2021年9月22日 図解入門 TCP/IP

IoT Internet of Things の略 で、身の回りにある色々なモノ(Things)がインターネットにつながる仕組みのことです。 - CoAP トランスポート層にUDPを使用したクライアントサーバー型プロトコルです。 - MQTT TCP上で動作するブローカー型プロトコルです。 Ia…

2021年9月22日パーフェクト Ruby on Rails

3-3-4 あらかじめ用意したデータを読み込む(seed.rb) seedデータを投入の際は、!付きメソッドを利用し、エラー発生にすぐに気づけるようにすると良いです。 Blog.create!(name: 'cool blog') batch処理とは バッチ処理とはコンピュータでひとまとまりのデー…

2021年9月21日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

3-3-2 テーブルの定義を反映させる マイグレーションファイル内ではデフォルトではchangeメソッドが使用されています。 bin/rails db:migrateを実行したら、upになり、bin/rails db:rollbackを行うとdownになります。 remove_columnはupになる事でテーブルが…

2021年9月18日 図解入門 TCP/IP

SDN SDNは"Software Defined Network"の略で、ソフトウェアによって管理・制御される仮想的なネットワーク、あるいはそれを構成するための技術のことです。 ・コントロールプレーン - ネットワーク全体を制御 ・データプレーン - パケットを転送する の2種類…

2021年9月18日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

DBを管理する railsコマンドで利用できる主なコマンド コマンド 概要 rails db:create データベースを作成する(SQLite3の場合は不要) rails db:drop データベースを削除(SQLite3の場合は「.sqlite3」ファイル自体を削除) rails db:migrate マイグレーション…

2021年9月17日 図解入門 TCP/IP

1-4 いろいろなネットワーク機器のカタチ データリンク層以上(物理層以上)で動作するネットワーク機器は、さらに「物理アプライアンス」と「仮想アプライアンス」の2種類に大別することができます。この二つは、どちらも階層構造モデルに準拠しつつ、パケ…

2021年9月17日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

3-2-5 RailsとRackの関係 Railsアプリケーションはrackupで起動可能です RailsはRackの仕様に則ったアプリケーションなので $ bundle exec rackup コマンド実行後、ブラウザのlocalhost:9292で起動できます。 rails newすると config.ru というファイルがあ…

2021年9月16日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

Rackミドルウェアを学習している最中にinitializeメソッドを定義していたのでinitializeメソッドについて再度復習しました。 initializeとは newのデフォルト値として設定できる(Ruby超入門p200~) ※RailsのModelではActiveRecordを継承しているため、initial…

2021年9月15日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

3-2 Rack Rackは、RubyでWebアプリケーションを開発するための、最小限でモジュール化された適応性の高いインターフェースを提供します。HTTPのリクエストとレスポンスを可能な限りシンプルな方法でラップすることで、ウェブサーバー、ウェブフレームワーク…

2021年9月14日 図解入門 TCP/IP

アプリケーション層で動作する機器 次世代ファイヤーウォール ファイアウォールの進化版です。色々なセキュリティ機能を詰め込み、統合化を図っています。IPアドレスやポート番号だけでなく、いろいろな情報をアプリケーションレベルで解析することによって…

2021年9月14日 パーフェクト Ruby on Rails 第3章押さえておきたいRailsの基本機能

テスト ソフトウェアの開発において、テストを行うことで品質を一定の水準に保つことは必要不可欠です。プログラムのテストを記述する事でトータルコストを少なくするため、Rails標準のテストフレームワークのminitestを学びます。 bin/rails testでテストを…

2021年9月11日 図解入門 TCP/IP

ネットワーク層で動作する機器 ネットワーク層は、ネットワークとネットワークをつなぐ階層です。 ネットワーク層で動作する機器は、IPパケットのヘッダーに含まれる「IPアドレス」の情報をもとにパケット転送を行います。IPアドレスは、ネットワーク層にお…

2021年9月10日 図解入門 TCP/IP

1.3.2 データリンク層で動作する機器 データリンク層は、物理層の信頼性を確保し、同じネットワークにいる端末と接続できるようにする階層です。 データリンク層で動作する機器は、フレームのヘッダーに含まれるMACアドレスの情報をもとにフレーム転送を行い…

2021年9月10日 パーフェクト Ruby on Rails

2-5 ビューテンプレートについて 2-5-1 ヘルパーメソッドの利用 ヘルパーメソッド ViewをよりシンプルにDRYに書くための、Railsで用意されたモジュール。基本的にはviewをhelpしてくれるもの。自分で作ることもできる。 $ rails routesコマンドを打つと表示…

2021年9月9日 パーフェクト Ruby on Rails

variants 条件によってテンプレートの切り替えができる機能です。接続してきた端末によってPCとは別のテンプレートを表示したいという場合に有効です。 class ApplicationController < ActionController::Base before_action :detect_mobile_variant private…

2021年9月8日 パーフェクト Ruby on Rails

2-3-5 StrongPrameters 想定通りのパラメータかどうかをホワイトリスト方式でチェックする機能です。 マスアサイメント データベースに保存されるカラムを一括で指定できる機能 コントローラーのprivateに記載する 検証ツールなどで想定外の項目を追加して送…

2021年9月7日 図解入門 TCP/IP

定番プロトコル 各階層に「ほぼこれを使用する」という定番プロトコルが存在しています。 - 有線環境 イーサネット - 無線環境 IEEE802.11 - ネットワーク層 IP 一択 - トランスポート層 通信の信頼性重視ならTCP リアルタイム性重視ならUDP - アプリケーシ…

2021年9月7日 パーフェクト Ruby on Rails

2-2-4 ルーティングとリソース resources resourcesメソッドとは、railsで定義されている7つのアクションのルーティングを自動で作成するメソッドです。 resourcesメソッドを使うことにより、簡単にルーティングを作成することができます。 idを持つルートに…

2021年9月6日 図解入門 TCP/IP

1.2.4 標準化団体がプロトコルを決める ・ IEEE 比較的ハードウェア寄りのネットワーク技術の標準化は IEEE802委員会 で研究及び議論されています。 ※IEEE802の802は、1980年2月に発足したことから付けられた名称です。 ・ IETF 比較的ソフトウェア寄りのプ…

2021年9月2日 パーフェクト Ruby on Rails

2-2-4 コールバックによる制御 必ず行いたい前処理や後処理を書けます。 before_○○○○○ ahter_○○○○○ around_○○○○○←あんまり使わないかも ログを残したい場合に条件を自分で設定し作成できます。 ログレベル ログレベル 名称 内容 0 debug デバッグ情報など 1 …

2021年9月5日 図解入門 TCP/IP

1.2.2 プロトコルは階層で整理する プロトコルで定義されている色々な通信機能は、その処理に応じて階層構造になっています。 1.2.3 TCP/IP参照モデル 4層構造になっています。 下の階層によって役割分担がされています。 自分の層の処理画終わったら他の層…

2021年9月4日 図解入門 TCP/IP

プロトコル(通信プロトコル) ネットワークの世界で、パケットを処理するときの約束事 https ブラウザのURLに書く文字で、httpsという約束事に基づき、暗号化してパケットを処理する プロトコルで決まっていること 物理的な仕様 LANケーブルの素材やコネクタ…

2021年9月3日 図解入門 TCP/IP

1.1.1 ネットワークの歴史 ネットワークの原型は一台の大型コンピュータとみんなで使用するTSS(Time Sharing System)という方式でコンピュータを使用していました。遠隔地にいるユーザーはTSS端末から大型コンピュータに電話でアクセスし、あたかも自分専用…

2021年9月2日 パーフェクト Ruby on Rails

SQLite3ではnot null制約を付与しつつカラムのデフォルト値を指定しない場合、カラムの追加でエラーになってしまいます。 例) # NG class AddNicknameToUsers < ActiveRecord::Migration[6.0] def change add_column :users, :nickname, :string, null: fals…

2021年9月2日 パーフェクト Ruby on Rails

第2章 Ruby on RailsとMVC 2-1 MVCアーキテクチャ M(Model) データベースとの接続 V(View) 視覚表現を行う部分 C(Controller) ModelとViewをつなぐ部分 2-1-2 モデルの役割 - データベースと接続し、データベースのレコードをActive Recordオブジェクトを結…

2021年8月31日 パーフェクト Ruby on Rails

1-4-4 http://localhost3000/rails/info/routesにアクセスすると現在のルーティング情報が表示されます。 コントローラー内で定義されたpublicメソッドのことをアクションと呼びます。 (:format) アクセスしたURLの拡張子によってレスポンスを変化させるため…

2021年8月30日 パーフェクト Ruby on Rails 次回1-4scaffoldを使ってRailsでの開発を体験しよう

1-4-1 % ls -1FA db/migrate lsコマンド : ファイルやディレクトリの情報を表示することができます。 ls -1FA db/migrateの分解 ・・・ 1 = ハードリンクの数(ハードリンクはファイルのあだ名のことです。) ・・・ F = 名前の後ろにファイル識別子を付ける …