原创 golang git pre-commit鉤子
.git/hooks/pre-commit #!/bin/bash STAGED_GO_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".go$")
原创 將版本信息寫入Go編譯的二進制文件
將版本信息寫入Go編譯的二進制文件 Makefile SHELL := /bin/bash BASEDIR = $(shell pwd) DOCKER_TARGET=hub.docker.com/lee/hello # buil
原创 logrotate 日誌切割 原理
logrotate 原理 logrotate 是怎麼做到滾動日誌時不影響程序正常的日誌輸出呢?logrotate 提供了兩種解決方案。 create copytruncate Linux 文件操作機制 介紹一下相關的 Linux 下的文件
原创 [譯]OpenTracing之旅
[譯]OpenTracing之旅 原文鏈接:https://medium.com/opentracing/take-opentracing-for-a-hotrod-ride-f6e3141f7941 OpenTracing是一個
原创 自己易忽略的golang規範
Interface 合理性驗證 var _ http.Handler = (*Handler)(nil) 關於Mutex type smap struct { sync.Mutex // only for u
原创 Go語言從入門到精通之golang初識
golang語言特性 垃圾回收 內存自動回收,再也不需要開發人員管理內存 開發人員專注業務實現,降低了心智負擔 只需要new分配內存,不需要釋放 天然併發 從語言層面支持併發,無需第三方庫 goroute,輕量級線程
原创 Go語言從入門到精通九——使用golang操作mysql、redis和RabbitMQ
操作mysql 增 package main import ( "fmt" "github.com/jmoiron/sqlx" _ "github.com/go-sql-driver/mysql" //初始化一個mysql
原创 Webpack4學習筆記
其實很早之前就聽說過webpack,但一直沒有認真去看過官方文檔,閒暇時捨近求遠的去看一些教學視頻,反而看的迷迷糊糊不知所云;今天終於抽出“大塊兒”時間,細讀了一下官方文檔,才發現對於新事物,瞭解它最快的方法就是仔細閱讀官方文檔!
原创 Gorm的關聯關係
model.go package models import "github.com/jinzhu/gorm" import _ "github.com/jinzhu/gorm/dialects/sqlite" type Em
原创 tmpNote
type Slice []int func NewSlice() Slice { return make(Slice, 0) } func (s *Slice) Add(elem int) *Slice { *s =
原创 vue複雜請求跨域處理
axios 發送請求時的數據默認是 JSON 格式的。這是導致用 axios POST 跨域出錯的主要原因。 根據 CORS 的標準,當瀏覽器發送跨域請求時,如果請求不是GET或者特定POST(Content-Type只能是 ap
原创 Docker學習筆記(二)——Docker底層技術
1. 基礎知識:Linux namespace 的概念 Linux 內核從版本 2.4.19 開始陸續引入了 namespace 的概念。其目的是將某個特定的全局系統資源(global system resource)通過抽象方法
原创 dlv遠程調試golang程序注意事項
自行安裝dlv 安裝 There are two ways to install on Linux. First is the standard go get method: go get -u github.com/go-del
原创 Redis 慢查詢,Pipline和發佈訂閱
慢查詢 Redis 提供了慢查詢日誌記錄,把命令執行時間超過 slowlog-log-slower-than 的都記錄在 Reids 內部的一個列表(list)中,該列表的長度最大爲 slowlog-max-len 。需要注意的是
原创 Redis 配置項及通用命令
配置 Redis 的配置文件位於 Redis 安裝目錄下,文件名爲 redis.conf。 可以通過 CONFIG 命令查看配置項。 查看配置 redis 127.0.0.1:6379> CONFIG GET CONFIG_SET