Python - 函式裝飾器 function decorator

今天想來跟大家介紹 function decorator Higher-order function在這之前,先介紹一下什麼叫做 Higher-order function,就會比較好理解 function decortor 根據維基百科的介紹,Higher-order function 必須至少滿足以下其中一個...

Ruby-用 Rack 做出自己的 Router

在之前 Rebuild Rails 時有介紹到 Rack 對於 Rack 更精準的解釋是,Rack 本身是個 Ruby 與 framework 的規範,符合規範的 framework 稱作是 Rack application ,會將程式碼處理成 Rack 規範認可的格式(也就是 object ,且可以 call...

JavaScript - 運行背後的世界(1)

當 JavaScript 開始執行的時候,背後會做一連串複雜的事情,我們今天就來看看這背後複雜的流程吧 JS 開始運行時,就會啟動執行環境 Execution Context 執行環境 An execution context is a specification device that is used to ...

Rails - Turbo 與 Turbo Drive

Turbo瀏覽器的載入模式在 AJAX 還沒出現以前,使用者在瀏覽網頁,進行互動後,需要重新整理才會在網頁上看到互動後的結果 AJAX 模式AJAX 的全名為 Asynchronous JavaScript and XML ,這些字詞的意思為 非同步 JavaScript 與 XML 非同步 JavaScrip...

工程師都該懂的程式通識 - Proxy

相信大家從小到大應該都會碰到代理伺服器,代理伺服器就像是我們生活中的代理人一樣,會代表著 Client 端或者 Server 端 我們就來進入正題吧 什麼是代理伺服器在 10 年前,大家點開 ie 的頁面都是 Yahoo , 網路速度不比現在,都需要等個一兩分鐘, 等個一兩次還好,不過等太多次難免會覺得很煩, 每...

Docker - 什麼是 Compose

之前我們介紹了 Dockerfile 的基本指令, 這次的主題我們要來介紹 docker-compose.yml 關於 docker-compose.yml是什麼?官方的說明 Compose is a tool for defining and running multi-container Docker a...

工程師都該懂的程式通識 - 語言的分類

直譯語言與編譯語言 直譯語言是什麼?簡單來說不是使用編譯器來編譯,而是使用解釋器邊讀取邊執行,像是 Ruby、Python、JavaScript 都是直譯語言 編譯期:並沒有明確的編譯期,由直譯語言的解釋器 (Interpreter)進行編譯,可以一邊讀取一邊執行,讀取完後會執行該程式碼,並且檢查語法,解釋器 (...

Rails 的預設環境變數存取方式 - Master Key

在 Rails 5.2 版本後,Master key 就成了 Rails 內建的環境變數套件,用於管理環境變數 在 5.2 版本前, Rails 是使用 config/secrets.yml 或 config/secrets.yml.erb 來存取環境變數,且可以直接在任何環境中直接設定,無需針對特定環境做一個檔...

叫我套件王 - 會員系統 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 頁籤,任意按一個版號進去, 就會看到像是歷史...