Recent Posts

Web 基本功 - Cookie 與 Session

1 minute read

Cookie 1.1 什麼是 Cookie ? Cookie 在使用者第一次進入網站的時候產生。Browser 記錄一些隱私性較低的資料。 例如: 使用者第一次進入網站的時候會跳出教學視窗。當使用者點擊[關閉]後,Cookie 內記錄使用者已經看過教學了。使用者在下次登入的時候因為 Cookie 內記錄著使用...

使用 GIT Precommit hooks 防止 Binding.pry 進入 Commit

less than 1 minute read

Problem 如果不小心把 binding.pry commit 進 git 而且不幸的 push 的話, 勢必要使用另一個 commit 來修正。如果要讓這個 commit 不見可能就需要用 git push -f 來修改。這樣做很醜,不優雅。根治的方法是 - 根本不應該將 debug code 進入 co...

Time in Rails

less than 1 minute read

Rails 中的時間 Rails 中的時間是個有趣的議題,如果不多加注意,很容易被雷到。 尤其是一般在本地端開發的的時候並不會有時區不同的問題,但是一放到 Server 上,就會忽然爆炸。 是不能不小心的一個問題。 如果你在 config/application.rb 設定 Time.zone,範例如下: ...

Go - 在 OSX 安裝 GVM

1 minute read

前言 之前有寫過一篇用 Brew 安裝 GO,因為習慣上會用 rvm、nvm 來管理程式語言的版本, 所以心血來潮也想試試看安裝 GVM 在作業環境,不過如標題所示, gvm Bug 滿多,而且跟我慣用的 Fish shell 不太相容。 總結下來,如果使用 OSX 環境推薦大家使用 Brew 來安裝。 安裝...

CORS in Rails

less than 1 minute read

Problem 跨網域存取的時候需要使用 CORS 來讓不同網域也可以存取相同網域的資源。請看下圖,Server 返回的 Response 必須明確指出哪些網域可以存取該 Server 的資源。 有這樣的行為模式的話,是不是可以在 Controller 中的 Response 加上 Header 來達成 COR...

EFK(6) - 使用 docker 包裝 Fluentd

1 minute read

Aggregator 與 Forwarder 使用 docker 建立 fluentd image 為了模擬需要的環境,我們來使用 docker 建立 fluentd image 參考fluent/fluentd-docker-image來製作個人化的 fluentd image 2.1 準備工作 ...

EFK(5) - Fluentd 高可用架構(High Availibity)

less than 1 minute read

架構 之前我們的架構是直接由 fluentd td-agent 傳送到 elasticsearch (如下圖) 為了更高的可用性(High Availibity),我們在中間加入 aggregator 的角色,讓在 td-agent 扮演 forwarder 角色,職責更加單一,forwarder 只負責...

EFK(3) - Rails 與 Fluentd 的串接方法

1 minute read

幾種可以跟 Rails 串接的方式 gem ‘fluent-logger’ Centralize Logs from Ruby Applications 自定解析 fluent/fluent-plugin-grok-parser: Fluentd’s Grok parse...

EFK(2) - 介紹 EFK (Elasticsaerch + Fluentd + Kibana)

less than 1 minute read

Fluentd 介紹 Fluentd 跟 Logstash 扮演的角色相同。 過去 Logstash 的歷史有效能不佳的記錄,Fluentd 在效能上的口碑更好。 如下圖所示,Fluentd 可以將蒐集 Log 負責的過程統一規格化。我們在使用的時候,選用想要蒐集Log樣式的 input plugin, 例...

EFK(1) - 介紹 ELK Stack( Elasticsearch + Logstash + Kibana)

less than 1 minute read

ELK 整體架構 最左邊的 Logstash Shipper 用來運送 Log 到 Log 處理中心。 Redis 當做 Buffer 來緩衝資料量瞬間爆量的問題。 右邊的 Logstash 將 Log 加工成 Elasticserach、Kibana 可以處理的格式。 Kibana 是一個...