requestAnimationFrame 筆記

在 Javascript 我們曾經只有一種方式來處理跟特定時間有關的循環事件: setInterval()。簡單說就是當你需要重複某些任務時(依據時間)。
您就會用到這個方法。對於動畫來說需要每秒 60 個 frames 人類才會覺得是順暢平滑的,因此我們可能會寫出像下面這樣的程式碼

繼續閱讀

CSS Grid 介紹

當我們要建置複雜的網站時 Grids 是非常重要的。其重要性我們可以從大量的 CSS 框架中窺知ㄧ二,因為幾乎所有的框架都有提供網格(Grids)系統來加速開發。
隨著 CSS Grid 規範的出現,將來我們將不需要額外的樣式就可以使用網格。另外的好處就是我們將不需要再依賴 inlinefloat 來完成那些佈局需求
在這篇文章我們將要介紹一些網格基本的用法,然後透過實作一個基本的部落格佈局來理解其用法。

繼續閱讀

Openshift 筆記

常用指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 安裝 rhc
$ gem install rhc
$ rhc setup

<!--more-->

# 建立 app
$ rhc app create [app name] ruby-2.0 postgresql-9.2

# 設定好 database.yml

# 顯示 app 相關資訊
$ rhc show app [app name]

# DB migration
$ rhc ssh [app name] # SSH 至 app 環境
$ cd app-root/repo
$ bundle exec rake db:create RAIS_ENV=production
$ bundle exec rake db:migrate RAILS_ENV=production

# 修改 Server
$ rhc env set OPENSHIFT_RUBY_SERVER=puma -a [app name]

# 重啟
$ rhc app restart [app name]

# 查看錯誤 Logs
$ rhc tail [app name]

# 查詢 PostgreSQL
$ rhc port-forward -a [app name]
# 接著再用介面上的帳密登入
1
2
3
4
5
6
7
8
9
production:
adapter: postgresql
encoding: unicode
pool: 5
database: < %=ENV['OPENSHIFT_APPNAME']%>
host: < %=ENV['$OPENSHIFT_POSTGRESQL_DB_HOST']%>
port: < %=ENV['$OPENSHIFT_POSTGRESQL_DB_PORT']%>
username: < %=ENV['OPENSHIFT_POSTGRESQL_DB_USERNAME']%>
password: < %=ENV['OPENSHIFT_POSTGRESQL_DB_PASSWORD']%>

資源

SSL 相關筆記

如何自己簽一張 SSL 憑證用於測試

概覽

下面簡易介紹了 SSL 是如何實作以及在整個流程中各個憑證所扮演的角色。

一般網頁傳輸是透過非加密的方式,意思是每一個人只要透過工具都可以存取,並且窺視所有的傳輸內容。
可以見得的,這可能造成一些問題。尤其是在安全和隱私方面,例如信用卡與銀行交易的資訊。
安全套接層協議(Secure Socket Layer)也就是 SSL 是用來加密這些伺服器與客戶端傳輸的資料。
簡單說就是保證兩個應用程式之間通訊的機密和完整性,也可驗證對方的身份。

繼續閱讀

[譯] Houdini: 你還沒聽說!這可能是 CSS 開發中最令人興奮的事!

其實…我想說這可能是最令我感到興奮..但又害怕頭痛的功能… - 原文連結

你曾經想要使用某個 CSS 的新功能,但是最後卻因為這個功能瀏覽器還未全面支援而放棄了嗎?甚至更糟糕的狀況,瀏覽器已經支援了但卻充滿問題。我敢打賭這些情況你肯定遇過了。如果上面這種情形你曾經遇過,那麼你是應該關心一下 Houdini

繼續閱讀

Cache 筆記

  • 瀏覽器 cache 是一種機制,透過特定狀態告知瀏覽器不需要重新下載檔案
  • cache 最早使用 Expires 和 Pragma,現今主要使用 Cache-Control 來控制
  • cache 大略流程,在實際下載檔案之前發生:
    1. cache 的實際處理機制存在瀏覽器中,也就是我們需要透過指令(cache-directives)告訴瀏覽器該怎麼處理
    2. 瀏覽器設定為不提供 cache ,完全忽略下面步驟直接請求資源
    3. 瀏覽器發送請求,此時可包含 cache-request-directive 這部分的資訊主要是拿來和 server 協商比對用的
    4. 伺服器判斷是否有更新並回傳通知 cache-response-directive
繼續閱讀

line-height 問題筆記

line-height 歸納

  • line-height 有五種屬性可用,預設是 normal 他會拿 font-size * 1.2
    • normal
    • number ex: 1.2, 1.8 => 倍數
    • unit ex: 18px, 2em, 3rem, etc…
    • percentage ex: 90%
    • inherit => line-height from parent
繼續閱讀