获得徽章 0
#青训营 x 字节后端训练营#
5月23日打卡 day 37
今日学习《从需求到上线全流程》。
- 为什么要有流程:当一个团队规模越大,项目越复杂,就越需要有科学的流程指导实践。流程模型有:传统的瀑布模型、敏捷开发、The Scaled Agile Framework(SAFe)。
- 后端开发流程:需求阶段、开发阶段、测试阶段、发布阶段、运维阶段
- 流程怎样优化:DevOps、全流程自动化
展开
Running_Noob于2023-05-23 21:54发布的图片
Running_Noob于2023-05-23 21:54发布的图片
Running_Noob于2023-05-23 21:54发布的图片
评论
#青训营 x 字节后端训练营#
5月22日打卡 day 36
今天把之前看过的一些论文整理了一下上传到个人的blog,当反过头来再看之前的一些笔记,总是能有新的收获~
评论
#青训营 x 字节后端训练营#
5月21日打卡 day 35
今日学习《走进消息队列》之消息队列BMQ和RocketMQ
- BMQ:字节研发的消息队列,和 `Pulsar` 架构类似,存算分离,初期定位是承接高吞吐的离线业务场景,逐步替换掉对应的 `Kafka` 集群。
- RocketMQ:阿里中间件团队自研的消息队列,低延迟、强一致、高性能、高可靠、万亿级容量和灵活的可扩展性,在一些**实时场景**中运用较广。
展开
Running_Noob于2023-05-21 20:23发布的图片
Running_Noob于2023-05-21 20:23发布的图片
评论
#青训营 x 字节后端训练营#
5月20日打卡 day 34
今日学习《走进消息队列》之消息队列Kafka
- Kafka:分布式的、分区的、多副本的日志提交服务,在高吞吐场景下发挥较为出色。主要用于离线的消息处理,如日志信息、Metrics数据、用户行为。
- 如何使用Kafka:1. 创建集群;2. 新增 `Topic`;3. 编写生产者逻辑;4. 编写消费者逻辑。
- Kafka架构:如图所示。
- Kafka提高吞吐和稳定性的措施:
- 从 `Producer` 方面:批量发送、数据压缩
- 从 `Broker` 方面:顺序写,消息索引,零拷贝
- 从 `Consumer` 方面:Rebalance
- Kafka的不足之处:
1. 运维成本高;
2. 对于负载不均衡的场景,解决方案复杂;
3. 没有自己的缓存,完全依赖 Page Cache;
4. `Controller` 和 `Coordinator` 和 `Broker` 在同一进程中,大量 `lO` 会造成其性能下降。
展开
Running_Noob于2023-05-20 17:25发布的图片
Running_Noob于2023-05-20 17:25发布的图片
Running_Noob于2023-05-20 17:25发布的图片
Running_Noob于2023-05-20 17:25发布的图片
Running_Noob于2023-05-20 17:25发布的图片
评论
#青训营 x 字节后端训练营#
5月19日打卡 day 33
今日学习如何搭建一个自己的博客,收获还是挺多的。
以后关于青训营的笔记也可以上传到这个博客里。
Running_Noob于2023-05-19 22:00发布的图片
评论
#青训营 x 字节后端训练营#
5月18日打卡 day 32
今日学习《设计模式之Database/SQL与GORM实践》
- database/sql:database/sql 是 Go 语言中的一个标准库,用于处理关系型数据库的操作。database/sql 库的目标在于可以让用户用统一的接口去操作不同的数据库。
- GORM:`GORM` 是设计简洁、功能强大、自由扩展的全功能 `ORM`。`ORM`:即 `Object-Relational Mapping`,它的作用是**在关系型数据库和对象之间作一个映射**,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。
展开
Running_Noob于2023-05-18 19:55发布的图片
Running_Noob于2023-05-18 19:55发布的图片
评论
#青训营 x 字节后端训练营#
5月17日打卡 day 31
今日学习《带你认识存储&数据库》之认识存储与数据库。
- 存储系统:一个提供了读写、控制类接口,能够安全有效地把数据持久化的软件,就可以称为存储系统。
- 数据库:数据库分为关系型数据库和非关系型数据库,关系型数据库结构化数据友好、支持事务 ACID、支持复杂查询语言,如 SQL。
- 相较于存储系统,数据库更方便于进行数据的处理与存储。
展开
评论
#青训营 x 字节后端训练营#
5月16日打卡 day 30
今日学习《Go语言工程实践》之测试及项目实践。
- 测试:单元测试的覆盖率、依赖、Mock等
- 项目实践:需求描述、需求用例、ER图、分层结构、组件工具、项目搭建流程
- 一个项目从无到有再到上线,并不仅仅只有代码编写部分,在编写代码前,还需要进行需求分析、UML和ER图绘制、代码设计结构确定等;在项目代码编写完成后,还要进行测试来保证项目上线后能正常运行[鼓掌]
展开
Running_Noob于2023-05-16 21:10发布的图片
Running_Noob于2023-05-16 21:10发布的图片
Running_Noob于2023-05-16 21:10发布的图片
Running_Noob于2023-05-16 21:10发布的图片
评论
#青训营 x 字节后端训练营#
5月15日打卡 day 29
今日学习《Go语言工程实践》之Go语言进阶与依赖管理。
- 语言进阶:学习了包括并发并行、Goroutine、CSP、Channel、Lock、WaitGroup等Go 对于多协程的编程的知识,如果学习了操作系统,对这一部分还是容易理解的。
- 依赖管理:主要是对于 Go Module 依赖管理三要素的学习:go.mod、Proxy和本地方法 go mod/ go get。
展开
Running_Noob于2023-05-15 11:59发布的图片
Running_Noob于2023-05-15 11:59发布的图片
Running_Noob于2023-05-15 11:59发布的图片
Running_Noob于2023-05-15 11:59发布的图片
评论
#青训营 x 字节后端训练营#
5月14日打卡 day 28
今日学习《Go语言基础语法 - 实战》之SOCKS5代理。
- SOCKS5代理:SOCKS5协议是一款广泛使用的代理协议,它在使用 TCP/IP 协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问 Internet 网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给 SOCKS5 服务器,然后 SOCKS5 服务器将请求转发给真正的服务器。
- SOCKS5 通信的交互流程可分为四个阶段:1. 协商(握手)阶段;2. 认证阶段;3. 请求阶段;4. relay阶段。
展开
Running_Noob于2023-05-14 20:02发布的图片
Running_Noob于2023-05-14 20:02发布的图片
评论
#青训营 x 字节后端训练营#
5月13日打卡 day 27
今日学习《Go语言基础语法 - 实战》之猜谜游戏和在线词典。
- 猜谜游戏:1. 首先生成随机数,为了保证生成的随机数每次都不一样,需要使用随机种子;2. 然后读取用户输入,这里使用的是 `bufio` 库来读取,并进行错误处理;3. 接着对用户的输入进行判断,根据用户的猜测返回相应的回答; 4. 最后在外面嵌套一层 `for` 循环,利用 `continue` 和 `break` 来控制流程的进行。
- 在线词典:1. 利用彩云小译网站的词典库,来进行英语单词释义,首先在网站上得到其请求; 2. 再通过 [Convert curl to Go (curlconverter.com)](curlconverter.com) 来将请求转换为 Go 语言类型的程序; 3. 为了使得用户可以查找任意单词,需要将固定的 `JSON` 字符串输入转变为 `JSON` 序列化; 4. 由于返回的结果是 `JSON` 类型的字符串,难以阅读,所以需要对返回的结果进行处理。通过 [JSON转Golang Struct - 在线工具 - OKTools](oktools.net) 来将返回的 `JSON` 字符串转换为对应的 `struct`,并通过 `json.Unmarshal` 方法来对返回的结果进行处理,并保存到结构体变量中;5. 但是现在结构体变量中的内容还是太多,我们需要进行处理来只输出我们想要的结果。
展开
Running_Noob于2023-05-13 22:24发布的图片
评论
#青训营 x 字节后端训练营#
5月12日打卡 day 26
今日学习《Go语言基础语法》。
- Go 语言作为谷歌出品的一门通用型计算机编程语言。有以下特性:
1. 高性能、高并发:内嵌了对高并发的支持;2. 语法简单、学习曲线平缓;3. 丰富的标准库;4. 完善的工具链:编译、代码格式化、错误检查、代码文档、包管理、代码提示;5. 静态链接;6. 快速编译;7. 跨平台:Linux、WIndows、MacOS、Android、ios;8. 垃圾回收。
- Go的基础语法包括变量、常量的声明;if-else;循环for;switch;数组;切片;map;range;函数;指针;结构体;结构体方法;错误处理;字符串操作;JSON处理;时间处理;数字解析;进程信息等。
- 基于 Go 的丰富的标准库,大部分的操作都可以通过调用标准库中的方法来实现。
展开
评论
#青训营 x 字节后端训练营#
5月11日打卡 day 25
今日学习《「算法与数据结构」分治算法之美》。
>>数据库延展阅读
- 数据结构概览
- 「算法与数据结构」分治算法之美
- 分治法基本思想:将原问题划分成n个规模较小而结构与原问题相似的子问题,递归去解决这些子问题,然后依次再合并其结果,最后得到原问题的解。
- 那么具体的来说,我们似乎可以分成三个步骤:1. 分解:将要解决的问题划分成若干规模较小的同类问题。2. 解决:当子问题划分得足够小时,用较简单的方法解决。3. 合并:按原问题的要求,将子问题的解逐层合并构成原问题的解。
- 分治法适用情况:利用分治法求解一个问题,在于我们能否掌握分治法的几个特征:1. 把一个问题可以缩小到一定程度,变成更小的问题来解决。2. 分解成若干个小问题后,规模更小且是同类问题,这样子的话,该问题应该就是最优子结构。3. 利用该问题分解出来的子问题的解,合并为该问题的解。4. 分解出来的各个子问题是相互独立的,即子问题之间不包含公共的子问题。
展开
评论
下一页
个人成就
文章被点赞 23
文章被阅读 2,452
掘力值 196
收藏集
0
关注标签
3
加入于