システム開発において一番トラブルの原因になるのが、 発注者と受注者の認識の違いです。 意味をとり間違えてしまったり、お互いの認識相違で間違った方向に開発が進んでしまったりすることもあります。 そうならないための取り組みとして、 フレームワーク…
SQLとは、Structured Query Languageの略で、 データベースを操作するために開発された言語です。 SQLを用いることで、 データの検索、データの登録、削除といったことまでデータベース操作のほとんどをSQLで行うことが出来ます。 SQLには、ISO(国際標準化…
データベースとは、 データを大量に保存し、 効率よくアクセスできるようにしたデータの集まりのことをいいます。 例えば、 名前や住所、メールアドレスを登録しておくだけで、 どんなときでも・すぐに、欲しいデータを取り出すことが出来ます。 データベー…
ER図とは、 「データベース設計(データモデリング)で使う設計手法」のことです。 もっと簡単にいうと、 テーブルとテーブルを線でつないで関係性を見やすくしたものです。 英語では「Entity Relationship Diagram」と呼ばれています。 ER図の構成 ER図は、…
開発には様々なやり方があります。 その中でも代表的な開発手法について紹介をしていきます。 ウォーターフォールモデル 一つひとつの開発工程を完了させて次にすすむ開発です。 各工程を確実に終わらせるので手戻りは生じず、大規模な開発でよく用いられる…
オブジェクト指向は、 システム化そのものに着目した開発手法です。 効率的に開発をすすめていくために以下のことを意識する必要があります。 オブジェクト指向で覚えておきたいキーワード ・カプセル化 ・継承 ・抽象化 ・ポリモーフィズム カプセル化 カプ…
オブジェクトって何?ってなったので、 オブジェクトについて調べてみました。 オブジェクトとは IT用語辞典バイナリによると、 オブジェクトとは、操作の対象となっているデータ、または、オブジェクト指向の考え方においてプログラムが扱う対象のことであ…
MVCモデルのMVCは、 「Model」「View」「Controller」の頭文字から来ています。 MVCとは Webフレームワークのことで、 「アプリケーション設計」を整理するための概念の1つです。 「アプリケーション設計」が必要な理由は、全体を理解してコードを書いてい…
いろいろなプログラムで共通して使える便利なプログラムを ライブラリと呼びます。 Rubyの世界にもライブラリがあり、Gemと呼ばれています。 Gemはrubygems.org で公開されています。 ■ Gemのインストール Gemをインストールするにはgem iコマンドを利用しま…
ソフトウェアを開発する際、さまざまな開発手法があります。 構造化手法 構造化手法は、 システムの機能に着目して、大きな単位から小さな単位へとプログラムを分割して開発する手法です。 「構造化プログラミング」ともよばれます。 オブジェクト志向 オブ…
Railsアプリの動作を図にすると次のようになります。 1. ブラウザのURL欄にアドレスを入力してEnterを押すとリクエストが飛んでいく。 2. リクエストを受け取ったRailsアプリはHTMLをつくり、レスポンスとして返す。 3. レスポンスを受け取ったブラウザはHTM…
■ システム開発の流れ " data-en-clipboard="true"> " data-en-clipboard="true">要件定義 ↓ 設 計 ↓ プログラミング ↓ テスト ↓ 運用・保守 このような手順でシステム開発は進められています。 (ウォーターフォール開発の場合) 要件定義 利用者の要求から…
本書では、「読みやすいコードを書くためにはどうしたらいいの?」という初学者に向けて、分かりやすく、丁寧に解説をしています。 この本の目的 読みやすいコードを書くことの重要性を理解すること。 他人がすぐ理解できるコードが書けるようになること。 …
" data-en-clipboard="true"> " data-en-clipboard="true">関係演算とは、 表の中から特定の行や列を取り出したり、 表と表をくっつけて新しい表を作り出したりする演算のことをいいます。 選択 選択は、行を取り出す演算です。 特定の部署の行を取り出しま…
データベースとは、 データの蓄積・保存が容易にできるように整理された情報の集まりのことです。 データベース管理システム(Data Base Management System)とは、 データベースの機能をアプリケーションから簡単に扱えるようにしたミドルウェアです。 はい…
" data-en-clipboard="true"> " data-en-clipboard="true">ロールバックとは、 マイグレーションファイルを使って上げたバージョンを、 何らかの事情で戻す(=バージョンを下げる、適用したマイグレーションを取り消すこと)ことをいいます。 複数人で開発…
" data-en-clipboard="true"> " data-en-clipboard="true">インジェクションとはなんでしょうか? " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true">ウェキペディアによると以下のように定…
" data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> Webアプリケーションは便利な反面、使用する際にリスクも発生します。 例えば、 ・ユーザーアカウントを奪われた ・不正なコンテンツが…
" data-en-clipboard="true"> " data-en-clipboard="true">さまざまな国に使えるよう基盤を整えることを国際化と呼びます。 ユーザーごとに言語を切り替えたり、 その国ごとのタイムゾーンを使用したりします。 タイムゾーンは、 ・Time.zone.now ・Time.cur…
ルーティングとは、 Railsアプリケーションのコントローラへ指示を出すための道筋 のことです。 ルートを構成する5つの要素 ルートの読み取り方 get '/login', to: 'sessions#new' これは、 GETメソッドで、'/login'というURLに対してリクエストが来たら、 …
" data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true">調達とは、 " data-en-clipboard="true">業務に必要なハードェアやソフトウェア、ネットワーク機器、人、設…
" data-en-clipboard="true"> " data-en-clipboard="true"> 開発を進めるたびに、 開発した機能を確認するためにテストを同時に書いていく必要があります。 テストを書かないと、最初の方は問題なく動いていても機能を追加したときに新機能だけでなく既存の…
" data-en-clipboard="true"> " data-en-clipboard="true">セッション " data-en-clipboard="true"> " data-en-clipboard="true">セッションとは、 1つのブラウザから連続して送られている一連のリクエストの間で「状態」を共有できるようにしたものです。 …
" data-en-clipboard="true"> " data-en-clipboard="true">トランザクションとは、 複数の処理をまとめて1つ大きな処理として扱う機能です。 処理の1つで例外が発生した時、 複数の処理を巻き戻すことができます。 トランザクションの使用イメージ ATMに入…
コールバックとは、 あとで読んで欲しい処理をあらかじめ指定しておく仕組みを指すプログラミング言語です。 ちょっと後で振り返るかもしれないぞ!ってところに付箋を貼ってみる感覚です 登録や削除の大きな変更の前後にこのコールバックを挟むことが多いで…
データベースとは、 データを保存する場所のことをいいます。 Railsでは、 3種類の「環境」が用意されています。 環境の種類 環境のシステム名 用途 開発 development 開発時の動作確認 テスト test 自動テスト 本番 production ユーザーが利用可能な形で稼…
" data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> Railsは、プログラミング言語であるRubyを使用してWebアプリケーションを構築するオープンソースのWebアプリケーションのフレームワークです。 " data-en-clipboard="…
" data-en-clipboard="true"> " data-en-clipboard="true"> 本日は、これらを少し覚えておくだけで コードを書く時間が少し減るよーシリーズになります。 見た目もスッキリするかも。。! 1.nillガード number || = 77 これは、以下のコードと同じ意味になり…
" data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> " data-en-clipboard="true"> 継承のイメージとしては、 一つのクラスを起点として、それらを引き継いで具体的なクラスを作っていくというイメージです 下に進めば進…
クラスを作るメソッドは2種類あります。 その2種類とは、 「インスタンスメソッド」と 「クラスメソッド」です。 これら2つの違いは、 インスタンスをレシーバとするか、 クラスをレシーバにするかという違いです。 レシーバとはナニ? レシーバとは、 メ…