Go学习笔记(十)老项目迁移 go module 大型灾难记录
最近在改造一个比较早期的一个项目,其中就涉及到用将原来 Vendor 管理依赖换成 Go Modules 来管理。 然而过程真是一波三折,在这里总结一下此次 Go Modules 改造中遇到的问题,以及解决方法。 ...
最近在改造一个比较早期的一个项目,其中就涉及到用将原来 Vendor 管理依赖换成 Go Modules 来管理。 然而过程真是一波三折,在这里总结一下此次 Go Modules 改造中遇到的问题,以及解决方法。 ...
前段时间买了个 Inter NUC (NUC10i5FNH6), 主要用来在家里搬砖。体验了一段时间 win10, 虽然配置了 WSL2, 但开发体验实在糟糕,在考虑过 Ubuntu 和黑苹果后,还是选择了 Ubuntu, 毕竟用习惯了白苹果,突然用个黑苹果,不能随意升级,还有接一个 USB WiFi ,还担心驱动问题。。。 NUC 用了一段时间,还是有点卡,CPU跟不上。 最后还是组装了一台台式主机,将原来的系统盘查上去直接就可使用,爽到飞起。 至于NUC就当服务器用了。 毕竟头一次想把 Ubuntu 当作生产力,记录一下折腾过程。 ...
全文基于GO 1.14 计时器在定时执行一些任务时很有用。Go内部依靠调度器来管理创建的计时器。而Go的调度程序是协作式的调度方式,这会让整个调度看起来比较复杂,因为goroutune必须自己停止(依赖channel阻塞或system call), 或者由调度器自己在某个调度点暂停。 ...
在团队协作时,由于个人编码习惯的差异,导致代码格式,风格都会有所不同,这就给代码审核带来一定的困难,更严重的是会导致整体的代码质量不可控。这时,我们有必要借助一些工具来约束我们的代码格式。在Go中,我们经常使用的工具有: ...
RESRful API已经流行很多年了,我也一直在使用它。最佳实践也看过不少,但当一个项目完成,再次回顾/梳理项目时,会发现很多API和规范还是多少有些出入。在这篇文章中,我们结合Go Web再次梳理一下RESTful API的相关最佳实践。 ...
用Go去调用一些外部的命令其实很愉快的,这遍文章就总结一下我自己日常用的比较多的几种方法。 ...
有时候为了更好的兼容Windows, 或者我们为了获得更高级别功能的访问权限(如配置或创建JobObjects或安全令牌等),我们需要直接去调用Windows的系统API。 很幸运,我们可以利用syscall包与系统直接通信,不用用到CGO 。 然而,也有不方便的地方,如大多数的API,我们需要依赖不安全 (unsafe)的内存管理。 这篇文章,主要记录了我在平时开发过程中以及网上收集到的一些关于Windows API调用相关的知识,或者开发模式,方便你遇到类似的情况后,能更快入手。 ...
OAuth 2.0是一个关于授权的开放网络标准,主要致力于简化客户端人员开发,同时为Web应用程序、桌面应用程序、移动电话和物联网设备提供特定的授权规范。他的官网在这里。在RFC6749中有明确协议规范。 简单来说,我们平时使用的很多第三方登录并获取头像等信息就是用的OAuth 2.0。如我们用QQ登录一些论坛,用google账号登陆facebook,用github账号登陆gitlab等。如下图展示的就是利用QQ登录网易云音乐Web版,其中用到的就是OAuth 2.0。 ...
相信很多程序猿和我一样不喜欢写API文档。写代码多舒服,写文档不仅要花费大量的时间,有时候还不能做到面面具全。但API文档是必不可少的,相信其重要性就不用我说了,一份含糊的文档甚至能让前后端人员打起来。 而今天这篇博客介绍的swaggo就是让你只需要专注于代码就可以生成完美API文档的工具。废话说的有点多,我们直接看文章。 ...
在Coding的时候,难免会有一些重复的代码或者形式相似的代码,在写这些代码的时候,你会觉得索然无味,甚至有点讨厌。这时候,你就会想,这段代码是否可以抽象成一个通用的片段,我简单敲几个快捷键就出来了呢。这也就代码片段所解决的问题。 ...