进程线程协程总结

一句话 CPU 占用时间间隔的单位 通俗易懂的例子 参考:每个程序员都会遇到的面试问题:谈谈进程和线程的区别 计算机的核心是 CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是……

阅读全文

Docker 简介

是什么? 容器引擎——核心 开源 go 编写 基于 LXC(Linux Container) 内核虚拟化实现 能干什么? 持续集成 简化配置 代码流水线管理 快速部署 提高开发效率 版本控制 可移植性 —— 可以移动到任意一台 Docker 主机上 标准性—— 容器保证所有配置依赖不变 隔离性与安全 和虚拟机比的优势 轻量 M G —— 资源都是钱 性能高 共享主机内核, 没有 Hypervisor 层开销 系……

阅读全文

channel 总结

1. 声明和类型 ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType . 声明 双向:var ReadAndWriteChannel chan int 仅可读:var OnlyReadChannel <- chan int 仅可写:var OnlyWriteChannel chan <- int 初始化: make(chan int) //坑:没有数据,读取阻塞,直至写入数据 make(chan int,100) // 容量 缓存 buffer 2. 操作 c := make(chan int) 读:i := <- c 写: c <- (7+2) 遍历: range c 关闭: close(c) 坑:关闭channel,可读,不可写(panic) 多值……

阅读全文

TCP UDP 总结

UDP 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。 UDP 不提供可靠性,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能到达目的地。由于 UDP 在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 UDP 特点 无连接:UDP 是面向无连接……

阅读全文

Influxdb 简介

概述 使用 GO 语言开发 开源 时序数据库:适合用于处理和分析资源监控数据这种时序相关数据 SQL-like 语法 三大特性: 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等); 度量(Metrics):对实时大量数据进行计算; 事件(Event):支持任意的事件数据,换句话说,……

阅读全文

MaxSumArray

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和 示例: Input: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。……

阅读全文

Echo 框架的简单使用

本文是工作刚接触 go 语言,需要作分享时做的一份总结,重新整理的结果。 源码 特性概述 总的来说:轻量·高效 优化的 HTTP 路由器,巧妙地确定路由优先级 构建健壮且可伸缩的 RESTful API 组 API 可扩展的中间件框架 以根,组或路径级别定义中间件 JSON,XML 和表单的数据绑定 便捷地发送各种 HTTP 响应 集中的 HTTP 错误处理 可以使……

阅读全文

横向·纵向扩展区别

经常看到容器介绍说 便于水平(横向)扩展,想想应该有纵向才对,查找发现下边这个解释真不错 横向扩展(Horizon) 也叫 水平扩展,用更多的节点支撑更大量的请求。 如成千上万的蚂蚁完成一项搬运工作 纵向扩展 又叫 垂直扩展,扩展一个点的能力支撑更大的请求。 如利用 1 个人的能力,如蜘蛛侠逼停火车……

阅读全文

How to Ask Questions—— 如何提问

提问的智慧 艾瑞克。史蒂文。雷蒙德(Eric Steven Raymond) Thyrsus Enterprises esr@thyrsus.com 瑞克。莫恩(Rick Moen) respond-auto@linuxmafia.com 版权©2001, 2006 Eric S. Raymond, Rick Moen 修订历史 修订版 3.9 2013 年 4 月 23 日 esr 修正链接 修订版 3.8 2012 年 6 月 19 日 esr 修正链接 修订版 3.7 2010 年 12 月 6 日 esr 对于英语为第二语言人士的有益建议 修订版 3.7 2010 年 11 月 2 日 esr 几种翻译不……

阅读全文