终于有人把 Docker 讲清楚了,万字详解!

作者:乐章 链接:https://www.cnblogs.com/zhangxingeng/p/11236968.html 一、简介 1、了解Docker的前生LXC LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。 与传统虚拟化技术相比,它的优势在于: (1)与宿主...阅读全文

简书 2020-09-18 01:32:40 夜空_2cd3

Golang标准库——compress/bzip2

bzip2 bzip2包实现bzip2的解压缩。提供了一个对bzip2压缩包进行读取的操作,但是并没有提供进行bzip2压缩操作。 type StructuralError type StructuralError string 当bzip2数据的语法不合法时,会返回本类型错误。 func (StructuralError) Error func (s StructuralError) Error() string func NewReader func NewReader(r io.Reade...阅读全文

简书 2020-09-17 22:32:39 DevilRoshan

学会雪花算法就看这一篇就够了(go版本)

原文链接前言嗨,everybody,我是asong,这是我的第十二篇文章,今天给大家介绍一下雪花算法。介绍雪花算法是次要的,因为大家都太熟悉了,主要目的是推荐一下我的新系列。今天,我突发奇想,想创建一个新系列。这个系列主要是存储我们日常工作开发中使用的算法,比如雪花算法、哈希算法等等。网络上关于这些算法的知识还是很多的,但是很杂,想找一个算法很不容易,还要看各种各样的博客,五花八门的。所以我们现在的想法就是想将这些算法整理到一起,全部采用go实现,并附带基础知识学习,代码说明这样的详细文档,这样...阅读全文

Segmentfault 2020-09-21 13:32:33 asong

90%以上前端开发人员忽略的问题,确是很多大厂HR问到的题目

「阅读本文,可以了解到JS中是如何进行垃圾回收的,为什么需要垃圾回收,在这个基础上,作为开发者我们可以如何优化我们的应用」 一、垃圾回收 首先我们需要了解一下栈内存和堆内存的区别,栈内存一般是由操作系统去自动管理的,而下面我们要讨论的内存管理指的是堆内存,可以被人工管理,比如c/c++,但是人工的风险总是很大的,所以很多语言引入了自动堆内存管理GC机制,比如JVM、JavaScript、C#、Golang、OCaml和ruby。但是交给这个语言机制就真的万无一失了么,你错了,因为GC也是程序员创...阅读全文

简书 2020-09-17 21:32:40 前端技术控

Prometheus Metrics 设计的最佳实践和应用实例,看这篇够了!

Prometheus 是一个开源的监控解决方案,部署简单易使用,难点在于如何设计符合特定需求的 Metrics 去全面高效地反映系统实时状态,以助力故障问题的发现与定位。本文即基于最佳实践的 Metrics 设计方法,结合具体的场景实例——TKE 的网络组件 IPAMD 的内部监控,以个人实践经验谈一谈如何设计和实现适合的、能够更好反映系统实时状态的监控指标(Metrics)。该篇内容适于 Prometheus 或相关监控系统的初学者(可无任何基础了解),以及近期有 Prometheus 监控方...阅读全文

简书 2020-09-17 20:32:39 腾讯云原生

【golang】减法操作慎用uint型整数,让你意想不到错误

昨天项目上线,出现一个莫名奇妙的错误,缓存中计算库存所剩余数量,拿全部库存-已用库存,这里设置的库存为uint32位 var a uint32 = 2 var b uint32 = 3 v := a - b fmt.Println(v) 打印:(刚开始一脸闷逼) 4294967295 纠错好久,才想起了这是个细节问题,当a-b成负数时候,因为:=会自动把v当做uint32位,所以系统会把负数的1的正负位当做最高进制来算,造成数值很大 改为 v := int(a) - int(b) 问题很小,就是...阅读全文

简书 2020-09-17 20:32:37 dongzaidong

golang chromedp爬虫打开新标签页

chromedp(项目地址 https://github.com/chromedp/chromedp)用于解决反爬虫JS问题,之前笔者就有写了个爬虫工具用到chromedp,踩了些坑,在此记录一下。 使用chromedp爬虫时,如果点击属性为target="_blank"的a标签,上下文仍然停留在当前网页,需要使用其它的容器打开新页面。 package main import ( "context" "fmt" "github.com/chromedp/cdproto/target" "gith...阅读全文

简书 2020-09-17 20:32:37 itchin

Golang LeetCode练习题及答案(四)

> 本文参考 [**嗨客网**](https://haicoder.net) Golang [**实战**](https://haicoder.net/case/index.html) # **Golang LeetCode练习题及答案(四)** # **前言** 本篇文章是关于一部分 Golang LeetCode 的题目以及详细的解题思路,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位练手,这篇文章我会不断更新...阅读全文

Go语言中文网 2020-09-17 19:10:08 haicoder_ibai

详解Go 语言中的方法

go 方法定义方法是具有特殊接收器参数的函数,即在 func 和方法名之间方法接收者。 func (s Student) GetName() string { return s.name}func (s *Student) SetName(name string) { s.name = name} 我们可以把接收者类型为指针的成员方法叫做指针方法,把接收者类型为非指针的成员方法叫做值方法。在你需要修改对象的时候,才必须用指针(引用传递),否则将所属类型声明为字面量即可(值传递)。另外避免在每个方...阅读全文

简书 2020-09-17 18:32:41 MO_ON_e503

BATJZ大厂面试流程详细剖析,从核心讲解,为你的大厂面试保驾护航!

一、前言 在当今互联网中,虽然互联网行业从业者众多,不断崛起的互联网公司也会很多,但如BAT等大厂,仍然是很多同学想要进入的企业。那么本篇文章将会为大家很直白的讲解大厂的面试流程以及侧重点。 首先闲聊一下,为什么大家管他们叫大厂。本人说一下真实的感受。其实在里边工作,真的就跟在工厂里工作一样,为什么会真的在工厂里工作的感觉一样呢,因为一般这种公司占地面积都相对较大,这一片楼,都是这家公司的,吃在这里,工作在这里,望眼后厂村,你如果想开开荤,都得开车出去,想走着去,那距离会让你想一下就会自我放弃。...阅读全文

简书 2020-09-17 18:32:41 jett老师

推荐一款技术人必备:线上引流神器GoReplay

一. 线上引流产生背景 日常大部分的测试工作都是在测试环境下,通过模拟用户的行为来对系统进行验证,包括功能以及性能。在这个过程中,你可能会遇到以下问题: 用户访问行为比较复杂,模拟很难和用户行为一致,模拟不够真实。 线下模拟场景有限,会出现业务覆盖不全的情况。 线上引流方案的出现为上述问题提供了很好的解题思路,线上引流本质是:通过把线上的真实流量复制到线下环境,解决测试环境模拟不够真实,或覆盖不够全面的问题。 二. 线上引流常见方案 目前不少公司都对线上引流方案进行了许多实践探索,常见的有以下4...阅读全文

简书 2020-09-17 16:34:14 狂师

golang pprof使用方法

pprof 是用于可视化和分析性能分析数据的工具,可以对程序进行CPU分析、内存分析、组撒分析以及互斥锁的分析 pprof内置了两个库用于获取程序运行时的数据 runtime/pprof 用来采集程序的运行数据进行分析 net/http/pprof 采集http服务运行时的数据尽心分析 主要写下这次用到的结合beego的服务型应用的数据分析 首先在router.go中加入路由 beego.Router("/debug/pprof", &controllers.ProfController{}) ...阅读全文

简书 2020-09-17 16:33:06 陈陈陈_6150

写在 Dubbo go 的第五年

简介: dubbogo 项目已进入第五个年头。与社区同学们齐心合力之下,如今全面兼容 Dubbo v2.7.x 的 Dubbo-go v1.5.1 已经发布。作者 | 于雨阿里巴巴云原生公众号后台回复“915”即可查看 dubbogo v1.5.1 项目管理图清晰大图!引语dubbogo 项目已进入第五个年头。项目发展的前两年,我们把 hessian2 协议库、网络库和整体基础框架搭建一番。从 2018 年项目被 Dubbo 官方接纳开始,依托阿里平台,社区开始形成并快速发展。与社区同学们齐心合...阅读全文

Segmentfault 2020-09-21 12:32:33 阿里云开发者

Go 包的组织和命名

原文:https://github.com/danceyoung/paper-code/blob/master/package-style-guideline/packagestyleguideline.md # Go 包的组织和命名 原文:https://rakyll.org/style-packages/ Go和其他语言一样,也涉及到命名和代码的组织。组织良好的代码具有很强的交流性、可读性和易用性,和设计良好的API一样重要。当其他用户阅读你代码的时候,包的位置、命名和结构分层...阅读全文

Go语言中文网 2020-09-17 10:38:43 danceyoung

我擦~字符串转字节切片后,切片的容量竟然千奇百怪

来自公众号:新世界杂货铺神奇的现象切片, 切片, 又是切片!前一篇文章讲的是切片, 今天遇到的神奇问题还是和切片有关, 具体怎么个神奇法, 我们来看看下面几个现象现象一a := "abc" bs := []byte(a) fmt.Println(bs, len(bs), cap(bs)) // 输出: [97 98 99] 3 8现象二a := "abc" bs := []byte(a) fmt.Println(len(bs), cap(bs)) // 输出: 3 32现象三bs := []by...阅读全文

Segmentfault 2020-09-21 11:32:35 新世界杂货铺

写在 Dubbo go 的第五年

作者 | 于雨 阿里巴巴云原生公众号后台回复“915”即可查看 dubbogo v1.5.1 项目管理图清晰大图! 引语 dubbogo 项目已进入第五个年头。 项目发展的前两年,我们把 hessian2 协议库、网络库和整体基础框架搭建一番。从 2018 年项目被 Dubbo 官方接纳开始,依托阿里平台,社区开始形成并快速发展。与社区同学们齐心合力之下,如今全面兼容 Dubbo v2.7.x 的 Dubbo-go v1.5.1 已经发布。 立项 一个项目整体必须提炼出核心目标,指明其存在的意义...阅读全文

51CTO博客 2020-09-16 14:30:51 阿里巴巴云原生

Golang标准库——bytes

bytes bytes包实现了操作[]byte的常用函数。本包的函数和strings包的函数相当类似。 Constants const MinRead = 512 MinRead是被Buffer.ReadFrom传递给Read调用的最小尺寸。只要该Buffer在保存内容之外有最少MinRead字节的余量,其ReadFrom方法就不会增加底层的缓冲。 Variables var ErrTooLarge = errors.New("bytes.Buffer: too large") 如果内存中不能申...阅读全文

简书 2020-09-17 01:32:37 DevilRoshan