failed get go

go-GMP 协程切换时机 和 协程实战

当m在执行某个g的时候,g非常耗时,例如一个for循环,每次循环sleep1分钟,循环1000次。 这个例子看似无聊,却是很难解决的,成功的避开了2个系统切换时机。 如果这个时候,一直执行这个g,别的g就会得不到执行,例如有g是处理用户支付的,这样就会造成收钱不积极。 协程饥饿问题 本地队列 本地队 ......
实战 时机 go-GMP GMP go

用matplot和seaborn作图,出现This application failed to start because not Qt platform plugin could be initialized的报错

用matplotlib和seaborn作图,出现这样的弹窗: 尝试过增加环境变量的方法没有解决。使用了一种临时的解决方法: import matplotlib matplotlib.use('TKAgg') 如果不需要图形化界面,只需要运行后的参数可以使用: import matplotlib ma ......

go-GMP

go的协程和线程都绕不过GMP,关于GMP基本的工作流程,有go开发经验的大致都懂,这边更多关注GMP如何解决一些类似 协程饥渴的问题,以及底层的大致实现原理。 多线程循环 上篇讲了单线程是如何循环的,这里还是为 GMP的出场 大致介绍下。 工作模型 多个M都去全局G的队列中获取 g,所以,全局g的 ......
go-GMP GMP go

java 8 利用lambda 获取 记录类(get/set) field 上面 注解

package tianrun.ziguan.api.center.alert.util; import com.baomidou.mybatisplus.annotation.TableField; import java.io.*; import java.lang.annotation.Ann ......
注解 lambda field java get

go build 跟 go run 的区别

go build 和 go run 是 Go 语言中两个常用的命令,它们的主要区别在于编译和执行的过程。 1.go run go run 命令用于编译并运行 Go 程序。它将源代码直接编译成可执行文件,并立即运行该文件。这个命令非常适合用于快速测试和运行小规模的代码片段。 使用 go run 命令时 ......
build go run

(转)Go实现随机加盐密码认证

原文:https://juejin.cn/post/7068192471498358821 为什么要加密 人们往往有使用同一密码的习惯, 为了防止数据库意外泄露/破坏和出于保护用户隐私的目的, 不应在数据库里存入用户密码明文 实现 代码 scss 复制代码 package main import ( ......
机加 密码

Dokcer + nginx + Gitee Go 实现一键化部署你的项目

- 什么是 CICD 是指持续集成、持续发布,是⼀套实现软件的构建测试部署的⾃动化流程。 什么是 DevOps ⼀词是由英⽂ Development(开发)和 Operations (运维)组合⽽成 ⼀种思想,强调软件开发测试运维的⼀体化,减少各个部⻔之间的沟通成本从⽽实现软件的快速⾼质 ᰁ 的发布 ......
项目 Dokcer nginx Gitee Go

aws场景安装fail2ban

ACCEPTED ANSWER Amazon Linux 2023 uses Python3.9 by default, and some of the old python version feature are abolished in Python3.9, so you need to use ......
fail2ban 场景 fail2 2ban fail

go的GPM - 协程的本质

协程与线程 线程在创建、切换、销毁时候,需要消耗CPU的资源。 协程就是将一段程序的运行状态打包, 可以在线程之间调度。减少CPU在操作线程的消耗 进程用分配内存空间 线程用来分配CPU时间 协程用来精细利用线程 协程的本质是一段包含了运行状态的程序 后面介绍后,会对这个概念更好理解 协程的本质 上 ......
本质 GPM

安装go

1. 安装包直接安装 2. 配置环境变量 GOPARH: 新建的,用来存放go项目代码的地址 GOROOT: 你安装go的目录 3. 创建文件目录 在GOPATH地址下面,创建3个文件夹 ......

go数据类型-空结构体、空接口、nil

空结构体 func main() { a := struct{}{} fmt.Println(unsafe.Sizeof(a)) fmt.Printf("%p\n", &a) } 打印 0 0x117f4e0 有经验的开发人员都知道,所有的空结构体是指向一个 zerobase的地址,而且大小为0 一 ......
接口 类型 结构 数据 nil

nginx 报 accept4() failed (24: Too many open files)

nginx 报 accept4() failed (24: Too many open files)ulimit -aulimit -n 204800vim /etc/security/limits.conf<domain> <type> <item> <value>* soft nofile 20 ......
accept4 accept failed nginx files

Go代码优化

1、Go 语言的 if 语句允许在条件之前传递一个语句。 原始代码: f, contains := factory[string(token)] if contains { // Do something } 优化:(稍微提高了代码的可读性) if f, contains := factory[sT ......
代码

go数据类型-sync.map

定义 在runtime的sync.map包中有定义: type Map struct { mu Mutex // 锁 read atomic.Pointer[readOnly] //包含了readOnly类型的一个struct,下方把 Pointer 也贴了 dirty map[any]*entry ......
类型 数据 sync map

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = “cba

2023-11-29:用go语言,给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。 需保证 返回结果的字典序最小。 要求不能打乱其他字符的相对位置)。 输入:s = "cbacdcbc"。 输出:"acdb"。 来自左程云。 答案2023-11-29: 所有的代码用灵捷3. ......
字符 字符串 字母 字典 位置

docker故障:driver failed programming external connectivity on endpoint

故障现象 Error response from daemon: driver failed programming external connectivity on endpoint jenkins (ffdc7c9cda72c575d6b045574d1432b256603a3d986a05da ......

go链接mysql 和 数据库

连接数据库公共方法 package database import ( "Ganzhou/config" "Ganzhou/pkg/log" "Ganzhou/pkg/util/security" "database/sql" "fmt" "github.com/cengsin/oracle" "g ......
链接 数据库 数据 mysql

Go 后台接口书写

设置路由 package healthinterface import ( "Ganzhou/config" "Ganzhou/gzq/healthinterface/routers/gzhealthrinterface" "Ganzhou/pkg/log" "Ganzhou/pkg/middlew ......
后台 接口 Go

go sign签名验签 和 sm4 加密

sign 方法类 package common import ( "Ganzhou/config" "Ganzhou/pkg/log" "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pem" ......
sign sm4 go sm

20231128 - 重启Centos后无法远程连接,重启网络服务报错:Error:Failed to start LSB: Bring up/down networking

1.https://blog.csdn.net/m0_74953387/article/details/132914306 2.https://blog.csdn.net/weixin_45894220/article/details/130487066 ......

go数据类型-map

go的map在面试时候经常会被问到。 最近看到群里有个被问到为什么map的每个桶中只装8个元素? map 的结构 注:解决hash冲突还有一些别的方案:开放地址法 (往目标地址后面放)、再哈希法(再次hash) 底层定义 // A header for a Go map. type hmap str ......
类型 数据 map

get /post后端获取前端int型数据

首先post能传过去数据其次传过去的数据全部都是string类型的 所以我们如果想要获取int型数据就得把传过去的string转换成int型转换只能用下面这个函数其他的试过了都不行 必须用Integer.parsenInt其他的valueof之类的都不可以, 这个错误主要是我向后端数据库提交数据的时 ......
前端 数据 post get int

go 超好用图形验证码

https://zh.mojotv.cn/go/refactor-base64-captcha 点击下图链接 跳转到github中: 使用单机部署: 生成图片验证码: package Controllers // 图形验证码 import ( "github.com/gin-gonic/gin" " ......
图形 go

只需根据接口文档,就能轻松开发 get 和 post 请求的脚本,你会做吗?

一般的接口文档描述的内容: 开发get请求的脚本,接口文档的描述如下: 在loadrunner里面创建一个空脚本: 在action空白处,点击insert—>step 输入web_custom_request,双击选择该函数,填入如下几个参数值: 生成的脚本如下: 运行编译,看有没有语法错误: 在日 ......
脚本 只需 接口 文档 post

go数据类型-slice底层

切片的底层数据结构 有上篇string为基础了,能猜到slice肯定也有一个对应的struct。 在runtime的 slice.go中 type slice struct { array unsafe.Pointer len int cap int } 切片的本质是对数组的引用 len 表示当前已 ......
底层 类型 数据 slice

go基础数据类型 - string的底层

先上一段代码 : func main() { content := "长沙boy" content1 := "boy" fmt.Printf("content: %d\n", unsafe.Sizeof(content)) fmt.Printf("content1: %d\n", unsafe.Si ......
底层 类型 基础 数据 string

Go标准库学习:strconv

strconv包 strconv包主要包括进行数值类型和字符串/字节数组进行转换的函数,还有部分给字符(串)添加引用的函数。 主要是对官网文档的总结和翻译。 官网:https://pkg.go.dev/strconv@go1.21.4 常量 const IntSize = intSize 表示Int ......
strconv 标准

「有问必答」秒杀系统 Go并发编程实践!

使用互斥锁和计数器等原语,我们实现了并发控制、数据一致性和并发安全。这些原语帮助我们解决了高并发场景下的并发访问问题,并保证了系统的稳定性和性能。 ......
系统

Go语法糖——简短变量声明“:=”

参考地鼠文档——GO专家编程中的内容,我总结了关于 := 的几条规则,并以代码举例的运行结果来说明可行性,以避免编程中出现一些陷阱。 规则一:不能用于函数外部 package main import "fmt" rule := "Short variable declarations" func m ......
变量 语法

Failed to instantiate [com.zaxxer.hikari.HikariDataSource]

问题描述 明明在yml文件里配置了相关数据库,怎么仍启动报错?这个hikari又是什么? 问题解决 排除springboot默认的数据库自动装配 ......