【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-03 17:32:38 鸿乃江边鸟

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-03 17:32:38 Gabriel

WebAssembly初探

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

Segmentfault 2020-12-03 17:32:38 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-03 17:32:37 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-03 17:32:37 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-03 17:32:36 豆壳

我对数字货币的一些看法

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

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-03 17:32:36 书旅

每日一题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

M1芯片MacBook Pro/Air能兼容哪些软件?M1 mac软件兼容一览表

搭载M1处理器的MacBook已经陆续抵达用户手中,各种抢先测试体验也纷至沓来。就跑分来看,M1处理器可谓大放异彩,直接把酷睿i9-10910、i9-9980KH等斩落马下。在Final Cut Pro视频剪辑中,无论是4K还是8K的H.264/265视频,居然把iMac Pro(Intel十核+128GB内存+Vega 56 8G HBM显卡)虐了个遍。但是不少朋友却发现很多的旧软件在新的macbook上却用不了了,那么 M1 版 MacBook 到底能兼容什么软件?小编带来了 M1 版 Ma...阅读全文

简书 2020-12-02 23:32:40 xiaominzhou3

golang复用http.request.body

问题及场景业务当中有需要分发http.request.body的场景。比如微信回调消息只能指定一个地址,所以期望可以复制一份消息发给其他服务。由服务B和接收微信回调的服务A一起处理微信回调信息。本文将详细介绍golang复用http.request.body的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧解决思路最开始考虑的是直接转发http.request。使用ReverseProxy直接将http.request由服务A转发给服务B。但是微信涉及到验证等问题,完全调...阅读全文

简书 2020-12-02 23:32:39 也许会了

go安装教程

下载 官方个版本下载地址,需要翻墙:Downloads - The Go Programming Language (golang.org) Windows安装 一. 下载文件安装 目前最新稳定版本是go1.15,windows下载地址:go1.15.5 打开下载的文件,然后下一步、下一步,默认安装在C:\Go目录下,如需要可以安装的时候更改,也可以在重新打开命令程序安装。 确认已经安装好Go,cmd命令打开命令窗口,输入如下命令: $ go version 二. 使用scoop 安装 scoo...阅读全文

2020-12-02

最近工作态度不太好,经常摸鱼,比如vscode下载小霸王、在线小说插件,或者自己玩手机。从南京调到长沙后,至今已差不多半年了,工作的大方向不变,但是小方向不断变化,光部门调整就调动了3次。自己对后续的方向也比较迷茫,虽然心中想继续在公司发展,但是发展方向还是有待确定,另一方面,是否是自己最近半年来没有进行什么知识学习,虽然对golang语言进行了相对系统的学习,对于它的好处、语言特点有一定的特点,但是它的主要用处还是倾向于应用层或者云原生方面;说实在的我也对这个方面很感兴趣,但是对于跳槽有种畏惧...阅读全文

简书 2020-12-02 23:32:38 youyouxia263