摘要:
1.单下划线 变量前的单下划线表示表面上私有 ,但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。 2.双下划线 变量前的双下划线表示真正的私有,实际上的私有,只有内部可以访问,外部不能访问 阅读全文
摘要:
output 首先,创建一个新的cache,其中key的过期时间是30s,并且每10s清除缓存中的过期key。 定期清除缓存中的过期key,是通过一个常驻goroutine实现的。 接着,设置一个key/value,及其过期时间。过期时间使用默认过期时间,即30s。 获取这个key,可以看到,此时这 阅读全文
摘要:
前言: 一切语言、技术或者框架,本质都是工具,工具的价值在于为使用者提供竞争优势。 一、Beego和Gin全方位比较 MVC Beego支持完整的MVC, Gin不支持完整的MVC(需要开发者自己实现MVC) 路由&Session Beego支持正则路由, Gin不支持正则路由 Beego支持Ses 阅读全文
摘要:
Gin 介绍 安装框架 配置好GOPATH,建议自己在GOPATH建个项目,这里我以Go_GinStart作为项目目录。 安装mysql驱动 项目组织结构 在项目根目录创建下面三个文件夹,apis,databases和models,并在文件夹内创建文件。 apis文件夹存放我们的handler函数 阅读全文
摘要:
TCP四次挥手 所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。 连接双方在完成数据传输之后就需要断开连接。由于TCP连接是属于全双工的,即连接双方可以在一条TCP连接上互相传输数据,因此在断开时存在一 阅读全文
摘要:
1、OSI七层结构图: 2、TCP/IP四层结构图: 3.各层对应的协议 4.OSI七层和TCP/IP四层的区别 OSI网络模型和TCP/IP网络模型对应关系: 5.交换机工作在OSI的哪一层 如果有人问这个问题,我的回答是 :二层交换机工作在OSI的第二层数据链路层,,由于它们要对帧解码并使用帧信 阅读全文
摘要:
1、什么是长连接和短连接 长连接 长连接,也叫持久连接,在TCP层握手成功后,不立即断开连接,并在此连接的基础上进行多次消息(包括心跳)交互,直至连接的任意一方(客户端OR服务端)主动断开连接,此过程称为一次完整的长连接。HTTP 1.1相对于1.0最重要的新特性就是引入了长连接。 短连接 短连接, 阅读全文
摘要:
TCP三次握手流程图 第一次握手 第二次握手 第三次握手 TCP三次握手实例: 第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建 阅读全文
摘要:
1、cron(计划任务) 按照约定的时间,定时的执行特定的任务(job)。 cron 表达式 表达了这种约定。 cron 表达式代表了一个时间集合,使用 6 个空格分隔的字段表示。 2、Linux的cron与Go的cron区别 linux 中的 cron 只能精确到分钟,而Go 实现的 cron 可 阅读全文
摘要:
一、crond cron是一个linux下的定时执行工具(相当于windows下的scheduled task),可以在无需人工干预的情况下定时地运行任务task。 由于cron 是Linux的service(deamon),可以用以下的方法启动、关闭这个服务: 在系统启动的时候自动启动: 二、cr 阅读全文