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

北京知名互联网公司,要golang开发工程师

简历可以发送到邮箱salleyxu@163.com 学历必须是211985,知名公司背景等,有兴趣的可以直接发简历到我的邮箱,收到邮件第一时间会联系你 我的电话和微信18513349965 岗位职责: * 采用Go语言(Golang)开发稳健可扩展的后端程序; * 基于SOA架构,为各类项目需求设计架构,开发后端所有功能服务,同团队成员合作并积极提出建议和反馈; * 通过单元测试、自动化以及代码审查等提升优化代码质量; * 积极参与各种头脑风暴会议并对用到的技术、算法和产品功能提出意见和建议; * 同产品和设计团队协作,理解用户需求,归纳功能用例,并转化为高效的技术解决方案; * 重点及难点技术攻坚,并按时交付研究成果。 岗位要求: ...阅读全文

某国资背景公司招区块链高级开发工程师

背景介绍:某国资背景老牌信用公司,在企业征信、个人征信、商业信息服务等领域拥有多年丰富经验,已经获得全国征信业务经营备案资质,该项目为区块链+信用应用方向。 优势:拥有强大的信用数据沉淀,项目可实施性强;与原有业务完美契合,能够快速落地应用;最重要的是无政策性风险!无政策性风险!无政策性风险! 好处:项目处于起步阶段,想要参与区块链完整开发周期的,不要再犹豫了,快快入坑吧! 下面咱们聊聊要求: 岗位职责 1. 结合征信业务场景,基于区块链技术,进行征信产品的应用开发; 2. 参与区块链平台底层技术框架的研发,维护; 岗位要求 1. 计算机相关专业本科以上学历,2年以上互联网相关行业工作经验; 2. 半年以上区块链研发经验; 3. 掌握区块链技术的设计原...阅读全文

国内高防虚拟主机怎样判断好坏?

了解高防虚拟主机的人都知道,高防虚拟主机与普通的虚拟主机大不相同,它属于防御性的虚拟主机,能很好防御网络中的DDoS等流量攻击,服务器虚拟化不断发展,虚拟主机更容易受网络中的DDoS攻击,从而促使消费者偏向高防虚拟主机。 而高防虚拟主机的稳定性对网站非常重要,企业在建站时对高防虚拟主机选择要注意。那么怎样去辨别国内高防虚拟主机的好坏呢? 服务器放置的虚拟主机数量 国内专业的虚拟主机提供商都有严格的规定,每台服务器上有多少台高防虚拟主机才能更大限度的保证客户的访问速度。不排除一些小服务商为赚钱,在同一台服务器上放N多高防虚拟主机,导致用户越多访问速度越慢,所以客户在购买时可选择一些大品牌的高防虚拟供应商。 服务器稳定性 虽说高防虚拟主机防御性强,但不代表稳定,普通...阅读全文

招聘Golang/C++ 高级工程师

工作职责: 1、 负责公司后端功能的设计及开发; 2、 参与后台系统架构、性能等优化的设计和实现; 3、 参与架构设计,负责和保证相关系统的稳定、持久运行; 职位要求: 1、 计算机相关专业,本科及以上学历,2年及以上互联网软件开发相关工作经验; 2、 熟悉Go语言开发,并有实际开发经验,至少主导开发过一个生产级系统,熟悉Go相关的web开发技术; 3、 熟悉redis/mysql等数据库开发,熟悉数据库索引调优; 4、 熟悉常用数据结构与算法; 5、 熟悉docker都容器化技术; 6、 有责任心,对技术有热情有追求,富于创新,勇于解决技术难题; 7、 熟悉微服务、Service Mesh 和 Serverless 等技术优先...阅读全文

python学习记录(一)

程序是什么 程序有一个教科书式的定义,程序 = 算法 + 数据结构,理解起来比较抽象。 生活中,也有很多程序的例子,比如炒菜、弹吉他,而菜谱和乐谱就是“程序”,只不过菜谱是用人能读懂的自然语言(中文、英文等)编写的程序,而计算机程序是用计算机能读懂的编程语言编写的程序,菜谱程序的执行者是人,而计算机程序的执行者是计算机,菜谱的处理对象是食材,而计算机程序处理对象是数据。 计算机程序与菜谱程序的本质区别在于,菜谱是按照顺序执行任务,而计算机程序可以进行布尔运算和流程控制,也就是根据不同情况执行不同任务。 编程语言是什么 编程语言,就是计算机能识别和执行的语言。最早期的编程语言叫机器语言,也就是计算机CPU能识别和执行的二进制指令(010101)。但机器语言对于人而言,可读性太差,编写的效率也非...阅读全文

博文 2019-03-28 11:34:44 郭俊平_Gavin

GO语言研发岗位,100W年薪英雄帖!

**区块链研究院,100万年薪招聘技术负责人,要求精通GO语言 、区块链技术 ** 岗位职责描述: 1、从事区块链产品的设计和研发工作,研究区块链的协议,运行机制和底层实现等; 2、搭建基于区块链的底层架构,能实现公链、侧链、私有链及多种逻辑,供应用层调度使用; 3、根据实际需求及应用场景,设计区块链运行机制,开发智能合约; 4、组织制定区块链产品的技术方案,指导项目团队成员的日常开发工作,解决开发中的技术问题。 任职要求: 1、**985或211**院校,计算机相关专业**硕士及以上学历**,**8年以上开发工作经验**; 2、熟悉一种区块链开源项目,有区块链项目的开发/实施经验; 3、熟悉各种数据结构和算法,对密码学、安全协议有研究;...阅读全文

开源区块链Tendermint开发详解

简介 tendermint是一个开源的完整的区块链实现,可以用于公链或联盟链,其官方定位 是面向开发者的区块链共识引擎: 与其他区块链平台例如以太坊或者EOS相比,tendermint最大的特点是其差异化的定位: 尽管包含了区块链的完整实现,但它却是以SDK的形式将这些核心功能提供出来,供开发者 方便地定制自己的专有区块链: tendermint的SDK中包含了构造一个区块链节点旳绝大部分组件,例如加密算法、共识算法、 区块链存储、RPC接口、P2P通信等等,开发人员只需要根据其应用开发接口 (Application Blockchain Communication Interface)的要求实现自己 的应用即可。 ABCI是开发语言无关的,开发人员可以使用自己喜欢的任何语言来开发基于ten...阅读全文

博文 2018-11-05 10:34:41 malakashi

座标上海----区块链游戏项目招聘服务器后端程序Golang

资深服务器开发 经验:2年以上 学历:本科及以上 招聘人数:1人 岗位要求 1. 负责游戏服务器总体设计, 框架建设, 模块划分, 核心业务开发 2. 负责游戏内社交平台的开发和架构工作 3. 负责服务器策略和性能优化工作 任职要求: 1. 本科及以上学历, 计算机相关专业, 1年以上开发工作经验, 有项目优化和线上 2. 维护经历 3. 熟悉linux平台, 熟悉Golang, C++, dotnet core其中至少一个, 4. 熟悉常见的nosql,如redis, mongodb 5. 熟悉网络编程,了解常见的网络协议 6. 熟悉常见的分布式技术,如服务发现,负载均衡,配置共享 7. 熟悉多线程,多进程开发,了解常见的高并发处理方案 欢迎有兴趣的...阅读全文

有限状态机FSM的原理与GO的实现

有限状态机(Finite-state machine, 简写FSM)又可以称作有限状态自动机。它必须是可以附着在某种事物上的,且该事物的状态是有限的,通过某些触发事件,会让其状态发生转换。为此,有限状态机就是描述这些有限的状态和触发事件及转换行为的数学模型。 有限状态机组成 有限状态机有两个必要的特点,一是离散的,二是有限的。基于这两点,现实世界上绝大多数事物因为复杂的状态而无法用有限状态机表示。 而描述事物的有限状态机模型的元素由以下组成: 状态(State):事物的状态,包括初始状态和所有事件触发后的状态 事件(Event):触发状态变化或者保持原状态的事件 行为或转换(Action/Transition):执行状态转换的过程 检测器(Guard):检测某种状态要转换成另一种状态的条件是...阅读全文

博文 2017-07-24 02:13:43 陈康stozen

上海互动直播平台招GO

### 岗位要求: * 参与公司游戏服务端的底层分布式架构设计,模块开发和业务开发 * 参与服务高并发监控部署,及时调整服务参数 * 与团队合作攻关项目难点 * 协助测试及前端开发部署相关项目 ### 任职要求: * 计算机相关专业,本科及以上学历,至少一年 go 开发经验,熟悉软件工程开发全过程 * 熟练掌握 Golang 的相关知识,熟悉leaf、cellnet、mqant、xingo 等框架其中的一种 * 有相关 socket 网络编程经验,精通服务端开发中需涉及的基础框架、网络通讯、并发控制、异步 IO 等相关技术 * 熟悉 redis、mongodb 等nosql数据库,并可以使用 golang 操作 * 了解 mqtt 协议,了解主流 RPC 实现方案,并掌握...阅读全文

[深圳] 优畅-ULINE 招聘区块链开发工程师 15-25K

### 技能要求: 1.负责基于区块链(Blockchain)、以太坊(Ethereum)、EOS 的互联网金融产品的设计和研发,含后端协议、基础架构、系统服务及其相关客户端; 2.开发、实现和改进加密协议,设计安全协议和架构; 3.负责研究区块链、以太坊以及EOS的底层协议,运行机制和底层实现等; 4.负责对研发项目进行完善的安全模块设计与开发。 ### 岗位要求: 1.计算机相关专业学历; 2.熟练掌握一门或多门GoLang,Ruby,Python,C++ 等主流区块链系统开发语言,参与各个区块链开发社区并贡献源码者优先; 3.了解一些主流NoSQL数据库的原理与使用,尤其是KV型数据库,包括不限于LevelDB,RocksDB等; 4.熟悉linux操作系统; ...阅读全文

[深圳] 优畅-ULINE 招聘 Golang开发工程师 15-25K

## 待遇 : 这里讲的是一种生活方式 因为崇尚自由、合作、学习、创新 SO ![](https://l.ruby-china.org/photo/2015/219a02834989268d53a0ad8c08e25bca.jpg) 咱可弹性上班; 如果晚上由于激烈运动没睡好,第二天请务必睡到自然醒再来公司; - 月薪15K-25K; - 每年2-3次提薪机会,有底线无上限; ## 技能要求: 1、3年以上技术开发经验,1年以上golang开发经验 2、同时熟悉Python更佳 3、计算机专业、本科,GO方向持续经验 4、有Docker、mesos容器使用经验者优先 5、具有良好的编码风格和团队协作精神 ## 加分项: ...阅读全文

想成为大企业Java工程师 郑州Java学习怎么样

对于BAT企业,每年都有一批一批的应届毕业生想要进去,虽然说每个公司都有一定的校招名额,但想要进去还是要经过层层筛选。 大互联网公司不单单是BAT,还有另外一些大企业也是很好的,我是找了美团、网易、滴滴三个公司对Java类校招对本科生的要求,有需要的可以看看! 滴滴: 岗位要求: 1.现居北京,方便面聊 2.有互联网项目实习经验(匹配关键词:SpringBoot Dubbo Redis MQ Kafka FS Nginx) 3.科班出生,基础扎实,计算机专业硕士优先(匹配关键词: JVM 算法 协同过滤 UserCF ItemCF 机器学习 TensorFlow 算法竞赛获奖) 4.有推荐系统经验优先 5.一周五天,实习期9个月以上 美团岗位要求: 精通Java/C++/golang程序开发...阅读全文

博文 2018-09-21 11:34:41 千锋郑州

拜占庭容错系统简介

拜占庭容错系统简介 原始的拜占庭容错系统由于需要展示理论上的可行性而缺乏实用性。另外,算法的复杂度也是随节点的增加而呈指数级增加。实用拜占庭容错系统(Practical Byzantine Fault Tolerance, PBFT)降低了拜占庭协议的运行复杂度,从指数级别降低到多项式级别,使拜占庭协议在分布式系统中应用成为可能。 什么是实用拜占庭容错系统 实用拜占庭容错系统是一类“状态机”拜占庭系统(这里的状态机可以理解为“系统状态”,以区块链记账为例,系统每新增一个区块,账本就更新到一个新的状态。前面讲过,拜占庭容错系统是一个强一致性协议,每次记账后系统都会达成新的状态。),要求系统所有节点共同维护一个状态,所有节点采取的行动一致。 实用拜占庭容错系统需要运行三类基本协议: 一致性协议:...阅读全文

博文 2018-08-06 11:34:52 kakushao

杭州壹算科技有限公司诚聘golang工程师

工作性质:全职 工作经验:1年及以上 职位月薪:6000 – 15000 工作地点:杭州 按工资全额缴纳五险一金,试用期全薪!!!!! 岗位职责: 根据需求、设计文档独立完成分配的项目后端模块开发及维护并解决所属模块的BUG。 任职要求: 1. 计算机相关专业。 2. 熟练使用go语言,熟悉beego框架,熟悉linux环境。 3. 熟悉各种主流关系型、非关系型数据库, 能熟练使用PostgreSQL数据库。 4. 具备开发和实施多层次架构的GOLANG后台服务能力者优先...阅读全文

Erlang 之父 Joe Armstrong 逝世,如何评价他在计算机领域的贡献?

[转载]https://juejin.im/post/5ccd596e51882540d472aa54 Make it work ,then make it beautiful,then if you really,really have to,make it fast. 90% of the time,if you make it beautiful,it will already be fast. So really,just make it beautiful. Joe Armstrong 不必说 erlang 与 OTP, 光他的论文《面对软件错误构建可靠的分布式系统》就足以载入史册——领先现在几十年,提出了OOP 等思想本质上不是并发的正确处理方法。 Joe Armstrong 在...阅读全文

博文 2019-10-21 18:33:03 aside section._1OhGeD

如何成为一名大数据工程师?成都大数据培训

数据工程师都做什么?数据工程师负责创建和维护分析基础架构,该基础架构几乎可以支持数据世界中的所有其他功能。他们负责大数据架构的开发、构建、维护和测试,例如数据库和大数据处理系统。大数据工程师还负责创建用于建模,挖掘,获取和验证数据集合等流程。因此,数据工程师需要掌握通用脚本语言和工具,利用和改进数据分析系统,不断提高数据数量和质量。 数据工程师与数据科学家有何区别虽然在技能和角色方面存在一定程度的重叠,但这两个职位正日益分化为不同的角色。数据科学家更关注与数据基础设施的互动,而不是去创建和维护数据基础设施。通常负责进行市场和业务运营研究,以确定趋势和关系,数据科学家用各种复杂的机器和方法与数据进行交互并对其采取行动。数据科学家通常精通机器学习和高级数据建模,因为他们希望借助高级数学模型和算法...阅读全文

golang-raft算法理论与实践

前言 我计划写raft的一系列文章,包含从理论到代码实践,此文章依托于MIT的研究生课程。 背景 raft 是一种分布式的共识算法,其目的是要实现多个节点集群的容错性,一致性从而能够构建大规模的软件系统。 在raft之前,比较有名的是Paxos。但是paxos难于理解。 raft的诞生是为了让共识算法更容易理解,在工程上更容易实现。 和其他的共识算法不同的是,raft具有下面的特点: leader:raft中会有一个领导者具有超级权限,可以把自己的log 复制到其他节点中。 leader election: raft每隔一段随机的时间就会进行leader的选举 raft允许集群配置变化时正常运行。 Replicated state machine 状态机是分布式系统中的一个重要概念,任何一个...阅读全文

博文 2020-02-12 07:32:56 唯识相链2

老司机带你用 Go 语言实现 Raft 分布式一致性协议

老司机带你用 Go 语言实现 Raft 分布式一致性协议  随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。   为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。任何一个分布式系统都无法同时满足 Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)这三个基本需求,最多只能满足其中两项。 但是,一个分布式系统无论在 CAP 三者之间如何权衡,都无法彻底放弃一致性(Consistency),如果真的放弃一致性,那么就说明这个系统中的数据根本不可信,数据也就没有意义,那么这个系统也就没有任何价值可言。所...阅读全文

博文 2017-03-23 08:20:49 chauncy

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

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

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

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( )...阅读全文

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

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

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

用了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小小咖

[北京] [滴滴云] 招聘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

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

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

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

【上海】蝴蝶互动招聘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跟他们要人。我第一感觉就是她被这些机构忽悠了,区块链技术处于起步阶段,大家都还在摸索,并没有完全成熟的模式,他们这些机构哪能一下子掌握呢?这些都是要靠实践才行的,不是去短时间培训...阅读全文

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

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

【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

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

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

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

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 管理也是和实际应用场景是相关的,对于流媒体来说,存在一个视频播放位置,播放位置附近的内容就是紧急内容,该内容则会被优先下载。 ...阅读全文

Go语言==接口(interface)

7. 接口(interface) 接口本身是调用方和实现放均需要遵守的一种协议,按统一方法命名参数类型和数量来协调逻辑处理。Go语言中使用组合实现对象特性的描述,对象内部使用结构体内嵌组合对象应具有的特性,对外通过接口暴露能使用的特性。Go语言的接口设计是非入侵式的,开发者无需知道哪些类型被实现。而接口实现者只需要知道实现的是什么样子的接口,但无需指明实现哪一个接口。编译器知道接口应该由谁来实现。 非入侵式的设计让接口与实现者真正解耦。编译速度提高。 1.声明接口 + 接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构 ``` //1.1 接口声明格式 //每个接口类型由数个方法组成 type 接口类型名 interface { 方法名1(args[]) 返回值列表1 方法...阅读全文

用 Go 语言实现一个 telegram 的 bot - 成功复读

telegram bot(复读机) 尝试 用 Go 语言做了一个 telegram 的 bot . 用来简单实现对话(复读)。 获得 telegram bot token 和 BotFather 交谈即可中途需要设置一下名字和查找路径 go get 首先获取 api 包 go get -u github.com/go-telegram-bot-api/telegram-bot-api code package main import ( "log" "os" "github.com/go-telegram-bot-api/telegram-bot-api" ) func main() { bot, err := tgbotapi.NewBotAPI(os.Getenv("TELEGRAM_A...阅读全文

博文 2019-07-26 19:02:37 yhyddr

实现Raft协议:Part 0 - 介绍

翻译自Eli Bendersky的系列博客,已获得原作者授权。 本文是系列文章中的序言,本系列文章旨在介绍Raft分布式一致性协议及其Go语言实现。文章的完整列表如下: 序言:介绍(本文) 第一部分:选主 第二部分:指令和日志复制 第三部分:持久性和优化 Raft是一个相对较新的算法(2014),但是已经在业界取到了广泛的应用。最知名的案例应该就是Kubernetes,其中的分布式键值存储组件etcd就依赖了Raft协议。 本系列文章的写作目的,在于描述Raft协议的一个功能完备且经过严格测试的实现方式,并提供一些Raft工作方式的直观理解。这并不是您学习Raft协议的唯一途径。我假定您至少读过Raft论文; 此外,也强烈建议您花时间仔细研究Raft网站上的资源——观看创作者的一两次演讲,鼓...阅读全文

博文 2020-05-06 14:36:21 GuoYaxiang

图解kubernetes调度器SchedulerCache核心源码实现

SchedulerCache是kubernetes scheduler中负责本地数据缓存的核心数据结构, 其实现了Cache接口,负责存储从apiserver获取的数据,提供给Scheduler调度器获取Node的信息,然后由调度算法的决策pod的最终node节点,其中Snapshot和节点打散算法非常值得借鉴 设计目标 数据感知 SchedulerCache的数据从apiserver通过网络感知,其数据的同步一致性主要是通过kubernetes中的Reflector组件来负责保证,SchedulerCache本身就是一个单纯数据的存储 Snapshot机制 当scheduler获取一个待调度的pod,则需要从Cache中获取当前集群中的快照数据(当前此时集群中node的统计信息), 用于后...阅读全文

博文 2020-01-14 11:34:30 代码仔

兄弟连区块链入门教程以太坊源码分析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 兄弟连区块链培训

go微服务框架go-micro深度学习(三) Registry服务的注册和发现

服务的注册与发现是微服务必不可少的功能,这样系统才能有更高的性能,更高的可用性。go-micro框架的服务发现有自己能用的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。 go-micro在客户端做的负载,典型的Balancing-aware Client模式。 服务端把服务的地址信息保存到Registry, 然后定时的心跳检查,或者定时的重新注册服务。客户端监听Registry,最好是把服务信息保存到本地,监听服务的变动,更新缓存。当调用服务端的接口是时,根据客户端的服务列表和负载算法选择服务端进行通信。 go-micro的能用Registry接口type Registry interface { Register(*Service, ...RegisterOptio...阅读全文

DockOne微信分享(六十四):基于Docker实现DevOps的一些探索

【编者的话】本次分享从DevOps介绍;Docker介绍;基于Docker实现DevOps的优势;Docker化DevOps流水线实例分享等四方面展开。 DevOps介绍DevOps(Deveplopment和Operations的简称),中译为开发运维一体化,可定义为是一种过程、方法、文化、运动或实践,主要是为了通过一条高度自动化的流水线来加强开发和其他IT职能部门之间的沟通和协作,加速软件和服务的交付。 在一个较成熟的软件和服务交付的团队里,就技术层面来说主要分为三个组成部分:开发、测试和运维。DevOps的作用就是将这三个部分紧密的连接起来,提供一条从软件开发到质量保障到技术运营的自动化流水线,加强不同角色之间的沟通和协作,基于用户需求实现软件和服务的快速交付。 "开发的这群傻叉新给的...阅读全文

博文 2017-06-25 16:25:05 EricCheung

云数据库 Redis 版使用教程

课程介绍 云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore 课时列表 • 课时1:Redis总体介绍 • 课时2:pub/sub应用场景与使用接口 • 课时3:如何使用云Redis控制台 • 课时4:实例创建 • 课时5:数据库管理 • 课时6:连接数据库 • 课时7:数据迁移 • 课时8:备份与恢复 开始学习http://click.aliyun.com/m/27849/ ...阅读全文

Bytom设计结构解读

一、引文 设计Bytom 数据结构,组合了许多技术点,如 patricia tree,utxo, bvm, account model,protobuf,sql,memcache 等。本文会对一些技术点做以下两点分析。 Bytom 为什么要采用该技术点? Bytom 如何应用该技术点? 最后介绍综合这些技术点如何实现Bytom。 [patricial tree](http://www.allisons.org/ll/AlgDS/Tree/PATRICIA/) 二、为什么要采用PAT树? •PAT树具有[基数树](https://en.wikipedia.org/wiki... 的特点,内容可快速追踪。 •PAT树具有[merkle树](https://en.wikipedia.org/wik...阅读全文

博文 2018-07-26 16:34:56 比原链Bytom

Tikye(TIY)知识科普之技术架构

设计思路考虑到Tikye对于区块链系统的性能、安全等需求远比一般的公有链性能更高,为了保证交易场景下的公开透明,交易各方皆能参与到区块链的共同监管与治理,同时能兼顾高频交易需要较高的TPS,我们设计了一套支持可插拔、可扩展的高性能应用级区块链系统。在下文中,该区块链系统简称Tikye。该系统为开发者提供便捷的SDK工具包,同时还将为外部系统提供可兼容的API接口,基于Tikye的特性解决传统问题。主要依靠智能合约来解决基于Tikye的事务性问题,智能合约在区块链环境中运行,保证了事务执行的可行性、高效性和安全性。为了区块链系统的处理能力,我们通过引入多条平行链组成链路由系统。平行链和主链保持既独立又统一的关系,所有平行链可以拥有自己的超级节点、状态机和原始交易数据,由主链来存储关键数据以及完...阅读全文

博文 2019-09-19 11:02:46 逗币狗

go微服务框架go-micro深度学习(三) Registry服务的注册和发现

服务的注册与发现是微服务必不可少的功能,这样系统才能有更高的性能,更高的可用性。go-micro框架的服务发现有自己能用的接口Registry。只要实现这个接口就可以定制自己的服务注册和发现。 go-micro在客户端做的负载,典型的Balancing-aware Client模式。 服务端把服务的地址信息保存到Registry, 然后定时的心跳检查,或者定时的重新注册服务。客户端监听Registry,最好是把服务信息保存到本地,监听服务的变动,更新缓存。当调用服务端的接口是时,根据客户端的服务列表和负载算法选择服务端进行通信。 go-micro的能用Registry接口 type Registry interface { Register(*Service, ...RegisterOpti...阅读全文

博文 2019-08-01 13:58:39 li-peng