快轉到主要內容

Posts

2026

AWS 基於 Target Group 和 ASG 的藍綠部署研究

·1531 字·4 分鐘
背景 # 公司用的是 AWS,目前主要服務是在 EC2 上,而不是 ECS 或 EKS。 發版的流程是會先將目前的程式碼和相關設定打包成一個 AMI,更新 Launch Template,再更新 Auto Scaling Group (ASG)。 即使上版前都會盡量測試,但公司的程式如果動到 legacy code,實在很難保證所有部件都沒問題。 之前甚至還有出現過 infra 異常,包出來的 ami 少安裝了 imagemagick,讓全站完全無法上傳圖片。

EventBus 的神(精病)用法

·1330 字·3 分鐘
前言 # 前一篇提到 EventBus 使用字串 + 不定參數的作法,雖然我極度不欣賞,不過這也是動態語言的常規操作而已。如果去問不同人,可能會覺得這樣的手段也無傷大雅。 不過還有一種操作 EventBus 的手法,可能就連動態語言大師看了都會嘖嘖稱奇。

Python EventBus

·884 字·2 分鐘
問題 # 之前在找 python 的 EventBus 相關 lib,才發現寫的爛的星數高,寫的好的星數低。 以我翻到的兩個星數稍高的 lib 為例:

2023

2022

解決WSL在Windows檔案系統下速度緩慢的問題

·994 字·2 分鐘
背景 # 微軟在比較 WSL 1 和 WSL 2 | Microsoft Docs這篇文章有提到,WSL 2在存取windows檔案系統時速度會變慢。雖然cd/ls這類指令無法察覺,但一旦使用到git,大量的檔案存取立刻讓效能有感變慢。有些用戶甚至還沒開始使用git指令,只是進入git repository,就足以讓接下來的每個指令延遲一秒以上。

2021

Functional Programming中處理Exception的方法

·2358 字·5 分鐘
前言 # 以前剛從Java轉換到其他語言時有個困擾,就是Checked Exception(受檢例外)不見了。這會導致呼叫function的時候,難以判斷程式到底會不會丟出Exception。

2019

[讀書心得] Java 8 Lambdas 技術手冊 (Java 8 Lambdas: Pragmatic Functional Programming)

·486 字·1 分鐘
天瓏網址 這本書薄薄一本,精華大概在3~6章,大致上有: 如何使用map/reduce/filter/flatmap等高階函式(higher-order function)。 了解上述函式如何取代for迴圈,把外部迭代改為內部迭代來提升可讀性。 了解惰性/急性求值,以避免在使用上述函式時寫出效能不佳的程式碼。 了解如何自訂收集器來因應更複雜的情況。 了解可以簡單地把上述函式轉成平行版本,以及平行相關的效能議題。 所以如果你是

Dart - Mixin

·1099 字·3 分鐘
前言 # mixin可以簡單的理解為"已經實作的interface"。以下範例:

Dart Class Constructor

·1597 字·4 分鐘
基礎型 # 先來最簡易的版本,不管從任何語言背景來的人都能看懂。 另外要注意在dart 2.0以後,new變成了可選字眼,所以為了程式簡潔,個人建議不要再加new。