- 博客(20)
- 收藏
- 关注
转载 [Go] Map
又开了个新坑, 学习Golang, 今天我们一起看看Go语言的Map数据结构.ageMp := make(map[string]int)// 指定 map 长度ageMp := make(map[string]int, 8)// ageMp 为 nil,不能向其添加元素,会直接panicvar ageMp map[string]int哈希表Go语言使用多个数据结构组合表示哈希, 学习Go语言Map的底层实现, 我们先回顾一下Hash.哈希函数实现哈希表的关键点在于哈希函数
2021-07-30 13:10:54
164
原创 微服务系统架构
准备好好学习下微服务整体的系统架构, 基于高并发, 高可用, 数据一致性, 划分了每一模块需要需深入了解的点. 在此汇总做一个大纲展示, 后续会基于每个小点具体深入的学习.
2021-07-28 13:23:33
167
转载 [设计模式] 模板方法讲解和代码示例
模板方法模式是一种行为设计模式,它在超类中定义了一个算法的框架,允许子类在不修改结构的情况下重写算法的特定步骤。场景假如你正在开发一款分析公司文档的数据挖掘程序。用户需要向程序输入各种格式(PDF、DOC 或 CSV)的文档,程序则会试图从这些文件中抽取有意义的数据,并以统一的格式将其返回给用户。该程序的首个版本仅支持 DOC 文件。在接下来的一个版本中,程序能够支持 CSV 文件。一个月后,你“教会”了程序从 PDF 文件中抽取数据。一段时间后,你发现...
2021-07-27 13:32:21
173
原创 [网络基础] TCP
TCP(Transmission Control Protocol) 是一种面向连接的, 可靠的, 基于字节流的传输通信协议.同时TCP也是面试中的常见问题, 具体的我们挨个过一下.1. 讲下TCP三次握手最初, 客户端和服务端都处于CLOSED状态, 然后服务端开始监听某个端口, 进入LISTEN状态.第一次握手(SYN=1, seq=x), 发送完毕后, 客户端进入SYN_SEND状态 第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送完毕后,
2021-07-26 23:36:24
114
原创 Go语言接口规范
俗话说, 一流企业做标准, 二流企业做品牌, 三流企业做产品.制定标准至关重要, 标准规范的制定离不开接口,制定标准的目的就是为了让定义和实现分离,而接口作为完全的抽象,是标准制定的不二之选.项目开发过程中前后端工程师有一个统一的文档进行沟通交流开发一套良好的接口规范可以提升工作效率,减少沟通障碍.项目维护中或者项目人员更迭,方便后期人员查看、维护
2021-07-21 23:30:58
882
原创 Go语言编码规范
"编码规范(Go)"规范为日常Go项目开发提供一个统一的规范指导, 方便团队形成统一的代码风格, 提高代码可读性, 规范性和一致性.同时作为CR的有效指导工具, 如果有变更的, 需要补充的, 可以在文档中(文档下)添加评论说明进行补充.大部分的格式问题可以通过gofmt解决,gofmt自动格式化代码,保证所有的go代码与官方推荐的格式保持一致,于是所有格式有关问题,都以gofmt的结果为准。一. 命名规范命名是代码规范中很重要的一部分,统一的命名规则有利于提高的代码的可读性,好的命名仅仅
2021-07-21 23:24:46
2157
原创 如何设计短链系统
基于字节面试题:设计一个短链接服务。如何抗住大qps, 抗大流量 。url哈希函数怎么设计(怎么存,怎么统计qps)网上发现了一篇非常好的文章, 涉及需求分析, 流量估算, API设计, 数据库设计, 基础系统设计, 以及算法设计.(转载地址:https://www.jianshu.com/p/f9d8fa731357)整体问题分析思路结合文章, 先整理了一个思维导图, 后续相关问题都可以根据该内容进行梳理.短链系统设计需求背景短链系统用于为长链接创建较短的别名,这些别...
2021-07-20 23:59:04
637
转载 [设计模式] 责任链模式讲解和代码示例
责任链模式是一种行为设计模式,允许你将请求沿着处理者链进行发送。收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。
2021-07-20 23:46:50
439
转载 [设计模式] 生成器模式讲解和代码示例
生成器模式是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相同的创建代码生成不同类型和形式的对象。
2021-07-20 23:32:45
494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人