rockylinux9 rockylinux golang1 golang

golang pprof 监控系列(3) —— memory,block,mutex 统计原理

golang pprof 监控系列(3) —— memory,block,mutex 统计原理 大家好,我是蓝胖子。 在上一篇文章 golang pprof监控系列(2) —— memory,block,mutex 使用里我讲解了这3种性能指标如何在程序中暴露以及各自监控的范围。也有提到memory ......
原理 golang memory block pprof

GO基础:02 Golang 基础简介

一、标识符 标识符是指定义的具有特殊意义的词,例如变量、常量、函数名等等,任何一门语言中都对自己的标识符有特殊定义的规则。在 Go 语言中,标识符由字母数字和下划线组成,并且只能以字母和下划线开头,例如: 数字、字母和下划线组成:123、abc _ 只能以字母和下划线开头:abc123、_sysVa ......
基础 简介 Golang

GO基础 - 01 Hello,Golang

一、开发环境搭建 1. 下载 SDK 1 // Go官网下载地址 2 https://golang.org/dl/ 3 ​ 4 // Go官方镜像站(推荐) 5 https://golang.google.cn/dl/ 2. 安装 由于Go语言是一门跨平台的编译型语言,我们只需要在一个平台下进行开发 ......
基础 Golang Hello 01

GO基础:03 Golang 基本数据类型

一、整型 1. 整型介绍 Go 语言中,整型可以分为以下几类: 类型描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 (0 到 4294967295) uint64 无符号 64位整型 (0 到 184 ......
类型 基础 数据 Golang

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法CipherSuites白名单,将弱加密算法DES和3DES去掉。

golang CVE-2016-2183漏洞,https需要添加tls设置加密算法白名单,将弱加密算法DES和3DES去掉。 服务端样例代码 package main import ( "crypto/tls" "fmt" "net/http" ) func handler(writer http. ......
算法 CipherSuites 漏洞 DES 名单

golang http(s)请求转发

func main(){ router := gin.Default()//创建一个router router.Use(MiddleWare())//中间件,起拦截器的作用 router.Any("/*action", Forward)//所有请求都会经过Forward函数转发 router.Run ......
golang http

golang 中的 cronjob

引言 最近做了一个需求,是定时任务相关的。以前定时任务都是通过 linux crontab 去实现的,现在服务上云(k8s)了,尝试了 k8s 的 CronJob,由于公司提供的是界面化工具,使用、查看起来很不方便。于是有了本文,通过一个单 pod 去实现一个常驻服务,去跑定时任务。 经过筛选,选用 ......
cronjob golang

ubuntu下配置supervisor 运行golang打包后的可执行文件

apt update apt install supervisor vim /etc/supervisor/supervisord.conf 添加如下配置: command 配置成可执行文件的路径,directory为文件所在目录 [program:tempupService] command= / ......
supervisor 文件 ubuntu golang

Golang 需要至少 5 个操作系统线程

Golang 需要至少 5 个操作系统线程 主线程:Golang 代码执行的入口点,负责初始化程序,并启动其他 Goroutine。 垃圾回收器线程:Golang 内置了垃圾回收器,使用专门的线程来执行垃圾回收操作,回收不再使用的内存空间。 CPU 核心数个系统线程:每个核心需要一个系统线程来支持并 ......
线程 Golang 系统

golang 是抢占式调度 如果协程不主动让出 或者 阻塞 可以一直运行

设置处理的器的数量为1 是什么将 处理器设置为1 就是可以控制线程数呢? 在 GMP 模型中,P 与 M 一对一的挂载形式,通过设定 GOMAXPROCS 变量就能控制并行线程数。 演示案例 package main import ( "fmt" "runtime" "runtime/debug" ......
golang

golang蒙特卡洛树算法实现五子棋AI

已经实现蒙特卡洛树算法的通用逻辑,只需要对应结构体实现相关接口就可以直接使用该算法。 优化算法主要优化GetActions生成下一步动作,要尽可能少,去掉无意义的动作。 以及优化ActionPolicy从众多动作挑选比较优秀的动作。对应五子棋就是执行该动作后当前局面评分最高。 package mai ......
五子棋 算法 golang

RockyLinux9配置网络

编辑配置文件vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=n ......
RockyLinux9 RockyLinux 网络

(转)Golang 编程思维和工程实战

原文:https://zhuanlan.zhihu.com/p/426368274 一 Golang 编程思维 首先,我们先来看下最基本的,就是 Golang 的学习技巧,比如: 通读 Golang 的一些好的文章如 Frequently Asked Questions (FAQ)或者看看 FAQ ......
实战 思维 Golang 工程

Golang 包相关问题

gopath、vendor、dep 、go module 的区别 gopath:要设置环境变量,然后执行执行 go install进行安装 vendor: 将第三方依赖完全和工程整合且本地化,构建项目速度快,但冗余度很高。很万能的方法 dep可以直接给引入的第三方包一个专门的目录,并且可以专门制定一 ......
Golang 问题

容器云平台监控告警体系(四)—— Golang应用接入Prometheus

1、概述 目前容器云平台中的容器仅支持获取CPU使用率、内存使用率、网络流入速率和网络流出速率这4个指标,如果想监控应用程序的性能指标或者想更加细粒度的监控应用程序的运行状态指标的话,则需要在应用程序中内置对Prometheus的支持或者部署独立于应用程序的Exporter,然后由Prometheu ......
容器 Prometheus 体系 Golang 平台

golang实现WOL唤醒

WOL(Wake-On-LAN)是一种远程开机的技术,可以通过网络发送特定的数据包来唤醒处于待机状态的计算机。在Golang中,可以使用net包来实现WOL唤醒。 以下是实现WOL唤醒的步骤: 获取目标计算机的MAC地址。 MAC地址是计算机的唯一标识符,可以用于唤醒目标计算机。可以通过以下命令获取 ......
golang WOL

golang跳出for select 循环

引用自:https://blog.csdn.net/m0_57116438/article/details/121693943 通常在for循环中,使用break可以跳出循环,但是注意在go语言中,for select配合时,break并不能跳出循环。 func testSelectFor(chEx ......
golang select for

Golang GMP模型

Golang GMP模型 GMP 是 Go 语言运行时(runtime)中的一个重要组件,它是 Go 语言的调度模型。GMP 模型使用三种不同的线程来处理 Go 程序:Goroutine、M(Machine)和 P(Processor)。在 GMP 模型中,Goroutine 是实际编写的程序代码, ......
模型 Golang GMP

Golang gin 中间件类型

在 Gin 框架中,中间件是一种对请求进行预处理或拦截的机制。中间件可以用来实现很多功能,比如身份验证、请求日志记录、请求参数验证等。在 Gin 中,中间件可以是一个函数或一个结构体。 下面分别介绍这两种中间件类型,并给出例子。 函数式中间件 函数式中间件是一个接受 gin.HandlerFunc ......
中间件 类型 Golang gin

golang并发编程-模式

1. Generator 9. Queue package main import ( "fmt" "sync" "time" ) const limit = 4 const work = 100 func process(wg *sync.WaitGroup, work int, queue ch ......
模式 golang

(转)Golang panic用法

原文:https://zhuanlan.zhihu.com/p/373653492 Golang panic用法 Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很 ......
Golang panic

Golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数。难度级别:递归。

golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数。难度级别:递归。 为此,我们需要使用 反射。 计算中的反射提供了程序检查自身结构体的能力,特别是通过类型,这是元编程的一种形式。这也 ......
函数 字段 字符串 interface 字符

golang select底层原理

前言 select 是操作系统中的系统调用,我们经常会使用 select、poll 和 epoll 等函数构建 I/O 多路复用模型提升程序的性能。Go 语言的 select 与操作系统中的 select 比较相似,但也有不同点,它只支持channel收发的多路复用。 这里已go1.19版本为例,编 ......
底层 原理 golang select

golang mutex底层原理

数据结构 位于sync/mutex.go type Mutex struct { state int32 sema uint32 } state locked:锁的状态,是否已经上锁 woken:表示是否有协程被唤醒,0表示没有协程被唤醒,1表示有协程被唤醒 starving:是否处于饥饿模式 wa ......
底层 原理 golang mutex

Golang-切片、数组

1.数组的初始化、赋值 数组是有长度的,不能越界,和PHP的数组不一样 var myArray [5]int myArray := [5]int{1, 2, 3, 4, 5} fmt.Printf("%v", myArray) //[1,2,3,4,5] 2.slice的初始化、赋值 切片也就是没有 ......
数组 Golang

【go】谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)

教程集为您提供谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)等资源,欢迎您收藏本站,我们将为您提供最新的谈谈一致性哈希算法及其 Golang 实现(含负载均衡算法概述)资源 文章目录 一、概述 二、负载均衡算法 2.1 概述 2.2 轮询算法 2.3 随机算法 2.4 随机轮询算法 ......
算法 一致性 Golang

Golang-包管理

为什么需要包管理 在项目开发过程中会使用的外部的包,成熟的编程语言都有自己的包管理工具,比如说PHP的composer,Java的maven,node的npm,所以在1.11版本Golang引入了go mod的方式的管理包 go mod是怎么管理的 在空白项目地址输入命令 go mod init x ......
Golang

深信服2023届春招Golang开发笔试题D卷 代码题

相对比较简单 T1 编辑距离 纯模版题 T2 题意:已知 $1 <= n,x<=1e6$ ,你确定一个数$v$,按顺序给出 $n$ 个数$a_i$,当$|a_i-v|<=x$时这个$a_i$记为OK,否则你就需要给v再指定一个值满足之前的条件。 请问最少需要变动多少次v的值才能使得所有$a_i$为O ......
试题 代码 Golang 2023

os: rockylinux9.1 - 网络配置

os: rockylinux9.1 - 网络配置 一、nmcli - 网络配置 1 [root@rocky system-connections]# pwd 2 /etc/NetworkManager/system-connections 3 [root@rocky system-connectio ......
rockylinux9 rockylinux 网络 os

golang pprof监控系列(2) —— memory,block,mutex 使用

golang pprof监控系列(2) —— memory,block,mutex 使用 大家好,我是蓝胖子。 profile的中文被翻译轮廓,对于计算机程序而言,抛开业务逻辑不谈,它的轮廓是是啥呢?不就是cpu,内存,各种阻塞开销,线程,协程概况 这些运行指标或环境。golang语言自带了工具库来 ......
golang memory block pprof mutex