原创 從Docker到Kubernetes

1 簡介 1.1 什麼是容器 傳統的虛擬化技術,比如 VMWare, 目標是創建完整的虛擬機。爲了運行應用,除了部署應用本身及其依賴(通常幾十MB),還得安裝整個操作系統(幾十GB)。 如圖所示,由於所有的容器共享同一個 Host OS,

原创 信息是如何表示和存儲的

信息存儲 二進制與十六進制 計算機內所有的信息均以二進制的形式表示,也就是由值0和值1組成的序列。大多數計算機使用8位的塊作爲最小的可尋址單位,也就是常說的字節(Byte)。 一個字節包含8比特。1Byte = 8bit ,1KB =

原创 使用msys2打造優雅的開發環境

windows下常用的類似unix終端軟件有git fow windows(內置簡版msys2)、mingw、msys2、cgwin。 git fow windows: 不想折騰的同學,直接使用該軟件就夠用了。缺點是自帶的預編譯的軟件包比

原创 Go內置常用包

strings 字符串函數 Contains(s, substr string) bool 字符串s是否包含字符串substr,包含返回true Split(s, sep string) []string 將字符串s按照分隔符sep分隔爲

原创 Go如何使用數據庫、緩存

database/sql 接口 Go官方沒有提供數據庫驅動,而是爲開發數據庫驅動定義了一些標準接口database/sql,開發者可以根據定義的接口來開發相應的數據庫驅動,這樣做有一個好處,只要是按照標準接口開發的代碼, 以後需要遷移數據庫

原创 從零開始基於go-thrift創建一個RPC服務

Thrift 是一種被廣泛使用的 rpc 框架,可以比較靈活的定義數據結構和函數輸入輸出參數,並且可以跨語言調用。爲了保證服務接口的統一性和可維護性,我們需要在最開始就制定一系列規範並嚴格遵守,降低後續維護成本。 Thrift開發流程是:先

原创 Protobuf 小試牛刀

本文以PHP爲例。 環境: CentOS 6.8 proto 3.8 PHP 7.1.12 PHP protobuf擴展 3.8.0 go1.12.5 linux/amd64 本文示例倉庫地址: https://github.com/5

原创 gRPC入坑記

概要 由於gRPC主要是谷歌開發的,由於一些已知的原因,gRPC跑demo還是不那麼順利的。單獨寫這一篇,主要是gRPC安裝過程中的坑太多了,記錄下來讓大家少走彎路。 主要的坑: 如果使用PHP、Python開發gRPC的客戶端,需要編譯

原创 學完這些課,快速助你提升Level

本文爲大家推薦一些博主已經學習過的付費課程。請放心,博主不會隨便推薦課程給大家。下面這些課程質量非常高,學完你的Redis、MySQL等技能必定提升一個Level! Tips: 通過本文配圖裏的海報購買課程,相比直接去官網購買可以享受一定的

原创 PHP技術棧

本文旨在給要學習 PHP 的新手一個大概的認知輪廓,在心裏有個學習的結構,有的放矢,避免走太多彎路。大神請忽略。 入門階段 預備知識 1、掌握基本HTML、JS、CSS語法;熟悉 Bootstrap。 參考: https://www.

原创 PHPer書單

想提升自己,還得多看書!多看書!多看書!<br/>下面是我收集到的一些PHP程序員應該看得書單及在線教程,自己也沒有全部看完。共勉吧!<br/>當然,如果你有好的書想分享給大家的或者覺得書單不合理,可以去Github 52fhy/phper

原创 Elasticsearch實踐(三):Mapping

版本:Elasticsearch 6.2.4。 Mapping類似於數據庫中的表結構定義,主要作用如下: 定義Index下字段名(Field Name) 定義字段的類型,比如數值型,字符串型、布爾型等 定義倒排索引的相關配置,比如是否索引

原创 Elasticsearch實踐(四):IK分詞

環境:Elasticsearch 6.2.4 + Kibana 6.2.4 + ik 6.2.4 Elasticsearch默認也能對中文進行分詞。 我們先來看看自帶的中文分詞效果: curl -XGET "http://localhost

原创 Elasticsearch實踐(二):搜索

本文以 Elasticsearch 6.2.4爲例。 經過前面的基礎入門,我們對ES的基本操作也會了。現在來學習ES最強大的部分:全文檢索。 準備工作 批量導入數據 先需要準備點數據,然後導入: wget https://raw.githu

原创 Redis使用lua腳本

版本:自2.6.0起可用。時間複雜度:取決於執行的腳本。 使用Lua腳本的好處: 減少網絡開銷。可以將多個請求通過腳本的形式一次發送,減少網絡時延。 原子操作。redis會將整個腳本作爲一個整體執行,中間不會被其他命令插入。因此在編寫腳本