Go语言中文网 为您找到相关结果 623

算法:时间复杂度+二分查找法(Java/Go/Python)实现

导读 曾几何时学好数据结构与算法是我们从事计算机相关工作的基本前提,然而现在很多程序员从事的工作都是在用高级程序设计语言(如Java)开发业务代码,久而久之,对于数据结构和算法就变得有些陌生了,由于长年累月的码砖的缘故,导致我们都快没有这方面的意识了,虽然这种论断对于一些平时特别注重学习和思考的人来说不太适用,但的确是有这样的一个现象。 而在要出去面试找工作的时候,才发现这些基础都快忘光光了,所以可能就“杯具”了!实际上,对于数据结构和算法相关的知识点的学习,是程序员必须修炼的一门内功,而要掌握得比较牢靠除了需要在写代码的时候时刻保持这方面的意识外,也需要日常的训练,换一个目前比较流行的词叫刻意练习。 这就像打乒乓球一样,虽然大家都会打,但是要打得好,打出水准就得经常训练。而学习算法的过程也...阅读全文

博文 2020-02-03 23:33:10 wx5d9ed7c8443c3

云原生(Cloud Native)- 移动App研发新范式

什么是云原生(Cloud Native)App 云原生的话题近期异常火热,对于它的概念,大家也有不同的解读。从我个人的视角而言,云原生代表了一种应用构建的方法论:如何最大程度地利用云计算服务模型的优势低成本、快速地构建一款弹性的应用。本质上而言,云原生的研发模型旨在降低业务的技术风险,让开发者的形态更单纯、专注: 所有的运行环境透明化,按需扩展; 所有的研发流程流水化,高效交付; 所有的基础设施服务化,按量付费; image1 云原生应用 我们通常意义下的云原生应用意指传统的后端应用,Container、Microservice、DevOps构成了云原生研发架构的铁三角。对于移动App这类呈现重前端轻后端形态的产品而言,云原生有另一种诠释方式。移动App对比传统的后端应用研...阅读全文

Go 中的一些问题

go 语言中的分段栈和连续栈 go并发模式管道和取消,主要讲解channel,非常好,首先会好好地研究一下 go tips在做什么 go 中的package ‘os’ go 中的 package ‘syscall’ 计算机软件中,只有读真正的代码,才会得到真正的理解,否则是永远不会理解的。看书就看经典书,看代码就看经典的代码, 写代码就要重构,就要不停地检查,这样子才是永恒的进步之道。 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

博文 2016-04-18 20:00:06 xiaorenwuzyh

GO语言学习--tcp服务器、客户机的通信

一、服务器设计 1. 注册端口; 2. 监听端口 —— ListenTCP( ); 3. 接收请求 —— Accept( ); 4. 接收数据 或 发送数据 —— Read( ) 或 Write( ); 二、客户端设计 1. 获取地址; 2. 发送请求; 3. 接收数据 或 发送数据 —— Read( ) 或 Write( ); 4. 关闭连接 —— Close( )...阅读全文

Kubernetes的Device Plugin设计解读

摘要: Kubernetes的生态地位已经确立,可扩展性将是其发力的主战场。异构计算作为非常重要的新战场,Kubernetes非常重视。而异构计算需要强大的计算力和高性能网络,需要提供一种统一的方式与GPU、FPGA、NIC、InfiniBand等高性能硬件集成。 **点此查看原文:http://click.aliyun.com/m/43607/** **Kubernetes的Device Plugin设计解读** 最近在调研Kubernetes的GPU调度和运行机制,发现传统的`alpha.kubernetes.io/nvidia-gpu`即将在1.11版本中下线,和GPU相关的调度和部署的代码将彻底从主干代码中移除。 取而代之的是通过[Extended Reso...阅读全文

利用golang优雅的实现单实例

平时编写代码过程中,经常会遇到对于全局角度只需运行一次的代码,比如全局初始化操作,设计模式中的单例模式。针对单例模式,java中又出现了饿汉模式、懒汉模式,再配合synchronized同步关键字来实现。其目的无非就是将对象只初始化一次,而且最好保证在用到的时候再进行初始化,以避免初始化太早浪费资源,或者两次初始化破坏单例模式的实例唯一性。 Go语言的sync包中提供了一个Once类型来保证全局的唯一性操作,其通过Do(f func())方法来实现,即使** f** 函数发生变化,其也不会被执行,下面我们来看一个小例子: package main import ( "fmt" "sync" "time" ) var once sync.Once func main() { //once循环调...阅读全文

博文 2019-10-18 01:32:50 aside section ._1OhGeD

字节跳动广告平台实习 & 应届生招聘JD

后台开发实习生(可转正) - 核心广告系统职位描述1、广告团队是公司核心团队,负责商业变现,为公司年度收入目标而奋斗; 2、负责字节跳动广告系统,代理商系统, 审核系统等平台开发; 3、完善对内对外广告API的实现; 4、表现优秀有转正机会。职位要求1、计算机相关专业,本科及以上学历,硕士生优先; 2、良好的算法、数据结构基础,熟悉计算机操作系统、网络、数据库等课程,至少熟悉一门编程语言; 3、要求有后台开发的实习/项目经验,热爱后台技术,熟悉mysql,memcache,redis,消息队列等常用WEB组件者优先; 4、有大规模系统开发经验者优先,熟悉计算广告,或者有相关开发经验者优先。前端开发实习生(可转正) - 核心广告系统职位描述1、广告团队是公司核心团队,负责商业变现,为公司年度收...阅读全文

博文 2019-03-22 18:34:43 sumy_gao

利用procedure批量插入数据

正文   要求在页面查询到5000条数据,为了方便插入,准备用shell脚本写curl命令调用自己写的代码接口,但是速度慢,而且写的时候遇到点儿小问题,故用sql语句写了这个功能  由于operationlog表中的ts字段为13位的时间戳,所以采用了截取的方式。 DROP TABLE IF EXISTS `operationlog`; CREATE TABLE `operationlog` ( `sn` int(11) NOT NULL AUTO_INCREMENT, `opl` varchar(8) NOT NULL, `src` varchar(32) NOT NULL, `pid` varchar(32) DEFAULT NULL, `ts` varchar(13) NOT NULL...阅读全文

博文 2019-10-16 11:02:44 小碗汤

yum源配置

在配置yum前首先得说说rpm,在redhat和centos linux系统上,rpm作为软件包管理工具,可以方便的安装、查询、卸载软件包。常见命令如下: #安装: rpm -ivh jdk-7u25-linux-x64.rpm #卸载: rpm -e jdk-7u25-linux-x64.rpm #升级: rpm -Uvh jdk-7u25-linux-x64.rpm #查询软件的安装路径: rpm -ql yum-3.4.3-118.el7.noarch #查询所有安装的包: rpm -qa #查询某个文件是哪个rpm包产生: rpm -qf /var/lib/yum/yumdb 但是在多个包组成的rpm包用rpm命令安装时,其依赖包问题是超级繁琐的。 yum是redhat和centos...阅读全文

博文 2019-10-20 12:02:44 小碗汤

用了30天整理的一些GO语言学习资料,2019请你加油

因为极其优秀的并发性能,Google的亲儿子Go语言站上了风潮之巅。出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发,不得不说,Golang早已深入人心。而对于一个没有历史负担的新项目,Golang或许就是个不二的选择。抛开已经被讲烂了的语言特性,学习一门新语言,特别一门刚刚被业界认可、接受并被广泛使用的新语言,对于每一个技术人都是一个很好的机会:说不定你就因此站上风口,成为什么GO语言布道师了呢?从年初开始,我一直在研究Go语言的入门学习,整理了一些资料,分享给大家。1.官方文档https://golang.google.cn/doc/第一个当然首推...阅读全文

博文 2019-06-29 01:32:41 Linux小小咖

兄弟连区块链技术培训分享Go语言之defer的执行

互联网二十多年,已到十字路口。区块链出现前的互联网被称为古典互联网,而应用区块链技术的互联网才进入了后互联网时代。作为一项新兴的技术,区块链无疑正处于风口浪尖之上,其发展前景于普通大众而言也终将是利好。但目前由于区块链技术处于发展早期阶段,存在技术成熟度、落地应用场景有限等问题,兄弟连教育建议用户在选择专业Go语言+区块链培训机构前应进行仔细考量与辨别。golang中defer的执行大家都知道golang的defer关键字,它可以在函数返回前执行一些操作,最常用的就是打开一个资源(例如一个文件、数据库连接等)时就用defer延迟关闭改资源,以免引起内存泄漏。例如:func do() (ok bool) { file,_ := os.Open("c:\a.txt") defer file.Cl...阅读全文

博文 2018-08-27 15:35:22 兄弟连区块链培训

[北京] [滴滴云] 招聘Golang高级后端研发工程师

>职位描述 ###### 参与滴滴基础架构业务系统的设计、研发工作,提升滴滴产品稳定性; ###### 有良好的拆解需求,分析问题能力; ###### 进行相关产品的技术文档编写,方案设计; ###### 学习研究业界先进技术,保持技术进步。 >任职要求 ###### 本科及以上学历,计算机相关专业,两年以上服务端研发经验; ###### 深入理解计算机原理,有扎实的数据结构和算法基础; ###### 深入理解linux系统及其原理,熟悉TCP/IP、HTTP协议以及网络编程; ###### 良好的编码和文档习惯,对代码美感的追求孜孜不倦,并能持续的关注和优化自己做的项目; ###### 精通Go/C/C++/Python等至少一...阅读全文

以太坊源码分析—交易的执行

前言 以太坊是一个运行智能合约的平台,被称作可编程的区块链,允许用户将编写的智能合约部署在区块链上运行。而运行合约的主体便是以太坊虚拟机(EVM) 区块 交易 合约 区块链由区块(Block)组成,而区块中打包一定数量的交易(Transaction),交易可能是一个单纯的转账操作,也可能是调用一个智能合约,无论是哪一种,EVM在运行(excute)交易时都会创建合约(Contract) 外部账户 合约账户 以太坊中的账户有两类 外部账户 由账户持有人的私钥控制的真实存在的账户 合约账户 由合约代码控制,保存着合约代码 一笔交易包含发送方(sender) 接收方(recipient) 和数额(value) 三要素。发送方将一定数额的ETH转移到接收方的账户,这里的转账交易中,接收方是外部账户。...阅读全文

博文 2018-11-13 19:34:39 187J3X1

异构计算助力客户春节webp图片编码

摘要: 背景与挑战 技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。 **背景与挑战** 科技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空...阅读全文

浅谈分布式计算的开发与实现(一)

## 介绍 分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号(外星文明),淘宝双十一实时计算各地区的消费习惯等。 海量计算最开始的方案是提高单机计算性能,如大型机,后来由于数据的爆发式增长、单机性能却跟不上,才有分布式计算这种妥协方案。 因为计算一旦拆分,问题会变得非常复杂,像一致性、数据完整、通信、容灾、任务调度等问题也都来了。 举个例子,产品要求从数据库中100G的用户购买数据,分析出各地域的消费习惯金额等。 如果没什么时间要求,程序员小明就写个对应的业务处理服务程序,部署到服务器上,让它慢慢跑就是了,小明预计10个小时能处理完。 后面产品嫌太慢,让小明想办法加快到...阅读全文

博文 2019-09-05 15:46:22 Java_the_one

shell脚本批量调用接口

正文   要求在页面查询到5000条数据,为了方便插入,用shell脚本写curl命令调用自己写的代码接口; 脚本如下: #!/bin/bash a=0 while [ $a -le 10 ]; do # length of ts is 13 required,Through the following way like this ts=`date +%s%N` ts=${ts:0:13} json='{"name" : "'$1$a'", "age" : '$2', "ts" : '$ts'}' a=$((a+1)) curl -k -H 'Content-Type:application/json;charset=utf-8' http://192.168.2.5:8080 -X POS...阅读全文

博文 2019-10-20 12:32:48 小碗汤

FreeWheel 寻大数据小伙伴

基础架构部-平台研发组Lead Software Engineer职责描述:1. 公司级大数据平台的架构规划与设计,以提升平台的存储与计算能力,带领团队完成技术解决方案;2. 大数据基础组件Kafka/HBase/YARN/Spark的二次开发与性能优化;3. 为业务部门提供大数据平台的技术架构支持,解决其技术难题与性能瓶颈;4. 调研大数据行业前沿技术方向并运用到实际生产系统;5. 建立高效的研发流程与规范,持续提升平台的研发效率与质量。任职要求:1. 五年以上Hadoop及大数据生态圈产品实践经验,如Kafka/HBase/Presto/YARN/Spark等;2. 深入了解分布式系统、大数据平台、消息队列等高可用高弹性架构;3. 有志于建立大规模低延时数据处理系统,用于解决实际业务问题...阅读全文

HEXA 机器人怎么玩?本次推荐的 Skill(机器人应用)给了大家一些小思路

这次的Skill精选,没有像上次推荐的Light Chaser和Fire Marshall Rob一样,具备类似追寻光线、预警火情这样实际应用的功能。但从可玩性来说,今天我们推荐的两款工具类Skill却不输前两者,经过今天的介绍,你或许会对HEXA的玩法又多一些想象。 下面正式进入今天的Skill精选: ![输入图片说明](https://static.oschina.net/uploads/img/201712/13111218_JGB6.png "在这里输入图片标题") **Simulator Kit** 熟悉HEXA的朋友应该知道,HEXA在开发方面的友好程度,除了在系统方面降低了机器人爱好者和开发者学习和探索机器人开发的门槛外,对于小白用户,我们还提供了3D...阅读全文

go语言学习笔记之冒泡排序的实现

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 算法原理 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 算法稳定性 冒泡排序是就地排序,且它是稳定的。 算法描述 go语言 package bubblesort //冒泡排序 func BubbleSort(values []int) { flag := true for i := 0; i < len(values)-1; i++ { flag = true for...阅读全文

博文 2015-06-17 23:01:47 wuwenxiang91322

golang panic: non-positive interval for NewTicker

image.png 原因:随机的时间为0 package main import ( "fmt" "math/rand" "sync" "time" ) func ReadLock(ch chan struct{}, lock sync.RWMutex) { fmt.Println("wait Rlock") lock.RLock() fmt.Println("start Rlock") rand.Seed(time.Now().UnixNano()) randNum := rand.Intn(2) t1 := time.NewTicker(time.Second * time.Duration(randNum)) for { select { case <-t1.C: fmt.Printl...阅读全文

博文 2020-04-05 20:32:50 anthonydan

Angular 2

一年前写的文字,当时还在 偶数科技实习。记录了技术栈和学习过程。 由于我司老板钦定了前端使用Bootstrap、Angular,后端使用GoLang。我们也只好硬着头皮上。GoLang半个月前刚了解大概,就直接上马写了Monitor process和RESTful service。前几天jQuery和Bootstrap也才大概了解。就剩下Angular这个框架让人很疑惑。最开始我是跟着官网的教程一步一步来的,大概只跟了一个section就放弃了。代码编译错误不知道怎么解决,quickstart一点也不for beginner。后来Eason又找了一些AngularJS和Angular的教程,Angular JS由于是快要淘汰的产品,我就没有看,那个Angular的教程又太老了,与现在的技术落...阅读全文

博文 2018-12-25 21:34:42 SaltSoup

《Java异步编程实战》隆重上市!!!

0.1为何写作本书 异步编程是可以让程序并行运行的一种手段,其可以让程序中的一个工作单元与主应用程序线程分开独立运行,使用它有许多好处,例如可以提高应用程序的性能和响应能力。 虽然Java中不同技术域提供了相应的异步编程技术,但是对异步编程技术的描述散落到了不同技术域的技术文档中,并没有一个统一的地方对这些技术进行梳理归纳。另外这些技术之间是什么关系,各自的出现都是为了解决什么问题,我们也很难找到资料来解释。 本书的出现则是为了打破这种局面,本书旨在把Java中相关的异步编程技术进行归纳分类总结,然后呈现给大家,让大家可以有一个统一的地方来查看与探究。 0.2本书特色 本书涵盖了Java中常见的异步编程场景,这包含单JVM内的异步编程、以及跨主机通过网络通讯的远程过程调用的异步调用与异步处理...阅读全文

博文 2019-12-23 01:32:55 阿里加多

云原生(Cloud Native)- 移动App研发新范式

什么是云原生(Cloud Native)App 云原生的话题近期异常火热,对于它的概念,大家也有不同的解读。从我个人的视角而言,云原生代表了一种应用构建的方法论:如何最大程度地利用云计算服务模型的优势低成本、快速地构建一款弹性的应用。本质上而言,云原生的研发模型旨在降低业务的技术风险,让开发者的形态更单纯、专注: 所有的运行环境透明化,按需扩展; 所有的研发流程流水化,高效交付; 所有的基础设施服务化,按量付费; 9999 云原生应用 我们通常意义下的云原生应用意指传统的后端应用,Container、Microservice、DevOps构成了云原生研发架构的铁三角。对于移动App这类...阅读全文

Fabric高级架构师/ 技术总监,待遇丰厚!坐标北京

**岗位职责**: 1. 主流区块链底层(Fabric、Ethereum 等)技术研究及转化; 2. Fabric 底层研究及开发; 3. HyperLedger 中国工作组相关工作; 4. 对外技术输出。 **职位要求**: 1. 本科及五年以上研发经验; 2. 扎实的基本功,如算法、网络、软件工程、数据结构等; 3. 熟悉分布式计算、大数据分析、高可用集群等技术架构; 4. 大型项目设计经验; 5. 思路清晰,很好的团队凝聚能力; 6. 熟悉去中心化设计,分布式账本技术等优先。 7. 35 周岁以下应聘者优先考虑。 **招聘邮箱**: **zengjb@hehuomao.com** 欢迎勾搭...阅读全文

Ethereum学习笔记3--以太坊用到的加密技术

一 加密技术总结 "crypto/ecdsa":用与数字签名 "golang.org/x/crypto/sha3" "crypto/rand" "github.com/ethereum/go-ethereum/crypto/bn256/google" "github.com/ethereum/go-ethereum/crypto/bn256/cloudflare" "crypto/elliptic" "github.com/ethereum/go-ethereum/crypto/secp256k1" "crypto/pbkdf2" "crypto/aes" "crypto/cipher" "crypto/hmac "crypto/subtle" "crypto/cipher" "crypto...阅读全文

博文 2019-08-02 21:32:38 陈兴强

golang 类型本质

在声明一个新类型之后,声明一个该类型的方法之前需要先回答一个问题:这个类型的本质是什么。如果这个类型增加或者删除某个值,是要创建新值还是要更改当前的值?如果是要创建一个新值,该类型的方法就是使用值传递者。如果是修改当前的值就使用指针接受者这个答案会影响程序内部传递这个类型的值得方式:是按照值传递还是按照指针传递。保持传递的一致性很重要。这个背后的原则是,不要只关注某个地方是如何处理的这个值,而是要关注这个值得(本质是什么)?。5.3.1内置类型内置类型是由语言提供的一组类型。我们已经见过这些类型,分别是数值类型,字符串类型和布尔类型。这些类型本质上都是(原始的类型)?。因此党对这些值进行增加或者删除的时候,会创建一个新的值。基于这个结论把这些类型的值传递给方法或者函数时,应该传递一个(对应的...阅读全文

博文 2017-07-06 08:07:20 我是不是小明

[上海|15-30K]开发者工具平台招募全栈开发者/机器学习实习生

### 关于我们: 程序员客栈(https://proginn.com),程序员的经纪人,技术众包领域的领军者。 相关报道:http://36kr.com/p/5070975.html 基于业务的发展,开发者们对于开发工具的需求也越来越迫切,因此我们希望能邀请有志于为程序员开发出优秀工具产品的你来加入我们,和我们一起打造出一个业内领先的开发工具平台! ### 需要人才 -------------- #### 1 - (全职)全栈工程师,15-30K,上海 工作内容: 1. 负责新产品架构设计,功能开发 2. 维护完善现有的系统功能 岗位要求: 1. 理工科专业(物理/数学/计算机相关专业优先),本科以上学历, 3 年以上代码编写与...阅读全文

Golang 优化之路——Cantor pair

写在前面 某一种对象是通过两个ID唯一确定的,如何处理这种数据结构以便快速查找以及节约内存?先说一种笨方法——用字符串来处理。这是比较容易想到的(我觉得一般最容易想到的也是最简单粗暴的方法都是用字符串来搞搞搞)。 fmt.Sprintf("%d_%d", id1, id2) 这样就成了。存储的时候用字符串来保存,查询比较的时候用字符串的方法来计算。当然,把数字当作字符串来保存和计算本身就是极其浪费内存和CPU的。 Cantor pairing function 简介 康托尔配对 - Cantor pairing function,是一种将两个自然数转成唯一一个自然数的方法。具体原理我就不说了,我也看不懂。。。简单地说: 只支持自然数。自然数是整数(自然数包括正整数和零); 支持反解; f(k...阅读全文

【上海】蝴蝶互动招聘GOLANG开发工程师

#### **岗位职责** 1. 负责公司基础平台建设,包括账号/认证/支付等系统 2. 负责平台网站开发 3. 搭建平台监控体系 #### **岗位要求** 1. 计算机相关专业本科及以上学历,3年以上相关工作经验 2. 计算机基础扎实,有较好的数据结构与算法功底,熟悉Linux系统和网络编程 3. 熟练掌握Golang,有实际项目开发经验 4. 熟悉NoSQL技术(redis,memcached等) 5. 有Web安全意识,熟悉常见的Web安全问题以及防御措施 6. 具有分布式/高性能系统设计和开发经验者优先 **简历请投至** wangling01@hoodinn.co...阅读全文

2018.9.11 从0到1,你准备好了吗?

最近两天又接到一个任务,给一家区块链公司招聘go开发的人才。于是便在一些社区发了招聘帖子,没多久就有人加我微信,立即通过了。对方是一位前端开发工程师,对区块链感兴趣,想转做区块链后端开发,对于这样的转行跳槽者,我觉得她是有勇气的。她跟我了解了区块链行业的人才需求以及薪酬情况,我也一一解答向她了。她还问了我一个问题:你们招区块链培训机构出来的人么?我说:这个和培训机构没关系的,主要看你自己的技术功底的,不过我个人觉得区块链培训机构,目前应该都不是很成熟的,不太建议你去,大部分不太靠谱。她还和我说,听培训机构说有很多hr跟他们要人。我第一感觉就是她被这些机构忽悠了,区块链技术处于起步阶段,大家都还在摸索,并没有完全成熟的模式,他们这些机构哪能一下子掌握呢?这些都是要靠实践才行的,不是去短时间培训...阅读全文

云计算全球首推峰谷价,为企业节约49%成本

摘要: 我们都知道电费有峰谷电价,但是没有听说过云计算也有,但现在,云计算也有峰谷价了。 近日,阿里云推出了共享流量包。共享流量包是BGP流量的预付费套餐,价格比后付费流量更低,并支持闲时峰谷流量包,大大降低了BGP流量成本。 我们都知道电费有峰谷电价,但是没有听说过云计算也有,但现在,云计算也有峰谷价了。 近日,阿里云推出了共享流量包。共享流量包是BGP流量的预付费套餐,价格比后付费流量更低,并支持闲时峰谷流量包,大大降低了BGP流量成本。共享流量包产品覆盖面广,按流量计费的ECS、EIP、SLB和NAT网关都可以使用。那么,共享流量包到底能给用户降低多少成本?适合哪些业务场景?又如何使用呢? 首先,共享流量包能为用户降低多少成本? 如下图,后付费流量单价和共享流量...阅读全文

Golang 1.14 发布 | 云原生生态周报 Vol. 39

作者 | 陈俊、何淋波、李鹏、宋净超 业界要闻 Golang 1.14 发布 Golang Release 了 1.14 版本。该版本包含生产级别 go module,改进 defer 性能,以及 Goroutine 抢占等功能。 Cilium 1.7 版本发布 Cilium 是一款开源软件,负责以透明方式提供并保护由 Linux 容器管理平台(例如 Kubernetes)部署完成的各应用程序服务间的网络与 API 连接。 Contributor Summit Amsterdam Schedule Announced 去阿姆斯特丹 KubeCon 的同学,不要忘记注册这个难得的开发者聚会。 KubeCon + CloudNativeCon China 2020 议题提交即将结束 将于中国时间...阅读全文

博文 2020-02-28 18:32:42 阿里巴巴云原生

可直接嵌入业务系统为终端客户提供分析服务的阿里云分析型数据库

课程介绍 分析型数据库(AnalyticDB),是阿里巴巴自主研发的海量数据实时高并发在线分析(Realtime OLAP)云计算服务,使得您可以在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索。分析型数据库对海量数据的自由计算和极速响应能力,能让用户在瞬息之间进行灵活的数据探索,快速发现数据价值,并可直接嵌入业务系统为终端客户提供分析服务。 产品详情:https://www.aliyun.com/product/ads 课时列表 • 课时1:产品和应用场景 • 课时2:开通、购买和创建 • 课时3:创建表组和表 • 课时4:写入和导入数据 • 课时5:本地客户端访问 开始学习http://click.aliyun.com/m/27...阅读全文

【go共识算法】-POS

pos介绍 参考链接1 pos概念 Proof of Stake,股权证明。PoS核心概念为币龄,即持有货币的时间。例如有10个币、持有90天,即拥有900币天的币龄。另外使用币,即意味着币龄的销毁。在PoS中有一种特殊的交易称为利息币,即持有人可以消耗币龄获得利息,同时获得为网络产生区块、以及PoS造币的优先权。 点点币应用 第一个基于PoS的虚拟币是点点币。鉴于PoW的缺陷,2012年Sunny King提出了PoS,并基于PoW和PoS的混合机制发布了点点币PPCoin。前期采用PoW挖矿开采和分配货币,以保证公平。后期采用PoS机制,保障网络安全,即拥有51%货币难度更大,从而防止51%攻击。 点点币(Peercoin)是首先采用权益证明的货币,点点币在SHA256的哈希运算的难度方...阅读全文

博文 2018-09-27 14:34:41 jincheng828

2018.8.30你是这些公司青睐的人才吗?

最近一个案例引发了我对区块链公司用人要求的思考。一周前推荐了一位我认为不错的候选人,985院校计算机专业硕士学历,两年工作经验,毕业后一直在一家知名的互联网公司上班,技术也比较扎实,近期两个月在持续关注区块链并看好区块链行业,想趁年轻进入这个行业,看看有没有更好的发展机会。他的条件不错,我帮他推荐了业内三家不错的区块链公司。当初拿到他的简历时,我挺满意的,认为他很大概率上会拿到这几家公司的offer,因为之前操作过类似的case,这种背景的人一般都会被offer。等待了一周,结果却在我的意料之外。那么问题到底出现在哪里呢?我这几天一直在思考。直到今天和一位区块链公司的招聘聊天中她的一句话提醒了我:请尽量帮我找资深一点的人吧,要来了就能干活的那种,薪资不是问题,都能谈。从去年年底到现在,半年多...阅读全文

k8s使用Job执行任务失败了怎么办

Kubernetes 中使用 Job 和 CronJob 两个资源分别提供了一次性任务和定时任务的特性,这两种对象也使用控制器模型来实现资源的管理,我们在这篇文章来介绍Job执行如果失败了会怎么样呢? 修改job-fail.yaml,故意引入一个错误: Never 如果将 restartPolicy 设置为 Never 会怎么样?下面我们实践一下,修改job-fail.yaml后重新启动。 运行 Job 并查看状态,可以看到Never策略的job,pod失败后,重新创建: 直到重新创建7个(spec.backoffLimit默认为6,即重试6次,共7个pod)pod都失败后,认为失败,job的status里会更新为Failed 当前 Completion 的数量为 0 查看 Pod 的状态:...阅读全文

博文 2019-10-16 10:33:20 小碗汤

软件技术-零基础Golang编写文件服务器

欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】 当用户请求一个网页的时候,如何让服务器把网页文件发送给用户? 文件服务器 首先我们要知道,用户在浏览器中看到的页面其实就是一个.html文件,就是我们上一篇文章时候撰写的...代码。 但我们最初用Golang写的服务器只是简单返回Hello world!字符串,而不是文件。所以,正确的做法是: 让Golang读取硬盘上的文件内容,然后发送给用户。 这就是文件服务器要干的事情,你要login.html页面,我就给你login.html文件。 在Golang里面,已经提供了快速建立文件服务的功能,就是http.FileServer方法,但是首先要知道我们的web文件夹放在哪里。 获取当前文件路径 在Gola...阅读全文

博文 2019-03-27 02:34:38 zhyuzh3d

Excelize - Go 语言 (golang) Excel 文档基础库

前言 Excelize 是 Go 语言 (golang) 编写的用于操作 Office Excel 电子表格的文档基础库,基于 ECMA-376 Office Open XML 标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的 XLSX / XLSM / XLTM 等格式文档。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)、透视表和切片器等复杂样式的文档,还支持向 Excel 文档中插入图片与图表,并且在保存后不会丢失文档原有样式,可以应用于各类报表系统、云计算和边缘计算系统中。入选 2018 开源中国码云 Gitee 最有价值开源项目 GVP,目前已成为 Go 语言最受欢迎的 Excel 文档基础库。 开源代码 GitHub:...阅读全文

博文 2020-04-09 05:33:11 阿泽Aze

【go共识算法】-Raft

介绍 Raft 状态 一个 Raft 集群包含若干个服务器节点;通常是 5 个,这允许整个系统容忍 2 个节点的失效,每个节点处于以下三种状态之一: follower :所有结点都以 follower 的状态开始。如果没收到 leader消息则会变成 candidate状态。 candidate:会向其他结点“拉选票”,如果得到大部分的票则成为leader。这个过程就叫做Leader选举(Leader Election)。 leader:所有对系统的修改都会先经过leader。 Raft 一致性算法 Raft通过选出一个leader来简化日志副本的管理,例如,日志项(log entry)只允许从leader流向follower。 基于leader的方法,Raft算法可以分解成三个子问题: L...阅读全文

博文 2018-10-10 20:34:39 jincheng828

golang的Channel

golang的Channel Channel 是 golang 一个非常重要的概念,如果你是刚开始使用 golang 的开发者,你可能还没有真正接触这一概念,本篇我们将分析 golang 的Channel 1. 引入 要讲 Channel 就避不开 Goroutine -- 协程。闲话不说, 直接上个例子 Goroutine demo: package main import ( "fmt" "time" ) func main() { origin := 1 go doSomeCompute(origin) time.Sleep(5 * time.Second) } func doSomeCompute(num int) { result := num * 2 fmt.Println(re...阅读全文

golang 实现的一个遗传算法的例子

# golang 实现的一个遗传算法的例子 **假设有N个任务,需要负载均衡器分配给M个服务器节点去处理。每个任务的任务长度、每台服务器节点(下面简称“节点”)的处理速度已知,请给出一种任务分配方式,使得所有任务的总处理时间最短。** ```go package main import ( "fmt" "math/rand" "sort" ) const ( // TaskNum 任务数为100 TaskNum = 100 // NodeNum 计算节点数为10 NodeNum = 10 // TaskLengthMin 任务长度最小值10 TaskLengthMin = 10 // TaskLengthMax 任务长度最大值100 TaskLengthMax = 100 // NodeSp...阅读全文

程序员的自我修养 IO/CUP密集型线程

有关进程线程协程的概念在上一篇文章 golang协程为什么比线程轻量https://www.jianshu.com/p/dd4a480a1410已经解释,有需要的同学可以查看。 多进程与单进程相比的优势: 1.某个操作可能会陷入长时间等待,等待的线程会进入睡眠状态,无法继续执行。多线程执行可以有效利用等待时间。典型的例子是等待网络响应,这可能要花费数秒甚至数十秒。 2.某个操作(常常是计算)会消耗大量的时间,如果只有一个线程,程序和用户之间的交互会中断。多线程可以让一个线程负责交互,另一个线程负责计算。 3.程序逻辑本身就要求并发操作,例如一个多端下载软件(例如Bittorrent) 4.多CPU或多核计算机,本身具备同时执行多个线程的能力,因此单线程程序无法完全全面地发挥计算机的全部计算能...阅读全文

博文 2019-08-04 17:32:39 one_zheng

BDEX知识科普之跨链的本质

本文引自《VNTChain研究院》 跨链的本质是什么? 跨链的实现是一个较为复杂的过程,目前主流的跨链技术包括:公证人模式(主要包括中心化公证人机制和多重签名公证人机制)、侧链(Sidechains)/中继(Relays)模式、哈希锁定模式,对此已有许多文章及报告进行了详细讲解,就不再和大家赘述。接下来我想着重与大家探讨跨链的本质。 1.跨链类型 从跨越的区域范围,可以分为链内跨链与链外跨链。链内跨链,即指同一区块链底层基础平台,通过跨链技术实现平台内的联盟链与联盟链、公有链与联盟链的优势融合,从而实现价值流转与信息交互,满足商业场景需求。链外跨链则是基于不同区块链底层基础平台进行跨链交互。从跨越的区块链底层基础平台类型,可以分为同构链跨链与异构链跨链。同构链通指采用同一底层协议(包括安全机...阅读全文

博文 2019-09-05 15:32:58 逗币狗

Hyperledger Fabric 1.2系列:1. 环境准备

简介 当前主机信息: Ubuntu16.04 x86_64 root@JDu4e00u53f7:~# uname -a Linux JDu4e00u53f7 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 我们需要准备的环境有: cURL Docker Compose Docker Golang Nodejs 安装 安装cURL sudo apt-get install curl //Ubuntu系统一般默认会安装 安装Docker Hypreledger Fabric1.2 要求Docker的版本最低为 Docker 17.06.2-ce 安装方法请参考:...阅读全文

博文 2018-07-31 19:34:47 空白格灬

为何专注于流媒体领域?PPIO 技术揭秘续篇

在各种音视频应用充斥着市场的时候,毫无疑问,流媒体领域将会非常适合区块链技术进行场景落地。在上一篇文章中,我们主要讨论了 PPIO 的 PCDN 架构,接下来将介绍 PPIO 的中 P2SP 的下载逻辑和 IaaS 层的流量计数。 下载逻辑 上图为 PPIO 的 CDN 和 P2SP 的传输架构图。这里将会重点讲解 PPIO 中 P2SP 的下载逻辑,它主要分三个部分,Buffer 管理,下载状态机,和下载算法。接下来会对这三部分一一解释。 Buffer 管理 Buffer 管理,即理解为本地设备管理着资源情况,从而决定需要下载的 Piece 的优先级。Buffer 管理也是和实际应用场景是相关的,对于流媒体来说,存在一个视频播放位置,播放位置附近的内容就是紧急内容,该内容则会被优先下载。 ...阅读全文

[leetcode in golang]119、杨辉三角 II

杨辉三角II 不需要输出全部数字,只需要输出最后一行。 最后一行由前一行计算得,同一行也有计算方法: [1,3,3,1] 下一行: 在前一行数组下标为0的位置插入0,而后new[i]=old[i]+old[i+1] [(0)+1,1+3,3+3,3+1,1] [1,4,6,4,1] func getRow(rowIndex int) []int { res:=make([]int,rowIndex+1) for t:=range res{ res[t]=0 } res[0]=1 for i:=1;i=1;j--{ res[j]=res[j-1]+res[j] } } return res } 注意输入0或1: 特殊情况也可以单独考虑,不...阅读全文

博文 2019-09-26 00:32:53 aside section ._1OhGeD