- 博客(6)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
转载 golang 编程规范 - Code Review 规范
gofmt所有代码在发布前均使用gofmt进行修正。Comment Sentences(注释应当是一个完整的句子)所有的注释都应该是一个完整的句子。句子应该以主语开头,句号结尾。这样做,能使注释在转化成godoc时有一个不错的格式。Declaring Empty Slices(声明空数组分片)当你需要时,声明空的数组分片。这是一个推荐的做法:var t []string这是不好的:t := []string{}原因是,前者能避免分配内存空间。有些时候,可能你从没向这个数组分片里面a
2020-05-19 01:06:00 626
原创 微服务设计
微服务设计微服务微服务是协同工作的小而自治的服务微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。特点很小:专注于做好一件事。一件事:内聚,单一职责原则,业务的边界即服务的边界协同:服务之间通过进程间通信的方式进行调用,服务之间通过api通信。一个进程会暴露几
2020-05-18 00:27:09 653
原创 Http 笔记
Http 笔记Http协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。Http 是基于 TCP/IP 协议通信协议来传递数据(HTML 文件、图片文件、查询结果等)。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。Http的特点简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、PUT、DELETE、POST。每种方法规定
2020-05-11 00:19:38 174
原创 操作系统概念
操作系统概念什么是操作系统系统调用进程和线程进程和线程的区别从三个角度来剖析二者之间的区别什么是协程协程与线程进行比较什么是IO多路复用?怎么实现select/poll/epoll三者的区别什么时候使用select/poll,什么时候使用epoll什么是水平触发?什么是边缘触发有哪些常见的IO模型进程有哪几种状态进程间同步方式临界区概念同步与互斥...
2020-05-06 01:11:10 2822
原创 设计模式
设计模式设计模式用于在特定的条件下为一些重复出现的软件设计问题提供合理的、有效的解决方案使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。面向对象面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 。面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向...
2020-05-05 23:03:57 448
原创 高并发系统设计
高并发系统设计高并发通用设计方法Scale-out(横向扩展)分而治之是一种常见的高并发系统设计方法,采用分布式部署的方式把流量分流开,让每个服务器都承担一部分并发和流量。Scale-up(纵向扩展)通过购买性能更好的硬件来提升系统的并发处理能力,比方说目前系统 4 核 4G 每秒可以处理 200 次请求,那么如果要处理 400 次请求呢?很简单,我们把机器的硬件提升到 8 核 8G(硬...
2020-05-03 00:16:35 3741
golang 中的 method的方法和interface的方法有啥区别?
2018-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人