一定不能错过的一场学习之旅 —— 第五届字节跳动青训营参赛有感 博主分享了自己参加第五届字节跳动青训营的学习体验。他认为这是一场非常值得参加的学习之旅,可以让参赛者通过听取业内专家的讲解、团队协作、项目实战等方式,真正体验到了自己的成长。同时,博主也分享了这次学习中遇到的一些困难以及如何通过自学、询问导师等方式克服这些困难的经验。最后,他鼓励更多的年轻人参加这样的学习和实践活动,挑战自我,迎接更广阔的未来。 2023-3-28 21:51 | 711| 5| 心得 1035 字| 4 分钟
极简版抖音项目的实现(2) —— Mock 和单元测试 | 青训营笔记 本文是“极简版抖音项目的实现”系列的第二篇文章,主要介绍了如何使用Mock和单元测试来保证代码的质量和稳定性。作者详细介绍了Mock的基本概念和如何使用Mock来模拟数据和接口,以及如何使用单元测试来测试代码的各个部分。通过Mock和单元测试的使用,可以大大提高代码的可维护性和健壮性。 2023-2-12 22:54 | 126| 0| 技术 526 字| 9 分钟
极简版抖音项目的实现 | 青训营笔记 本文介绍了如何参加第五届字节跳动青训营后端专场大项目需求 —— 「实现一个极简版抖音」中的一个视频流接口的实现细节。该项目采用了 Go 语言开发,并采用了微服务架构以及一系列技术组件,如 protobuf、gorm、Kitex、Hertz、Consul、PostgreSQL、Amazon S3 和 monkey 等。TokTik 使用一个简单的 s… 2023-2-06 20:49 | 617| 0| 技术 930 字| 11 分钟
微服务中的服务治理 | 青训营笔记 本文介绍了微服务架构中的服务治理方式,包括服务注册与发现,服务发布和稳定治理。服务注册与发现通过一个中心化的服务注册中心,实现了服务间通信地址的动态管理。服务发布通过蓝绿部署和灰度部署等方式,让服务的升级更加平滑和可控。稳定性治理通过限流、熔断、降级等方式,增加了服务的稳定性。同时本文指出,微服务架构的复杂度引来了治理、运维难度飙升等劣势,但通过服… 2023-2-04 12:13 | 63| 0| 技术 1478 字| 6 分钟
分布式系统中的数据库事务 | 青训营笔记 分布式系统中的数据库事务 | 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 8 天 前言 本文简述了在分布式系统中使用的分布式数据库事务方案。 什么是分布式 分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算,分布式存储,分布式数据库等。 在分布式系统中,由于不同节点可能维护各自… 2023-2-02 13:20 | 39| 0| 技术 1759 字| 7 分钟
浅谈软件工程架构及其演进 | 青训营笔记 浅谈软件工程架构及其演进 | 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 7 天 前言 本文介绍了软件工程架构及其演进史,并包含了企业级后端架构刨析等内容。 什么是架构 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构会包括软件组件、组件之间的关系,组件特性以及组件间关系的特性。软件架构可以和… 2023-2-01 19:10 | 34| 0| 技术 2372 字| 9 分钟
从规则引擎开发的角度切入编译器原理 | 青训营笔记 从规则引擎开发的角度切入编译器原理 | 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 6 天 前言 本文试图从规则引擎开发的角度切入编译器原理相关内容,介绍编译原理的基本概念。 认识规则引擎 什么是规则引擎 业务规则引擎是在运行时生产环境中执行一个或多个业务规则的软件系统。这些规则可能来自法律法规(“员工可以因任何原因或无理由被解雇,… 2023-1-31 16:49 | 15| 0| 技术 1559 字| 7 分钟
一文学会 Go 的三个主流开发框架| 青训营笔记 一文学会 Go 的三个主流开发框架| 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 5 天 前言 本文介绍了三个 Go 主流开发框架 GORM,Kitex,Hertz 的基本使用方法,覆盖了 ORM,RPC,HTTP 三个领域。帮助读者快速入门 Go 工程开发。 GORM GORM 是一款面向 Go 开发的,对开发人员友好的,“梦幻般… 2023-1-20 17:15 | 1161| 1| 技术 5622 字| 48 分钟
从 Java 的角度看待 Go 的内存管理| 青训营笔记 从 Java 的角度看待 Go 的内存管理| 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 4 天 前言 本系列文章试图从一名 Java 开发者(有时也会穿插其他语言)的角度窥探 Go 语言,并以注释的方式提及 Go 与 Java 的一些区别,方便 Java 开发者迅速入门 Go 语言。 这是该系列的第四章,将介绍 Go 的内存管理机… 2023-1-19 14:05 | 73| 0| 技术 2927 字| 14 分钟
从 Java 的角度看待 Go 的编码规范和性能调优| 青训营笔记 从 Java 的角度看待 Go 的编码规范和性能调优| 青训营笔记 这是我参与「第五届青训营」伴学笔记创作活动的第 3 天 前言 本系列文章试图从一名 Java 开发者(有时也会穿插其他语言)的角度窥探 Go 语言,并以注释的方式提及 Go 与 Java 的一些区别,方便 Java 开发者迅速入门 Go 语言。 这是该系列的第三章,将从 Go 的编… 2023-1-17 15:28 | 50| 0| 技术 1568 字| 11 分钟