快乐的程序员
华为二面算法题:为运算表达式设计优先级 华为二面算法题:为运算表达式设计优先级
写在前面前几天华为一面,算法题华为一面算法题:打印螺旋三角形 没有写出来,这次二面的算法题写出来了,过程很顺利,花了20分钟左右,调试过一次。 一面是面试后把题目文字发到聊天框内,这次是之间扔过来一个leetcode链接 241. 为运算表
【转载】不管人生怎么走,都需要实时回头看看 【转载】不管人生怎么走,都需要实时回头看看
鲁迅爷爷说:世间本没有路,走的人多了就有了路! 首先,很无奈的以这样一种拙劣甚至粗俗的方式开始我的第一篇博客的开头!其实不管做任何事儿,开头都是很艰难的!一直以来,不管是二十年前自记事起,还是初次步入社会,第一次恋爱,甚至是现在已经在这个繁
2024-03-29
go channel读写和关闭问题 go channel读写和关闭问题
写在前面面试或者工作中经常会遇到go channel读写和关闭问题,今天就来汇总一下 正文 channel种类 读 写 关闭 未初始化的channel 死锁 死锁 painc 已初始化但未关闭的channel 正常 正常 正常
2024-03-29
timeout context 父子超时顺序问题 timeout context 父子超时顺序问题
写在前面如果父子context都有超时控制,哪个先执行呢? 示例func main() { begin := time.Now() parentCtxTimeout := 4 // 父级 context 超时时间 childCtxTi
2024-03-29
filebrowser,让你轻松搭建属于自己的云存储服务! filebrowser,让你轻松搭建属于自己的云存储服务!
写在前面今天,给大家介绍一个开源免费的在线云存储服务,开箱即用! 可以在自己的服务器上搭建一个云存储服务。 项目介绍filebrowser —— 一个后端基于 Go、前端基于 Vue 实现的在线云存储服务,可以通过浏览器对服务器上的文件进行
MinIO介绍 MinIO介绍
介绍MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。 基本概念 Object:存储到minio的基本对象,如文件,字节流,Anything。
2024-03-28
Go 的 DDD 工程化项目实践 Go 的 DDD 工程化项目实践
Go 通用项目结构关于 Go 项目的目录结构如何设计这一问题?Go 官方其实并没有定义标准的项目结构分层,但社区维护了一个 project-layout 仓库,其中包含了一个通用的项目结构示例,大家在实践中基本会遵循这个规范。下面是一个通用
2024-03-28
微服务架构:BFF和网关是如何演化出来的? 微服务架构:BFF和网关是如何演化出来的?
0. 介绍BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概念,这两个概念相对比较新,有些开发人员甚至是架构师都不甚理解。 本文用假想的公司案例+图示的方式,解释BFF和网关是什么,它们是怎么演
2024-03-26
go实现的压测工具【单台机器100w连接压测实战】 go实现的压测工具【单台机器100w连接压测实战】
0.写在前面本文介绍压测是什么,解释压测的专属名词,教大家如何压测。介绍市面上的常见压测工具(ab、locust、Jmeter、go实现的压测工具、云压测),对比这些压测工具,教大家如何选择一款适合自己的压测工具 简单扩展即可支持 私有协
2024-03-26
微服务:可用性总结 微服务:可用性总结
0. 写在前面前面写了一系列文章 Go微服务: 隔离设计 微服务限流之一:令牌桶算法 微服务限流之二:令牌桶算法源码解析 微服务限流之三:漏桶算法 微服务限流之四:自适应限流 微服务限流之五:熔断 本文将做一个总结 1. 限流对比
2024-03-26
微服务限流之五:熔断 微服务限流之五:熔断
0. 写在前面无论是令牌桶, 漏桶还是 自适应限流的方法,总的来说都是服务端的单机限流方式。虽然服务端限流虽然可以帮助我们抗住一定的压力,但是拒绝请求毕竟还是有成本的。如果我们的本来流量可以支撑 1w rps,加了限流可以支撑在 10w r
2024-03-26
微服务限流之四:自适应限流 微服务限流之四:自适应限流
0. 写在前面令牌桶与 漏桶 两种算法最大的一个问题就是他们都属于需要提前设置阈值的算法,基于 QPS 进行限流的时候最麻烦的就是这个阈值应该怎么设定。一般来说我们可以通过压测来决定这个阈值。但是也会存在问题 如果每个系统上线前都要经过很
2024-03-26
5 / 22