Kubernetes-v1.19.3通过修改源码的方式完成CA根证书及普通证书续期(200年)

Kubernetes-v1.19.3通过修改源码的方式完成CA根证书及普通证书续期(200年) 1、检查原有集群的证书情况 检查集群证书情况 [root@kubernetes-master ~]# kubeadm alpha certs check-expiration [check-expiration] Reading configuration from the cluster... [check-expiration] FYI: You can look at this config f...阅读全文

简书 2020-12-12 10:32:46 freeok

基础配置篇:数据表和golang结构体关联和映射关系处理

上一节我们介绍了gorm的连接和配置,并且我们也在数据库中创建了 admins、article_data、articles、attachments、categories 五个表。但是我们还没有将它和golang结合在一起,我们的博客网站还不能从数据库读写数据。需要使用gorm来读写数据,我们还需要先给每个表定义一个模型(struct)。前面建立目录的时候,我们已经定义了数据库模型文件存放的目录 为model 文件夹。因此我们在model目录分别按表名称的单数形式创建对应的go文件,并定义对应的模...阅读全文

Segmentfault 2020-12-15 22:32:33 开发小程序的之朴

基础配置篇:扩展模板引擎功能,给模板引擎添加自定义函数

iris内置的模板引擎语言和标签,默认是不支持使用golang的函数的。但有时候,我们又需要在模板中处理一些变量。这个时候我们就需要手动给模板引擎添加自定义函数了。给模板引擎添加自定义函数的方法很简单,先是写好函数,然后将函数添加到模板引擎就可以了。下面我们以给模板添加一个时间格式化函数为例,说明给模板引擎添加函数的方法。我们先在bootstrap.go 中,添加下面的方法:func TimestampToDate(in int64, layout string) string { t := t...阅读全文

Segmentfault 2020-12-15 18:32:35 开发小程序的之朴

分布式事务框架 seata-golang 通信模型详解

作者 | 刘晓敏 于雨一、简介Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty ...阅读全文

Segmentfault 2020-12-15 14:32:35 阿里巴巴云原生

Go开发工程师:迎接上升风口,踏入蓝海行业!

​点击下载:Go开发工程师:迎接上升风口,踏入蓝海行业!Go开发工程师:迎接上升风口,踏入蓝海行业!适合零基础小白学习吗小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~课程中的项目是真的企业级/商业级项目么?同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,...阅读全文

Go语言中文网 2020-12-11 16:55:49 shoujiya

从mgo到mongo driver,更换支持mongo db的驱动

为什么要这么做?虽然mgo 十分好用且稳定, 但是由于mgo不再维护 不支持事务, 并且golang 推荐使用官方驱动 mongo driver. 所以更换成mongo driver.GitHub: https://github.com/mongodb/mo...Doc: https://godoc.org/go.mongodb....对比 mgo和 mongo driver使用上的区别因为偷懒 所有代码都忽略了错误处理。连接mgo:globalSession, err := := mgo.Di...阅读全文

Segmentfault 2020-12-15 09:32:33 为了煎鱼

一个小时学会用 Go 创建命令行工具

前言最近因为项目需要写了一段时间的 Go ,相对于 Java 来说语法简单同时又有着一些 Python 之类的语法糖,让人大呼”真香“。 但现阶段相对来说还是 Python 写的多一些,偶尔还得回炉写点 Java ;自然对 Go 也谈不上多熟悉。 于是便利用周末时间自己做个小项目来加深一些使用经验。于是我便想到了之前利用 Java 写的一个博客小工具。 那段时间正值微博图床大量图片禁止外链,导致许多个人博客中的图片都不能查看。这个工具可以将文章中的图片备份到本地,还能将图片直接替换到其他图床。 ...阅读全文

51CTO博客 2020-12-11 14:06:55 mb5fcdf3fd1fd25

你是程序员!2021年想做架构师?年底裁员你做好准备了?

为什么程序员一定要努力争取当架构师,现在弱肉强食的社会 时代都在变 我们程序员的技术也跟着时代换新,如果跟不上很有可能你就是下一个被淘汰的选手,现在跳槽的那么多,很多大厂的种子选手如果公司不涨薪,他们就不会错过每一年的金三银四,跳来跳去唯一的目的说白了就是涨工资争地位,母公司上有首席架构师占位很难上位,只有跳槽去争 利用自己的技术水平去争取 子公司的招聘岗位,所以在 IT行业 金三银四 每一年都是一场跳槽风波,但是你要跳槽涨薪,首先你得有技术吧,你没技术你跳个der 呀 对不对! 首先架构必须得...阅读全文

简书 2020-12-11 15:34:17 架构站点

什么时候使用指针?

大家好,我是离散。🌞 ​ 今天给大家分享一下什么时候适合使用指针。 image image copied from https://commons.wikimedia.org/wiki/File:Golang.png 指针是什么 我们经常会听到别人说Golang是值传递,某某某是引用传递,某某某是指针传递,等等各种各样的说法。 那么首先他们的区别是什么呢?什么是指针?指针其实也是一个变量,只不过这个变量里面存的不是int,float,struct,而是一个地址address,然后在这个addre...阅读全文

简书 2020-12-11 15:32:46 Lisanaaa

区分Protobuf 3中缺失值和默认值

来自公众号:新世界杂货铺这两天翻了翻以前的项目,发现不同项目中关于Protobuf 3缺失值和默认值的区分居然有好几种实现。今天笔者冷饭新炒,结合项目中的实现以及切身经验共总结出如下六种方案。增加标识字段众所周知,在Go中数字类型的默认值为0(这里仅以数字类型举例),这在某些场景下往往会引起一定的歧义。以is_show字段为例,如果没有该字段表示不更新DB中的数据,如果有该字段且值为0则表示更新DB中的数据为不可见,如果有该字段且值为1则表示更新DB中的数据为可见。上述场景中,实际要解决的问题是...阅读全文

Segmentfault 2020-12-14 22:32:37 新世界杂货铺

深入浅出 Gin 生命周期

本文首发于 深入浅出 Gin 生命周期 转载请注明出处。Gin 是一个用 Go (Golang) 编写的 web 框架,由于出色的性能优势而被广泛使用,这里我们就来分析下 Gin 的请求生命周期1 Gin 目录结构先来了解下其目录结构:. ├── binding 依据 HTTP 请求 Accept 解析响应数据格式 │ ├── binding.go │ ├── binding_nomsgpack.go │ ├── default_validator.go │ ├── form.go │ ├── ...阅读全文

Segmentfault 2020-12-14 08:32:34 柳公子

golang异步调度和抢占

1.2 goroutine支持异步抢占 Go语言调度器的性能随着版本迭代表现的越来越优异,我们来了解一下调度器使用的G-M-P模型。先是一些概念: G(Goroutine): goroutine,由关键字go创建 M(Machine): 在Go中称为Machine,可以理解为工作线程 P(Processor) : 处理器 P 是线程 M 和 Goroutine 之间的中间层(并不是CPU) M必须持有P才能执行G中的代码,P有自己本地的一个运行队列runq,由可运行的G组成,下图展示了 线程 M...阅读全文

简书 2020-12-11 10:32:41 哆啦在这A梦在哪

项目改用GoModules管理依赖的方法和经验总结

Go语言官方提供的依赖包管理工具已经发布很久了,有很多大佬的文章对Go Modules做了非常详尽的介绍,比如煎鱼大佬的: Go Modules终极入门(文章链接:https://juejin.cn/post/6844903433846145038)。今天的文章我想跟大家聊一下我们项目在从govendor迁移到Go Modules这个过程中总结的几点经验,如果你平时负责的项目早已开始使用Go Modules,这些内容可能对你来说有点小儿科。环境变量设置GO111MODULE这个环境变量是Go M...阅读全文

简书 2020-12-11 10:32:41 贺大伟

golang 格式化时间小结

golang 中经常需要格式化时间和日期来满足不同的业务需求,下面总结格式化时间日期中遇到的问题。golang time包 时间日期格式化定义go 的time package 提供了time.Format函数,用来对时间进行格式化输出;类似的还有time.Parse用来解析字符串类型的时间到time.Time。这是两个互逆的函数。下面看golang中time包对于时间的详细定义月份 1,01,Jan,January日 2,02,_2时 3,03,15,PM,pm,AM,am分 4,04秒 5,0...阅读全文

Segmentfault 2020-12-14 08:32:34 小谷xg

思路篇:我的博客可能需应用到的技术选择和整理

我们后端的主要技术是golang。然而,往往一个系统,都不是仅靠一个技术就能完整的实现的,要不就不用叫做系统了。既然我们是要做博客网站,自然网站的相关技术少不了。下面我们来捋一捋具体需要使用到的哪些技术。 html HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。 就是这个意思,我们的博客...阅读全文

简书 2020-12-11 09:32:41 Fesion

mac 下的 PyCharm 、goLang、IntelliJ 等永久破解

你是否还在为激活码总是过期而发愁,是否还在为了找不到新的破解方式而烦恼,看了这篇文章解决你们的烦恼和忧愁。永久破解!!! 首先下载jar包 链接:https://pan.baidu.com/s/1_M5NlrOqoFUf9nuo_Zh0qw 密码:g8fs 解压缩后把下面两个文件 放到要破解的idea的bin目录下 image.png image.png 加上最后一句话 -javaagent:jetbrains-agent.jar image.png 最后一定要重启idea,然后把jetbrai...阅读全文

简书 2020-12-11 09:32:41 王镇_ee87

拓展学习-golang的基础语法和常用开发工具

golang的基础语法 golang的基础语法和其他语言大部分都差别不大,如果我们有学习过其他语言,比如JavaScript,php,java,python等,有其他语言的语法基础,那么我们学习golang将更容易上手。那我们直接开始介绍golang的语法吧。 注释 注释分单行注释和多行注释。golang的注释和其他的开发语言的注释是一样的。双斜杠表示单行注释,/**/表示多行注释。 // 单行注释这么开头 /* 多行注释 */ 定义包名 一般来说,使用开发工具的时候,包名是不需要手动输入的,开...阅读全文

简书 2020-12-11 09:32:39 Fesion