获得徽章 1
- #青训营 x 字节后端训练营#
今天学习了产品整体开发流程,从一个想法到程序设计再到后期测试调试上线。具体介绍了产品设计、软件开发和项目管理几个重要的过程。讲解了PMI-PMP体系和敏捷项目管理。其中个人协作的方法中有PSP,单核工作法。适合大学生规划小项目。
评论点赞 - #青训营 x 字节后端训练营#
今天学习了Go1.13.8版本中Map结构体的实现。Map主要包含两个结构:数组和链表。Map中包含两个核心结构体hmap和bmap,hmap记录了结构体中的重要信息,包含了一个记录键值对的bmap。然而bmap只能存储8个键值对,则很容易造成数据溢出。数据溢出后,就需要用到hmap的extra中的overflow中,创造一个新的bmap,存储溢出的数据,原先的bmap用指针与溢出桶相连,形成数组-链表的存储形式。最后在读数据的时候,就会根据这些指针分别取每一个数据桶中寻找想要的数据。展开评论点赞 - #青训营 x 字节后端训练营#
今天学习了职责链模式的作用,职责链降低了对象之间的耦合度,增强了系统的可拓展性。对象连成链的方式有多重,文中主要介绍了用list或者array存储对象,循环遍历直到请求被处理完毕的方式。可以很方便的在职责链上增加鉴权、限流、脱敏、拦截等操作的操作评论点赞 - #青训营 x 字节后端训练营#
今日学习了一种经典网络模型简化方式。网络三层架构分为核心层、汇聚层和接入层。本文介绍的模型直接去掉了汇聚层,让网管直接落在核心层的核心交换机上,这样会增加核心层的负荷,所以接入数最好在500以内。 本文还介绍了MSTP、trunk、stp等协议,这些我都不太了解,一起学习了。展开评论点赞 - #青训营 x 字节后端训练营#
今天学习了前后端的分离模式:前端和后端只用用异步接口来编程。由后端编写和维护接口文档,编写接口规范。前后端各自根据接口文档进行开发,Mock服务器根据接口文档自动生成Mock数据。由此可见,接口文档的重要,后面介绍了接口的规范格式。包括各种请求、数据返回格式和状态码的规范。感觉写接口文档也是一个技术含量很高的活
展开评论点赞 - #青训营 x 字节后端训练营#
今天学习了go-generate工具的使用,go-generate主要用来快速编写各种状态码,generate提供了一条 //go:generate command arg1 arg2 来自动执行命令。配合stringer 就可以为给定类型生成状态码。最后使用//go:generate stringer -type=ErrCode --linecomment就可以优雅简单的处理错误了。展开评论点赞 - #青训营 x 字节后端训练营#
今日学习了如何使用Viper处理yaml配置文件并集成到gin中:编写统一的settings-dev.yaml后,viper会解析yaml中的字段,并根据config中的结构体完成对应的配置。global文件将viper解析出来的数据进行存储,这样每个go文件就可以引用global中的数据。展开评论点赞 - #青训营 x 字节后端训练营#
Go项目中,单元测试的占比很高,一般一个文件都会有一个对应的单元测试,单元测试以xxx_test.go命名。使用go test 命令可以快速运行一个包下所有的测试用例,可以加上-bench regexp执行相应的benchmarks,-cover查看覆盖率,-v显示测试的详细信息。测试也分很多种方法,合理的测试及代码利用率越高性能越好。展开评论点赞 - #青训营 x 字节后端训练营#
今天学习了如何使用Go语言配置json:
1. 使用ioutil包中的ReadFile读取json文件并打印数据
2. 使用json包中的Unmarshal函数将json反编码到结构体中。使用marshal将结构体编码成json。
3. 结构体编码成json过程中可以使用`json: "-"` 强制忽略指定字段。当一个值在结构体中是可选可以不选的时候,可以使用`json:"imitempty"`展开评论点赞 - #青训营 x 字节后端训练营#
今天学习了grpc中三种解决负载均衡的方式:集中式LB、进程内LB、独立LB进程。介绍了三种流式的RPC,其中无流的函数就是一种简单的RPC。介绍了6中负载均衡的算法,模拟了随机法的demo,我学到了随机法负载均衡的配置方法和最终效果。评论点赞
![[捂脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_28.8981538.png)