自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(322)
  • 资源 (3)
  • 收藏
  • 关注

原创 [Golang梦工厂]掌握这些Go语言特性,你的水平将提高N个档次(一)

前言:这一栏是我个人公众号文章,在这里推荐一下我的公众号,专注于Golang相关技术;Golang面试、Beego、Gin、Mysql、Linux、网络、操作系统等。有需要的小伙伴可以关注一下 ,每天观看优质文章。没有使用这门语音,也可以关注一下,提前了解一下,相信你会爱上这门语言。添加方式:公众号搜索 Golang梦工厂 或 扫描下方二维码正文:大家好,我是asong,这是我的第一篇原...

2020-05-06 09:50:06 478

原创 [计算机网络] 从URL到页面发展到底发生了什么

前言:我们不管做后端开发还是前端开发,都离不开使用URL,可是我们对URL到页面整个发展过程了解的并不是很多,这一文,我们将全面解析这一知识点,让大家都弄明白这一个过程。大家先看一张流程图:总体来说分为以下几个过程:- DNS解析:将域名解析成IP地址- TCP连接:TCP三次握手- 发送HTTP请求- 服务器处理请求并返回HTTP报文- 浏览器解析渲染页面- 断开连接:TCP...

2020-01-10 21:38:02 212

原创 [语音录制与播放]stm32+adc+dac

前言:我在我的下载里面放上了我的这个项目的代码,一直也没有时间总结,今天想着,总结一下这个项目相关的知识点,在此做一个说明。硬件选型主控芯片我选择的是STM32F103VCT6,语音的采集使用单片机自带的adc进行语音采集,播放也是使用dac进行语音播放,采集电路,就是自己搭建的一个前置采集电路,播放其实就是一个放大电路,接上喇叭就可以了。具体原理图就不能贴在这里了,想要的可以私信我。项目执...

2020-01-03 11:22:39 10597 8

原创 unbuntu16.0.04 搭建MQTT 服务器

最近买了个服务器,不知道干点什么,闲着没事,使用Rabbitmq搭建的MQTT服务器,已可以使用,后期可能也考虑专门的MQTT服务器EMQ的搭建1. 安装Erlang由于 RabbitMQ 是采用 Erlang 编写的,所以需要安装 Erlang 语言库。就像 java 需要安装 jvm 一样首先安装依赖库wget https://packages.erlang-solutions.com...

2019-06-02 18:55:44 253

原创 Go语言实现的可读性更高的并发神库

前言哈喽,大家好,我是asong;前几天逛github发现了一个有趣的并发库-conc,其目标是:更难出现goroutine泄漏处理panic更友好并发代码可读性高从简介上看主要封装功能如下:对waitGroup进行封装,避免了产生大量重复代码,并且也封装recover,安全性更高提供panics.Catcher封装recover逻辑,统一捕获panic,打印调用栈一些信息提供一个并发执行任务的w...

2023-01-30 08:05:06 376

原创 Go Modules知识点总结

前言哈喽,大家好,我是asong。一般编程语言都会提供依赖库管理工具,例如python的pip、node.js的npm,java的maven,rust的cargo,Go语言也有提供自己的依赖库管理工具,Go语言在1.11提出了Go mod,每次版本或多或少都会对go.mod进行改进优化,go mod也越来越好,当前大多数公司都使用go mod来管理依赖库,所以本文我们一起来入门go mod(参考资...

2023-01-03 08:05:27 425

原创 面试官:net/http库知道吗?能说说优缺点吗?

前言哈喽,大家后,我是asong;这几天看了一下Go语言标准库net/http的源码,所以就来分享一下我的学习心得;为什么会突然想看http标准库呢?因为在面试的时候面试官问我你知道Go语言的net/http库吗?他有什么有缺点吗?因为我没有看过这部分源码,所以一首凉凉送给我;废话不多说,接下来请跟着我的脚步我们一起探索net/http;本文代码基于:Go1.19.3net/http库的一个小de...

2022-12-05 08:05:20 506

原创 Gophers如何准备面试?

前言哈喽,大家好,我是asong。断更接近两个月了,这段时间我一直在准备面试,所以这篇文章就主要来说一说当前市场环境以及该如何准备面试;我本人技术栈主要是Go语言,找的都是Golang开发的岗位,所以本文更适合相关技术栈的朋友们观看;我准备了一个Go八股文大全PDF,需要的朋友自取;获取方式关注公众号:Golang梦工厂,后台回复:面试;当前Go语言市场环境当前互联网环境人尽皆知,不少公司都在降本...

2022-11-21 08:05:04 250

原创 一个Go语言实现的流量回放工具

前言哈喽,大家好,我是asong。今天给大家推荐一款使用Go语言编写的流量回放工具 --goreplay;工作中你一定遇到过需要在服务器上抓包的场景,有了这个工具就可以助你一臂之力,goreplay的功能十分强大,支持流量的放大、缩小,并且集成了ElasticSearch,将流量存入ES进行实时分析;废话不多,我们接下来来看一看这个工具;goreplay介绍与安装项目地址:https://git...

2022-09-05 08:05:30 482

原创 伙计,Go项目怎么使用枚举?

前言哈喽,大家好,我是asong。枚举是一种很重要的数据类型,在java、C语言等主流编程语言中都支持了枚举类型,但是在Go语言中却没有枚举类型,那有什么替代方案吗?本文我们来聊一聊这个事情;为什么要有枚举我们以java语言为例子,在JDK1.5之前没有枚举类型,我们通常会使用int常量来表示枚举,一般使用如下:publicstaticfinalintCOLOR_RED=1;publ...

2022-08-15 08:05:01 368

原创 几个提升Go语言开发效率的小技巧

前言哈喽,大家好,我是asong。每门语言都有自己的语法糖,像java的语法糖就有方法变长参数、拆箱与装箱、枚举、for-each等等,Go语言也不例外,其也有自己的语法糖,掌握这些语法糖可以助我们提高开发的效率,所以本文就来介绍一些Go语言的语法糖,总结的可能不能全,欢迎评论区补充。可变长参数Go语言允许一个函数把任意数量的值作为参数,Go语言内置了...操作符,在函数...

2022-07-18 08:05:42 323

原创 超全总结:Go语言如何操作文件

前言哈喽,大家好,我是asong。我们都知道在Unix中万物都被称为文件,文件处理是一个非常常见的问题,所以本文就总结了Go语言操作文件的常见方式,整体思路如下:Go语言版本:1.18本文所有代码已经上传github:https://github.com/asong2020/Golang_Dream/tree/master/code_demo/file_operate_d...

2022-07-11 08:05:03 1743

原创 面试官:哥们Go语言的读写锁了解多少?

前言哈喽,大家好,我是asong。在上一文中:面试官:哥们Go语言互斥锁了解到什么程度了?我们一起学习了Go语言中互斥锁是如何实现的,本文我们就来一起学习Go语言中读写锁是如何设计的,互斥锁可以保证多线程在访问同一片内存时不会出现竞争来保证并发安全,因为互斥锁锁定代码临界区,所以当并发量较高的场景下会加剧锁竞争,执行效率就会越来越差;因此就引申出更细粒度的锁:读写锁,适用...

2022-07-04 08:05:12 354

原创 面试官:哥们Go语言互斥锁了解到什么程度了?

前言哈喽,大家好,我是asong。当提到并发编程、多线程编程时,都会在第一时间想到锁,锁是并发编程中的同步原语,他可以保证多线程在访问同一片内存时不会出现竞争来保证并发安全;在Go语言中更推崇由channel通过通信的方式实现共享内存,这个设计点与许多主流编程语言不一致,但是Go语言也在sync包中提供了互斥锁、读写锁,毕竟channel也不能满足所有场景,互斥锁、读写锁...

2022-06-27 08:05:39 210

原创 Go语言如何自定义linter(静态检查工具)

前言哈喽,大家好,我是asong;通常我们在业务项目中会借助使用静态代码检查工具来保证代码质量,通过静态代码检查工具我们可以提前发现一些问题,比如变量未定义、类型不匹配、变量作用域问题、数组下标越界、内存泄露等问题,工具会按照自己的规则进行问题的严重等级划分,给出不同的标识和提示,静态代码检查助我们尽早的发现问题,Go语言中常用的静态代码检查工具有golang-lint、...

2022-05-30 08:05:17 519

原创 分享如何阅读Go源码

前言哈喽,大家好,我是asong;最近在看Go语言调度器相关的源码,发现看源码真是个技术活,所以本文就简单总结一下该如何查看Go源码,希望对你们有帮助。Go源码包括哪些?以我个人理解,Go源码主要分为两部分,一部分是官方提供的标准库,一部分是Go语言的底层实现,Go语言的所有源码/标准库/编译器都在src目录下:https://github.com/golang/go/t...

2022-05-16 08:05:00 587 1

原创 如何在测试中发现goroutine泄漏

前言哈喽,大家好,我是asong;众所周知,gorourtine的设计是Go语言并发实现的核心组成部分,易上手,但是也会遭遇各种疑难杂症,其中goroutine泄漏就是重症之一,其出现往往需要排查很久,有人说可以使用pprof来排查,虽然其可以达到目的,但是这些性能分析工具往往是在出现问题后借助其辅助排查使用的,有没有一款可以防患于未然的工具吗?当然有,goleak他来了...

2022-05-10 08:15:00 253

原创 Go语言将引入新型排序算法:pdqsort

哈喽,大家好,我是asong。最近在逛Go仓库时看到了一个commit是关于排序算法的,即pdqsort排序算法,Go计划将在下一个版本中支持该排序算法,下面我们就具体来看一看这个事情;commit地址:https://github.com/golang/go/commit/72e77a7f41bbf45d466119444307fd3ae996e257该commit中介...

2022-05-07 08:15:00 286

原创 Go语言切片原生支持并发吗?

前言哈喽,大家好,我是asong。今天与大家聊一个比较冷门的高频面试题,关于切片的,Go语言中的切片原生支持并发吗?怎么样,心里有答案了嘛,带着你的思考我们一起来看一看这个知识点。实践检验真理实践是检验真理的唯一标准,所以当我们遇到一个不确定的问题,直接写demo来验证,因为切片的特点,我们可以分多种情况来验证:不指定索引,动态扩容并发向切片添加数据funcconcur...

2022-04-06 08:10:00 205 1

原创 面试官:来说一说Go语言的函数调用惯例

前言哈喽,大家好,我是asong。好久没有更新了,最近因工作需要忙着写python,Go语言我都有些生疏了,但是我不能放弃Go语言,该学习还是要学习的,今天与大家聊一聊Go语言的函数调用惯...

2022-03-21 08:05:00 876

原创 一道正确率只有15%的命名返回值和闭包的问题

前言哈喽,大家好,我是asong。今天新注册了twitter,在里面没事瞎逛的时候,发现了一道有意思的题,他是由Redhat的首席工程师、Prometheus开源项目维护者 Bartłom...

2022-02-28 08:05:00 143

原创 探讨两种 option 编程模式的实现

前言哈喽,大家好,我是asong。option编程模式大家一定熟知,但是其写法不唯一,主要是形成了两个版本的option设计,本文就探讨一下其中的优缺点。option编程模式的引出在我们日...

2022-02-21 08:05:00 332

原创 Go语言切片面试真题8连问

前言哈喽,大家好,我是asong。最近没事在看八股文,总结了几道常考的切片八股文,以问答的方式总结出来,希望对正在面试的你们有用~本文题目不全,关于切片的面试真题还有哪些?欢迎评论区补充~...

2022-02-14 08:05:00 535

原创 面试官:Context携带数据是线程安全的吗?

前言哈喽,大家好,我是asong。最近一个群里看到一个有趣的八股文,问题是:使用context携带的value是线程安全的吗?这道题其实就是考察面试者对context实现原理的理解,如果不...

2022-02-08 08:10:00 412

原创 动手实现一个localcache - 实现篇

前言哈喽,大家好,我是asong,经过了前面两篇的介绍,我们已经基本了解该如何设计一个本地缓存了,本文就是这个系列的终结篇,自己动手实现一个本地缓存,接下来且听我细细道来!!!本文代码已经...

2022-01-04 08:10:00 273

原创 动手实现一个localcache - 欣赏优秀的开源设计

前言哈喽,大家好,我是asong。上篇文章:动手实现一个localcache - 设计篇 介绍了设计一个本地缓存要思考的点,有读者朋友反馈可以借鉴bigcache的存储设计,可以减少GC压...

2021-12-20 08:05:00 228

原创 动手实现一个localcache - 设计篇

前言哈喽,大家好,我是asong。最近想动手写一个localcache练练手,工作这么久了,也看过很多同事实现的本地缓存,都各有所长,自己平时也在思考如何实现一个高性能的本地缓存,接下来我...

2021-12-08 08:10:00 252

原创 推荐几个可以写到简历上的Go方向优质开源项目(需花点心思研究)

前言哈喽,大家好,我是asong。最近总有读者问我有没有Go语言方向优质的开源项目,可以写在简历上那种,一时还真想不起来,花了两天时间调研了一下,针对有无工作经验的分别推荐几个开源项目,下...

2021-12-06 08:10:00 2613

原创 Go语言如何高效的进行字符串拼接(6种方式进行对比分析)

前言哈喽,大家好,我是asong日常业务开发中离不开字符串的拼接操作,不同语言的字符串实现方式都不同,在Go语言中就提供了6种方式进行字符串拼接,那这几种拼接方式该如何选择呢?使用那个更高...

2021-11-22 08:01:00 1975

原创 Go语言中结构体打Tag是什么意思?

前言哈喽,大家好,我是asong。今天想与大家分享Go语言中结构体标签是怎么使用的,以及怎样定制自己的结构体标签解析。大多数初学者在看公司的项目代码时,看到的一些结构体定义会是这样的:ty...

2021-11-15 08:01:00 493

原创 如何使用Go语言写出面向对象风格的代码

前言!! 哈喽,大家好,我是asong。在上一篇文章:小白也能看懂的context包详解:从入门到精通 分析context的源码时,我们看到了一种编程方法,在结构体里内嵌匿名接口,这种写法...

2021-11-08 08:01:00 322

原创 小白也能看懂的context包详解:从入门到精通

前言哈喽,大家好,我是asong。今天想与大家分享context包,经过一年的沉淀,重新出发,基于Go1.17.1从源码角度再次分析,不过这次不同的是,我打算先从入门开始,因为大多数初学的...

2021-11-01 08:01:00 1172

原创 Go业务开发中常用的几个开源库

前言哈喽,大家好,我是asong。拖更了好久,这周开始更新。最近总有一些初学Go语言的小伙伴问我在业务开发中一般都使用什么web框架、开源中间件;所以我总结了我在日常开发中使用到的库,这些...

2021-10-18 08:01:00 544

原创 聊一聊Go语言中的零值,它有什么用?

背景哈喽,大家好,我是asong。今天与大家聊一聊Go语言中的零值。大学时期我是一名C语言爱好者,工作了以后感觉Go语言和C语言很像,所以选择了Go语言的工作,时不时就会把这两种语言的一些...

2021-09-23 08:15:00 373

原创 Go语言如何操纵Kafka保证无消息丢失

背景目前一些互联网公司会使用消息队列来做核心业务,因为是核心业务,所以对数据的最后一致性比较敏感,如果中间出现数据丢失,就会引来用户的投诉,年底绩效就变成325了。之前和几个朋友聊天,他们...

2021-09-13 08:15:00 343

原创 微服务架构下的熔断框架:hystrix-go

背景伴随着微服务架构被宣传得如火如茶,一些概念也被推到了我们的面前。一提到微服务,就离不开这几个字:高内聚低耦合;微服务的架构设计最终目的也就是实现这几个字。在微服务架构中,微服务就是完成...

2021-09-06 08:15:00 459

原创 Go官方设计了一个信号量库

欢迎大家点击上方文字「Golang梦工厂」关注公众号,设为星标,第一时间接收推送文章。前言哈喽,大家好,我是asong。在写上一篇文章请勿滥用goroutine时,发现Go语言扩展包提供了...

2021-08-30 08:15:00 199

原创 [警惕] 请勿滥用goroutine

欢迎大家点击上方文字「Golang梦工厂」关注公众号,设为星标,第一时间接收推送文章。前言哈喽,大家好,我是asong。Go语言中,goroutine的创建成本很低,调度效率很高,人称可以...

2021-08-23 08:15:00 418

原创 详解内存对齐

欢迎大家点击上方文字「Golang梦工厂」关注公众号,设为星标,第一时间接收推送文章。前言哈喽,大家好,我是asong。好久不见,上周停更了一周,因为工作有点忙,好在这周末闲了下来,就赶紧...

2021-08-16 08:15:00 24029 13

原创 并发编程包之 errgroup

欢迎大家点击上方文字「Golang梦工厂」关注公众号,设为星标,第一时间接收推送文章。前言哈喽,大家好,我是asong,今天给大家介绍一个并发编程包errgroup,其实这个包就是对syn...

2021-08-05 08:15:00 655 1

Course engineering.rar

基于stm32f103rbt6设计的电子称,采用HX71124位AD转换器+压力传感器实现重量的测量,此代码只是简单的实现了重量的测量以及超标报警!

2019-06-30

SX1278(stm32F103).rar

STM32F103C8T6加上Lora芯片SX1278,实现简单的数据收发,还有数据解析,GPS驱动等代码!

2019-06-30

STM32+DAC+ADC语音录制与播放

分享一个STMF103+ADC+DAC,实现录音播放的功能的源代码,经过验证,可以录音2s,数据采用DMA传输, 语音采集和功放电路,可以私聊我,进行分享; 具体项目说明,参考博客:https://blog.csdn.net/qq_39397165/article/details/103816693

2019-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除