叫我套件王 - 會員系統 Devise【1】

為什麼要用 Devise 支援多種會員系統模組 有許多方便的方法 前置作業: 建立一個 rails 專案 (本文章使用 7 版本) 安裝 devise gem 那我們就進入正題! Step 1 把 devise 安裝起來1$ bundle add devise 1$ rails generate devis...

Docker - Dockerfile 基本介紹及指令

我們在先前文章提過,Dockerfile 是我們用來建立 Image 的檔案 我們可以把 Dockerfile 想像成是千層蛋糕 每一層為一個 Layer Image 就是層層堆疊後的千層蛋糕 讓我們來看一下 DockerHub 裡的 Ruby 按到 Tags 頁籤,任意按一個版號進去, 就會看到像是歷史...

Docker - 一起探索大鯨魚的奧妙

為什麼要用 Docker不曉得大家是不是常遇到要開啟一個專案,卻因為裝置不相容,在安裝的過程中要一直 debug 的狀況,有時候甚至架不起來? Docker 就是為了解決這個問題而出現的 什麼是 DockerDocker 是一種架設出虛擬環境的工具,我們可以透過 Docker 將應用程式單獨切分出來,並且用容器包...

Basic - 環境變數

什麼是環境變數?在我們開始之前,讓我們先了解環境是什麼 環境環境是指 operating system 或 microservice,例如我們常用的終端機。 變數在任何程式語言中,我們有兩個基本元素:常數和變數 他被會由一個 key 跟 value 配對而成 常數:在執行期間不會被改變及重新定義(不過在某些...

Postgresql - JSONB 是什麼?跟 JSON 有什麼差別?

jsonb 是什麼 PostgreSQL支援的特有格式,而 b 指的是 binary ,因為 jsonb 是使用二進位來儲存格式 json 跟 jsonb 的差別 什麼時候會用到 在 rails 該怎麼使用 new 一個專案 1> rails new jsonb_0602 gemfile 安裝...

SQL - 不管是交集還是聯集,JOIN 都能找到

Joins上一篇我們介紹了 includes 跟 joins 的差異,今天想介紹一下 Joins 的各式用法及不同 先來假設我們今天有兩個 TABLE1 跟 TABLE2 TABLE1 存放了 學生的資料(table name = Student) id name phone email cour...

SQL - Joins、Includes 差別在哪裡?

Join and Includes我們在開發的時候免不了關聯資料庫,在撈資料的時候也常常會需要用到 joins 跟 includes 所以,我們什麼時候會用到 joins 跟 includes 要尋找跟其他 model 有關聯的資料 避免 N + 1 問題 ** N + 1 問題是什麼呢?當我們查詢多筆資料時,...

Docker - Dockerfile 基本介紹及指令

我們在先前文章提過,Dockerfile 是我們用來建立 Image 的檔案 我們可以把 Dockerfile 想像成是千層蛋糕每一層為一個 LayerImage 就是層層堆疊後的千層蛋糕 讓我們來看一下 DockerHub 裡的 Ruby 按到 Tags 頁籤,任意按一個版號進去,就會看到像是歷史紀錄的畫面,...

工程師的日常 - 從測試開始 PART 1

身為一個 Rails Developer寫測試是必備的基本功 今天就來跟大家聊聊寫測試這件事 什麼是測試? 為什麼要寫測試? 測試分成哪些類型 有哪些工具可以幫我們完成測試? 測試該從哪開始? 3A 原則 什麼是測試?我們來看看維基百科怎麼定義。 測試 描述一種用來促進鑑定軟體的正確性、完整性、安全性和品...

Rails 的 params 背後的運作巧思

Parameter我們有時候會需要存取參數來作業,在 web application 中會有兩種參數的來源 query string (放在?後面) 以 POST 方法傳送 request 時,data 裡面的 query 在這之前,我們先來看一下 Rails 是怎麼去存取 parameter 的 是的,你...