
获得徽章 4
- #青训营 x 字节后端训练营#
2023.5.21 后端成长计划
Day28
今日总结:
Redis开发规范:
·键值设计:key名设计、value设计。
·命令使用:O(N)命令关注N的数量、禁用命令、合理使用select、使用批量操作提高效率、不建议过多使用Redis事务功能、Redis集群版本在使用Lua上有特殊要求、monitor命令。
·客户端使用:避免多个应用使用一个Redis实例、使用连接池、熔断功能、合理加密、淘汰策略。
·其他内容和具体见链接。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.20 后端成长计划
Day27
今日总结:【职责链模式】
·职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
·应用场景:如果请求被多个对象进行处理,推荐使用职责链模式。具体业务还有敏感词脱敏,框架中的过滤器、拦截器等。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.19 后端成长计划
Day26
今日总结【Go Map】
·常规Map主要结构:数组:数组里的值指向一个链表;链表:目的解决hash冲突的问题,并存放键值。
·GO Map的实现:Go用了hmap和bmap两个数据结构实现Map。Go解决hash冲突不是链表,实际主要用的数组(内存上的连续空间),bmap使用了两个数组分别存储键和值。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.18 后端成长计划
Day25
今日总结:【并发组合模式】
·并发组合模式:一个具有层级关系的对象由一系列拥有父子关系的对象通过树形结构组成,子对象即可被串行执行,也可被并发执行。
·怎么用:并发子组件需要设置超时时间、区分普通组件和并发组件拥有并发子组件的父组件需要等待并发子组件执行完毕(包含超时)、并发子组件执行自身业务逻辑是需检测超时。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.17 后端成长计划
Day24
今日总结:【Go国内开源项目】
·Yearning SQL审核平台
·Cloudreve
·Gorm
·Beego
·Tidb展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.16 后端成长计划
Day23
今日总结:【Viper】
·Viper:一个适用于Go应用程序的完整配置解决方案,它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式、
·服务需要的基本配置:存放日志目录路径(logAddress)服务名称(name)、服务端口号(port)、mysql的端口号(port)和地址(host)。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.15 后端成长计划
Day22
今日总结:【Go文章汇总】
·Go语言的起源、发展以及普及
·Go工作环境设置
·包、函数、变量、常量、数据类型
·流程控制语句
·底层数据结构
具体详见链接。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.14 后端成长计划
Day21
今日总结:【Go并发编程】
·Go管道:boring方法在给管道c发送数据,并且等待另一头,也就是main方法来消费。由于管道中只能够存在一个数据,所以main方法和boring方法在某些程度上是交替运行的。但实际上不完全是,以main方法来说,接受到管道的数据后可以直接进行下一步,而不需要继续等待。
·通道是goroutine与另一个goroutine通信的媒介,并且这种通信是无锁的。换句话说,通道是一种允许一个goroutine将数据发送到另一个goroutine的技术。
·chan string:能够使用读写功能双向管道外,还可以创建出单向管道,如<-chan string只能从管道中读取数据,而chan<- string只能够向管道中写入数据。展开评论点赞 - #青训营 x 字节后端训练营#
2023.5.13 后端成长计划
Day20
今日总结:【Go单元测试】
·go test:这个命令会自动读取源码目录下面名为 *_test.go 的文件,生成并运行测试用的可执行文件。性能测试系统可以给出代码的性能数据,帮助测试者分析性能问题。
·go test 参数说明:-bench regexp 执行相应的 benchmarks;-cover 可以查看覆盖率;-run regexp 只运行 regexp 匹配的函数,例如:-run Array 那么就执行包含有 Array 开头的函数,该参数支持通配符 *,和部分正则表达式,例如 ^、$;-v 显示测试的详细信息。展开评论点赞 - #前端开发现状#
2023.5.13 春日打卡计划
Day31
今日总结:【AST】
·抽象语法树(Abstract Syntax Tree,AST):源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。在代码语法的检查、代码风格的检查、代码的格式化、代码的高亮、代码错误提示、代码自动补全等等场景均有广泛的应用。
·完整的编译器整体执行过程可以分为三个步骤:Parsing(解析过程):经词法分析、语法分析、构建AST(抽象语法树)一系列操作;Transformation(转化过程):将上一步解析后的内容,按照编译器指定的规则进行处理,形成一个新的表现形式;Code Generation(代码生成):将上一步处理好的内容转化为新的代码。
·遍历 AST 的代价很昂贵,并且很容易做出非必要的遍历,可能是数以千计甚或上万次的多余操作。Babel 尽可能的对此做出了优化,方法是如果合并多个visitor能够在单次遍历完成所有任务则合并它们。展开1点赞