2018 年的 Rails 應用 Docker Image 包裝範例

技術文章 By 鄧慕凡・May 25 2018

前言 近年 Docker / Kubernetes 已經逐漸成為 DevOps 的主流,不管是開發任何網路服務應用都可能會有使用 Docker 做部署的需要,在此我以近期經手開發且有部署到 Kubernetes + Google Cloud Engine 的專案為例,示範並說明一般 Rails...

規劃 FactoryBot 小技巧,你的測試可以做得更好

技術文章 By Roy Huang・May 16 2018

FactoryBot(前身為 FactoryGirl)為知名軟體方案解決公司 ThoughtBot 所開發,其用途非常地單純,就是讓使用者可以輕鬆地生產測試用資料。 而使用 FactoryBot 的方式也相當簡單。只要安裝了 Gem 並新增一個 Factory,就可以產生資料。 Factory...

使用 Ransack 幫你完成後端搜尋與 Sorting

技術文章 By Yusheng・May 10 2018

為什麼用 Ransack 在網站中提供搜尋、篩選與排序功能在現在的網站中已是基本需求,畢竟大家的耐心,在 Ruby on Rails 中,由於採用了 ActiveRecord 作為 ORM 框架的緣故,要快速的組出 Search Query 並非難事。 基本上只要搭配上 Form Object...

sketch 一鍵生產 icon-font

技術文章 By Treekey・May 4 2018

從 sketch 一鍵生產 icon-font Icon font 雖然不是什麼新的技術, 不過從這一連串的實作過程可以學到很多東西, 且順便分享一下使用在專案內會遇到的問題。 實作流程可以拆成以下: 使用 sketch 編輯管理所有的 icon。 使用 sketchtool 匯出...

在 Mac 上使用 Nginx + SSL & HTTP/2 做網站開發的設定

技術文章 By 張博凱・Apr 13 2018

在 Mac 上使用 Nginx + SSL & HTTP/2 做網站開發的設定 1. 安裝 Nginx 推薦使用 Homebrew 在 Mac 上安裝 Nginx: brew install nginx 安裝完成後,就能用 brew services 來幫我們啟動 Nginx: sudo...

Multi-tenant 應用程式:讓人又愛又恨的 Apartment

技術文章 By Henry・Mar 30 2018

Multi-tenant 應用程式:讓人又愛又恨的 Apartment 隨著現在個人化網站的興起,許多網路服務都提供使用者自訂網站的功能。這些功能涵蓋許多面向,包含論壇、部落格與網路個人商店等。典型的自訂網站例子如 Wix 與 Weebly,個人商店則如 Shopmatic 與 Shopify...

自由的 Ruby 類別(二)

技術文章 By 蒼時弦也・Mar 23 2018

上一篇文章已經討論過關於 Ruby 中的類別是怎樣運作的,這篇文章則會來討論如何拓展 Ruby 類別。 大部分的人寫 Ruby 有很大的原因是因為 Rails 但是上面像是 has_many 跟 before_action 這些可以直接在類別上做的事情,很明顯不是 Ruby 內建的,到底是怎...

Rails探索:Active Record篇

技術文章 By Johnson・Mar 16 2018

動手做 Active Record! 探索 Active Record 最直接的方法可能就是自己動手做一個吧!? 這篇文章將會做一個簡單版的 Active Record ,讀者有興趣的話可以跟著說明一起來做一個。這自製的 Active Record 有部分寫法是直接參考現有 Rails ...

老闆來一份上傳圖片要切

技術文章 By 郭佳甯・Mar 9 2018

圖片上傳是一個在網路上隨處可見的功能,但是要做起來還真多細節在裡頭。 比方說: 客戶:「那可以預覽圖片嗎?」 客戶:「可以在上傳之前弄個裁切嗎?」 客戶:「可以一次上傳多張圖嗎?」 客戶:「可以拖曳上傳嗎?」 老闆:「加點要等哦~」 圖片上傳 圖片上傳可以使用套件來完成,我會推薦使用...

從 QA 到 rails developer 的撞牆之路

技術文章 By Telsa・Mar 1 2018

這是一個不聰明可能還有點障礙的普通人的撞牆之路, 我想講一些一點都不激勵溫馨人心的部分XD, 當初我想尋找像我這種轉職工程師的過來人的文章時,我看到的感覺大家都很順遂,挫折也只會講到一點點, …所以就由我來寫出我當初想要看到的文章吧,我會努力不讓他太黑暗的(?) 既然是要講我的撞牆之路,那麼...