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

为什么80%的码农都做不了架构师?

一般来说技术团队的金字塔顶尖往往是技术最牛的人做架构师(或TL)。所以架构师在广大码农中的占比大概平均不到 20%。而架构师也可以分为初级、中级、高级,江湖上真正高水平的架构师就更少了。所以,80%码农干上许多年,还是做不了架构师,正在辛苦工作的程序员们,你有没有下面几种感觉?​① 我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。② 我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Swoft用的人最近比较多啊,听说最近Swoole比较火,还有微服务,听说PHP又更新了……③ 我发现虽然我工作5年了,除了不停的Coding写业务代码,Ctrl+c和Ctrl+V更熟练了,但编码水平并没有提高,还是一个普通程序员,但有人已经...阅读全文

博文 2019-06-20 12:03:47 PHPsix

Golang在京东列表页实践总结

目前线上状态 基于搜索实现; 全量数据,搜索结果不理想; 接口响应时间长,影响了用户体验; 没法针对数据做二次优化; 转化率相对较低; 基于以上原因,需要做出改变,所以就需要对老进行重构,如下 重构版本 非全量数据,线下异步根据数据模型进行进行筛选部分最优数据; 要求时时过滤计算,接口相应时间要快,保证用户体验; 数据进行优化,提高转换率,提搞GMV; 为何选择golang golang语言强大的并发能力; 与C相媲美的性能,新版对cpu计算要求较高; 基于以上两点,所以选择了golang语言作为服务端计算使用的语言。 重构后的架构图 解释下架构图各个模块功能 Nginx+Lua: 用来渲染页面,拿到go计算服务的json数据渲染到页面端,最终呈现给终端用户; Config Center 是...阅读全文

超赞的GO语言设计模式和成例集锦

来自:http://geek.csdn.net/news/detail/100051 Go语言从面世就受到了业界的普遍关注,曾有文章分析,Go是最有可能改变未来IT技术的十大语言之一。本文作者列举了Go语言的设计模式和成例合集,并且还进行了详细的分类。 创建型模式 抽象工厂模式:提供一个接口用于创建相关对象的家族;Builder模式:使用简单的对象来构建复杂的对象;工厂方法模式:一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中;对象池模式:实例化并维护一组相同类型的对象实例;单例模式:限制类的实例,保证一个类只有一个实例。 结构模式 适配器模式:适配另一个不兼容的接口来一起工作;桥接模式:将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立...阅读全文

博文 2016-09-08 06:00:09 Blues1021

为什么我要选择erlang+go进行服务器架构(1)

创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 估计很多同学看到这里都会觉得迷惑,go的大名已经如雷贯耳了,但是erlang?这个东东是神马?难道是编程语言?怎么从来没听说过。 这里请允许我先介绍一下使用Erlang开发的比较有名的应用: 一:whatsapp 只凭32个技术人员,如何应付4.5亿的用户?对于刚刚被Facebook用190亿美元收购的WhatsApp来说,答案是Erlang——一种诞生于上世纪80年代的编程语言,终于在此时走到了聚光灯下。 这个应用把erlang的特性发挥到了极致,利用到了它最好的vm、 集群基础设施、数据库mnesia, 消除了非常多的数据Scale、内存池和锁的问题, 提到的技术和修正点非常...阅读全文

博文 2014-10-07 00:34:52 sunface

为什么我要选择erlang+go进行服务器架构(2)

创文章,转载请注明出处:服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 为什么我要选择Erlang呢? 一、erlang特别适合中小团队创业: erlang有异常成熟、经过电信级别大规模验证的OTP应用库,只需要很简单的代码就能建立起异常稳定、容错性强、扩展性强、高并发的服务器框架,这也是erlang最宝贵的核心价值所在。 二、erlang是天生的并发语言: erlang的并发特性是语言级别的,从开发伊始就采用了CSP并发模式, 以进程为单位,进程间没有共享内存,变量不可变的实现方式保证了无锁的并发模型,因此也是异常高效的,换句话说:你只要像平常一样写代码就能并发,完全不用操心任何底层实现,你的代码能完美的并行运行在多核服务器上,如果你能写出漂亮的并...阅读全文

博文 2014-10-07 00:00:00 sunface

Go语言设计模式实践:迭代器(Iterator)

关于本系列 决定开个新坑。 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结。 然后这个系列也是关于设计模式的。虽然Go语言不是一门面向对象编程语言,但是很多面向对象设计模式所要解决的问题是在程序设计中客观存在的。不管用什么语言,总是要面对和解决这些问题的,只是解决的思路和途径会有所不同。所以我想就以经典的设计模式作为切入点来展开这个系列,毕竟大家对设计模式都很熟悉了,可以避免无中生有想出一些蹩脚的应用场景。 本系列的具体主题会比较灵活,计划主要包括这些方面的话题: Go语言惯用法。 设计模式的实现。特别是...阅读全文

博文 2014-10-31 03:00:01 newgame

go语言设计哲学

世界是并行的----先不说宇宙,就整个地球来说,世界万物都是并行发生的;天生对并发支持良好的go语言更容易描述并行的世界; 世界是由物质组合构成的---微观世界:由小的粒子组合成大的粒子;宏观世界:由小的物体组合成大的物体; 继承只能描述现实世界的一小部分,使用继承是不全面的;go的设计选择的是组合,这个和现实世界比较吻合的设计,表现力更强; 世界是标准化的---随着生产力的发展,社会分工越来与详细,越来越多行业有了国际标准,任何一个国家的、任何一个公司只要按照这个标准生产器件,就能装配到一台机器上;IBM/PC就是硬件模块化和接口化一个最成功的例证; 软件也可如此,go的接口是duck模型,面向接口编程,而不需要显示的声明,将语言能做的事情交给语言做; 正交性--几何上的正交指的是两个向量...阅读全文

博文 2015-04-30 20:30:29 hittata

Golang分布式设计模式之-----分层设计

提到分布式系统,我们会想到很多机器,分别部署着各自的服务,然后整体组成一个分布式系统。在这类系统中,分布式系统与常规的集中式系统存在着以下三个区别。(来自分布式算法导论) 1、缺乏全局状态知识 2、缺乏全局时间帧 3、非确定性 这三大特点也成为分布式系统设计的难点。也正是如此,分布式系统的设计比常规的集中式系统要难的多。为了区别,我们称这种分布式系统为,群体分布式。这种犹如社会群体。 golang语言天生具有分布式的特点,其主要是基于协程与chan的概念。如果对golang不了解的人可以简单的去看看golang语言。 有了golang语言,我们的可执行程序,也可以设计成分布式。一个可执行程序设计成分布式,这种分布式我们成为单体分布式。这种犹如,个体,存在着很多的部件。 其与群体分布式的区别在...阅读全文

博文 2014-10-09 21:00:09 screscent

[北京]Golang游戏服务器工程师

北京钛核互动信息技术有限公司成立于2014年11月,创始人团队都是来自于Glu Mobile, Gameloft等顶尖手游公司。在游戏行业打拼了10年以上,擅长高品质精品游戏开发。开发过大量精品手机游戏、Console游戏和网游。公司坚信以人为本,以顶级的人才需要顶级的回报为目标,营造一个有激情的宽松的游戏开发环境,希望能够让游戏人才能够发挥自己的热情和潜力。 http://www.tuicool.com/articles/uEfEJf 服务器将会使用弹性云自动伸缩架构,在这里你将能够学习并开发具有国际最先进的云架构游戏服务器方案。我们招聘具有创新精神的工程师,敢创新、思维严谨、勇于承担。 **基本能力要求:** 1. 热爱玩游戏,热爱开发游戏。具备足够的游戏常识;...阅读全文

设计模式(golang)

设计模式的六大原则 摘自 Java开发中的23种设计模式详解 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后 面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何 基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受 到...阅读全文

博文 2017-02-15 15:20:20 Cbping

golang设计模式的一些看法

golang设计模式的一些看法 对于c、c++来讲,设计的对象存在着这几个问题 1、 对象是死的,只有自己的属性,行为(函数)。没有可以自己独立执行的机制 2、 对象是存活的,有自己的属性,行为(函数),还有独立执行的活动(自己独立的线程)。但由于系统的限制,这种对象数量不能过多(线程数量不能太多)。 3、 对象是半存活的,有自己的属性,行为,没有独立的执行活动(没有自己独立的线程)。需要借助于其他对象的线程调度。 以上是c、c++语言的一些限制。其他语言不是熟悉,不进行评判。但大多数也是类似的。 那么对于golang语言来讲,设计的对象可以是 存活的,每个对象,有自己的属性,有自己的行为,也有自己的活动(通过协程来实现)。那么这样来讲,golang就可以实现对对象的完整模拟实现。就犹如我们...阅读全文

博文 2014-12-17 13:00:01 screscent

Golang在视频直播平台的高性能实践(含PPT下载)

编者按:本文是杨武明在 2 月 27 日在 Gopher 北京聚会演讲基础上整理而成。转载请注明来自高可用架构公众号「ArchNotes」。杨武明,熊猫 TV 首席架构师,曾担任奇虎 360 PC 网游技术架构负责人,前新浪微博平台资深后端开发、技术专家。对大型互联网架构有丰富的实践经验,擅长后端基础服务与组件开发,尤其高性能、高并发、大数据业务场景。熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。关于在线服务,如果 1000...阅读全文

博文 2016-10-20 20:00:01 u012798391

[分享]Gopher China 上海大会上的PPT

Gopher China 上海大会上的PPT [GO语言并发编程实践 by 周洋@360手机助手](http://airjd.com/view/i93qyhcy000h5ri) [Go语言在NFV场景下的应用研究 by 汪洋@华为](http://airjd.com/view/i93rjkj300009rd) [Go在猎豹移动的应用 by 毛剑](http://airjd.com/view/i93y6ubj000f9mf) [Golang与高性能DSP竞价系统](http://airjd.com/view/i93ybt65000g7pe) [用golang写一个操作系统](http://airjd.com/view/i93y5mbb000i1ga) [P2...阅读全文

GO语言简单工厂模式

简单工厂模式的特点是工厂可以根据条件产生不同功能的类,从而达到提高程序代码的可复用性。 package main import ( "fmt" ) type Operater interface { //运算接口 Operate(int, int) int } type AddOperate struct { //加法运算类,实现了运算接口 } func (this *AddOperate)Operate(rhs int, lhs int) int { return rhs + lhs } type SubOperate struct { //减法运算类,实现了运算接口 } func (this *SubOperate)Operate(rhs int, lhs int) int { retu...阅读全文

博文 2015-09-23 18:00:01 wenjianming

如何做Go的性能优化?

Go的性能优化其实总的来说和C/C++等这些都差不多,但也有它自己独有的排查方法和陷阱,这些都来源于它的语言特性和环境。 ------------------------- 1.性能优化前提——任何好的东西都是在正确的前提上 ------------------------- 代码界的很多事是和我们生活的哲学息息相关的,我们想要做好一件事,首先要保证我们能按时完成我们的任务,其次再去想如何把工作做的更好。如果一味只去要求做的尽善尽美可能会导致延期,失败,半途而废。 所以,先写正确的代码,再去考虑如何去让代码更快更好的运行;先完成基本的功能,再去想如何优化它。正确是优化的基础,没有这个基础,任何的优化都是毫无意义的。 ------------------- 2.性能优化限制——架构设计和硬件资...阅读全文

博文 2017-07-15 04:17:12 好奇还思猫

Go 的 MQ 框架 KiteQ

KiteQ 是一个基于 go + [protobuff](http://www.oschina.net/p/protocol+buffers) 实现的多种持久化方案的 mq 框架(消息队列)。 特性:

* 基于zk维护发送方、订阅方、broker订阅发送关系、支持水平、垂直方面的扩展
* 基于与topic以及第二级messageType订阅消息
* 基于mysql、文件存储方式多重持久层消息存储
* 保证可靠异步投递
* 支持两阶段提交分布式事务
工程结构:
kiteq/
├── README.md
├── binding           订阅关系管理处理跟ZK的交互
├── build.sh          安装脚本
├── client   ...阅读全文

开源项目 2015-05-24 16:00:00 blackbeans

[Golang]设计模式实践:组合(Composite)

关于本系列这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结。然后这个系列也是关于设计模式的。虽然Go语言不是一门面向对象编程语言,但是很多面向对象设计模式所要解决的问题是在程序设计中客观存在的。不管用什么语言,总是要面对和解决这些问题的,只是解决的思路和途径会有所不同。所以我想就以经典的设计模式作为切入点来展开这个系列,毕竟大家对设计模式都很熟悉了,可以避免无中生有想出一些蹩脚的应用场景。本系列的具体主题会比较灵活,计划主要包括这些方面的话题:Go语言惯用法。设计模式的实现。特别是引入了闭包,协程,Duc...阅读全文

博文 2015-03-13 12:00:31 abv123456789

阿里P8架构师谈:高并发架构解决方案总结

一、关于高并发高并发是指在同一个时间点,有很多用户同时访问URL地址,比如:淘宝的双11、双12,就会产生高并发。又如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击。1 高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等。用户角度:网站打不开服务器雪崩:2 并发下的数据处理通过表设计,如:记录表添加唯一约束,数据处理逻辑使用事物防止并发下的数据错乱问题。通过服务端锁进程防止包并发下的数据错乱问题。这里主要讲述的是在并发请求下的数据逻辑处理的接口,如何保证数据的一致性和完整性,这里的并发可能是大量用户发起的,也可能攻击者通过并发工具发起的并发请求。例子1:通过表设计防止并发导致数据...阅读全文

博文 2018-10-14 16:01:06 Java007

一个简单的golang游戏服务器框架

这个是框架的架构图 ![架构图.jpg](http://studygolang.qiniudn.com/161126/bbd98d6b8e74230dcb518caad9caadc1.jpg) 单个APP的结构 ![单个app结构.jpg](http://studygolang.qiniudn.com/161126/f7a78528c9c94f63c0513fd5e3336b74.jpg) 报文协议层级 ![报文层级.jpg](http://studygolang.qiniudn.com/161126/2fcbc73d2e2926e09941bd18403103da.jpg) 文档的目录索引的链接:http://blog.csdn.net/easy_m...阅读全文

Go语言并发的设计模式和应用场景

生成器 在Python中我们可以使用yield关键字来让一个函数成为生成器,在Go中我们可以使用信道来制造生成器(一种lazy load类似的东西)。 当然我们的信道并不是简单的做阻塞主线的功能来使用的哦。 下面是一个制作自增整数生成器的例子,直到主线向信道索要数据,我们才添加数据到信道: func xrange() chan int{ // xrange用来生成自增的整数 var ch chan int = make(chan int) go func() { // 开出一个goroutine for i := 0; ; i++ { ch <- i // 直到信道索要数据,才把i添加进信道 } }() return ch } func main() { generator := xrang...阅读全文

博文 2016-05-27 19:00:03 Ellon-Daris

Go语言并发的设计模式和应用场景

生成器 在Python中我们可以使用yield关键字来让一个函数成为生成器,在Go中我们可以使用信道来制造生成器(一种lazy load类似的东西)。 当然我们的信道并不是简单的做阻塞主线的功能来使用的哦。 下面是一个制作自增整数生成器的例子,直到主线向信道索要数据,我们才添加数据到信道: func xrange() chan int{ // xrange用来生成自增的整数 var ch chan int = make(chan int) go func() { // 开出一个goroutine for i := 0; ; i++ { ch <- i // 直到信道索要数据,才把i添加进信道 } }() return ch } func main() { generator := xrang...阅读全文

博文 2017-01-10 02:00:01 四明狂客

云存储公司(上海)招聘Go语言资深服务器端开发工程师!

职位要求: - 在架构师的协助下,实现系统功能 - 负责产品化组的服务端开发工作 - Review代码,并提出修改意见 - 为功能编写单元测试 - 工作积极主动,擅于思考问题,能够主动沟通与解决问题 - 精通和熟悉主流语言的至少一门C/C++/Java/C#/Python/PHP/Go/Ruby/Erlang等 - 熟悉Linux工作环境,熟悉至少一种数据库编程 - 熟悉HTTP协议,了解Web安全 - 外语文档阅读能力 - 熟悉Go语言优先 - 有管理经验或架构经验优先 - 参与过开源项目优先 地点是在上海地铁二号线金科路附近,公司为知名云存储公司,如果有兴趣详细沟通可以通过以下联系方式了解具体详情 - QQ 314820246 - 手机 159019...阅读全文

【广州】移动互联网公司欢迎Go程序员

我们是一家移动互联网公司,有稳定投资方和成熟的商业模式。 要求: 1. 从事Golang开发1年以上 2. 精通Golang,熟悉Go设计模式,有生产环境下大量使用goroutine的经验优先 3. 精通*nix网络编程,具备良好的编码规范 4. 熟悉分布式软件系统架构 5. 思维活跃,乐于沟通,有开源项目经验者优先 我们期待您的加入! 网址:http://www.shangnatao.com Email: tech@shangnatao.com Jason QQ: 5692500...阅读全文

上海/广州-继续招个GO(还是上次的公司,之前在这已经招到一个了,感谢贵宝地)

Go工程师(上海) 职责范围: 1. 负责应用于高并发环境下的服务器端应用程序开发。 2. 服务运维及接口开发(Go语言为主) 岗位要求: 1. 扎实的 golang 语言基础。 2. 具备良好的代码编写习惯、良好的代码结构组织能力,同时可以维护开发文档。 3. 熟悉 TDD 模式、DevOps 模式。 4. 熟悉 MySQL、MongoDB 、Redis 等存储方案。 5. 熟悉 Linux 环境。 6. 能够自我驱动,热爱技术,有强烈的上进心,善于探索和钻研 加分项: 1. 可熟练使用 Mac 2. 使用 Git 作为版本控制工具。 3. 精通C/C/+/+或 Python语言,熟悉常用的设计模式者优先 4. 有云计算、云存储,Paas平台或者其他分布式项目...阅读全文

小米监控系统 OpenFalcon

OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒级返回上百个指标一年的历史数据。 * **Dashboard人性化**:多维度的数据展示,用户自定义Dashboard等功能。 * **架构设计高可用**:整个系统无核心单点,易运维,易部署。 ...阅读全文

golang年度使用总结,简洁不简单

时间过得好快,比较正式的使用go语言,已经接近300天了。这期间,go从1.5发展到了1.7,自己因为兴趣+责任,来到了新的团队,再次从事曾经非常熟悉的开发工作,充实! 竟然在玩scala之后,用了go语言 最初了解go语言,还是13年原单位一个项目。在不涉及到数据库操作的情况下,技术团队用.net竟然无法支持500/s的tcp峰值请求。本欲捡起Java,结果无意中知道了go。发现,用go的select非常非常简单。但因为其编程思想和传统OO差别很大,极不习惯,就没有跟进。 再次接触就是2015年,这期间正痴迷Scala,加入了一些scala的群。喜欢scala比较简单: 1. 语言精炼,代码优雅 scala的模式识别、类型推断实在是太舒服了,利用lambda(这个java8也有,但scal...阅读全文

博文 2016-09-05 11:00:05 qq_26981997

【招聘】滴滴(北京)基础架构部直招Gopher

参与公司架构部中间件项目服务端开发与设计,项目刚刚起步有很大的发挥空间及机会。项目主Golang语言,基础架构要求技术深度,而非广度。 诚招: 1)大学本科以上,3年以上工作经验,1年以上全职Golang开发经验。 2)具有大型分布式中间件服务开发经验的同学,参与过某大型开源项目者优先。 3)熟悉任何一款大型项目源码,如Nginx/RocketMQ/Kafka/Codis/Consul/Zookeeper等。 4)熟悉并参与开发过IOT服务端相关项目优先,如NB-IOT/MQTT/CoAP。 5)熟悉Socket编程,熟悉Linux下排查问题。 最重要的一点是做事踏实有耐心,能实地塌下心去深入研究。 有意者发简历到:liudingjoe...阅读全文

golang and design pattern

学习java的时候,“设计模式”这个概念到处可见。比如java.io里面的 decorated pattern,Object.Clone(Object)原生态支持Prototype pattern,Swing事件响应的Observer pattern, io.util和Event中的Adapter pattern。还有第三方框架中形形色色的design pattern。有时候从代码中突然发现一个design pattern,喜不自禁。 现在学习go语言,就再也没有从go语言中听到design pattern这个概念了。design pattern本身就是 Object-Oriented语言在实践的经验总结。在pure Object-Oriented语言如Java中自然运用得淋漓尽致,而在hy...阅读全文

博文 2015-04-08 03:00:24 harrysun

kingtask:一个由Go开发的轻量级异步定时任务系统

# 1. kingtask简介 kingtask(https://github.com/flike/kingtask )是一个由Go开发的异步任务系统。主要特性包含以下几个部分: 1. 支持定时的异步任务。 2. 支持失败重试机制,重试时刻和次数可自定义。 3. 任务执行结果可查询。 4. 一个异步任务由一个可执行文件组成,开发语言不限。 5. 任务是无状态的,执行异步任务之前,不需要向kingtask注册任务。 6. broker和worker通过redis解耦。 7. 通过配置redis为master-slave架构,可实现kingtask的高可用,因为worker是无状态的,redis的master宕机后,可以修改worker配置将其连接到slave上。 # ...阅读全文

一个月的golang服务器开发感触

好快,一个月过去了,感觉自己学得少,也感觉自己有点质的飞跃。以前用的openresty,怎么说,也很有价值,高并发,负载均衡,在某种小游戏上是可以一试的,其实我很有想法的,,,但是用来做游戏对开发这来说,太没得发展前途了,,,毕竟我觉得,起码得会很多重要的编程思想,设计模式比较好,毕竟不是产品发展方向,,,对于golang这一个月,感觉发现了新大陆一样的,了解了rpc,kcp,真正体会到了高内聚和低耦合的意义,明白了,数据库并不是那么刚需的,体会到了golang真的是天生为了解决分布式,微服务,高内聚低耦合而诞生的,还有一帮兢兢业业的大佬,心里由衷的敬畏,他们真的是程序员的样子,而不是混日子,做一天和尚,敲一天钟。希望自己不忘初心,有高追求,努力奋斗。可以用openresty做路由,gola...阅读全文

Go招聘 成都大海怪科技有限公司

领域 移动互联网,游戏 规模 15-50人 主页http://www.bigkraken.com 6k-10k 成都 经验1-3年 本科及以上 全职 职位诱惑 : 福利待遇 技能培训 专项奖金 人性化管理 发布时间:2015-08-26 职位描述 职位描述: 1.负责游戏的服务器后端开发; 2.进行业务系统的需求分析、架构设计及相关开发; 3.对上线产品进行跟踪维护; 职位要求: 1.本科及以上计算机相关专业毕业; 2.熟悉c,c++或者Golang编程语言,具有Golang服务器开发经验者优先; 4.熟悉Linux,对操作系统原理有良好认识,熟练掌握各种命令与操作; 5.熟悉Mongo、MySql、Git,熟悉TCP...阅读全文

Go语言设计模式实践:组合(Composite)

关于本系列 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结。 然后这个系列也是关于设计模式的。虽然Go语言不是一门面向对象编程语言,但是很多面向对象设计模式所要解决的问题是在程序设计中客观存在的。不管用什么语言,总是要面对和解决这些问题的,只是解决的思路和途径会有所不同。所以我想就以经典的设计模式作为切入点来展开这个系列,毕竟大家对设计模式都很熟悉了,可以避免无中生有想出一些蹩脚的应用场景。 本系列的具体主题会比较灵活,计划主要包括这些方面的话题: Go语言惯用法。 设计模式的实现。特别是引入了闭包,协程...阅读全文

博文 2014-12-01 12:00:01 huangml

golang语言并发与并行——goroutine和channel的详细理解(三)

Go语言并发的设计模式和应用场景 以下设计模式和应用场景来自Google IO上的关于Goroutine的PPT:https://talks.golang.org/2012/concurrency.slide 本文的示例代码在: https://github.com/hit9/Go-patterns-with-channel 生成器 在Python中我们可以使用yield关键字来让一个函数成为生成器,在Go中我们可以使用信道来制造生成器(一种lazy load类似的东西)。 当然我们的信道并不是简单的做阻塞主线的功能来使用的哦。 下面是一个制作自增整数生成器的例子,直到主线向信道索要数据,我们才添加数据到信道 func xrange() chan int{ // xrange用来生成自增的整...阅读全文

博文 2017-03-04 10:00:04 skh2015java

单点登录设计方案

单点登录设计方案 随着业务复杂性的增加,作为一个整体的应用程序会被划分成许多“模块”,这通常需要考虑为这些子应用程序建立一个共同的基础,或者说,一开始就选择SOA的设计方式。不管怎样,我们开始运行多个单独的应用程序,并且需要它们无缝交互时,共同的基础就是必备的。实现单点登录服务便是其中必备功能之一。 授权与认证的概念 很多人容易搞混这两个概念。最典型的就是OAuth。比如我们要建立一个集中式统一认证体系,有人就会跳出来建议使用OAuth。但实际上OAuth是一个授权系统,而不是身份认证系统。 这个很具有迷惑性。比如,你可能想某网站X通过OAuth“验证”你的QQ账户,让你能直接访问该网站。 但你真正做的是允许该网站X使用OAuth provider(服务提供方,比如-腾讯)存储的你的信息。 ...阅读全文

上海Golang-U3D 工程狮,快到碗里来

unity3d研发工程师 工作职责: 1、负责unity3d游戏项目的客户端逻辑、UI、工具、图形特效的程序开发。 职位要求: 1、2年以上游戏行业工作经验,全日制本科学历及以上; 2、熟悉Unity3D游戏引擎架构设计,有相关项目开发经验; 3、至少一款上线产品,有成功项目经验优佳。 c++服务器研发工程师 工作职责: 1、参与手游服务器端需求设计,规划和实现; 2、服务器端与数据库、iOS、Android端的交互逻辑设计。 任职要求: 1、熟练使用C++编程语言,能独立负责服务器端的开发、管理等事务; 2、熟练掌握MYSQL数据库的开发、配置、维护、性能优化;熟练数据库存取、服务器端负载优化。 3、必须...阅读全文

Docker源码分析(一):Docker架构

【编者按】在《深入浅出Docker》系列文章的基础上,InfoQ推出了《Docker源码分析》系列文章。《深入浅出Docker》系列文章更多的是从使用角度出发,帮助读者了解Docker的来龙去脉,而《Docker源码分析》系列文章通过分析解读Docker源码,来让读者了解Docker的内部实现,以更好的使用Docker。总之,我们的目标是促进Docker在国内的发展以及传播。另外,欢迎加入InfoQ Docker技术交流群,QQ群号:272489193。 1 背景 1.1 Docker简介 Docker是Docker公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。目前,Docker可以在容器内部快速自动化部署应用,并可以通过内核虚拟...阅读全文

博文 2015-03-29 19:56:16 孙宏亮

go语言学习-method和function

go语言作为一种面向对象的语言,并没有提供C++中的“成员函数”这一种说法,而是用method(方法)来表示。 1、method和function的关系: method是特殊的function,定义在某一特定的类型上,通过类型的实例来进行调用,这个实例被叫receiver。(a Go method is a function that acts onvariable of a certain type, called the receiver. So a method is a specialkindof function. ---摘自《Go语言程序设计》)。 2、为普通类型添加method: go语言不允许为简单的内置类型添加method,如: func(iint)adder_int(ji...阅读全文

博文 2016-04-22 20:00:04 kuoshuang

go 语言学习历程

接触go是2012年的时候,真正开始系统的学习和开发系统是2014年了,go语言的学习也算自己2014年的重要工作之一,对go语言学习的总结,也算是年底总结之一 1.学习go的原因和动机: 1>先前做过2年Unix c开发经验, 对于C系的语言有特殊的感情,go特别适合我胃口,用过后爱不释手; 2>go语言团队太过耀眼和强大:Thompson 图灵奖获得者,unix 和C的共同发明人;Pike PLAN9操作系统的主要开发者、UTF-8发明者;Robert Griesemer 参与java的HotSpot, js v8引擎开发者; 3>国内传道者的极力推荐:许式伟兄,谢孟军兄等强力推荐及相关书籍问世; 2.学习资料: 书籍是:老许的《go语言编程》、 老谢的《go web编程》、 雨痕的《g...阅读全文

博文 2015-01-08 10:00:01 一曲忧伤

go 语言学习历程

接触go是2012年的时候,真正开始系统的学习和开发系统是2014年了,go语言的学习也算自己2014年的重要工作之一,对go语言学习的总结,也算是年底总结之一 1.学习go的原因和动机: 1>先前做过2年Unix c开发经验, 对于C系的语言有特殊的感情,go特别适合我胃口,用过后爱不释手; 2>go语言团队太过耀眼和强大:Thompson 图灵奖获得者,unix 和C的共同发明人;Pike PLAN9操作系统的主要开发者、UTF-8发明者;Robert Griesemer 参与java的HotSpot, js v8引擎开发者; 3>国内传道者的极力推荐:许式伟兄,谢孟军兄等强力推荐及相关书籍问世; 2.学习资料: 书籍是:老许的《go语言编程》、 老谢的《go web编程》、 雨痕的《g...阅读全文

博文 2015-07-14 00:00:02 sunnyql

北京C++逆向和资深C++工程师啊4年以上经验

北京招聘C++工程师 一、 1. 负责视频CDN分发系统的开发 2. 负责视频CDN系统服务支撑系统的架构设计与开发 3. 负责线上服务的维护、部署、问题定位与调优 1. 计算机相关专业本科(含)以上 2. 四年以上C++开发经验 3. 熟悉互联网服务的基本架构和部署,具备基本的分析和解决问题的技能 4. 熟练使用MySql数据库 5. 较好的沟通能力,较强的团队协作意识 6. 有视频CDN开发经验优先 薪资:18-22W每年+各种福利待遇哈 二: C++逆向哈 1. 专科及以上学历。精通X86/X64/ARM汇编指令体系,熟练理解汇编代码, 掌握C/C++; 2. 熟悉Android系统模块的开发调试并能熟练掌握Andr...阅读全文

《go语言程序设计》学习(一)

序言 2年前的这个时候认识到了golang,然后兴匆匆的去书店买了本书,go语言,云动力吧好像是,结果拿过来一开始,环境就设置不上,折腾了几天,然后就不了了之了。 1年前的这个时候,再次路过书店,看到了《go语言程序设计》这本书,按耐不住心痒痒,又买回来,结果看了两章,又头昏脑胀,没坚持下去。 前几天看很多人都在讨论golang,我就又去把书翻出来了,这次决定要再前进一步,争取把书看完。 (一个拖延症的懒癌患者的内心,是咆哮的) 一,示例代码:gobook已下载 二,开发环境:go 1.4,vim-go,vim-go的插件还是折腾了一下。。有些包直接go get拿不到,到golang的网站上,提供了一个tar的下...阅读全文

博文 2015-08-02 03:00:01 mruoli

微影时代招聘Go语言开发工程师(北京,东四环外)

大家好,我是郝林(@特价萝卜) 微影时代目前是腾讯系的在线票务公司,主站链接:http://wepiao.com 。 我目前带队,在搞一些网关类和API系统。这正是Go语言的强项。 职位的JD如下: Go语言开发工程师 职责: 1. 设计和实现各种网关类以及高并发、高可用的软件系统。 2. 设计或辅助设计相关系统的集群架构。 3. 负责和保证相关系统的稳定、持久运行。 4. 帮助解决各种相关系统的问题。 要求: 1. 计算机或数学相关专业本科以上学历。 2. 从事互联网软件开发工作2~8年。 3. 有较丰富的互联网系统集群设计和实现经验。 4. 主动积极,善于学习和总结,乐于分享,有较强的团队精神。 5. 基础扎实,熟悉常用数据结构和算法...阅读全文

Golang分布式设计模式之-----星型拓扑分形设计

Golang分布式设计模式之-----星型拓扑分形设计 上一篇分层设计中,利用了简单的流水线原理,实现了简单的状态转移的设计。如下 这一篇我们将考虑另外一种情况。例如,linux内核中的进程管理。所有的进程都有一个父进程。当子进程正常运行时候,与父进程基本无通信。但当子进程死亡时,要通知其父进程,让父进程进行资源回收。当父进程死亡时,两种情况,子进程随着父进程一起死亡,或者将子进程交由父进程的父进程管理。类似于下图 其中每个进程都有自己的父进程,也有可能会有自己的子进程。 在这种管理中,父子关系,或者说是管理者与被管理者的关系。被管理者,可以独自运行,但要将其的一些状态告知管理者,或者管理者,可以定期获取被管理者的状态。 下面以一个p2p下载器为例: 一、职能划分,形成管理者与被管理者 1)...阅读全文

博文 2015-01-21 09:17:51 screscent

[LogInsight] (已更新)招聘 GoLang/C/C++ , 数据库研发,全文检索 ,前端工程师

#公司介绍 北京百泉众合数据科技有限公司,即LogInsight,成立于2015年,是中国 ITOA(IT运维分析)市场的一支生力军,并立志成为中国 ITOA 领域的领头羊。 机器数据,即由计算机,应用或者其他机器在无人工干预下产生的数据。机器数据是增长最快、最复杂也最富含价值的大数据中的一种, 大数据中,90%的数据是机器数据 。LogInsight,致力于开发机器数据\日志的分析平台,期望帮助广大的企业及开发者,实现机器数据价值的洞察,并转变为业务创新及竞争优势。 LogInsight 核心技术团队主要来自国内外顶尖的互联网公司,在的大数据,搜索引擎,日志分析领域有着非常丰富的技术积累,拥有世界级的搜索引擎实现技术。 #核心技术团队简介 **李沫南:** C...阅读全文

Go语言设计模式实践:组合(Composite)

关于本系列 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只能靠看标准库源代码自己琢磨,所以我特别想在这方面有一些收集和总结。 然后这个系列也是关于设计模式的。虽然Go语言不是一门面向对象编程语言,但是很多面向对象设计模式所要解决的问题是在程序设计中客观存在的。不管用什么语言,总是要面对和解决这些问题的,只是解决的思路和途径会有所不同。所以我想就以经典的设计模式作为切入点来展开这个系列,毕竟大家对设计模式都很熟悉了,可以避免无中生有想出一些蹩脚的应用场景。 本系列的具体主题会比较灵活,计划主要包括这些方面的话题: Go语言惯用法。 设计模式的实现。特别是引入了闭包,协程...阅读全文

博文 2014-11-26 14:28:13 newgame