TypeScript SourceMap
我們可以在 TypeScript 的 tsconfig.json 設定 comilerOptions.sourceMap = true
來產生 Source Map 檔案,這個檔案可以讓 VS Code、Chrome debugger 等工具把編譯後的 JS 檔案對應回去原始碼 (TS)。
不過如果收到 Production 上回應的 Error Stacks,想要找到對應在 TS 的程式位置,有沒有辦法快速的找到呢?
我們可以在 TypeScript 的 tsconfig.json 設定 comilerOptions.sourceMap = true
來產生 Source Map 檔案,這個檔案可以讓 VS Code、Chrome debugger 等工具把編譯後的 JS 檔案對應回去原始碼 (TS)。
不過如果收到 Production 上回應的 Error Stacks,想要找到對應在 TS 的程式位置,有沒有辦法快速的找到呢?
Instance metadata 是 AWS 對你的 EC2 提供的資訊,包含 Host Name, Public IP ... 等等的資訊都可以從 Metadata Service 獲取。每個 EC2 中都能存取到位於 169.254.169.254
的 API,這個位址是 Link-local address,只有從 EC2 內部才可以存取的到。例如,我們可以由下面這個 API 獲得目前的 Public IP:
curl http://169.254.169.254/latest/meta-data/public-ipv4
最近為新專案導入 Inversion of Control (IoC) container,發現 Container Libraries 中,大部分都只有和自己相關的教學文件,比較少有實際實作的範例,這邊文章以一個有名的開源專案為例子,整理出幾個不錯的用法,以及基本應該遵守的規則。
通常我們會把內部的服務像是 Databases 或應用程式放在 Private Subnets,這些機器不能直接由 Public IP 存取,而是藉由 Load Balancers (ALB, ELB) 將流量導向內部的機器,這樣可以保護我們的服務不受外部攻擊,只讓真正需要對外的服務能夠被存取。
一般來說,證書頒發機構 (certificate authority, CA) 不會用真正的根憑證 (Root Certificate) 來簽發給使用者的憑證,畢竟終端使用者這麼多,放在線上每天簽屬風險太大。相對的,CA 會使用根憑證先簽發一張憑證,再用這張憑證來簽發給大家的憑證,這張憑證就稱為「中繼憑證」(或中間憑證,Intermediate Certificate)。
我最近看到 好和弦在談論 LBRY,覺得是個很有趣的想法,於是稍微研究了一下官方的 Spec,整理一篇文章來談談 LBRY 的技術內容。
最近公司改用 Nginx ingress controller 配合一個 L4 Load Balancer 來處理進站流量,取代過去使用 Application Gateway,在部屬時發現官方預設在 Service 上設定 ExternalTrafficPolicy = Local (Ingress-nginx Azure deploy.yaml),AKS 文件上也提到如果想保留客戶端來源 IP 的話,必須要這樣設定。
經果一番探索後,發現和 Kube-proxy 如何處理進進站流量有關,也算是解答了我對 Service 實作的問題,這篇文章來記錄一下研究成果 🎉
這幾個禮拜托 YFI 的福,幣圈又開始熱絡了起來,身邊的朋友也開始加入市場,這篇文章分享一個發生在身邊的慘案,最後的結果是錢包裡面所有的錢全部被轉走。 如果您的錢包已經遭遇不測,請不用往下看了,這篇文章沒有提供處理方法,請節哀 😥。
以前會寫少少的 Apps Script 來協助操作 Google Sheet 或其他 Google 服務,就是直接從 Google Sheet 裡面的指令碼編輯器直接進到 Script 編輯畫面。
最近發現我們在 Azure Kubernetes Service (AKS) 上的 Pod 很容易被驅逐,查了一下才發現原來我們不能用盡 Node 上的所有資源,這篇文章就來看看我們必須留下多少資源給系統吧。