Output Diary

プログラミング × 読書 のアウトプットを発信しています

【Rails】星評価機能をつける!

本日は、 ↓星評価機能を実装します!!!! Step 0 事前にやっておくこと $ rails g controller books index new $ rails g model Book title:string learn:text about:text category:string overall:integer $ rails db:migrate 私の場合、 overall:integer…

【Rails】検索機能をつける

今日のゴールは、 ↓検索機能を作ります!!!!!!!!!! Step1 index.html.erbの変更 まずviewフォルダを変更していきます! 検索機能を付けたい!と思っているindex.html.erbを開けて、 以下のように記述します。 私の場合は app/views/books/index.htm…

【Rails】ストロングパラメーターとは何なのか

ストロングパラメータの仕組みをあまり理解していなかったので、 今日は調べたものをまとめていきたいと思います。 今日のゴール ・ストロングパラメータを理解する ・paramsとpermitの役割を理解する ストロングパラメータ ストロングパラメータは、 「Web…

【本要約】スゴい早起き

今日は塚本 亮さんが書かれた 「スゴい早起き」を紹介します。 私自身、毎朝5時半に起きる生活を100日間くらい続けているのですが、 朝活への向き合い方がこの本の著者と似た考え方をしていました。 朝起きれない方や、朝活したいけどやる気が起きないって…

【システム開発】BIツールとは

BIツールって何?って感じになったので 今日はBIツールについて調べていきます。 BI(Business Intelligence)ツール BIツールは、 企業に蓄積された大量のデータを集めて分析し、可視化するツールのことです。 経営管理や売上のシュミレーションなどに活用…

【システム開発】モジュールの分割

モジュールの分割とは、 コンピュータプログラムを設計する際に、 全体を何らか基準に従って、複数の部品(モジュール)に分割することをいいます。 モジュールは特定の機能や構造化を表すプログラムのまとまりであり、これらを組み合わせてプログラムの全体…

【セキュリティ】暗号方式

情報の機密性、安全性を保つためには、暗号化と認証の導入は欠かせません。 今日は3つの暗号化の方式と特徴を紹介していきます。 そもそも暗号化って? 暗号化とは、 データを規則に従って変換し、第三者が解読できないようにすることです。 暗号化されたデ…

【Rails】バリデーション

バリデーションとは、 データベースに保存する前に保存する内容を検証する機能です。 バリデーションを定義することによって、フォームの入力必須の欄が入力されていなかったときに、フォームの送信を出来ないようにすることが出来ます。 バリデーションのト…

アプリケーションの弱点をついた攻撃手法と対策 Part2

前回の記事で、 ✅ 辞書攻撃 ✅ 総当たり攻撃 ✅ パスワードリスト攻撃 ✅ クロスサイトスクリプティング(XSS) ✅ SQLインジェクション について調べました。 本日は、 ✅ ドライブバイダウンロード ✅ DNSキャッシュポイズニング ✅ DoS(Denial of Service:サー…

アプリケーションの弱点をついた攻撃手法と対策 Part1

攻撃者はありとあらゆる手法を使って、攻撃を仕掛けてきます。 今日はそれらの攻撃の種類を飽きるまでまとめてみたいと思います。 辞書攻撃(Dictionary Attack) 辞書攻撃とは、 辞書にのっている単語を次々と入力してパスワードの割り出しや暗号の解読に使…

Rails: ActiveRecord::Baseメソッドについて

昨日ふとActiveRecord::Baseってなんだろうと思ったので、 今日はActiveRecord::Baseの役割を調べつつまとめていきたいと思います。 そもそもActiveRecordとは ActiveRecordとは、 MVCでいうところのM、モデルに相当するものです。 ActiveRecordによりデータ…

論理設計と正規化

論理設計の4ステップ エンティティの抽出 エンティティの定義 正規化 ER図の作成 エンティティの抽出・定義 エンティティとは、日本語で「実体」という意味にあたります。 具体的には、物理的実体を伴うものだと顧客・社員・店舗といったものや、 概念として…

データベースと論理設計

データベースとは、 大量の情報を保存し、コンピュータから効率よくアクセスできるように加工したデータのあつまりのことをいいます。 データベースの由来 由来は第二次世界大戦後の米軍から来ていると言われています。 情報のアクセスを効率化するために点…

フォームを作る

フォームに必要な要素 フォームに必要な要素は、 <form>、<label>、<input>、<textarea>、<button>の5つです。 <form>要素 <form>要素は、フォーム関連の集まりを表す要素です。 すべてのフォームは<form>要素から始まります。 <form action="/my-handling-form-page" method="post"> </fo</textarea></label></form>…

フォームデータの送信

Webは基本的なクライアント・サーバー構成に基づいています。 クライアント(Webブラウザ)はHTTPプロトコルを使用してサーバーにリクエストを送ります。サーバーは同じプロトコルを使用してリクエストに答えます。 クライアント側において、HTMLフォームは…

プログラミング言語について調べてみた。

プログラミングの言語は、 ある程度のユーザーがいる言語に限っても250以上の種類のプログラミング言語が存在していると言われています。 しかし全ての言語が今も使われているわけではなく実際に使用されているのは全体の10%程度です。 今日はプログラミング…

【ネットワーク】情報セキュリティ

コンピュータ技術を使用して、 さまざまな悪意をもったプログラムが仕掛けられることがあります。 これらを総称してマルウェアと呼びます。 今日はマルウェアをいくつか紹介していきます。 コンピュータウイルス 他のパソコンを攻撃したり、情報を盗む目的で…

【Rails】モジュール

Rubyには、まとまりをもった設計図を一箇所にまとめた存在として、 「モジュール(Module)」という概念があります。 モジュールの特徴 moduleは、 classと同じようにmodule内に関数の定義をすることが出来ますが、 moduleには ・インスタンスが生成できない…

【Rails】NOT NULL制約とは

NOT NULL制約とは、 データベースのテーブルの項目につける制限(制約)のひとつで、 「空っぽの値(NULL)は入れちゃダメ制約」のことです。 NULLは「空だよー何も入ってないよー」ということをあらわす単語です。 NOT NULL制約が付与された項目にはNULLを…

【基本情報】テスト

今日は「テスト」についてまとめていきます。 人間によって書かれたプログラムにはどうしても記述ミスなどが発生してしまいます。 この記述ミスなどによる欠陥のことをバグと呼びます。 バグとは虫のことでその部分が食われているようなイメージです。 そん…

【ネットワーク】4Gと5Gの違いについて

今日は4Gと5Gの違いについてまとめていきます。 各世代の移動通信システム 画像引用元(https://linksmate.jp/article/mvno_3g/) GはGenerationの略です。 2000年代には入ってから、3Gが主流となりました。 世代があがるごとに速度が高速化されていって…

【Rails】form_withについて

forma_withとは、 railsで情報を送信するためのヘルパーメソッドです。 form_withにより、簡単にHTMLを作成することができます。 form_withの使い方 ビューファイル (データベースに保存しない時) <%= form_with url: "users_path" do |form| %> <%= form.te…

【Rails】マイグレーション

今日は「マイグレーション」について調べたものをまとめていきます。 マイグレーションとは マイグレーション(migration)は、 Active Recordの機能の1つです。 通常テーブルを操作したい場合は、SQLを書かなればいけませんが、 マイグレーションには「SQL…

【ネットワーク】中継装置

中継装置とは、 目的の端末までの通信を中継するための装置です。 今日は中継装置の種類について説明していきます。 ネットワークインターフェースカード ネットワークインターフェースカードとは、 PCなどの端末に内蔵されているLANと接続するための通信装…

【Rails】redirect_toとrenderの違いについて

おはようございます☀ 今日は、redirect_toとrenderの違いについてまとめていこうと思います。 redirect_toとrenderの違い ・render : controller → view・redirect_to : controller → URL → route → controller → view renderはいきなりviewに飛ぶのに対し…

【ネットワーク】端末情報

ネットワーク上にあるPCやサーバーなどのコンピュータには、 端末情報が割り当てられています。 ❏ MACアドレス MACアドレスとは、Media Access Control addressの略で、 端末の通信規約を特定する情報です。 ハードウェア(通信装置(有線 / 無線))に振り…

【SQL】SELECT文

SQL

SELECT文では、 様々な条件を付加することで、データを柔軟に取り出すことが出来ます。 SELECT文の基本 SELECT文の基本は、 「どのような条件で」 「どの表から」 「どの列を取り出すか」 です。 条件を指定することにより、 データベースから様々なデータを…

【Rails】RESTfulとは

おはようございます。 今日は「RESTful」とは何なのか、それがRailsにどう関与しているか についてまとめていきます。 RESTfulとは RESTfulとは REST(REpresentational State Transfer)という設計原則に従うシステムのことを指す形容詞です。 もう少し分かり…

【Rails】findについて

昨日参加したRails勉強会でfindとfind_byについての理解が全く足りてなかったので、 今日のブログでfindとはなんぞやということをまとめていきたいと思います。 今回の内容としては、 1. findメソッドについて 2. findメソッドとfind_byメソッドの違いについ…

【ネットワーク】プロトコル

プロトコルとは、 コンピューター同士が通信する際に守らなくてはいけない決まりごとのことです。 代表的なプロトコルと使用例を紹介していきます。 インターネットのプロトコル HTTP(HyperText Transfer Protocol):Webブラウザがサーバーと通信するとき …