单向golang grpc

Golang 基础(一)

1. package management go package management1. history2. go modules GOPATH: Unified package storage path- not support version control of dependency pac ......
基础 Golang

Golang使用grpc实现token拦截

上一篇简单使用了grpcGolang简单使用grpc server package main import ( "fmt" "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" "goog ......
Golang token grpc

Golang使用tls实现双向认证

接着上篇文章 Golang实现grpc单向认证 注意事项 前面我们生成的根证书是ca.crt,在双向认证时,我使用的是ca.pem,所以需要更改一下证书的类型。 只需将1.4的生成ca.crt的命令改为ca.pem即可 4 修改根证书生成命令 4.1.1 生成ca秘钥,得到ca.key【命令与1.2 ......
双向 Golang tls

Golang实现grpc单向认证

接着上篇文章写 跳转 golang 1.15+版本上,用 gRPC通过TLS实现数据传输加密时,会报错证书的问题: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication han ......
单向 Golang grpc

Golang 简单使用grpc

文件夹格式 编写proto syntax = "proto3"; // 指定proto版本 package pb; // 指定默认包名 // 指定golang包名 // 指令 protoc -I . --go_out=. --go-grpc_out=. ./hello.proto // protoc ......
Golang grpc

【记录一个问题】golang 中的 ecdsa(椭圆曲线加密) 算法很慢,因为用到了系统调用

代码中使用了椭圆曲线算法来签名,实际运行中发现不够快: func BenchmarkECDSA(b *testing.B) { privateKeyInst, err := parseSignatureKey(privateKey) if err != nil { b.Error(err.Error ......
椭圆 算法 曲线 golang 问题

Golang面试题从浅入深高频必刷「2023版」

大家好,我是阳哥。专注Go语言的学习经验分享和就业辅导。 Go语言特点 Go语言相比C++/Java等语言是优雅且简洁的,是我最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Python优雅的调用三方库和管理项目,同时还有接口,自动垃圾回收和goroutine等让人拍案叫绝的设计。 ......
Golang 2023

Golang Gin 获取Restful参数、URL查询参数,Form 表单参数,JSON格式参数

前言 http请求中, 可以通过URL查询参数提交数据到服务器,可以通过post的json方式,还有一直方式就是Form表单。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传时,特别方便。 这里特别推荐 飞雪无情的博客;写了一些列的gin的使用教程,很时候新手学习 Go ......
参数 表单 Restful 格式 Golang

复习 Golang Chapter 2 原始类型和声明

内建类型的使用 变量与常量的使用以及惯例 写一些代码,看一看如何"最好"的运用他们,关于什么是“最好”,这里有一个最主要的原则:让你的意图能够透过代码清晰的表示出来 内建类型 Built-in Types 惯用法是跨语言使用者的障碍,学一门新的编程语言,主要是向这个方向靠拢(可通过开源代码和 Cha ......
Chapter 类型 Golang

复习 Golang Chapter 1 开发环境与配置

学习安装以及配置常见的 Go 环境变量用于开发环境 学习 Go 的一些基本命令以及工具(Makefile) 如何安装与组织你的目录 go 编译器的安装方法直接上官方网站按自己的操作系统来 you are free to organize your projects as you see fit. 环 ......
Chapter 环境 Golang

Golang使用mqtt

示例使用使用EMQX提供的免费公共 MQTT 服务器,该服务基于 EMQX 的 MQTT 物联网云平台 创建。服务器接入信息如下: Broker: broker.emqx.io TCP Port: 1883 Websocket Port: 8083 golang代码如下 package main i ......
Golang mqtt

Go语言Golang DevOps运维开发实战集训营,高级运维必修

Go语言Golang DevOps运维开发实战集训营,高级运维必修 Go语言简介 Go语言,也称为Golang,是一门由Google开发的开源编程语言。它的设计目标是提供一种高效、简洁、安全且支持并发的编程语言,适用于构建可靠且高性能的软件系统。Go语言在短短的时间内迅速走红,成为开发者们喜爱的选择 ......
实战 语言 Golang DevOps

Golang中Defer知识点

1:defer的执行顺序 多个defer出现的时候,它是一个“栈”的关系,也就是先进后出。一个函数中,写在前面的defer会比写在后面的defer调用的晚 package main import "fmt" func main() { defer func1() defer func2() defe ......
知识点 知识 Golang Defer

分享一个项目:`learning_go_plan9_assembly`, 学习 golang plan9 汇编

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 近期在学习 golang plan9 汇编,总算基本做到了手写汇编,并整理了很多笔记。 plan9 汇编的资料少,难学,难用。可能也有想学习汇编的人会遇到与我 ......

Golang语言快速上手到综合实战-高并发聊天室、豆瓣电影爬虫

Golang语言快速上手到综合实战-高并发聊天室、豆瓣电影爬虫 我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来 ......
爬虫 豆瓣 实战 聊天室 语言

[转]golang读取pdf

PDF简介The Portable Document Format (PDF) is a file format used to present documents in a manner independent of application software, hardware, and oper ......
golang pdf

Golang(Go语言)IP地址转换函数

String形式的IP地址和Int类型互转函数 1 package main 2 3 import ( 4 "fmt" 5 "strconv" 6 "strings" 7 ) 8 9 func main() { 10 ip1 := `172.16.1.2` 11 ipInt1 := 28867299 ......
函数 语言 地址 Golang

理解Golang的闭包

闭包是指一个函数值(function value),它可以引用其函数体之外的变量 闭包代码示例 func makeSuffix() func(str string) string { var suffix = ".jpg" return func(str string) string { if st ......
闭包 Golang

Golang 面向对象深入理解

1 封装 Java 中封装是基于类(Class),Golang 中封装是基于结构体(struct) Golang 的开发中经常直接将成员变量设置为大写使用,当然这样使用并不符合面向对象封装的思想。 Golang 没有构造函数,但有一些约定俗成的方式: 提供 NewStruct(s Struct) * ......
对象 Golang

golang常用json库的选择

Sonic 如果对性能要求非常高,可以使用Sonic。但是Sonic有一些要求,高性能必然带来特例化,官方也介绍了,对CPU架构和系统等都有要求。其底层使用了一些汇编和c的代码实现,所以如果不是对性能要求特别高,可以不用。 fastjson fastjson介绍就是非常快,不过功能相对较少。好久已经 ......
常用 golang json

golang gin框架使用endless实现热更新原理和操作步骤

最近在学习go的Gin Web Framework,其中一个知识点是:【优雅地重启或停止】,原文截图: 这里说的其中一个方法是使用【fvbock/endless】是实现,记录下自己的实操步骤! Gin Web Framework文档地址:https://gin-gonic.com/zh-cn/doc ......
框架 步骤 原理 endless golang

Golang中log日志包的使用(转)

1.前言 作为后端开发人员,日志文件记录了发生在操作系统或其他软件运行时的事件或状态。技术人员可以通过日志记录进而判断系统的运行状态,寻找导致系统出错、崩溃的成因等。这是我们分析程序问题常用的手段。 2.log包介绍 在Golang中记录日志非常方便,Golang提供了一个简单的日志记录包log,包 ......
Golang 日志 log

golang flag的使用

package main import ( "backend-service-api-scripts/utils" "database/sql" "flag" "fmt" "log" "os" ) var ( db *sql.DB = utils.ConnectData() // 这里的连接数据库需 ......
golang flag

打印空心金字塔_Golang实现

* * * * * * * * * * * * * * * * * * * * * * * * 需求:在控制台打印如上图所示的效果图 解题思路: 首先简化问题,先打印出实心金字塔,然后可观察得知,层数与star(星号)数量保持着一定关系(奇数队列),1、3、5、7……2n-1 然后,格式化打印效果, ......
金字塔 金字 Golang

Golang后端大厂面经!

大家好,我是阳哥。专注Go语言的学习经验分享和就业辅导。 之前分享了很多 Golang 后端的大厂面经,不少同学在催更新,这篇给大家继续安排。 本文来自一位同学的投稿,面试深X服的面经汇总,前半部分主要是Go语言相关,后半部分也涉及微服务和Redis。 Slice扩容 slice切片扩容机制?为什么 ......
Golang

一个轻量级golang ORM框架gdbcTemplate

今天介绍一个自己写的轻量级golang ORM框架gdbcTemplate, 目前支持mysql, postgresql等数据库 项目地址位于 https://github.com/guoapeng/gdbctemplate 以下摘自readme文件, 里面有示例供参考. 1. readme fil ......
轻量 轻量级 gdbcTemplate 框架 golang

golang 中使用 writev (sendmsg) 系统调用来一次发送多块数据

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 writev,或者说 sendmsg 等系统调用,能够发送多个数据块。从节约系统调用次数的角度说,这个 api 非常好。 下面演示如何在 golang 中使用 ......
sendmsg 数据 golang writev 系统

API - 几种API接口模式 - RESTful、WebSocket、GraphQL、gRPC、Webhook

总结TODO ..... 当思考使用哪种API接口时,你将会面临一个重要的决策。RESTful、GraphQL、gRPC、WebSocket和Webhook是当前流行的几种API接口模式。在本文中,我们将介绍这些接口的特点、用途和比较,帮助你选择最适合你应用程序需求的接口。 引言 随着现代应用程序的 ......
API WebSocket 接口 RESTful GraphQL

云端golang开发,无需本地配置,能上网就能开发和运行

不想装golang,不想装IDE,还想有个流畅的运行环境,最重要的是一分钱都不想花,嗯嗯,GitHub云开发环境全部满足你,一切操作尽在本文 ......
能开发 云端 golang

golang 获取 mongo 数据库状态

命令行模式 navicat golang package main import ( "context" "encoding/json" "fmt" "log" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo ......
状态 数据库 数据 golang mongo