原创 grpc java client, go server 錯誤 io.grpc.StatusRuntimeException: UNAVAILABLE

java client 獲取 channel 的代碼如下: public ManagedChannel getChannel() { ManagedChannel channel = ManagedChan

原创 GoMailer - 用 Go 開發的輕量電子郵件推送服務

GoMailer 輕量電子郵件推送服務(A lightly email sending service for Go) 通過form提交用戶輸入的數據,GoMailer會將這些數據填入預先定義好的郵件內容模板中,並幫你把內容投遞到

原创 地圖應用如何優化 上: 數據請求和渲染方式

前端在基於 Google Map 的地圖應用上渲染數據時一般以 tile 爲單位請求數據。簡單來說,屏幕上可見的地圖區域是由多個 tile 拼接而成的,數據渲染以 tile 爲單位,數據請求也以 tile 爲單位。 這樣,前端只

原创 Spring IOC 容器啓動流程分析

Spring IOC 容器啓動流程分析 使用 Spring 時,XML 和註解是使用得最多的兩種配置方式,雖然是兩種完全不同的配置方式,但對於 IOC 容器來說,兩種方式的不同主要是在 BeanDefinition 的解析上。而對

原创 一. Go 爲什麼快?(譯: 五件事讓Go變得如此之快)

原文地址: five things that make go fast. 本文並非完整翻譯,只對原文關鍵部分進行提取歸納。 正文: 當人們談論到爲什麼做出學習Go的決定時,往往會有不同的回答,但總有三個原因是他們都會談及的: 併

原创 使用 ETag 以利用瀏覽器緩存,節省帶寬

ETag 可以理解爲服務端的一個資源標識,當兩次請求相同的 URL,且 URL 對應的資源沒有變化時 ETag 的值應該相同。合理使用 ETag 可以有效利用瀏覽器緩存,降低服務器的帶寬壓力。 原理分析 用戶第一次通過 URL 請

原创 Go 實現簡單的請求路由和中間件框架

go 中區分函數和方法,方法依附於對象,需要先創建對象,才能調用對象的方法;而函數是包級的,只要是公開的,那麼通過包就可以訪問。go 中定義新的類型有兩種方式,類型別名和結構體: // 類型別名 type Integer int

原创 JetBrains 系列 IDE 快速部署項目到遠程服務器

JetBrains 系列 IDE 一直是我開發的主力工具,在開發時往往選擇在本機進行運行和調試。這樣毫無疑問是很高效的開發方式,但有時我們希望在更接近於線上的環境中進行調試,那麼如何使此次的修改快速見效(部署以及運行)是需要解決的

原创 瀏覽器直接上傳文件到 Cloud Storage,繞開 App Engine Request 最大 32M 限制

隨着流量的增加,GCP App Engine 會自動爲應用分配更多的資源,但自動分配資源仍然受到一些閥值的約束,其中一條便是:發送到應用的請求,請求體不能大於32M。而對於一些上傳大文件的需求,這個限制使得那些將文件上傳服務的 E

原创 for 循環中取地址引發的錯誤

在for a,b := range c 遍歷中, a 和 b 在內存中只會存在一份,即之後每次循環時遍歷到的數據都是以值覆蓋的方式賦給 a 和 b,a,b 的內存地址始終不變。 以下是錯誤代碼示例: p := []s2.R

原创 Google Cloud - 使用時值得注意的細節

在 instance 啓動和停止時收到通知 appengine 在進行自動擴縮時可能會頻繁的停止或啓動 instance,應用往往在啓動時需要進行一些數據預熱處理, appengine 提供了 /_ah/warmup 回調,在應用

原创 Google Cloud - instance 間通信(pubsub + memcache 實現實例間通信和保證一致性)

GCP - appengine 通過 version 管理應用,你可以在 appengine 上部署多個 version(dev、qa等),而每個 version 可以有多個 instance,一個 instance 可簡單理解爲

原创 我的音樂(Musicoco)隱私權政策

Musicoco Privacy Policy This privacy policy document is to provide information on what, how, and why personal data

原创 詞素+詞

詞素+詞 語言結構的層次性:語法層面:詞素、詞、詞組、分句、句子;語篇層面:句子、語段、語篇; 詞素 粘附詞素-詞綴 前綴: postwar coexist後綴:movement careless carelessness前後綴:

原创 一. 數據類型:基本數據類型

第一個 Python 程序 解釋器解釋運行,源代碼編譯爲pyc字節碼,字節碼會被緩存,提供下次運行速度,根據時間戳和版本判斷是否需要重新編譯。在PVM虛擬機中運行。 Source(py) -> Byte code(pyc) -> R