单向golang grpc

GRPC

......
GRPC

Golang学习笔记-自定义日志轮转及输出

package pkg import ( "fmt" "log" "log/slog" "os" "time" ) var controlLogger *slog.Logger var fileLogger *slog.Logger const ( timeFormat = "2006-01-02" ......
笔记 Golang 日志

golang常用包详解之: errgroup

前言: 并发编程在现代软件开发中变得越来越重要。Go语言通过goroutine和channel等语言特性为并发编程提供了非常强大的支持,但是在实际开发中,如何有效管理多个goroutine并处理它们可能产生的错误是一个挑战。这时,Go语言的官方库中的errgroup包就能发挥作用。 正文: errg ......
errgroup 常用 golang

Golang Gin 请求参数的获取值 & 路由分组 & 控制器继承

一. 请求参数的获取值 动态路由 1 type User struct { 2 Username string `form:"username" json:"username"` 3 Password string `form:"password" json:"password"` 4 Age in ......
路由 控制器 amp 参数 Golang

golang select

golang select是多 channel 并行的利器 不要拿 switch 和 select 比,根本不是一个东西好嘛,差不少,只是名字稍微有点像 前置操作 golang 对 select 做了一些优化 select 结构体为空 当 select 里面为空的时候会直接 panic 只有一个 c ......
golang select

golang 内存分配

golang的内存分配思想从 tcmalloc 而来,思路是把对象分配成小对象减少锁的力度或无锁增加效率 定义 golang 内部的页(Page)大小为 8B 空间大小 golang 内部把要申请或使用的空间大小分为了三大类:微对象 (<16B),小对象(16B~32KB),大对象(>32KB), ......
内存 golang

golang 原子操作

在 golang 中,有原子包,能够实现原子操作,在我分析和猜想下,感觉解开了谜团 具体用法不说了,网上一大堆什么 cas,add,load,store 等,主要是底层实现 arm 架构 在 amd 架构下,通过汇编指令加锁来实现 代码在src/runtime/internal/atomic/ato ......
原子 golang

Golang Gin 模板基本使用

一, 模板定义,模板变量,条件判断,模板函数,模板命名 1 {{define "default/index.html"}} 2 <!DOCTYPE html> 3 <html lang="en"> 4 5 <head> 6 <meta charset="UTF-8"> 7 <meta name="v ......
模板 Golang Gin

golang开发实践

先处理错误避免嵌套 尽量避免重复 重复的代码想办法用一个函数包起来 type binWriter struct { w io.Writer size int64 err error } // Write writes a value to the provided writer in little ......
golang

golang web开发

Restful风格编程 是一个资源定位、资源操作的风格。 更简洁、更有层次,更易于实现缓存等机制。 golang http标准库 客户端功能 https://www.juhe.cn/ http请求:GET func testGetQueryWeather() { params := url.Valu ......
golang web

Golang Gin 初识

1.Gin框架搭建,初识 1 // main.go 2 package main 3 4 /*** 5 Gin入门: 6 文档: https://gin-gonic.com/zh-cn/docs/quickstart/ 7 热加载: 8 文档: https://github.com/cosmtrek ......
Golang Gin

【grpc】配置

@目录写在前面grpc 环境搭建nullproto证书1. 生成 rsa key2. 生成 ca crt3. 生成 csr4. openssl.cnf (/usr/lib/ssl/openssl.cnf) 【WINDOWS 默认为 openssl.cfg】5. 生成证书私钥 test.key6. 通 ......
grpc

【golang】【注释模版】

@目录写在前面注释要求package结构体方法代码逻辑注释参考资料基础/标准库/第三方库golang 导航编程规范算法|面试项目 写在前面 相关博文 个人博客首页 免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。 注释要求 统一使用中文注释, ......
注释 模版 golang

golang-引用传递

dbTags := make([]*Tag, 0) for _, value := range idMap { dbTags = append(dbTags, &value) } 针对这种情况传递的是变量的地址 会导致新的数组都是相同的值 解决方式使用中间变量接一下 dbTags := make([ ......
golang

Golang VScode 开发环境搭建

写在前面 工作遇到简单整理 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》 安装插件下载 安装选择合适的版本 htt ......
环境 Golang VScode

golang环境和第三方爬虫包下载安装一把成

复制代码在CentOS7.6中命令行中全部粘贴执行,golang环境和第三方爬虫包全部安装一把成。 wget https://golang.google.cn/dl/go1.21.4.linux-amd64.tar.gz tar -zxvf go1.21.4.linux-amd64.tar.gz - ......
爬虫 第三方 环境 golang

[转]Golang线程池实现百万级高并发

转,原文: https://lk668.github.io/2021/03/22/2021-03-22-Golang%E7%BA%BF%E7%A8%8B%E6%B1%A0%E5%AE%9E%E7%8E%B0%E7%99%BE%E4%B8%87%E7%BA%A7%E9%AB%98%E5%B9%B6%E ......
线程 Golang

[转]手把手教你如何用golang实现一个timewheel时间轮

转,原文:https://lk668.github.io/2021/04/05/2021-04-05-%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0%E5%A6%82%E4%BD%95%E7%94%A8golang%E5%AE%9E%E7%8E%B0%E4 ......
timewheel 时间 golang

GRPC - TLS Credentials

Adding certificate information to a server implementation is twofold: implement logic to load credentials and create a TransportCredentials(http://mng ......
Credentials GRPC TLS

GRPC - Error Handling

Unstructured error messages can complicate decision making with ambiguity. If any service returns error messages without code, it might be challenging ......
Handling Error GRPC

Golang Redis && Socket

一丶Redis 1 package redis_test 2 3 import ( 4 "fmt" 5 6 "github.com/gomodule/redigo/redis" 7 ) 8 9 // 安装 10 // go get github.com/gomodule/redigo/redis 1 ......
amp Golang Socket Redis

Centos7.8 go1.18.3指定版本安装 完美运行Golang安装

安装背景说明:公司已经有3台服务器安装了go1.18.3版本,这次又买了一台新服务器,由于线上推上去的功能,可能会导致用户出现异常,要做压力测试,所以要重建go环境。 遇到问题:昨天下午自己下载了安装包,也是go1.18.3 解析到了/usr/local 目录 也配置了环境 /etc/profile ......
Centos7 版本 Centos Golang 18.3

使用golang来解密m3u8视频播放列表里面的ts文件

如果我有一个1.2G的mp4格式的电影,想要放在网站上进行播放,直接用video标签,src属性设置为视频的地址就可以了! 这种观看体验,究竟怎么样,可以自己去尝试下。。。 结果是令人崩溃的。。。加载巨慢,无法选择性观看自己想要看的部分,反正就是哪哪儿都不爽。 那么为了解决这个问题,现在有很多新的播 ......
播放列表 面的 文件 golang 视频

GRPC - Error Handling

If an error occurs, gRPC returns two basic pieces of information: a status code and an optional error message that explains the problem in detail. Sta ......
Handling Error GRPC

golang GMP

定义 G:Goroutine的缩写,一个G代表了对一段需要被执行的Go语言代码的封装 M:Machine的缩写,一个M代表了一个内核线程 P:Processor的缩写,一个P代表了M所需的上下文环境 定义都在源码 runtime/runtime2.go M M 的定义在runtime/runtime ......
golang GMP

golang channel

”不要以共享内存的方式来通信,相反,要通过通信来共享内存“ golang 的一个思想,不整文的,整点武的,具体来看channel 怎么做的 有一个很关键的 golang MPG 模型再单独分析,这篇先只分析 channel 定义 // runtim/chan.go type hchan struct ......
channel golang

netty tls单向认证通讯

需求背景 项目主要分为监管侧和企业侧,企业侧实时上传数据到云端,云端汇聚业务数据,上传过程需要保证传输的安全性。 技术实现 数据上传考虑到用HTTPS或者是TCP + TLS传输。其实使用HTTPS传输协议是比较简单的,但是项目硬件使用的4G无线网卡,而且需要实时检测设备运行状态,所以使用了TCP ......
单向 通讯 netty tls

golang map

golang 的 map 使用的是 hash map 基本结构 下面截取自源码,已翻译 // runtime/map.go:117 // go map 定义,hashmap 缩写 type hmap struct { count int // map 里文件数 flags uint8 // map ......
golang map

Golang把文件写到excel

最近有个需求是把看广告的日志转成excel package main import ( "bufio" "encoding/json" "flag" "fmt" "github.com/xuri/excelize/v2" "os" "time" ) // Ad 广告 type Ad struct { ......
文件 Golang excel

使用golang对服务器简单监控

package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/host" "github.com/shirou/go ......
服务器 golang