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

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

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

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

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

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

课程介绍 分析型数据库(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。等待了一周,结果却在我的意料之外。那么问题到底出现在哪里呢?我这几天一直在思考。直到今天和一位区块链公司的招聘聊天中她的一句话提醒了我:请尽量帮我找资深一点的人吧,要来了就能干活的那种,薪资不是问题,都能谈。从去年年底到现在,半年多...阅读全文

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

MySQL基本操作

golang调用MySQL数据库:使用MySQL数据库 go语言中文网 Golang Mysql笔记(二)--- CURD基础 操作 语句 创建数据库 create database dbname; 删除数据库 drop database dbname; 选择数据库 use dbname; 创建数据表 create table table_name(column_name column_type); 删除数据表 drop table table_name; 删除表全部数据,保留表结构 truncate table table_name; 删除带条件的删除,表结构不变 delete from table_name where xxx(条件); 插入数据 insert into table_na...阅读全文

博文 2018-11-04 12:34:45 喵喵小阳

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

从零学习 Go 语言(03):数据类型之整型与浮点型

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 **系列导读 ** [从零学习 Go 语言(01):一文搞定开发环境的搭建](https://studygolang.com/articles/27365) [从零学习 Go 语言(02):学习五种变量创建的方法](https://studygolang.com/articles/27432) --- ## 1. 整型...阅读全文

博文 2020-03-24 19:39:27 hello_wbm

[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

图解kubernetes scheduler基于map/reduce模式实现优选阶段

优选阶段通过分map/reduce模式来实现多个node和多种算法的并行计算,并且通过基于二级索引来设计最终的存储结果,从而达到整个计算过程中的无锁设计,同时为了保证分配的随机性,针对同等优先级的采用了随机的方式来进行最终节点的分配,如果大家后续有类似的需求,不妨可以借鉴借鉴 1. 设计基础 1.1 两阶段: 单点与聚合 在进行优选的时候,除了最后一次计算,在进行针对单个算法的计算的时候,会分为两个阶段:单点和聚合 在单点阶段,会根据当前算法针对单个node计算在聚合阶段,则会根据当前单点阶段计算完成后,来进行聚合 1.2 并行: 节点与算法 单点和聚合两阶段在计算的时候,都是并行的,但是对象则不同,其中单点阶段并行是针对单个node的计算,而聚合阶段则是针对算法级别的计算,通过这种设计分离...阅读全文

博文 2020-01-17 18:34:19 代码仔

Go中slice的使用

//切片并不是数组或数组指针,它通过内部指针和相关属性引用数组片段,以实现变长的方案。 //slice并不是真正意义上的动态数组,而是一个引用类型。slice总是指向一个底层array,slice的声明也可以像array一样,只是不需要长度。 //slice和数组的区别:声明数组时,方括号内写明了数组的长度或使用...自动计算长度,而声明slice时,方括号内没有任何字符。 slice和数组的区别:声明数组时,方括号内写明了数组的长度或使用...自动计算长度,而声明slice时,方括号内没有任何字符。第二:注意:make只能创建slice、map和channel,并且返回一个有初始值(非零)。操作含义s[n]切片s中索引位置为n的项s[:]从切片s的索引位置0到len(s)-1处所获得的切片...阅读全文

博文 2018-10-05 00:35:10 ck_god

图解kubernetes控制器Deployment核心机制

Deployment是k8s中部署更新的关键实现,今天我们一起初探下其关键机制包括: 暂停、回滚、扩缩容、更新策略的实现 1. 基础概念 Deployment本质上其实只是一种部署策略,在了解其实现之前,先简单介绍一下部署系统里面常见的概念,Deployment里面的各种参数和设计其实也都是围绕着这些展开的 1.1 ReplicaSet Deployment本身并不直接操作Pod,每当其更新的时候通过构建ReplicaSet来进行版本更新,在更新的过程中通过scale up(新的RS)和scale down(旧的RS)来完成 1.2 部署状态 在k8s的官方文档中主要是介绍了Deployment的三种状态, 对应的Condition分别为Available、Progressing、Repli...阅读全文

为什么数组要从零开始?

如题,数组第一个元素为什么要从零开始,而不从一开始?感觉这很反人类呀,正常来讲,一个集合的开始,不应该从一吗? 对于这个问题,我觉得可以从以下两方面来考虑。 设计层面 我们先了解一下数组最基本的结构和寻址方式(即实现方式)。 现在市面上无论是C、Java、PHP,还是Go或者其他编程语言,他们数组的实现方式,应该都是一样的:一段连续的内存。 image 数组在分配内存的时候,我们会知道数组的开始地址(PS:在目前下标为零的情况下,也等同于数组的第一个元素的地址); image 因为数组中每个元素的类型都是相同的,所以每种类型所占的内存大小是固定的,因而导致数组中每个元素的所占的内存大小都是相同的 image 由此我们可以得出,数组中每个元素地址的计算公式: image // n为数组坐标,x...阅读全文

初始版python学习

Python学习 一种面向对象的解释型计算机程序设计语言一,Python核心诉求: 编程简单 代码优雅 开发效率高二,Python应用领域Python是一门全栈式语言Python有丰富的生态库Python模块之间的胶水语言、自动测试,运维 ,科学计算,金融数据分析,网络爬虫,大数据分析处理,后台服务器,前端界面,机器学习ML,人工智能AL 等等云计算 云计算最火语言,典型应用OpenStackweb开发典型WEB框架Django科学运算,人工智能典型库 NumPy,SciPy,Matplotlib,Enthought libraaryys,pandas系统运维金融量化交易,金融分析,图形GUIPyQT,WxPython,Tkinter三,Python优缺点优:定位是优雅,明确,简单开发效率非...阅读全文

博文 2019-04-10 23:34:40 星空梦想

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 关注“阿里巴巴云原生”公众号,回复 Go 即可查看清晰知识大图! 导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 1 篇。 Go 开发指南大图 Overview 该指南主要讨论了服务器领域常见的并发问题,也涉及到了工程化相关的问题,还整理了 C 背景程序员对于 Go 的 GC 以及性能的疑问,探讨了 Go 的错误处理和类型系统最佳实践,以及依赖管理的难处、接口设计的正交性,当然也包含我们在服务器开发中对于 Go 实践的总结,有时候也会对一些有趣的问题做深度的挖掘,列出...阅读全文

博文 2019-12-19 14:34:23 阿里巴巴云原生

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 关注“阿里巴巴云原生”公众号,回复 Go 即可查看清晰知识大图! 导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 1 篇。 Go 开发指南大图 Overview 该指南主要讨论了服务器领域常见的并发问题,也涉及到了工程化相关的问题,还整理了 C 背景程序员对于 Go 的 GC 以及性能的疑问,探讨了 Go 的错误处理和类型系统最佳实践,以及依赖管理的难处、接口设计的正交性,当然也包含我们在服务器开发中对于 Go 实践的总结,有时候也会对一些有趣的问题做深度的挖掘,列出...阅读全文

博文 2019-12-19 12:32:41 阿里巴巴云原生

解放计算给服务带来的压力,第一想到的就是阿里云高性能计算(HPC)

课程介绍 高性能计算 (Alibaba Cloud HPC) 提供一种性能卓越、稳定、安全、便捷的计算服务,帮助您快速构建处理能力出色的应用,解放计算给服务带来的压力,使您的产品在计算效率上具有非凡竞争力。 产品详情:https://www.aliyun.com/product/hpc 课时列表 • 课时1:购买实例 • 课时2:配置安全组 • 课时3:挂载NAS • 课时4:跳板机登录 • 课时5:验证GPU 开始学习http://click.aliyun.com/m/27854/ ...阅读全文

【金山云】招聘云计算平台工程师

岗位职责: 1. 负责OneRes的后端统一资源平台的开发工作。 岗位要求: 1、 具备系统架构能力、能独立承担相应模块设计及开发; 2、 具备K8S、Docker等容器技术栈,拥有相关的二次开发经验,有开源项目开发经验者优先; 3、 熟悉Kubernetes、Docker、Openstack、Mesos等主流开源项目之一或多个项目内部架构或源码; 4、 熟悉Golang\Python语言,有一定的开发经验; 5、 热衷前沿技术的探索,能快速掌握和理解新技术;具备良好的团队合作精神,善于沟通交流。 具体介绍请前往:https://app.mokahr.com/apply/kingsoft#/?anchorName=007&_k=7u5h7...阅读全文

兄弟连区块链入门教程以太坊源码分析hashimoto源码分析(二)

兄弟连区块链入门教程以太坊源码分析hashimoto源码分析(二)。“超级计算机是将计算受限问题转化为I / O约束问题的一种设备。”Ken BatcherInstead, an algorithm will have little room to be sped up by new hardware if it acts in a way that commodity computer systems are already optimized for.相反,如果一种算法以商品计算机系统已经优化的方式运行,那么算法将没有多少空间可以被新硬件加速。Since I/O bounds are what decades ofcomputing research has gone towards s...阅读全文

博文 2018-10-24 15:34:46 兄弟连区块链培训

2019-08-07

2019-08-07MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。mongodb特点它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:*面向集合存储,易存储对象类型的数据。模式自由。*支持动态查询。*支持完全索引,包含内部对象。*支持查询。*支持复制和故障恢复。*使用高效的二进制数据存储,包括大型对象(如视频等)。*自动处理碎片,以支持云计算层次的扩展性。*支持 Gol...阅读全文

博文 2019-08-08 10:33:16 Overonenewsi

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 1 篇。 Go 开发指南大图 Overview 该指南主要讨论了服务器领域常见的并发问题,也涉及到了工程化相关的问题,还整理了 C 背景程序员对于 Go 的 GC 以及性能的疑问,探讨了 Go 的错误处理和类型系统最佳实践,以及依赖管理的难处、接口设计的正交性,当然也包含我们在服务器开发中对于 Go 实践的总结,有时候也会对一些有趣的问题做深度的挖掘,列出了 Go 重要的事件和资料集合,以及 Go2 的进展和思考。 以下是各个章节以及简介: About the Nam...阅读全文

博文 2019-12-20 14:32:41 阿里云云栖号

golang数组和切片

1、数组 golang中的数组是一种由固定长度和固定对象类型所组成的数据类型。例如下面: var a [4]int a是一个拥有4个int类型元素的数组。当a一旦被声明之后,元素个数就被固定了下来,在a这个变量的生命周期之内,元素个数不会发生变化。而此时a的类型就是[4]int,如果同时存在一个b变量,为[5]int。即便两个变量仅仅相差一个元素,那么在内存中也占据着完全不同的地址分配单元,a和b就是两个完全不同的数据类型。在golang中,数组一旦被定义了,那么其内部的元素就完成了初始化。也就是时候a[0]等于0。 在golang当中,一个数组就是一个数据实体对象。在golang当使用a时,就代表再使用a这个数组。而在C中,当使用a时,则代表着这个数组第一个元素的指针。 2、切片 lett...阅读全文

博文 2017-12-07 08:04:43 卢春风

大数据行业必须掌握的25个大数据术语

摘要: 如果你初来乍到,大数据看起来很吓人!根据你掌握的基本理论,让我们专注于一些关键术语以此给你的约会对象、老板、家人或者任何一个人带来深刻的印象。 让我们开始吧: 1.算法。“算法”如何与大数据相关?即使算法是一个通用术语,但大数据分析使其在当代更受青睐和流行。 如果你初来乍到,大数据看起来很吓人!根据你掌握的基本理论,让我们专注于一些关键术语以此给你的约会对象、老板、家人或者任何一个人带来深刻的印象。 让我们开始吧: 1.算法。“算法”如何与大数据相关?即使算法是一个通用术语,但大数据分析使其在当代更受青睐和流行。 2.分析。年末你可能会收到一份来自信用卡公司寄来的包含了全年所有交易记录的年终报表。如果你有兴趣进一步分析自己在食物、衣服、娱乐等方面具体花...阅读全文

让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案

作者:Max 一直以来都有个梦想: 希望有一个数据库能够弹性扩展(分布式)到成百上千节点的规模,易于学习和理解,可以运行在私有云、公有云、Multi-Cloud、Kubernetes,也能够跑在嵌入式设备(比如树莓派)上,更酷的是也能够直接运行在浏览器里,而且不需要任何浏览器扩展(Extension),变成「口袋数据库」,就像那部电影《蚁人》。 今天,这一切都变成了现实:TiDB 可以直接运行在浏览器本地。打开浏览器,你可以直接创建数据库,对数据进行增删改查。关掉浏览器,一切都消失了,干净绿色环保—— 首先在笔记本浏览器打开 play.pingcap.com(这里用的是 MacOS 上面的 Chrome,不确定其它浏览器是否正常),可能需要几秒来加载页面,然后就能看到熟悉的 Shell 了。...阅读全文

ECS 还是轻量应用服务器,看完评测你就知道了?

摘要: 前言 我是2015年加入的阿里云开发者论坛当版主的,到2017年遇到比较多的问题就是很多新手用户并不会操作 ECS 了,很多对云计算产品不理解的用户甚至还会误解为什么会有一个买了却不能开箱即用的产品。 前言 我是2015年加入的阿里云开发者论坛当版主的,到2017年遇到比较多的问题就是很多新手用户并不会操作 ECS 了,很多对云计算产品不理解的用户甚至还会误解为什么会有一个买了却不能开箱即用的产品。在 2013年前后的时候我记得是那时候万网推出了 轻云服务器 然而仅仅只是实现了资源独享的虚拟主机而已,而云市场服务商提供的应用镜像质量也是良莠不齐。 很显然目前的痛点: 就是买了 IaaS 却不会用 PaaS、SaaS 的自由度不高 ECS 附加功能太多还用不到,...阅读全文

密码安全

破解方法rainbow table 1 .攻击者将所有的常见密码进行单向操作,得到最后的结果,然后和数据库的进行对比,就可以得到对应的密码。 2 .尤其是我们使用的哈希算法是开源的,那就更不安全了 密码存储进阶方案 1 .加盐 2 .利用已有的哈希算法进行多次哈希 3 .将第一次得到的值加上一个只有管理员知道的随机串,在进行一次哈希加密 4 .这样就保证了,只要加的盐不会被泄露,即使黑客拿到最后的加密串,也几乎无法推出原来的密码 5 . 专家方案 1 .意增加密码计算所需耗费的资源和时间,使得任何人都不可获得足够的资源建立所需的rainbow table。除非量子计算机出来 2 .算法中都有个因子,用于指明计算密码摘要所需要的资源和时间,也就是计算强度。计算强度越大,攻击者建立rainbow...阅读全文

博文 2019-10-17 20:35:23 aside section ._1OhGeD

3. Go语言中的整型与浮点型

文章首发自公众号:Go编程时光 《Go编程时光》,一个能带你学习 Go 语言的专栏,同时欢迎搜索我的同名公众号【Go编程时光】(排版精美更适合阅读),第一时间获取Go语言干货。 系列导读 1. 一文搞定Go语言开发环境的搭建 2. Go 语言中五种变量创建的方法 1. 整型 Go 语言中,整数类型可以再细分成10个类型,为了方便大家学习,我将这些类型整理成一张表格。 int 和 uint 的区别就在于一个 u,有 u 说明是无符号,没有 u 代表有符号。 解释这个符号的区别 以 int8 和 uint8 举例,8 代表 8个bit,能表示的数值个数有 2^8 = 256。 uint8 是无符号,能表示的都是正数,0-255,刚好256个数。 int8 是有符号,既可以正数,也可以负数,那怎么...阅读全文

博文 2020-03-27 14:34:36 王一白

ECS从[共享型]升级「独享型」

摘要: 云服务器ECS在2016年全面推出独享型服务器家族,提供了提供更好的SLA,更强的带宽,更稳定的计算能力。非常适合对业务稳定性具有高要求的严肃企业场景使用,有效保障核心服务器的性能指标 云服务器ECS在2016年全面推出独享型服务器家族,提供了提供更好的SLA,更强的带宽,更稳定的计算能力。非常适合对业务稳定性具有高要求的严肃企业场景使用,有效保障核心服务器的性能指标。具体细节参见 独享型实例与共享型实例FAQ。 主力的独享规格包含: 通用型 (sn1):处理器与内存资源配比为1:2,高计算资源占比, 适用于Web 前端服务器、数据分析、批量计算、视频编码、高性能科学和工程应用 计算型 (sn2):处理器与内存资源配比为1:4,具有均衡的计算、内存、网络资源, 适...阅读全文

阿里云新一代关系型数据库 PolarDB 剖析

摘要: 本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念。并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,同时也对一些关键技术点进行了解读。 本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念。并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,同时也对一些关键技术点进行了解读。 1. 背景 关系型数据库 谈到关系型数据库,在这个知识日新月异的TMT时代,听起来有些“古董”,这个起源于半个世纪以前的IT技术,事实上一直处于现代社会科技的核心,...阅读全文

兄弟连区块链入门教程分享区块链POW证明代码实现demo

这里强调一下区块链的协议分层应用层合约层激励机制共识层网络层数据层上 一篇主要实现了区块链的 数据层,数据层主要使用的技术就是对数据的校验,求hash。这里介绍工作量证明POW, POW是属于共识机制的内容。PoW机制中根据矿工的工作量来执行货币的分配和记账权的确定。算力竞争的胜者将获得相应区块记账权和比特币奖励。因此,矿机芯片的算力越高,挖矿的时间更长,就可以获得更多的数字货币。优点:算法简单,容易实现;节点间无需交换额外的信息即可达成共识;破坏系统需要投入极大的成本。缺点:浪费能源;区块的确认时间难以缩短;新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;容易产生分叉,需要等待多个确认;永远没有最终性,需要检查点机制来弥补最终性。目前基于PoW共识机制的数字...阅读全文

博文 2018-10-17 12:34:40 兄弟连区块链培训

简单工厂模式--Golang版本

目录结构:   | -- calculater-simpleFactory     | -- main.go     | -- Calculater     |   | -- Calculater.go main.go package main import ( "calculater-simpleFactory/Calculater" "fmt" ) func main() { numbers := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} opreate := Calculater.NewCalculate("+") sum, _ := opreate.Opreation(numbers) fmt.Println("sum = ", sum) opreat...阅读全文

博文 2020-03-22 22:32:44 韩小禹

加密货币的本质

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 去年,比特币暴涨,其他币也像雨后春笋一样冒出来,已经有1000多种了。 很多人都在问,加密货币(cryptocurrency)的时代,真的来临了吗?将来会不会人类不再使用美元、人民币,改用加密货币?那么多品种,我应该使用哪一种币?要不要现在就去投资一些? 这些问题的答案,我也想知道,就花了很多时间查阅资料、研究协议。前两周发表的《区块链入门教程》和《比特币入门教程》,是我的学习心得。但是,那两篇教程主要介绍基本概念、探讨协议的可行性,没回答一个根本的问题:加密货币到底是什么? 下面就是我对这个问题的思考。阅读之前,如果你已经了解区块链和比特币,那很好;如果不了解,也没关系,本文不涉及技术,只讨论最基本的原理。 一...阅读全文

go语言能干什么?关于go语言要怎么学习?

Go语言由于自身天生支持并发的特点完美契合当下的互联网环境,所以Go语言自发布之后便迅速风靡全球。 很多朋友可能知道Go语言的优势在哪,却不知道Go语言适合用于哪些地方?Go能干什么? Go语言目前在云计算、容器虚拟化、分布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。 服务端开发 以前你使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如日志处理、文件系统、监控系统等; 爬虫及大数据 Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理; 网络编程 大量优秀的Web框架如Echo、Gin、Iris、beego等,而且 Go 内置的 net/http 包十分的优秀; Paas云平台领域 Kubernetes和Docker Swarm等...阅读全文

博文 2019-11-12 17:30:54 zhouzhou2018

在阿里云上轻松部署Kubernetes GPU集群,遇见TensorFlow

摘要: Kubernetes在版本1.6后正式加入了Nvidia GPU的调度功能,支持在Kubernetes上运行运行和管理基于GPU的应用。而在2017年9月12日,阿里云发布了新的异构计算类型GN5,基于P100 nvidia GPU, 提供灵活强悍的异构计算模型,从基础设施到部署环境全面升级,可有效提升矩阵运算、视频识别、机器学习、搜索排序等处理计算效率。当Kubernetes和GPU在阿里云上相遇,会有什么样美好的事情发生呢? 在阿里云的GN5上部署一套支持GPU的Kubernetes集群是非常简单的,利用ROS模板一键部署,将阿里云强大的计算能力便捷的输送到您的手中。不出10分钟,您就可以开始在阿里云的Kubernetes集群上开始您的Kubernetes+GPU+Tens...阅读全文

作为云计算 2.0 时代的里程碑,云数据库PolarDB 还需要做什么?

随着用户、业务和数据的增长,由于I/O瓶颈(存储和网络)导致的备份、性能、迁移、升级、只读实例、磁盘容量、Binlog延迟等相关问题渐渐显现;过多数据库存储引擎的类型导致的工程效率以及运维成本显著上升,最好有一种通用的产品技术架构能兼顾不同用户场景的需求。针对以上关系型数据库在云托管环境逐渐暴露出一些问题,阿里云将在9月下旬推出自研通用云数据库PolarDB,是国内首个能从根本解决两大痛点的关键里程碑产品。 阿里云PolarDB是国内首个自主研发的通用云数据库,它拥有商业数据库一样的性能,但价格仅为前者的1/10,进一步降低用户的上云成本,大幅度提升OLTP性能,满足用户在业务连续性、在线业务扩展能力、数据安全上的需求,将彻底颠覆商业数据库的暴利时代。 在产品架构上放弃了通用分布...阅读全文

如何更好的使用阿里云资源编排ROS免费教程

课程介绍 资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/ 课时列表 • 课时1:ROS-控制台功能概览 • 课时2:ROS-编写并运行模板 • 课时3:ROS-使用模板参数 • 课时4:ROS-更新资源栈 • 课时5:ROS-使用样例模板部署应用 开...阅读全文

官方教程 A Tour of Go Excercises 我的答案总结及讲解

这两天学完了 A Tour of Go 官方的语法教学,里面有很多的 Excercise(训练题)。希望对大家有用,如果有其他人也写过,并觉得我写的不对的,求教!❤️ Exercise: Loops and Functions 题目 给一个 number x,我们通过 loop 和 function 来找到其平方根 z,即 z² = x tour.golang.org/flowcontrol… 解答 package main import ( "fmt" "math" ) func Sqrt(x float64) float64 { z := x/2 for i:= 0; math.Abs(z*z - x) > 0.0000000001; i++ { z -= (z*z - x) / (2*...阅读全文

博文 2019-07-31 18:05:26 阴明

golang中接口的面向对象(二)--继承

在上一节 golang中接口的面向对象(一)--多态特征中,我们学习了galang中的多态,参考https://blog.51cto.com/91235688/2499405 继承那么这一节中,我们继续用上一节中的例子,来学习继承。我们修改上一节中的示例代码,如下所示:type geometry interface { sayHi() //geometry 只有一个方法sayHi()}type rect struct { geometry //这里使用匿名字段,使得rect 继承了 geometry 类型 len, wid float32}func (r rect) sayHi() { //这里rect 作为继承者,重写了sayHi方法 fmt.Println("i am a rect")}...阅读全文

博文 2020-05-30 23:34:00 roddger

go 的程序控制

go 的程序控制大致分成三种 if for case 语句 1、 if 循环 if-else 语句之间可以有任意数量的 else if。条件判断顺序是从上到下。如果 if 或 else if 条件判断的结果为真,则执行相应的代码块。 如果没有条件为真,则 else 代码块被执行。 语法结构 if condition{}else if condition{ }else{ } 定义示列 package main import "fmt" func iftest() { score :=61 if score > 60{ fmt.Println("成绩合格") } else if score >90{ fmt.Println("成绩优秀") }else if score<0 { fmt.Print...阅读全文

博文 2020-01-11 17:33:11 水滴石川1

从零开始的数组,这么设计么是为什呢?

为什么数组要从零开始? 如题,数组第一个元素为什么要从零开始,而不从一开始?感觉这很反人类呀,正常来讲,一个集合的开始,不应该从一吗? 对于这个问题,我觉得可以从以下两方面来考虑。 1设计层面 我们先了解一下数组最基本的结构和寻址方式(即实现方式)。 现在市面上无论是C、Java、PHP,还是Go或者其他编程语言,他们数组的实现方式,应该都是一样的:一段连续的内存。 file 数组在分配内存的时候,我们会知道数组的 开始地址 (PS:在目前下标为零的情况下,也等同于数组的第一个元素的地址) 111.png 因为数组中每个元素的类型都是相同的,所以每种类型所占的内存大小是固定的,因而导致数组中每个元素的所占的内存大小都是相同的 file 由此我们可以得出,数组中每个元素地址的计算公式: // ...阅读全文