【go系列3】go 的包管理工具go modules的使用

背景 由于之前写k8s operator在引入go的包的时候,涉及到go的包管理工具,因为自己写java已经很多年,maven的包管理工具很是好用,便想到golang是否也有类似的工具, goer都知道go的包引入带上github.com类似的前缀,就会自动从go的第三方检索服务pkg.go.dev下载对应的文件,而该检索服务会定期从github更新最新的代码。 go mod 是golang 1.11版本引入的。相对于之前要么是没有包管理,要么是管理工具不好用 使用 查看golang的版本,确保...阅读全文

简书 2020-12-04 02:32:41 鸿乃江边鸟

免费送书啦!细数Github大神们的开源书籍![二]

计算机软件设计 1 《软件设计的哲学》 《软件设计的哲学》斯坦福教授、Tcl 语言发明者 John Ousterhout 的著作《A Philosophy of Software Design》,自出版以来,好评如潮。按照 IT 图书出版的惯例,如果冠名为“实践”,书中内容关注的是某项技术的细节和技巧;冠名为“艺术”,内容可能是记录一件优秀作品的设计过程和经验;而冠名为“哲学”,则是一些通用的原则和方法论,这些原则方法论串起来,能够形成一个体系。正如”知行合一”、“世界是由原子构成的”、“我思故...阅读全文

简书 2020-12-04 02:32:40 弗拉德x

【go系列3】go 的包管理工具go modules的使用

背景由于之前写k8s operator在引入go的包的时候,涉及到go的包管理工具,因为自己写java已经很多年,maven的包管理工具很是好用,便想到golang是否也有类似的工具, goer都知道go的包引入带上github.com类似的前缀,就会自动从go的第三方检索服务pkg.go.dev下载对应的文件,而该检索服务会定期从github更新最新的代码。 go mod 是golang 1.11版本引入的。相对于之前要么是没有包管理,要么是管理工具不好用使用查看golang的版本,确保在1....阅读全文

Segmentfault 2020-12-06 17:32:34 鸿乃江边鸟

Loki被限流了,Limits_Config到底限了个啥?

road-690347_1920.jpg Loki中拥有这众多的limit策略,有的已经开放到配置文件中,还有的配置代码中已经实现但还没开放出来。大部分情况下开发者给了出一些默认参数足够优秀,不过有的时候我们也不免需要微调。那么小白这次先简单捡几个比较重要的策略来说明下Limits_Config中到底限制了什么。 1. 限流器 小白前段时间无意间重启升级了下Loki的服务,由于过程持续了一段时间,当服务恢复时客户端在push日志时总是会收到如下的报错, image.png 429 Too Man...阅读全文

简书 2020-12-03 16:38:58 云原生小白

两年经验拿到蚂蚁/头条 Offer(面经分享)

分享一篇面经,作者拿到了 PingCAP,今日头条的 offer 以及蚂蚁金服的口头 offer。下面是该作者的经验分享: 准备过程 我自己是本科毕业后在老东家干了两年多,老东家算是一家”小公司”(毕竟这年头没有 BAT 或 TMD 的 title 都不好意思报出身),毕业这两年多我也没有在大厂待过,因此找坑的时候是非常非常虚的。迫于心慌,我好好思考了一阵来给自己打气,当时真正找坑和准备面试的过程大概分为这几个阶段: 反思:自己是不是真的要离职,假如不离职,在老东家接下来应该做什么才能继续提升?...阅读全文

简书 2020-12-03 16:33:42 乐学小乐

Python:大神用的贼溜的实用技巧分享

整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作。但是如果问题很复杂,可能有更好的方法来解决:user_input = "This string has some whitespaces... " character_map = { ord( ) : , ord( ) : , ord( ) : None } user_input.translate(character_map) # This s...阅读全文

简书 2020-12-03 16:33:42 葡萄_ac1c

GO的第二天学习-方法声明

这章看着有点懵懵的!!!!定义在函数声明时,在其名字之前放上一个变量,即是一个方法。这个附加的参数会将该函数附加到这种类型上,即相当于为这种类型定义一个独占的方法package geometry import "math" type Point struct {X,Y float64} func Distance(p,q Point) float64 { return math.Hypot(q.X-p.X,q.Y-p.Y) } func (p Point) Distance(q Point) f...阅读全文

Segmentfault 2020-12-06 11:32:32 Gabriel

WebAssembly初探

本次分享的文章是基于WebAssembly的探索与研究。最近需要做一个与加密相关的项目,想将后端的加密方案直接放到前端使用,好处是加密方案代码只用维护一套,且后端方案更贴近系统底层,应该可以得到更好的性能。恰好发现 WebAssembly ,它是为了可移植的目标而设计的,可以满足需求。这次研究 WebAssembly的过程中遇到了各种问题,我均记录下来,并在后期可以和大家一起分享,文末放置了参考的文章,大家可以延伸阅读。这篇文章是本系列的第一部分,主要是了解WebAssembly和WebAsse...阅读全文

Segmentfault 2020-12-05 21:32:33 Netwarps

GO的第二天学习-结构体

定义结构体是一种聚合的数据类型,由零个或多个任意类型的值聚合成的实体。 type Employee struct { ID int Name string Address string DoB time.time Position string Salary int ManagerId int } var dilbert Employee // 成员的赋值 dilbert.Salary -= 50900 postion := &dilbert.Position // 对成员取指针,然后通过指针访...阅读全文

Segmentfault 2020-12-05 17:32:34 Gabriel

GO的第二天学习-MAP

MAP的定义(在使用之前必须先创建)哈希表是一种数据结构。它是一个无序的key/value对的集合,其中有的key都是 不同的,然后通过给定的key可以在常数时间复杂度内检索、更新和删除对应的value 在GO语言中,一个map就是一个哈希表的引用,map类型可以写为map[key]value。 map中所有的key都有相同的类型,value也有着相同的类型,key和value可以是不同 的类型 ages := make(map[string]int) //mapping from string...阅读全文

Segmentfault 2020-12-05 14:32:32 Gabriel

Casbin-forum:开源高仿V2EX轻论坛!

Casbin-Forum:https://github.com/casbin/casbin-forum由 Casbin 开源社区打造的高仿 V2EX 轻论坛,比 v2ex 官方功能更加强大:支持 PC + 移动端;支持 MySQL、PostgreSQL、SQL Server 等 10 多种数据库;包含手机号验证码、邮箱、QQ、微信扫码、GitHub、Google 注册、登录;支持后台管理页面(可管理 Tab、节点、帖子、用户等);支持 @ 消息提醒 + 邮件提醒;支持管理员删帖、修改帖子内容;支...阅读全文

Segmentfault 2020-12-05 09:32:33 豆壳

我对数字货币的一些看法

比特币是第一代开源数字货币,他是如何被社会认可的呢?它又为社会提供了什么样的价值呢?接下来说说我的个人看法。首先,比特币是一种通缩型货币,每四年减半一次。在它定义的经济模型中,比特币是一个价值会持续增长的货币,是一个比较理想化的投资理财产品。为什么这么说呢?首先我们简单分析一下银行的利率和货币的通货膨胀率,从事实看,银行的利率远远小于货币本身的通货膨胀率,这就意味着,把赚的钱存银行是一项不明智的选择,存的越久,货币贬值的越厉害,所以银行在生活中只起到一个货币临时存放的作用,要长期保存货币,并且保...阅读全文

Go语言中文网 2020-12-03 13:22:20 washduck

一日一技:在 Golang 中如何快速判断字符串是否在一个数组中

一日一技:在 Golang 中如何快速判断字符串是否在一个数组中 摄影:产品经理继续跟产品经理吃大餐在使用 Python 的时候,如果要判断一个字符串是否在另一个包含字符串的列表中,可以使用in 关键词,例如: name_list = ['pm', 'kingname', '青南'] if 'kingname' in name_list: print('kingname 在列表里面') 但是,Golang 是没有in这个关键词的,所以如果要判断一个字符串数组中是否包含一个特定的字符串,就需要一个...阅读全文

51CTO博客 2020-12-02 14:02:15 未闻Code

数据结构与算法系列之跳表(GO)

详细了解跳表前边的一篇文章中分享了二分查找算法,里边有说到二分查找算法依赖数组的随机访问特性,只能用数组来实现。如果数据存储在链表中就没法用二分查找算法了本篇文章分享的「跳表」,可以实现类似二分的查找算法,时间复杂度也是「O(logn)」假设有一个有序的单链表,如果想从该链表中查找某一个数据,只能从头到尾的遍历查找,它的时间复杂度是O(n)。如何提高查找的效率?假设我像下图这样,在原来的单链表上增加一级索引,每两个节点取一个结点到「索引层」。其中down为指向下一级节点的指针 假设现在需要查找【...阅读全文

Segmentfault 2020-12-04 23:32:32 书旅

每日一题20201202(217. 存在重复元素)

217. 存在重复元素 image-20201202135946680 思路 首先,要确定一个元素是否出现多次,那么肯定O(n)的复杂度是少不了的,因为肯定需要一次遍历. 一次遍历的话,还需要记住每个数字出现的次数,所以可以考虑用hash表记录数字出现的数字。 看了题解也没有更好的解法了,暴力法更是O(n²)的复杂度,还有一种排序后遍历,复杂度也很高。 golang解法 func containsDuplicate(nums []int) bool { hash := make(map[int]...阅读全文

简书 2020-12-02 23:32:41 小克klose