从某些方面来讲,这个代码算是比较标准为了实现“在规定的时间内完成相关功能”,同时“程序员水平不高”、“经过大量优化”之后,变地特别烂的。但是其中,程序员的水平和态度是最主要的,其他相对于而言都是次要的。 我要晨读

已有4246人晨读

大家好,自我介绍一下,目前我是腾讯云无服务器云函数产品负责人。我做了很多年后端开发。今天是从一个程序员角度讲解一下我们怎么样用Serverless架构。 我要晨读

已有2639人晨读

由于老板突然给我一个IBM的区块链课程网站,让我自学完IBM提供的区块链的两节课程,并完成fabric框架下的compose-playground这个区块链组件的单机搭建。这个单机搭建比较简单,IBM的课程有课后的这个组件相关的练习与文档,所以花了2天左右就完成了。然后老板就让我再次搭建多机集群的fabric,于是又折腾了半个月左右才完工。 我要晨读

已有2779人晨读

Ioc的思想就是解耦,只依赖容器而不依赖具体的类,当你的类有修改时,最多需要改动一下容器相关代码,业务代码并不受影响。 我要晨读

已有2966人晨读

golang处理系统调用的包为syscall,具体系统调用时通过汇编来实现 在类Unix系统中,使用以下4个方法进行系统调用(syscall_unix.go)。 我要晨读

已有2769人晨读

Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。这样做有什么意义呢? 我要晨读

已有2489人晨读

如果这两种修改一起做,就必须让 w.WriteHeader 在所有的 w.Header.Set 之后,因为 w.WriteHeader 后 Set Header 是无效的。 而且必须是在 w.Write([]byte("HelloWorld")) 之前,否则会报 http: multiple response.WriteHeader calls 因为其实调用w.Write的时候也会调用WriteHeader()方法,然后将w.wroteHeader置为true,再次调WriteHeader()则会判 我要晨读

已有3985人晨读

获取最近运行容器的id 这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu): 我要晨读

已有2364人晨读

map是Go语言中基础的数据结构,在日常的使用中经常被用到。但是它底层是如何实现的呢? Golang中map的底层实现是一个散列表,因此实现map的过程实际上就是实现散表的过程。在这个散列表中,主要出现的结构体有两个,一个叫hmap(a header for a go map),一个叫bmap(a bucket for a Go map,通常叫其bucket)。这两种结构的样子分别如下所示: 我要晨读

已有2452人晨读

"Go语言的面向对象机制与一般语言不同。 它没有类层次结构, 甚至可以说没有类; 仅仅通过组合( 而不是继承) 简单的对象来构建复杂的对象。" -- 《Go语言圣经》 我要晨读

已有2686人晨读

长久以来,我一直抓狂于 Go 标准库中的 Time 包,我的抓狂来自于两个功能,一是捕获两个不同时间段之间间隔的毫秒数,二是将一个用毫秒表示的连续时间段与预先定义的时间段进行比较。这听起来很简单,没错,确实如此,但它的确让我抓狂了。 我要晨读

已有4331人晨读

在 Go 编程语言中,值语义和指针语义的思想无处不在。如前面的文章所述,语义一致性对于完整性和可读性至关重要。它允许开发人员在代码持续不断增长时保持强大的代码库心理模型。它还有助于最大限度地减少错误,副作用和未知行为。 我要晨读

已有2524人晨读