Skip to main content

moregeek program

go语言性能剖析利器--pprof实战-多极客编程

作者:耿宗杰前言关于pprof的文章在网上已是汗牛充栋,却是千篇一律的命令介绍,鲜有真正实操的,本文将参考Go社区资料,结合自己的经验,实战Go程序的性能分析与优化过程。优化思路首先说一下性能优化的一般思路。系统性能的分析优化,一定是从大到小的步骤来进行的,即从业务架构的优化,到系统架构的优化,再到系统模块间的优化,最后到代码编写层面的优化。业务架构的优化是最具性价比的,技术难度相对较小,却可以带

Read More

【web开发】golang实现web服务器_爱看书的小沐的博客-多极客编程

(本节内容如下:) 1、简介 大规模构建快速、可靠、高效的软件。 Go是谷歌支持的一种开源编程语言 易于学习和入门 内置并发性和强大的标准库 不断增长的合作伙伴、社区和工具生态系统 相关网站: https://go.dev/ https://golang.google.cn/ https://studygolang.com/dl https://www.runoob.com/go/go

Read More

go、java、c/c++、python,这些编程语言谁才是王者?_imooc慕课君的博客-多极客编程

最近我加入了一个使用Go语言的项目组。由于此前对Go语言的了解还停留在理论认识的阶段,没有大型项目的经验,加入这个项目组让我算是真正体验了一把Go语言,职业技能树也更加丰富了起来。Go语言的很多语言特性让人耳目一新,而最让我感到震撼的莫过于Go语言服务开发流程的简单便捷,通过Go Build出来的二进制文件,发布到服务器后,直接就可以运行。相比C/C++语言出来的二进制文件来说,无需管理一大堆依赖

Read More

cgo之类型转换_zzxiaoma的博客-多极客编程

在Go语言中访问C语言的符号时,一般是通过虚拟的“C”包访问,比如C.int对应C语言的int类型。有些C语言的类型是由多个关键字组成,但通过虚拟的“C”包访问C语言类型时名称部分不能有空格字符,比如unsigned int不能直接通过C.unsigned int访问。因此CGO为C语言的基础数值类型都提供了相应转换规则,比如C.uint对应C语言的unsigned int。 package

Read More

go语言中没有结构化并发?_auula的博客-多极客编程

本文原文地址在本博主博客,点击链接前往:Go语言中有没有结构化并发? 什么是结构化并发?日常开发中我们编写的最多就是多线程程序,服务器端应用更是如此,传统的方式都是依靠着操作系统提供的1:1线程方式进行请求处理这对于管理和复用线程有很多挑战,如果一个普通线程大小2MB那么开启1000个线程,几乎是无法完成的,并且管理这些线程的状态也是很复杂的。今天这篇文章要介绍的是结构化并发,就是为解决并发

Read More

23.rust-集合(collections)_面向加薪学习的博客-多极客编程

Rust 语言标准库提供了通用的数据结构的实现。包括 向量 (Vector)、哈希表( HashMap )、哈希集合( HashSet ) 。 向量 (Vector) Rust 在标准库中定义了结构体 Vec 用于表示一个向量。向量和数组很相似,只是数组长度是编译时就确定了,定义后就不能改变了,那要么改数组,让他支持可变长度,显然 Rust 没有这么做,它用向量这个数据结构,也是在内存中开辟一段连

Read More

02.go-开发环境搭建_面向加薪学习的博客-多极客编程

“工欲善其事,必先利其器”,做好一件事,准备工作非常重要。在开始学习 Go 技术之前,先介绍如何搭建 Go 开发环境是非常重要的一件事。2.1 安装和配置 SDK本文基于​​go version go1.18​​2.1.1 下载Go 源码包官网下载地址为:​​https://golang.org/dl/​​Go 官方镜像站(推荐):​​https://golang.google.cn/dl/​​G

Read More

06.go-容器类型_面向加薪学习的博客-多极客编程

6.1 数组 数组 是一个由 固定长度 的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,因此在 Go 语言中很少直接使用数组。和数组对应的类型是 slice(切片) ,它是可以动态的增长和收缩的序列, slice 功能也更灵活,下面我们再讨论 slice 。 6.1.1 数组声明 可以使用 [n]Type 来声明一个数组。其中 n 表示数组中元素的数量, Typ

Read More

人生苦短,开始用go_qq62a93d1a9c88d的博客-多极客编程

1.背景 当前工具语言中,go语言比python运行比较快,所以我决定涉略一番2.go语言简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还

Read More

#yyds干货盘点#【愚公系列】2022年08月 go教学课程 002-go语言环境安装_qq61972345e36b7的博客-多极客编程

一、Go语言环境安装 Go语言是一门编译性的语言需要有SDK工具包对其进行编译才能运行,其次需要有一个编辑工具来写代码,最后为SDK中的工具配置环境变量,所以总结一下可以包含三个方面: SDK工具包安装 VSCode安装 环境变量配置 Go语言支持的系统有:Linux、FreeBSD、Mac OS X(也称为 Darwin)、Windows。 当将 Go语言源码编写完成此时电脑还不能直接执行,

Read More

go语言如何操作文件_ch3nnn的博客-多极客编程

Go语言操作文件可使用的库 Go语言官方库:os、io/ioutil、bufio涵盖了文件操作的所有场景,os提供了对文件IO直接调用的方法,bufio提供缓冲区操作文件的方法,io/ioutil也提供对文件IO直接调用的方法,不过Go语言在Go1.16版本已经弃用了io/ioutil库,这个io/ioutil包是一个定义不明确且难以理解的东西集合。该软件包提供的所有功能都已移至其他软件包,所以i

Read More

#yyds干货盘点#【愚公系列】2022年08月 go教学课程 001-go语言前提简介_qq61972345e36b7的博客-多极客编程

一、Go语言导学 1.什么是Go语言 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style并发计算。-百度百科 2.Go语言的发展史 自2007年9月开始,Go语言设计者罗伯特.格瑞史莫

Read More

二进制sca指纹提取黑科技:go语言逆向技术_华为云开发者社区的博客-多极客编程

摘要:SCA(Software Composition Analysis)软件成分分析,指通过对软件源码、二进制软件包等的静态分析,挖掘其所存在的开源合规、已知漏洞等安全合规风险,是一种业界常见的安全测试手段华为云DevCloud软件开发平台在2022华为伙伴暨开发者大会重磅推出了4大新能力,其中的二进制成分分析安全检测能力,能够实现对开源软件漏洞的全面排查、快速精准定位问题、并迅速响应修复;本文

Read More

20220713go语音的结构体和面向对象_没有鸡汤,只为生活的博客-多极客编程

结构体与面向对象 0. 课程内容 1. 结构体1.1. 结构体的定义 1.2. 指针与结构体 1.3. 初始化结构体 1.4. 类型别名和自定义类型 1.4.1. 自定义类型 1.4.2. 类型别名 1.4.3. 类型定义和类型别名的区别 1.5. 结构体的匿名字段 1.6. 百花缭乱的嵌套 1.7. 结构体与JSON序列化 1.8. 结构体标签(tag)(了解) 2. 面向对象-结构体与接口 2

Read More

# yyds干货盘点 # 一篇文章带你了解Go语言基础之切片-多极客编程

上篇文章中我们学习了Go语言基础中的变量,​​一篇文章带你了解Go语言基础之变量​​,这篇文章我们继续介绍Go语言基础知识,今天跟大家分享的是基础数据类型之切片,一起来学习下吧~前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之切片扒。为什么需要切片在原来的时候,我们学过数组,我们知道数组是可以存储很多东西的。代码package mainimport "fmt"func main() {

Read More

FFI实战之对接GO(CGO)(一)-多极客编程

简要说明 Go语言发行到现在已经超过了10个年头了,虽然已经过了那么久了,也已经很稳定了,生态也很强大了。但是从编程世界来说,也依然是个儿童,前辈们也依然活力满满,所以为了使用前辈们留下来的武器和库,咱们必须要和前辈们进行必要的交互,在咱们编程世界中,称之为FFI,也就是外部函数交互接口,Go中用来做这一块的,保不齐的会需要用到CGO,本文不会涉及太多的深度的CGO方面的内容,不过是记录一些实用的

Read More

Go语言自定义DNS解析器实践#yyds干货盘点#-多极客编程

写完了Java自定义DNS解析器实践和Java自定义DNS解析器负载均衡实现之后,自然也需要对Go语言的测试拓展相同的功能,走了一些弯路,最终目的还是实现了。今天分享一下Go语言HTTP接口测试自定义DNS解析的实现。这里只用http库作为演示,fasthttp以后有机会再尝试分享。 设置net.Dialer 这里先分享一下net.Dialer的设置方式。net.Dialer翻译为拨号器,我的理解

Read More

Go 语言 bytes.Buffer 源码详解 2-多极客编程

你必须非常努力,才能看起来毫不费力! 微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero ! 前言 前面一篇文章 Go 语言 bytes.Buffer 源码详解之1,我们学习了 bytes.Buffer 的结构和基础方法,了解了缓冲区的运行机制,其中最重要的是要理解整个结构被分为了三段:已读数据、未读数据、空闲部分,忘记的小伙伴再复习下哦。缓冲区的存在,就是为读写

Read More

高性能队列Disruptor在测试中应用#yyds干货盘点#-多极客编程

最近在研究goreplay的源码的过程中,感觉有些思路还是很值得借鉴。所以自己立了一个flag,实现一个千万级日志回放功能。但是在这个实现的过程中遇到一个棘手的问题:Java自带的LinkedBlockingQueue比较难以直接满足需求场景和性能要求。 熟悉goreplay的测友应该清楚Go语言chanel在goreplay这个框架中应用是十分广泛的,加上Go语言自身较高的性能,可以说双剑合并。

Read More

Java&Go三种HTTP服务端端性能测试#yyds干货盘点#-多极客编程

上期分享了Java&Go三种HTTP客户端性能测试,最终的结论是fasthttp > FunTester > http。那么由三种框架创建的服务端性能怎么样呢?今天我们来一起测试一下。 本次测试计划分为不同线程时候,各个服务端的响应QPS以及资源占用的情况。上次发现的Mac本地HTTP服务极限性能有所下降,之前最高能到12万,升级了几次系统之后就变低了,一直没找到解决方案。所以

Read More