自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(303)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 AI编程辅助工具先锋:豆包MarsCode

AI在编程辅助领域的广泛应用,不仅改变了开发者的工作方式,更激发了新的技术创新点。通过深度学习和强化学习等技术,AI能够不断学习新的编程范式、算法和框架,并将这些知识应用于辅助开发过程中。这有助于开发者更快地掌握新技术、新工具,推动软件开发的持续创新。同时,AI辅助的编程工具还促进了跨学科、跨领域的合作与交流。开发者可以借助AI工具快速实现跨语言、跨平台的代码转换和集成,打破技术壁垒,推动不同领域之间的知识共享与融合。这种开放、协作的创新模式将为软件开发带来更加广阔的发展空间。

2024-09-07 14:47:25 797 1

原创 抛开事实不谈,URL和URI是不是一个东西?

从范围来讲,URI是一个更广泛的概念,它可以唯一标识任何类型的资源,而URL则特指那些可以通过网络协议(如HTTP)定位的资源。虽然URI和URL在组成上有很多相似之处(如都包含方案、路径等),但URL更侧重于资源的定位,因此通常包含主机名和可能的端口号。在用途方面,URI用于唯一标识资源,而URL则用于定位并访问这些资源。因此,当你看到“URI”时,它可能指的是任何类型的资源标识符,而当你看到“URL”时,你通常可以认为它是一个具体的、可访问的网络资源地址。

2024-08-25 21:03:16 941

原创 Go小技巧&易错点100例(十七)

总的来说,Go语言中的定时任务具有广泛的应用场景和灵活的使用方法,可以帮助开发人员更好地管理和优化应用程序。在Go语言中,定时任务(也称为定时器或cron作业)具有多种作用,这些作用在应用程序的开发和运维中非常有用。​,Go 程序可以调用 C 函数,使用 C 语言定义的数据类型,甚至可以使用 C 语言的头文件和源文件。这个类型的定时任务使用cron表达式进行任务的处理,比如下面代码的cron表达式。这个类型的定时任务是直接使用Go语言的内置类型进行计算,比较简单。(2)创建cron类型的定时任务。

2024-08-21 22:32:35 834

原创 Go小技巧&易错点100例(十六)

本期看点:正文开始:在Go语言中,切片(slice)是一个引用类型,它是对底层数组的抽象表示,提供了动态长度的、灵活的序列类型。切片包含三个重要的属性:指向底层数组的指针、切片的长度以及切片的容量。切片的长度和容量之间有一个重要的关系:切片的长度不会超过其容量。 这意味着,当你尝试向切片添加更多元素时,如果添加后的元素个数超过了切片的容量,Go语言会创建一个新的、更大的底层数组,并将原有元素和新元素复制到新数组中,然后让切片指向这个新的底层数组。这个过程称为切片的扩容。需要注意的是,切片的长度和容量是可以变

2024-08-21 22:31:50 892

原创 听说它可以让代码更优雅

总的来说,静态代码检查工具是一个能够提升我们代码质量的工具,可以发现编译器发现不了的问题。这些工具的使用可以显著提高软件质量,所以大家赶快掌握起来,写出更优雅的代码!

2024-07-30 22:40:25 291

原创 莫非这就是Go最优雅的协程池?

经常写Go的小伙伴都知道,Go语言的goruntine是这门编程语言的一大利器,相比线程,基于协程的goruntine更加轻量和高效,并且在语法上十分的简单。协程(Coroutine)和线程(Thread)是两种不同的并发执行控制结构,它们在多个方面存在显著的差异。首先在定义上,,是轻量级的。,是重量级的。,可以根据需要增长和缩小,内存使用效率高。,堆栈大小限制了线程的数量,并可能导致堆栈溢出错误。

2024-07-25 20:28:42 1037

原创 预测一波,这份Go语言资料即将爆火

顾名思义,是一个旨在分享Go语言学习过程中的100个小技巧与易错点的仓库。这些技巧不仅覆盖了Go语言的基础语法、高级特性,还深入探讨了性能优化、并发编程等进阶话题。作者以文章的形式,将每一个问题、每一个技巧都阐述得清晰明了,既适合初学者巩固基础,也适合有一定经验的开发者查漏补缺、提升技能。

2024-07-12 22:19:13 450

原创 信不信让你1天学会一门编程语言

到这里本篇文章就要接近尾声了,不知道大家看完之后有没有对Lua有一些掌握,当然在实际案例中我只展示了如何让Redis执行Lua脚本,那么为什么Redis可以直接执行Lua而MySQL却不行,主要是因为两者在设计和功能上的差异。Redis通过引入对Lua脚本的支持,使得其在处理需要原子性保证的复杂逻辑时具有优势;而MySQL则主要依赖于SQL语言进行数据操作,并通过存储过程、触发器等方式来丰富数据的操作方式。除此之外,Lua在其他方面有哪些使用方式,有知道的小伙伴可以留言~

2024-07-06 16:24:48 1001

原创 工作两年后,我如何看待设计模式

虽然设计模式提供了一套通用的解决方案,但在实际应用中,往往需要根据项目的具体需求和约束进行适当的调整和创新。这就要求开发者不仅要熟悉设计模式的基本原理,还要具备足够的创新意识和实践能力,以便将设计模式与项目的实际情况相结合,创造出既符合设计要求又具有创新性的解决方案。因此,开发者在应用设计模式时,需要时刻考虑如何在满足当前需求的同时,为未来的变化留下足够的空间。,用于解决在软件设计中经常遇到的一类问题。总的来说,设计模式是编程中一种宝贵的工具,它们能够帮助我们解决复杂的问题,提高代码的质量和维护性。

2024-07-06 16:23:58 679

原创 为什么说组合优于继承?

继承和组合之间的选择取决于软件设计的要求和目标。一般来说,建议尽可能使用组合,以避免强耦合。当需要建立明确的“是”关系和类层次结构时,继承很有用,但应谨慎使用,以避免长期设计问题。在许多情况下,继承和组合的平衡组合可能是最佳解决方案。参考:

2024-06-08 09:36:23 785

原创 Go程序出问题了?有pprof!

通过上面对pprof工具的使用,发现其在Go程序分析中具有重要作用。具体来说,pprof通过收集程序运行时的信息,生成可视化的报告,帮助开发者理解程序的行为,并找出代码中的性能问题。其他相关博客推荐。

2024-05-27 23:01:04 1177

原创 报告!Golang冲上来啦!

Go语言还善待那些运行Go程序的人,Go程序易于安装和更新,需要最少的配置和依赖关系,并捕获最常见的使用错误和运行时错误,并为用户提供有关问题和如何修复的有用、准确和友好的信息。今天又来讲Go语言,根据全球知名的编程语言排行榜TIOBE在4月份公布的最新的编程语言排名,令人瞩目的是,Go语言已经跃升至历史最高位,位列排行榜第七名,并且。除此之外Go基础库提供描述性名称,比如包名,简单容易记录,易于导入,内部设计深度抽象,让用户利用小而简单的 API 来访问强大、有用的行为。最好的优化是不需要优化。

2024-05-12 22:52:25 880

原创 Go小技巧&易错点100例(十五)

本期看点:正文开始:在Go程序中我们经常会对接口执行的耗时做一个记录,特别是针对核心或复杂业务的时候,我们需要关注该业务的执行耗时,可以具体到某个方法,有一个简单有效的技巧,你可以使用关键字,只需一行代码即可使用。例如:Go链式编程链式编程(Chain Programming)也称为流式编程(Fluent Interface),是一种编程风格,其中方法的调用能够返回对象本身,从而允许调用者继续调用该对象的其他方法。这种风格的主要目的是通过减少代码的冗余和提高可读性来简化代码。链式编程通常具有以下特点:方

2024-04-20 09:39:20 462

原创 Go语言开发小技巧&易错点100例(十四)

init函数的执行机制【易】sync.Once同步【技】Go进行小数的运算【技】

2024-04-10 22:43:21 1225

原创 一文带你搞懂Go语言中深拷贝与浅拷贝

浅拷贝和深拷贝是Go语言中处理对象复制时的两种重要方式。它们的主要区别在于处理引用类型字段时的行为不同。理解数据结构的复制方式:在对数据进行拷贝操作时,要明确是进行浅拷贝还是深拷贝,以避免意外的数据共享或修改。避免数据共享带来的问题:当多个变量共享同一份数据时,一个变量的修改可能会影响其他变量。在需要独立操作数据时,应该使用深拷贝来复制数据。性能考虑:深拷贝通常比浅拷贝更耗时,因为需要复制整个数据结构。在处理大型数据集时,需要权衡性能和数据独立性。使用copy()函数进行切片拷贝。

2024-03-11 23:11:34 1151

原创 Go语言开发小技巧&易错点100例(十三)

函数则用于执行一个外部命令,尝试在Windows系统的命令提示符(cmd)中打开指定的URL。此外,还定义了一个名为。这段代码是一个简单的Go语言HTTP服务器,主要实现了文件上传和文件下载的功能。的函数,它用于执行任意命令,并读取命令的标准输出。函数,并传入了一个URL字符串作为参数。函数是程序的入口点,它调用了。

2024-02-25 11:32:01 661 1

原创 Go语言开发小技巧&易错点100例(十二)

反射是一种在运行时检查、修改和调用对象类型和值的能力。在Go语言中,

2024-02-14 21:18:57 1477

原创 浅谈Elastic Search V8版本的一些重大改进

综上就是Elastic Search v8相对低版本做出的相对较大的改动,当然最详细的内容还是要仔细的阅读官方文档,上面这些也是本人在使用过程中遇到问题的时候做出的排查进而总结出来的点,希望能给到大家帮助。

2024-01-31 22:41:50 930

原创 Go语言开发小技巧&易错点100例(十一)

函数式编程是一种编程范式。为了解决这个问题,Go语言规定map的键必须是不可变(immutable)的类型,例如基本类型(如整数、字符串等),或者具有只读属性的复合类型(如数组、结构体等)。此外,在函数式编程中,函数是一等公民,这意味着它们可以绑定到名称(包括本地标识符),作为参数传递,并从其他函数返回,就像任何其他数据类型一样。总结起来,Go语言中指针类型不能作为map的键是因为指针的值是动态的,可能会发生变化,而map的键需要是不可变的类型。的map,该map的键是字符串类型,而值是空结构体类型(

2024-01-14 17:03:56 943

原创 走过的2023:在挑战中领悟,在仿徨中成长

转眼间就到了2023年的最后一个月,回顾这短暂而又有意义的一年,可以用12个字总结:在挑战中领悟,在仿徨中成长。这篇文章我会从技术成长、职场生活、读书感悟和个人生活等几个方面,总结一下过去的这一年,梳理并分享自己的收获,领悟并直面自身的不足,以此让自己做时间的朋友,在岁月的流逝中,不断成为自己想成为的人。

2023-12-21 21:58:35 945

原创 Go语言开发小技巧&易错点100例(十)

字符串的内容被存储在字符数组中,以字符的序列形式表示。该指针指向字符串的第一个字符,然后通过连续访问指针所指向的内存位置,可以遍历整个字符串。需要注意的是,切片截取操作返回的是一个新的切片,原始切片不会被修改。在高级编程语言中,string类型的底层定义都大致相同,通常情况下,string类型是由字符数组或字符指针来定义的。此外,需要注意的是,在进行切片截取操作时,要确保切片的索引在有效范围内,否则会导致运行时错误。,可以对字符串中的每个字符进行处理,而无需关心具体的字节表示。通过遍历字符串的每个。

2023-11-25 09:00:00 1242 1

原创 如何优雅的设计一个SDK

到这里大家可能会产生疑问,为什么NewSDK的时候除了host还要带上username和passwd这两个参数。其实主要是因为系统一般会有Auth认证的流程,主要是用于认证调用者是否为该系统的合法用户,API中的header(name=barry yan)也正是为了验证用户,当然实际一定是要比这个复杂的多,SDK也会有对Auth认证方式的封装。aws-sdk-go本文的全部代码也已经打包上传到Github,欢迎大家提出issue。获取代码方式:关注公众号【扯编程的淡】回复【sdk。

2023-11-12 19:26:35 1082 6

原创 1024,向着“顶尖程序员“迈进

作为程序员职业生涯的第一份真正意义上的工作,真可谓成长飞快,从功能设计到代码管理,从研发流程到团队协作,可以说让自己得到了多方面的成长,除此之外,正式的开始进入社会,踏入职场的这段时间,带给我更多的是阅历与见识,独立与勇气,在这里遇见的每一位朋友和同事,每一位前辈和老师都能给我不同的成长与感悟。回顾我的程序员之路,那是一个不断学习、不断成长的过程。

2023-10-24 22:42:42 189

原创 Go错误处理方式真的不好吗?

平时经常上一些网络平台阅读一些技术讨论的话题,对Go语言方面也有些浅浅的关注,正如标题所问,Go语言错误处理可以说算是网络上开发中对Go语言吐槽最多的点之一,那么,Go错误处理真的很不堪吗?。相反,我觉得Go的错误处理对程序设计来讲十分优雅。

2023-10-15 20:58:07 383 3

原创 浅谈Rob Pike的五条编程规范

Rob Pike是Unix的先驱,UTF-8的设计人,Go语言核心设计者之一。

2023-10-06 22:07:55 222

原创 有必要发这篇文章了!

1️⃣基本信息:Barry Yan 中文名:海风极客 🆔 | 99年男生👀 | 天蝎座♏ | 来自中国 👍2️⃣工作经历:Gopher 🌔3️⃣爱好:听音乐、敲代码、羽毛球、跑步⭐4️⃣擅长领域:Go、Java 🌟5️⃣座右铭:做兴趣使然的Hero🚀6️⃣个人说明:请不要叫我程序员,叫我工程师或Programmer💪。

2023-09-30 14:44:31 240 7

原创 Go语言开发小技巧&易错点100例(九)

在Go语言中,检查nil是非常必要和重要的。这是因为Go语言中的指针和引用类型在默认情况下是nil,而在尝试访问nil指针或引用类型的成员时,会导致运行时错误。在Go语言中,参数传递是通过值传递实现的,无论是基本类型还是复合类型。然而,当涉及到指针和引用类型时,传递方式会有所不同。比如下面这段代码,猜猜输出的是什么?

2023-09-29 21:08:02 428

原创 程序员的快乐如此简单

最近在GitHub上发起了一个关于Beego框架的小插件的开源仓库,这一举动虽然看似微小,但其中的快乐和意义却是无法用言语表达的。Beego是一个开源的Go语言Web框架,它采用了MVC架构模式,并集成了很多常用的功能和中间件。小插件是指与Beego框架配套使用的、可扩展的、独立的软件模块或组件。通过开发小插件,可以扩展Beego框架的功能,提高开发效率和代码可维护性。

2023-09-23 20:51:08 3446 3

原创 这些Coding套路你不会还不知道吧?

本文主要介绍了Go开发中常用的设计模式,包括全局单一实例:单例模式、工厂模式、模板方法模式、策略模式和Functional Options模式。这些设计模式可以帮助我们更好地组织代码,提高代码的可读性和可重用性。总之,掌握这些设计模式对于提高Go程序员的编码能力非常有帮助,可以让我们在编写代码时更加得心应手,同时也能提高代码的质量和可维护性。

2023-09-17 21:15:43 146 12

原创 基于Gin框架的HTTP接口限速实践

nil {return//自定义拦截处理器接口限速是保护系统稳定性和API的重要手段。在实际应用中,我们需要根据实际情况选择合适的限速方法,实现对接口的全面限速。通过接口限速,我们可以提高系统的稳定性、保护API、提高用户体验等。

2023-09-02 16:52:50 2013 7

原创 浅谈分布式共识算法概念与演进

分布式共识中达成共识的手段几乎都是投票机制,使用投票机制的主要原因是为了在多个节点之间达成一致的决定,可以有效帮助算法在分布式环境中解决冲突和分歧,确保所有节点都能够达成共识。

2023-08-26 22:49:31 452 6

原创 盘点Go语言中那些酷酷的语法

匿名函数、闭包和lambda三者是完全不同的三个概念,但是又有着相互的关联。首先是匿名函数,它是指在代码中定义的没有名字的函数。匿名函数可以被赋值给变量,也可以作为参数传递给其他函数。闭包是指一个函数内部引用了外部函数的变量,并且可以在函数外部被调用或访问时,依然能够保持对这些变量的访问能力。换句话说,闭包是一个函数以及其引用的外部变量的组合体。在Go语言中,闭包的实现非常简洁。当一个函数内部定义了一个匿名函数,并且这个匿名函数引用了外部函数的变量时,Go语言会自动将这些变量捕获到闭包中。

2023-08-20 21:49:46 171 4

原创 17游刃有余:动手实现自己的RPC框架(三)

如果想要自己实现一个优秀的RPC框架,可能需要投入大量的时间和经历,并且要不断打磨和优化,但是只要将原理和流程熟记于心中,就是打开大门最好的钥匙。

2023-08-05 18:34:22 427 8

原创 16游刃有余:动手实现自己的RPC框架(二)

这篇文章我们动手使用Go语言来实现一个RPC框架,我们就叫它BarryRPC。

2023-07-29 18:23:24 222 2

原创 Go语言开发小技巧&易错点100例(八)

因此我们得出结论,在直接序列化Message时最好使用Proto Marshal的方式进行序列化,防止特殊的属性不能够识别,而且该序列化的方式更加节省空间,缺点则是序列化的结果可读性不高。方法二:Proto Marshal的方式序列化结构体。方法一:JSON Marshl的方式序列化结构体。接下来我们编译成pb.go文件。

2023-07-22 21:47:49 397 10

原创 一文搞懂常见的加密算法

加密算法在互联网技术领域中几乎是无处不在,而密码学也是网络安全的重要基础,这篇文章我们就一起来学习下常见的加密算法。

2023-07-09 10:07:02 403

原创 26特别说明:专栏代码案例获取和使用方式

亲爱的读者们,很高兴能与你们一起在这个充满挑战和机遇的gRPC框架世界里探索、学习和成长。经过一段时间的旅程,我们共同见证了gRPC的众多优点,包括高性能、可扩展性、跨语言支持以及易于使用等特点。在这篇文章中,我们将对所学内容进行总结,同时展望未来的发展,并在此过程中给出一些有价值的建议。首先,我们来回顾一下这篇专栏的核心观点。我们了解到,gRPC是一个由Google开发的开源高性能、跨语言、可扩展的远程过程调用(RPC)框架。

2023-07-03 22:59:17 211 6

原创 24结束语:每一位技术人都应该有自己的核心技能

以上的全部内容就是我个人在闲暇时的所思所想,没有要教大家的意思,更没有告诫人们的意思,因为我目前不能算是一个成功者,虽然在朋友和同学的小圈子里经常自诩为工程师,但是内心确是把自己定位为IT界的小混混,但是我正在努力的向上攀爬,希望在不断的打拼中能作出更有价值的事情,影响更多的人。

2023-06-24 20:25:23 252

原创 如何高效阅读源码

阅读源码是一项非常重要的技能,可以帮助我们更好地理解代码的工作原理和实现细节,在遇到问题时,阅读源码也是一个非常有效的解决方式。

2023-06-18 09:19:20 999 15

原创 23他山之石:谈一谈Protocol Buffer

Protocol Buffers,简称Protobuf,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。

2023-06-18 08:50:07 706

sp_vue.zip前端项目

sp_vue.zip前端项目

2021-08-27

sp_mybatis.zip

sp_mybatis.zip

2021-08-27

springboot-dubbo-master.zip

springboot-dubbo-master.zip

2021-08-27

MavenSSM.zip

IDEA使用Maven整合SSM框架,spring5和mysq5.5l数据库,其中包括配置文件和web.xml的编写

2020-07-16

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

TA关注的人

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