网管叨bi叨

119 篇文章
24 人订阅

全部文章

KevinYan

Docker容器的"单进程模型"

刚开始学Docker的时候因为不知道Docker跟以前在VirtualBox里安的虚拟机还有Vargrant有啥区别,我都是习惯性的把开发环境里用的东西往单个容...

7020
KevinYan

YAML,另一种标记语言?不止是标记语言!

早先的文章《Kubernetes入门实践--部署运行Go项目》里我们使用YAML定义了Deployment对象,Kubernetes推荐的使用方式也是用一个YA...

7830
KevinYan

容器化Go应用--基础镜像的未知时区问题

用Go开发的应用程序的一个优势在于,可以从"零"开始构建应用的Docker镜像,镜像中仅需要包含Go应用程序编译后的二进制文件,不需要额外安装其他执行环境。这样...

3510
KevinYan

线上Go项目的Docker镜像应该怎么构建?

上期的文章:Kubernetes入门实践--部署运行Go项目发布后,有网友留言说我文章里演示的镜像是把项目文件和Go都打包到了镜像里,这样镜像的占用空间会比较大...

5710
KevinYan

容器和虚拟机到底有啥区别?

Docker这几年的迅猛发展让容器重新流行起来,不过但很多资料里介绍Docker时都说是 "新瓶装旧酒"。除了容器外虚拟机也是我们或多或少会接触到的虚拟化技术。...

4820
KevinYan

Kubernetes入门实践--部署运行Go项目

前面的几篇文章从概念层面介绍了Kubernetes是什么,它的内部架构是怎样的。并且也在电脑上安装了Minikube--拥有一个单节点的Kubernetes集群...

7720
KevinYan

你一定要了解的Kubernetes

随着容器技术的发展,Docker近几年突然崛起,变得炙手可热,已经成为容器技术的事实标准。然而想要在生成环境中成功部署和操作容器的关键是容器编排技术,市场上有各...

8310
KevinYan

Minikube-运行在笔记本上的Kubernetes集群

Minikube是一个可以在本地电脑上运行Kubernetes的工具。Minikube会在笔记本电脑中的虚拟机上运行一个单节点的Kubernetes集群,让用户...

7930
KevinYan

七张图了解Kubernetes内部的架构

Kubernetes是用于管理容器化应用程序集群的工具。在计算机领域中,此过程通常称为编排。

7110
KevinYan

原子操作和互斥锁的区别

这个系列的文章里介绍了很多并发编程里经常用到的技术,除了Context、计时器、互斥锁还有通道外还有一种技术--原子操作在一些同步算法中会被用到。今天的文章里我...

5920
KevinYan

上周并发题的解题思路以及介绍Go语言调度器

今天的文章我首先说一下上篇文章里的思考题的解决思路,我会给出完整可运行的代码。之后通过观察程序的运行结果里的现象简单介绍Go语言的调度器是如何对goroutin...

9330
KevinYan

Go并发编程里的数据竞争以及解决之道

Go语言以容易进行并发编程而闻名,但是如果稍不注意,并发程序可能导致的数据竞争问题(data race)就会经常出现在你编写的并发程序的待解决Bug列表中-- ...

9810
KevinYan

面试官让我用channel实现sync包里的同步锁,是不是故意为难我?

今天,我将深入探讨Go语言channel和select语句的表达能力。为了演示只用这两个原语就可以实现多少功能,我将从头开始用它们重写sync包。

10860
KevinYan

Golang 并发编程之同步原语

当提到并发编程、多线程编程时,我们往往都离不开『锁』这一概念,Go 语言作为一个原生支持用户态进程 Goroutine 的语言,也一定会为开发者提供这一功能,锁...

8450
KevinYan

Go语言sync包的应用详解

在并发编程中同步原语也就是我们通常说的锁的主要作用是保证多个线程或者 goroutine在访问同一片内存时不会出现混乱的问题。Go语言的sync包提供了常见的并...

8120
KevinYan

Go语言计时器的使用详解

Go语言的标准库里提供两种类型的计时器Timer和Ticker。Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后T...

8010
KevinYan

从PHPer到Gopher要经历的一些转变

学习一门新编程语言时,我们总会下意识地用自己熟悉语言类比着去理解新语言,甚至用原来语言的思维套路写新语言的程序。比如PHP里数组的长度是可以动态增长的,Go里面...

8720
KevinYan

Go Web编程--使用bcrpyt哈希用户密码

上一期的文章《我们应该如何保护用户的密码》里介绍了bcrypt相较于MD5,SHA-1…SHA-256等哈希算法更适合用于做密码的哈希,原因就是bcrypt算法...

11820
KevinYan

聊聊在Go语言里使用继承的翻车经历

Go不是面向对象的语言,但是使用组合、嵌套和接口可以支持代码的复用和多态。关于结构体嵌套:外层结构体类型通过匿名嵌套一个已命名的结构体类型后就可以获得匿名成员类...

11330
KevinYan

学会使用context取消goroutine执行的方法

Go语言里每一个并发的执行单元叫做goroutine,当一个用Go语言编写的程序启动时,其main函数在一个单独的goroutine中运行。main函数返回时,...

13030

扫码关注云+社区

领取腾讯云代金券