達人に学ぶDB設計 徹底指南書 論理設計とパフォーマンス 正規化の功罪 整合性を保つことはできるが、検索が遅くなる 正規化とSQL 内部結合では相手側のテーブルに対応するレコードがない場合情報が漏れてしまうのでこの時外部結合を使う 非正規科ではれば結…
達人に学ぶDB設計 徹底指南書 論理設計と正規化 RDBにおけるテーブルとは同じ種類のものの集合のこと キーとはある情報を引き出すための鍵。特に最も重要なのが主キー 正規化はデータの冗長性をなくしていく作業。目的は更新時のデータの不整合を防止する 正…
達人に学ぶDB設計 徹底指南書 論理設計と物理設計 概念スキーマと論理設計 概念スキーマを定義する設計を論理設計 システムの世界では「論理」とは物理層の制約にとらわれないという意味で使われる データベース設計は原則として論理設計が物理設計に先立つ …
達人に学ぶDB設計 徹底指南書 翔泳社のセールで買った本のメモ データベースを制するものはシステムを制す システムとデータベース データ処理としてのシステム データを整合的に保持して、いつでも簡単に利用可能な状態にしておくためのシステムをデータベ…
独習Ruby on Rails その他のコンポーネント Action Mailer Rails でメールの送受信を行うためのコンポーネント ActionStrage 画像やファイルなどをデータとして登録できる クラウド上のストレージを利用することもできる Action Job 通常のWebアプリケーショ…
独習Ruby on Rails 保存していた分が消えちゃったので薄めのメモ ActionView ERBテンプレート 画面を表示するにはHTMLで記述するがrubuyを埋め込めるERBテンプレートがある <% %>, <%= %>, Rubyを挿入する <%# %>コメントを入れる 複数行コメントアウトは=be…
独習Ruby on Rails コントローラーによるデータの扱い コントローラーとデータの入出力 コントローラーが扱うパラメーター フォームパラメーター(POSTパラメーター): request_parameters 画面の入力フォームから送信されるデータ HTTPのPOSTリクエストのメッ…
独習Ruby on Rails ルーターとコントローラー ルーターの役割はクライアントからの要求をアクションに割り付けること コントローラーは割り付けられた要求の実行を制御する モデルはコントローラーの指示を受けてデータベースとのやり取りを行う ルーティン…
独習Ruby on Rails モデルを豊かにする仕組み モデルの関係(アソシエーション) Rails におけるアソシエーション has_many 親となるモデルから見て、異なるモデルとの関係が1対多のときに使用する has_one 親となるモデルから見て、異なるモデルとの関係が1対…
独習Ruby on Rails モデルに実装すべき役割 バリデーション(検証) フォームなどから入力されたデータが妥当かどうか評価し、適正なデータだけをデータベースに取り込むための機能 入力データのチェック バリデーションの実装場所 データベースの情報はモデ…
独習Ruby on Rails Active Record モデルを操作してデータベースとやりとりを行う モデルに実装される機能 データリソースのライフサイクル(新規登録〜削除)を実現する機能 CRUD操作 コールバック データリソースの個々の属性の正当性を保証し、正常に保つ…
独習Ruby on Rails セールしていたので Kindle で買いました せっかく買ったので勉強のために読んだメモ取っていきます Rails 全体の仕組み Rails コンポーネントとMVCの基礎知識 コンポーネントとは Railsフレームワークの役割を構成する基本要素 Webアプリ…
独習Ruby on Rails セールしていたので Kindle で買いました せっかく買ったので勉強のために読んだメモ取っていきます Rails の軌道と簡単なアプリケーション構築 Rails フレームワークの実装と Rails の起動 Rails フレームワークの生成 rails new hoge -d…
独習Ruby on Rails セールしていたので Kindle で買いました せっかく買ったので勉強のために読んだメモ取っていきます オブジェクト指向と Ruby の基本 オブジェクト指向という考え方 オブジェクト指向プログラミングとは オブジェクトを設定する オブジェ…
Elixir GUIDES を読んだメモ elixir-lang.jp 16. プロトコル プロトコルは、Elixir でポリモーフィズムを実現するメカニズム プロトコルの定義 defprotocol Size do @doc "Calculates the size (and not the length!) of a data structure" def size(data) e…
Elixir GUIDES を読んだメモ elixir-lang.jp 14. モジュールの属性 アノテーションとしてのモジュール 例 defmodule MyServer do @vsn 2 end @vsn はモジュールのバージョンを示す属性 ここでは2と設定している Elixirにはいくつかの予約済み属性がある @mod…
Elixir GUIDES を読んだメモ elixir-lang.jp 12. IOとファイルシステム IOモジュール IOモジュールは標準入出力:stdio、標準エラー:stderr、ファイルおよびそのほかのIOデバイスへの読み書きを行う iex(1)> IO.puts "hello world" hello world :ok iex(2)> I…
Elixir GUIDES を読んだメモ elixir-lang.jp 9. 再帰 繰り返し 命令型言語と違い、関数型言語は再帰でループを行う defmodule Recursion do def print_multiple_times(msg, n) when n <= 1 do IO.puts msg end def print_multiple_times(msg, n) do IO.puts …
Elixir GUIDES を読んだメモ elixir-lang.jp 8. モジュールと関数 Elixir は機能をグループ化するモジュールがある 例 String Module iex(1)> String.length("hello") 5 Elixir で独自モジュールを作成するにはdefmoduleマクロを使用する iex(2)> defmodule …
Elixir GUIDES を読んだメモ elixir-lang.jp 6.バイナリ、文字列、文字リスト UTF-8 と Unicode 文字列は UTF-8 でエンコードされたバイナリ iex(37)> string = "hello" "hello" iex(38)> is_binary(string) true byte_size/1 はバイト数を返し、String.leng…
Elixir GUIDES を読んだメモ elixir-lang.jp 3.基本演算子 文字列の連結 <> で連結 iex(1)> "foo" <> "bar" "foobar" 論理演算子 or, and, not が用意されている これは true か false の論理値を期待している 第一引数に論理値以外を渡すと例外が発生 iex(2…
Elixir GUIDES を読んだメモ elixir-lang.jp 2.基本型 Elixir の関数は関数名とアリティで表す アリティは引数の数 func/2 は関数名 func で引数を2つ取る関数 アトム 他の言語でのシンボル、それ自身が定数でもある :hello 無名関数 fn と end で区切る iex…
UEFI ベアメタルプログラミング やってみよーと思ってたらここに手こずっていた UEFI プログラムを QEMU で実行してみたい -> OVMF の build が必要 OvmfPkg/build.sh 実行してみると mtoc がない isal がないとか言われる そもそも前準備が必要だった Mac …
Rails チュートリアルの勉強メモ railstutorial.jp 前回までのあらすじ hello メソッドにたどり着くまでをみた インターネットにデタラメを残している気がする間違えてるところあったら直します 演習 helloアクションを書き換え、「hello, world!」の代わり…
Rails チュートリアルの勉強メモ railstutorial.jp 前回までのあらすじ hello メソッドにたどり着くまでをみている イマココ --> #58 Puma::Configuration::ConfigMiddleware.call(env#Hash) at $HOME/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/puma-…
Rails チュートリアルの勉強メモ railstutorial.jp 前回までのあらすじ application_controller を読んでたら protect_from_forgery が気になって脱線してしまった protect_from_forgery 前回眠すぎてよくわかんなかった origin ちょっとググってみた qiita.…
Rails チュートリアルの勉強メモ railstutorial.jp rails server $ rails server => Booting Puma => Rails 5.1.7 application starting in development => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.12…
Rails チュートリアルの勉強メモ railstutorial.jp rails server を追ってみる bin/rails - hello_app/bin/rails 1: #!/usr/bin/env ruby 2: begin 3: load File.expand_path('../spring', __FILE__) 4: rescue LoadError => e 5: raise unless e.message.in…
Rails チュートリアルの勉強メモ railstutorial.jp rails server を追ってみる rails new との違い gems/railties-5.1.7/lib/rails/app_loader.rb @ line 36 Rails::AppLoader#exec_app: 32: def exec_app 33: original_cwd = Dir.pwd 34: 35: loop do => 36…
Rails チュートリアルの勉強メモ railstutorial.jp bundle install 読んでいた 前回から bundle install 読んでいたが編集データが吹っ飛んだのとそもそも面白くなかったので一旦保留 - bundler/cli/install.rb installer = Installer.install(Bundler.root,…