Hi!请登陆

2020/4/22

学习Golang的HTTP中间件机制

因为 Golang 内置的 net/http 天生就支持 HTTP 中间件机制,所以即便不用 gin 之类的 Web 框架,我们也可以写出扩展性很好的 Web 应用。   假如你不了解 Golang 的 HTTP 中间件机制的话,那么可以把它看成是一…

  • 建站
  • 2020/4/22
  • 56
  • 2020/4/22

    记一次sftp故障

    同事在使用 sftp 连接服务器的时候出现错误信息:session is down,已经自行检查了服务器地址,端口,用户名,密码等种种可能出现低级失误的地方,结果找不到原因。   同事找到我时,开始我觉得仅凭直觉并不好…

  • 建站
  • 2020/4/22
  • 65
  • 2020/4/22

    如何实现一个定制的智能合约地址

    我学习智能合约的一个主要途径就是在 DappRadar 看各个热门应用的源代码,前些天我在看  dice2win 的时候发现一个有趣的现象:虽然它自从上线以来已经多次部署过智能合约,不过让人好奇的是这些地址有一个特点,都…

  • 建站
  • 2020/4/22
  • 63
  • 2020/4/21

    To panic or not to panic

    大家都知道 Golang 推荐的错误处理的方式是使用 error,这主要得益于 Golang 方法可以返回多个值,我们可以很自然的用最后一个值来表示是否有错误,这一点是其它很多编程语言所不具备的,不过这多少让那些习惯了 ex…

  • 建站
  • 2020/4/21
  • 61
  • 2020/4/21

    Python 2.7.18 最后一个版本发布 Python 2 时代结束

    今年 1 月 1 日的时候,Python 2.7 正式停止维护,但是实际上还遗留有一个版本 2.7.18 没发布。20 日,官方发布了最后的这一个版本,为 Python 2 划下圆满的句号。 注:Python 2.7 在 2019 年的最后一个版本是 10…

  • 建站
  • 2020/4/21
  • 101
  • 2020/4/21

    golang —rune与byte

    golang内置类型有rune类型和byte类型。 rune类型的底层类型是int32类型,而byte类型的底层类型是int8类型,这决定了rune能比byte表达更多的数。 在unicode中,一个中文占两个字节,utf-8中一个中文占三个字节,gola…

  • 建站
  • 2020/4/21
  • 87
  • 2020/4/21

    如何优化Golang中重复的错误处理

    Golang 错误处理最让人头疼的问题就是代码里充斥着「if err != nil」,它们破坏了代码的可读性,本文收集了几个例子,让大家明白如何优化此类问题。   让我们看看 Errors are values 中提到的一个 io.Writer …

  • 建站
  • 2020/4/21
  • 60
  • 2020/4/21

    Golang之Context的迷思

    对我而言,Golang 中的 Context 一直是谜一样的存在,如果你还不了解它,建议阅读「快速掌握 Golang context 包,简单示例」,本文主要讨论一些我曾经的疑问。   Context 到底是干什么的? 如果你从没接触过 G…

  • 建站
  • 2020/4/21
  • 82
  • 2020/4/21

    Go 语言十年而立,Go2 蓄势待发

    在21世纪的第一个十年,计算机在中国大陆才逐渐开始普及,高校的计算机相关专业也逐渐变得热门。当时学校主要以C/C++和Java语言学习为主,而这些语言大多是上个世纪90年代或更早诞生的,因此这些计算机领域的理论知…

  • 建站
  • 2020/4/21
  • 54
  • 2020/4/21

    golang fmt.Printf

    package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。 p := point{1, 2} …

  • 建站
  • 2020/4/21
  • 56
  • 2020/4/21

    在Golang的HTTP请求中共享数据

    首先,我们需要先明确一下问题的描述:本文所要讨论的共享数据可不是指的 cookie、session 之类的概念,它们描述的是在「请求间」共享数据,而我们关注的是在「请求中」共享数据,也就说是,在每个请求中的各个 mid…

  • 建站
  • 2020/4/21
  • 55
  • 2020/4/20

    在Go语言项目中使用Zap日志库

    本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档。 在Go语言项目中使用Uber-go的Zap Logger 介绍 在许多Go语言项目中,我…

  • 建站
  • 2020/4/20
  • 80