首页
学习
活动
专区
工具
TVP
发布

网管叨bi叨

专栏作者
272
文章
398760
阅读量
33
订阅数
电脑用GoLand太卡,记录下自己把VsCode定制成Go IDE的步骤和过程
同学们,不知道你们有多少人IDE是用VsCode的,我说说我吧,我一直都是用的JetBrains家的全家桶,GoLand写Go项目、IDEA写Java项目。 一开始是全用IDEA,后来发现这玩意项目开多了是真占内存,就退而求其次变成了写Go的时候用GoLand。
KevinYan
2023-09-11
5120
Go 语言里怎么正确实现枚举?答案藏着官方的源码里
在编程领域里,枚举是用来表示只包含有限数量的固定值的类型,在开发中一般用于标识错误码或者状态机。拿一个实体对象的状态机来说,它通常与这个对象在数据库里对应记录的标识状态的字段值相对应。
KevinYan
2022-02-10
8040
这个认证申请下来Goland IDEA 等全系产品免费使用 | 附申请说明
前两周我的 JetBrains 家的激活码临近到期,所以又去 JetBrains 家走开源项目支持计划拿到了新一年的全产品激活码。
KevinYan
2021-12-20
1.6K0
gRPC基础--Protobuf编码格式详解
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,用于描述一种轻便高效的结构化数据存储格式,并于2008年对外开源。Protobuf可以用于结构化数据串行化,或者说序列化。它的设计非常适用于在网络通讯中的数据载体,很适合做数据存储或 RPC 数据交换格式,它序列化出来的数据量少再加上以 K-V 的方式来存储数据,对消息的版本兼容性非常强,可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。开发者可以通过Protobuf附带的工具生成代码并实现将结构化数据序列化的功能。
KevinYan
2021-12-07
4.8K0
透过一个编译报错,总结两个Go程序编译的重要知识
最近调研了一下某个做 APM 的厂商的 Go 探针程序,说是引入一个包,全程不用再修改其他代码就能在项目里引入探针。没想到在刚引入包试着构建了一下就翻车了。
KevinYan
2021-12-07
2.5K0
由一条编译报错信息,引出两个Go编译的重要知识
最近调研了一下某个做 APM 的厂商的 Go 探针程序,说是引入一个包,全程不用再修改其他代码就能在项目里引入探针。没想到在刚引入包试着构建了一下就翻车了。
KevinYan
2021-11-30
9430
Goland 这些实操技巧,你可能还不会!
工欲善其事必先利其器。对于开发工程师同样如此,一个合适的开发工具能够有效提升我们的开发效率和定位问题的能力。
KevinYan
2021-09-24
6730
Go语言内部包--控制包成员的对外暴露
Go 语言中的软件包推荐按照:组织名/项目名 的形式安排软件包的文件目录结构,一般「项目名」文件目录下还会按照功能、抽象约定、具体实现等维度再划分一些子目录。在 Go 语言里包的导入路径不同则被判定为不同的包,所以同一个软件包项目下的「功能一」包依赖「功能二」包里的成员时,那么成员必须是导出成员才能被「功能一」包引用。但是这样一来,其他项目或者其他组织的代码也就都可以使用这个导出的成员了,假如包里的一些成员我们只想在指定的包之间共享而不想对外暴露该怎么办呢? Go 语言内部包这个特性可以让我们实现这个目标。
KevinYan
2021-04-22
1.5K0
内联函数和编译器对Go代码的优化
在很多讲 Go 语言底层的技术资料和博客里都会提到内联函数这个名词,也有人把内联函数说成代码内联、函数展开、展开函数等等,其实想表达的都是 Go 语言编译器对函数调用的优化,编译器会把一些函数的调用直接替换成被调函数的函数体内的代码在调用处展开,以减少函数调用带来的时间消耗。它是Go语言编译器对代码进行优化的一个常用手段。
KevinYan
2021-02-26
1.1K0
内存对齐 | 原来字段顺序还能影响结构体占用的内存空间
大家好啊,不知道看了网管在上周的文章Go指针的使用限制和unsafe.Pointer突破之路,你们有没有感觉Golang 比之前想的还好用呢?确实能直接读写内存,很多以前觉得无能为力的事情就不再是问题了,比如那些没对外开放只能在开源包内部用的结构体字段这下我们都有办法抓到了,起码能给程序调试带来不小的速度提升。
KevinYan
2021-01-28
8920
图解Go内存管理器的内存分配策略
在Go语言里,从内存的分配到不再使用后内存的回收等等这些内存管理工作都是由Go在底层完成的。虽然开发者在写代码时不必过度关心内存从分配到回收这个过程,但是Go的内存分配策略里有不少有意思的设计,通过了解他们有助于我们自身的提高,也让我们能写出更高效的Go程序。
KevinYan
2020-09-10
1.4K0
Go内存管理之代码的逃逸分析
基本上,每种编程语言都有其自己的内存模型。每个变量,常量都存储在内存的某个物理位置上,这些存储位置通过内存指针访问。
KevinYan
2020-09-01
4820
《Go语言程序设计》读书笔记(七) 包
Go语言有超过100个的标准包(可以用 go list std|wc-l命令查看标准包的具体数目),标准库为大多数的程序提供了必要的基础构件。在Go的社区,有很多成熟的包被设计、共享、重用和改进,目前互联网上已经发布了非常多的Go语言开源包,它们可以通过 http://godoc.org 检索。在本章,我们将演示如果使用已有的包和创建新的包。
KevinYan
2020-02-17
5830
Protobuf语言指南
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,用于描述一种轻便高效的结构化数据存储格式,并于2008年对外开源。Protobuf可以用于结构化数据串行化,或者说序列化。它的设计非常适用于在网络通讯中的数据载体,很适合做数据存储或 RPC 数据交换格式,它序列化出来的数据量少再加上以 K-V 的方式来存储数据,对消息的版本兼容性非常强,可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。开发者可以通过Protobuf附带的工具生成代码并实现将结构化数据序列化的功能。
KevinYan
2019-10-13
2.1K0
Protobuf生成Go代码指南
这个教程中将会描述protocol buffer编译器通过给定的 .proto会编译生成什么Go代码。教程针对的是proto3版本的protobuf。在阅读之前确保你已经阅读过Protobuf语言指南。
KevinYan
2019-10-13
5.4K0
在Go中使用Protobuf
本教程使用proto3版本的protocol buffer语言,提供了一个基本的在Go程序中使用protocol buffer的介绍。通过创建一个简单的示例应用程序,向你展示如何
KevinYan
2019-10-13
1.3K0
分布式服务框架gRPC
gRPC是Google开发的高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于Protobuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。在gRPC中一个客户端可以像使用本地对象那样直接调用位于不同机器上的服务端应用的方法(methods)。这让你能够更容易的构建分布式的应用和服务。和其他 RPC系统类似, gRPC也是基于定义一个服务,指定服务可以被远程调用的方法以及他们的参数和返回类型。在服务端,实现服务的接口然后运行一个 gRPC服务来处理可出端的请求。在客户端,客户端拥有一个存根(stub在某些语言中仅称为客户端),提供与服务器相同的方法。
KevinYan
2019-10-13
1.8K0
用Golang构建gRPC服务
继续之前,请确保你已经对gRPC概念有所了解,并且熟悉protocol buffer。需要注意的是教程中的示例使用的是 proto3版本的protocol buffer:你可以在Protobuf语言指南与Protobuf生成Go代码指南中了解到更多相关知识。
KevinYan
2019-10-13
1.9K0
Laravel源码解析之QueryBuilder
上文我们说到执行 DB::table('users')->get()是由Connection对象执行table方法返回了一个QueryBuilder对象,QueryBuilder提供了一个方便的接口来创建及运行数据库查询语句,开发者在开发时使用QueryBuilder不需要写一行SQL语句就能操作数据库了,使得书写的代码更加的面向对象,更加的优雅。
KevinYan
2019-10-13
1.9K0
Laravel源码分析之Session
由于HTTP最初是一个匿名、无状态的请求/响应协议,服务器处理来自客户端的请求然后向客户端回送一条响应。现代Web应用程序为了给用户提供个性化的服务往往需要在请求中识别出用户或者在用户的多条请求之间共享数据。Session 提供了一种在多个请求之间存储、共享有关用户的信息的方法。 Laravel 通过同一个可读性强的 API 处理各种自带的 Session 后台驱动程序。
KevinYan
2019-10-13
1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档