获得徽章 0
#青训营 x 字节后端训练营# #day 14 - 2023.6.7
今日学习《《图解HTTP与HTTPS》的干货1.2w字【绝对保值】》:看了之后主要对之前在htttp服务上的很多知识不太了解,比如:http的首部,基于http的功能追加协议,Web的攻击技术等。简单的 HTTP 协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。应用 HTTP 协议的服务器和客户端,以及运行在服务器上的 Web 应用等资源才是攻击目标。
展开
评论
#青训营 x 字节后端训练营# #day 13 - 2023.6.6
今日学习《 连肝7个晚上,总结了计算机HTTP网络协议的知识点》:本文介绍了http协议的发展过程,对比了0.9,1.0.,1.1 2.0 等的改进,还介绍了http请求过程,与改进措施,最近总结了66条计算机网络相关的知识点。
评论
#青训营 x 字节后端训练营# #day 112 - 2023.6.5
学习《DFS和BFS算法之美》:这篇文章讲了二叉数的两种遍历方式,广度优先遍历和深度优先遍历。本文介绍了DFS和BFS。DFS深度优先搜索是从根结点开始向下搜索,直到遇到叶结点,向上回溯到拥有还未遍历到的叶结点的非叶结点,继续进行深度搜索。一般用栈实现迭代;BFS广度优先搜索是从根结点开始,遍历完其所有邻居结点过程之后,会继续遍历邻居结点的邻居结点,直至遍历到所有叶结点后结束。一般用队列实现迭代
展开
评论
#青训营 x 字节后端训练营# #day 11 - 2023.6.4
学习《分治算法之美 》:本文介绍了分治算法:将难以直接解决的问题分解成多个规模更小的子问题,最后合并结果可以得到原问题的解。分治法适用于问题可以缩小、子问题之间相互独立的情况。
评论
#青训营 x 字节后端训练营# #day 10 - 2023.5.26
Git是一个开源的分布式版本控制系统,用于管理代码的版本控制。它具有高效、稳定、支持多人协作等特点,可以轻松管理代码版本和代码分支,帮助开发者高效地进行开发和协作。
评论
#青训营 x 字节后端训练营# #day 9 - 2023.5.24
学习《万字详解腾讯微服务平台 TSF 的敏捷开发流程》:
这篇文章,我大致地了解到了,以微服务为架构的项目,在诸多敏捷开发流程中的问题。了解了以微服务架构为基础的研发团队所依赖的整体流程的敏捷方案。了解腾讯微服务平台(Tencent Service Framework,TSF)是一个围绕着应用和微服务的PaaS技术平台,提供应用全生命周期管理、数据化运营、立体化监控和服务治理等功能。
展开
评论
#青训营 x 字节后端训练营# #day 8 - 2023.5.23
学习《谁说明天上线,这货压根不知道开发流程!》
介绍了互联网的不同工种以及简要介绍了他们负责的工作及如何进行配合,研发的主要重点:
1.把握好整个项目的时间节奏 2.控制研发资源投入 3. 研发、测试、上线 4.项目复盘
展开
评论
#青训营 x 字节后端训练营# 了解Gorm的特性:
1、关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)
2、Create,Save,Update,Delete,Find 中钩子方法
3、支持Preload、Joins的预加载
4、事务,嵌套事务,Save Point,Rollback To Saved Point
5、Context、预编译模式、DryRun 模式
6、批量插入,FindInBatches,Find/Create with Map,使用 SQL 表达式、Context Valuer 进行 CRUD
7、SQL 构建器,Upsert,数据库锁,Optimizer/Index/Comment Hint,命名参数,子查询
8、复合主键,索引,约束
9、Auto Migration
10、自定义 Logger
11、灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus…
展开
评论
#青训营 x 字节后端训练营# gRPC是一种高性能、开源的远程过程调用(RPC)框架,它可以用于构建分布式系统。负载均衡是在分布式系统中非常重要的一项技术,它可以平衡服务器的负载,确保请求在各个服务器之间均匀分布,从而提高系统的可用性和性能。

以下是一些适合使用gRPC负载均衡的应用场景:

1. 微服务架构:当应用程序采用微服务架构时,可能会将不同的服务部署在多个服务器上。使用gRPC负载均衡可以确保请求在这些服务之间进行均衡分配,避免某个服务成为瓶颈。

2. 大规模并发:如果应用程序需要处理大量的并发请求,使用gRPC负载均衡可以将这些请求分散到多个服务器上,以便更好地利用资源并提高响应速度。

3. 高可用性:通过将多个相同功能的服务器部署在不同的位置,使用gRPC负载均衡可以确保即使其中一个服务器发生故障,系统仍然能够正常运行,提供高可用性。

可以用简单的解决办法用于在Golang中实现gRPC负载均衡:

1. 使用gRPC提供的负载均衡功能:gRPC本身提供了一些负载均衡功能,包括Round Robin(轮询)、Weighted Round Robin(加权轮询)和Least Connection(最少连接)等算法。可以使用gRPC提供的负载均衡策略,通过配置客户端连接选项来实现负载均衡。

2. 使用第三方负载均衡器:除了gRPC内置的负载均衡功能,还可以考虑使用第三方负载均衡器,如Nginx、Envoy等。这些负载均衡器可以作为反向代理,将请求分发到多个gRPC服务器上,并提供更高级的负载均衡算法和配置选项。
展开
评论
#青训营 x 字节后端训练营# GoFrame 是一个基于 Go 语言开发的开源框架,旨在提供丰富的工具和功能,帮助开发者更高效地构建 Web 应用程序和服务。其中有如下功能:

Web 开发:GoFrame 提供了强大的 Web 开发功能,包括路由管理、中间件、请求参数绑定、模板引擎、Session 管理、CSRF 防护等。开发者可以使用 GoFrame 快速构建高性能的 Web 应用程序。


数据库操作:GoFrame 提供了简洁易用的数据库操作功能,支持多种数据库,包括 MySQL、PostgreSQL、SQLite、Oracle 等。开发者可以通过 GoFrame 进行数据库的连接、查询、事务管理等操作,大大简化了数据库操作的流程。


缓存操作:GoFrame 提供了缓存操作的封装,支持多种缓存类型,包括 Redis、Memcache、Memory 等。开发者可以通过 GoFrame 轻松地进行缓存的读写操作,提高应用程序的性能和响应速度。


定时任务:GoFrame 提供了强大的定时任务管理功能,可以方便地定义和管理定时任务,支持多种任务触发方式,如固定时间触发、间隔触发等。这对于需要定时执行一些后台任务的应用程序非常有用。


配置管理:GoFrame 提供了简单易用的配置管理功能,支持多种配置格式,如 JSON、XML、YAML 等。开发者可以方便地加载、解析和使用配置文件中的数据,灵活地管理应用程序的配置信息。


日志管理:GoFrame 提供了灵活的日志管理功能,支持多级别日志输出、日志分割、日志轮转等特性。开发者可以通过 GoFrame 记录和管理应用程序的日志,方便地进行调试和错误追踪。


其他功能:除了以上提到的功能外,GoFrame 还提供了很多其他有用的工具和功能,如文件操作、网络请求、图像处理、安全加密等,使得开发者能够更便捷地完成各种任务。

总的来说,GoFrame 是一个功能丰富、易用高效的 Go 语言开发框架,适用于各种 Web 应用程序和服务的开发。它的设计目标是提供简洁、高效的编程方式,让开发者能够更专注于业务逻辑的实现,提高开发效率和应用程序的性能。无论是小型项目还是大型系统,GoFrame 都能够为开发者提供良好的支持。
展开
评论
#青训营 x 字节后端训练营# Viper是一个用于配置管理的Go语言库,它提供了一种简单而灵活的方式来处理应用程序的配置需求。使用Viper,开发人员可以轻松地读取、解析和管理配置文件,以及从不同的配置源(如环境变量、命令行参数等)获取配置值。
Viper的主要优势在于其灵活性。它支持多种配置文件格式,包括JSON、YAML、TOML等,开发人员可以根据项目需求选择合适的格式。此外,Viper还支持配置的分层机制,可以定义默认配置值,并允许覆盖和扩展这些值,使得配置管理更加方便和可扩展。
另一个重要特性是Viper支持热加载配置,这意味着应用程序可以在运行时动态修改配置,而无需重启。这对于需要动态调整配置的场景非常有用,例如在服务端部署时,可以通过修改配置文件或环境变量来实时调整应用程序的行为。
Viper还提供了强大的变量替换和类型转换功能。开发人员可以在配置文件中使用变量,然后在读取配置时进行替换,从而实现配置的复用和灵活性。此外,Viper能够自动将配置值转换为相应的Go语言类型,简化了开发人员的操作。
展开
评论
#青训营 x 字节后端训练营# Golang 是一种支持高并发的编程语言,具有轻量级的线程(Goroutine)和高效的通信机制(Channel),使得并发编程变得简单和高效。

协程是 Golang 并发编程的核心,它可以看作是一种轻量级的线程,可以在一个进程内并发执行,每个协程只占用极小的资源。协程的调度不需要切换到内核态,所以具有非常高的执行效率和吞吐量。在 Golang 中,创建一个协程非常简单,只需要在函数或方法前添加 go 关键字即可,比如:go func() {}()。

管道是协程之间通信的一种重要方式,它提供了一个同步和异步传输数据的机制。管道可以看作是一条数据传输通道,它由两个端点组成,一个是发送端,一个是接收端。数据只能从发送端流向接收端,而且是顺序传输的,保证了数据的同步性。在 Golang 中,使用 make() 函数创建管道,并使用 <- 运算符发送和接收数据,比如:ch := make(chan int); ch <- 1。

select 语句是 Golang 管道通信机制的重要组成部分,它可以同时监听多个管道,一旦某个管道准备好了数据,就会执行相应的语句块。select 语句可以用来处理多个并发任务的返回值,也可以用来实现超时控制,避免出现死锁等问题。
展开
评论
下一页
个人成就
文章被点赞 6
文章被阅读 735
掘力值 79
收藏集
2
关注标签
0
加入于