让我们一起啃算法----盛最多水的容器

盛最多水的容器(Container-With-Most-Water) 题干如下: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 ...阅读全文

Segmentfault 2020-04-29 10:32:35 三斤和他的朋友们

Go语言 2019 调查报告发布

Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告]。本次调查收到的回复达到 10,975 份,约为去年的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众特征与 Stack Overflow 的受访者相似,因此这些结果在某种程度上可以代表更广泛的 Go 开发人员。 大多数受访者每天都要用到 Go 语言,并且该数字在逐年上升。 Go 的使用仍集中在技术公司,但它同时也被用于越来越多的行业,例如金融和媒体。 G...阅读全文

Segmentfault 2020-04-29 09:32:37 阿俊

Go 语言 2019 调查报告发布

Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告]。本次调查收到的回复达到 10,975 份,约为去年的两倍。 这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众特征与 Stack Overflow 的受访者相似,因此这些结果在某种程度上可以代表更广泛的 Go 开发人员。 大多数受访者每天都要用到 Go 语言,并且该数字在逐年上升。 Go 的使用仍集中在技术公司,但它同时也被用于越来越多的行业,例如金融和媒体。 G...阅读全文

Segmentfault 2020-04-29 09:32:36 阿俊

Vscode中Go tools更新失败的解决方法

问题描述 Go开发依赖一些工具如gocode, gofmt。由于网络问题,vscode自动安装tools会失败。 网上提供了一些解决方法:到github上下载tools包,再手动安装。但是笔者今天按照这个方法尝试,发现依然失败。浪费了很多时间终于找到一个方法. 方法 简单来说就是找代理。先安装好Go,再到https://goproxy.cn/这里,按照上面的步骤配置好环境变量。 然后打开Vscode,点击左下角的齿轮--> setting --> 选择Go: Use Go Proxy To Ch...阅读全文

Segmentfault 2020-04-29 09:32:38 Tsukami

golang 创建属于自己的库

在日常开发,我们都会用到别人写的第三方库,那么我们也可以把自己写的代码发布到github给别人使用 首先要新建一个人仓库,命名叫goutil,使用public(私有仓库不能被别人见到哦!) 然后clone到本地 git clone https://github.com/startdusk/goutil.git 这里我们使用go mod管理go代码依赖,进入到goutil目录下,执行 go mod init github.com/startdusk/goutil # 使用和github.com上的...阅读全文

简书 2020-04-26 21:32:51 顶尖少爷

【200426】字节跳动大量岗位释放,欢迎找我内推,base 北京/深圳

职位描述 1、服务于字节跳动核心广告系统,负责广告商业变现基础平台研发工作; 2、设计并维护广告投放平台,优化改进微服务系统薄弱点,解决数据隔离、系统解耦等技术难题; 3、对接抖音、头条、西瓜、抖音火山版等当红APP的广告投放; 4、深入理解广告投放流程,了解上下游投放链路和投放策略,参与现有投放链路和策略优化,助力平台营收; 5、提供百亿级广告基础数据服务,完成大规模、高可用的广告系统搭建。 职位要求 1、熟悉python、php、c++、java、golang 等中至少一门语言 ),具备良好...阅读全文

简书 2020-04-26 21:32:51 林湾村龙猫

go-micro+gin+consul微服务实战之服务注册与发现

在构建微服务时,使用服务发现可以减少配置的复杂性,本文以go-micro为微服务框架,使用consul作为服务发现服务,使用gin开发golang服务。 使用gin 的原因是gin能够很好的和go-micro进行集成。 本文主要介绍服务注册和发现的实现 关于如何搭建consul服务可以移步:https://www.jianshu.com/p/271d490929a5 本文默认以搭建好了consul服务,服务的地址是:192.168.109.131:8500 如果你搭建好了自己的consul服务,...阅读全文

简书 2020-04-26 21:32:50 技术修仙

微服务开发注意事项

认识到微服务开发的复杂性 本地开发要有一个好的开发机器,糟糕的开发机器将会导致糟糕的开发实践 确保所有服务都使用构建工具,能在一台新机器上构建整个应用程序,而不需要进行太多配置,让开发人员能轻松地在本地运行应用程序的各个部分 使用Kubernetes,利用Telepresence以便轻松调试 Kubernetes 集群中的应用程序 如果对微服务开发的复杂性缺乏理解,那么团队速度将会随着时间的推移而下降 及时将库和工具更新到最新版 所有服务的依赖项版本保持同步,为依赖升级创建技术债务项,并应作为会...阅读全文

简书 2020-04-26 21:32:48 wmtcore

Golang 同一个包下的不同文件的方法调用

这里记录下我踩的坑,感觉有点奇怪,因为之前写python的时候完全不用担心这些! 1 下载IDEA- Goland之后,GOROOT设置的是 Go下载的路径,我下载后放在了C盘:C:/Go 而GOPATH的路径就是你项目代码的路径,可以放多个路径,中间用 ; 隔开! 2 Goland用go build可执行文件的方式编译好代码,有3种方式运行,从小到大列举: File, Package, Directory 。 File只能运行单独一个文件的代码,而package能把多个文件链接起来运行,Dir...阅读全文

简书 2020-04-26 21:32:48 想暗算我窗户都没有

Hyperledger fabric 1.4 安装步骤

本文以Ubuntu Linux 环境为例子 分析安装步骤:(参考:https://www.cnblogs.com/cbkj-xd/p/11067790.html,https://www.cnblogs.com/zongmin/p/11635686.html)一 、安装依赖工具1.1 安装 git安装 git 工具使用如下命令:$ sudo apt install git1.2 安装 cURL安装 cURL 使用如下命令:$ sudo apt install curl1.3 安装 Docker 查...阅读全文

简书 2020-04-26 21:32:45 逍遥_9985

rocksdb使用说明

一、概述 1. RocksDB是FaceBook的kv开源组件,使用C++进行开发,因此需要配置C++依赖的配置。而RocksDB需要手工编译和连接。 2. gorocksdb是rocksdb的Go包装器,即通过cgo的方式使用rocksdb。 3. 本文主要介绍的是linux环境下golang如何使用rocksdb。 二、环境配置 Devclound开机机,tlinux集成环境 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) go version go1....阅读全文

简书 2020-04-26 21:32:45 henkgo

2020 区块链 golang 版本(5)

封面 协议 如果发行数字货币也采用中心机构以发行传统货币的方式来发行数字货币,可能会存在哪些问题。其中一个最大问题就是双花问题,也就是用户通过复制数字货币(文件)形式进行多次支付。术语上称为花两次攻击(double spending attack)。要解决双花问题,可以由中心结构对数字货币加编码,中央结构需要维护一张表来记录每一个数字货币的去向,也就是每张货币的所有者。这样做势必带来繁重工作,如果采用去中心化的比特币来通过挖矿来实现对发币的控制。 通过维护数据结构记录并查询每一个数字货币的去向,...阅读全文

简书 2020-04-26 21:32:45 zidea

Go gRPC进阶-gRPC转换HTTP(十)

### 前言 我们通常把`RPC`用作内部通信,而使用`Restful Api`进行外部通信。为了避免写两套应用,我们使用[grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway)把`gRPC`转成`HTTP`。服务接收到`HTTP`请求后,`grpc-gateway`把它转成`gRPC`进行处理,然后以`JSON`形式返回数据。本篇代码以上篇为基础,最终转成的`Restful Api`支持`bearer token`验证、数据...阅读全文

Go语言中文网 2020-04-26 20:45:40 939496716

码极系列 | Jump Jump & Reborn

Jump Jump & Reborn 嘿!好久没更新码极系列了,从这次分享开始,后续还会有若干篇码极系列的分享会和大家见面! 今天为大家带来两个我自己开发的开源项目,我绝对不是来骗 star 的! Jump Jump 开箱即用,Go 语言开发的一个功能完善的短链接系统。 开源地址 Github | 码云 很高兴被码云评为推荐项目,虽然现在只有可怜的几十个 star。 近期 Jump Jump 已经经过一次重写,现在已更新到 v1.1.1 版本,v1.2.0 也正在慢慢开发当中。 你可以通过点击这...阅读全文

掘金 2020年04月26日 安木鸡

Spring boot集成Go-FastDFS实现图片上传删除等功能

一.背景工作中接触到需要采集并管理大量图片的需求,本来是用的FastDFS,但是发现实际情况是在项目实施时难以找到linux服务器去安装FastDFS,所以经过调研,选择了可以在windows服务器上安装部署的Go-FastDFS文件服务器二.Go-FastDFS简介go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。三.安装Go-FastDFS文件服务器1)下载地址:ht...阅读全文

51CTO博客 2020-04-26 11:05:52 墨营

Go 语言 2019 调查报告发布(内含 Go 语言图谱下载)

<关注公众号,回复 Go 即可下载清晰知识图谱> 对 Go 语言感兴趣但又不知从何学起的同学,可以参考一下 Go 语言系列文章: 为什么你要选择 Go? Go 面向失败编程 带着服务器编程金刚经走进 2020 年 敢问路在何方? Go 官方博客近日公布了 2019 年 Go 语言调查报告。本次调查收到的回复达到 10,975 份,约为去年的两倍。这些受访者的反馈意见将被选取用于改进 Go 语言的发展。 以下是 2019 年度的调查报告摘要: 此调查中,受访者的受众特征与 Stack Overfl...阅读全文

51CTO博客 2020-04-26 10:12:15 阿里系统软件技术

防止缓存击穿工具 singlefight 解读

缓存击穿 缓存击穿是指当缓存中的一个key过期时,对此数据的大量并发请求在缓存未重新生成时,会请求到数据库上。导致数据库的崩溃。 解决方案 大量并发请求的都是一个数据,只需要一个请求到达数据库然后设置缓存即可。所以需要控制其他请求等缓存生成之后再继续进行。 singleflight singleflight是groupCache中的一个工具。它的作用是: Package singleflight provides a duplicate function call suppression mec...阅读全文

Segmentfault 2020-04-29 07:32:33 Hello