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

创业企业由于业务发展招聘go架构师

创业企业由于业务发展招聘架构师 要求: 知识面宽,精通分布式系统架构设计, 有过大并发量的分布式系统的架构设计、实现经验,同时有丰富的编码经验,能够随时用代码快速验证自己的想法。 熟悉各种主流的分布式数据一致性算法如(raft、paxos、pbft等), 对常用密码学算法能够熟练使用;能够熟练的使用图表表达自己的设计思想、意图; 有写过专利文档的优先;精通golang/python的优先;有过参与开源项目的开发、设计的优先; 有过大公司工作经验的优先;能力强的可以成为技术合伙人; 欢迎对创业有热情的你加入我们 薪资;20k每月 工作地点:北京 如有兴趣请email简历至:aaron-wu@qkldx.ne...阅读全文

理解 Deno

deno: A new way to Javascript 为什么要花时间学习它呢? 前端开发 Javascript 是世界上最大的生态圈。 TypeScript 作为 Javascript 的超集,兼顾了 Javascript 灵活性和工程化能力。 V8 使用 EventLoop 并发模型,天生适合事件驱动型场景。 在后端业务开发逐渐标准化的趋势下,业务开发工具最需要的是可控的效率。 deno 的作者在创建完 node.js 后,总结大量工业经验,系统架构设计得很简洁,简洁的东西稳定性高,根基正,可成大树。 然后,从各种资料里屡清楚这个项目的脉络 作者 Ryan Dahl 的演讲《10 Things I Regret About Node.js》 和 《Deno, A New Server...阅读全文

博文 2019-02-15 02:34:43 王谙然

过年GO HOME

过年回家喽 设计一款产品真心不易,不打个几十个来回,敲不定一个方向,还好,所有的问题都会得到解决,团队协作才是取胜的关键所在~! 技术之路漫长而寂寞 转型之路曲折而难耐 问路在何方。不是在脚下,而是在胸前。 昨日之事不可留,今日之事多烦忧。 硬件软件都有规范与设计模式,都需要经验的打磨,产品中的历练,面面俱到是不可能了。迫切需要一种思维模式,来思考,迫切需要一种环境,在规范中成长,好的经验好的管理,抓质量,严谨而缜密的思考,何时才能想德国一样严谨,何时能像日本一样精细,最适合按键盘的力度是60克 都需要无数次的实验。何时,何时,何时。这才是我想要的环境,一个作为技术人员才会有的迫切需求。 -kunka 2016-02-0...阅读全文

BAT研发面试36题总结:Spring+Redis+Docker+Dubbo+高并发架构

​​​​面试总结:java的基础知识点,主要围绕在集合类和多线程等:ArrayList、LinkedList、HashSet、HashpMap的数据结果,以及如何扩容、以及ConcurrentHashMap相关的多线程安全等。JVM的内存分配、几个常见的垃圾回收算法以及原理、还有对应的JVM优化参数需要牢记。网络:TCP的三次握手等网络都必问,重点掌握网络协议。Redis:作为分布式缓存的主力,基本也是BAT每次必考,重点是Redis的数据结构、内存、算法、持久化,以及与别的缓存memcached的优劣势。多线程:状态流转、多线程的实现,以及与高并发的区别等。Spring框架问得是最多的,BAT非常喜欢问,重点掌握。最后就是分布式架构设计常用的分布式架构设计方案:单点登录、分布式缓存、存储、...阅读全文

博文 2018-09-18 16:17:51 Java_fenxiang

java高并发核心要点|系列1|开篇

在java高并发编程,有几个很重要的内容: 1.CAS算法 2.CPU重排序 3.缓存行伪共享 我们先来说说高并发世界中的主要关键问题是什么? 是数据共享。 因为多线程之间要共享数据,就会遇到各种问题。如下图: 544318-20190613100825667-513471578.png 如果两个线程同时写入,那怎么保证数据的一致性?是线程1先写,还是线程2先写,这是个问题。那要如何解决这个问题? 答案是:加锁。 比如,线程1先访问共享数据区,那么它就先把这块数据区锁起来。后面如果其他线程要访问这个共享区,首先要从线程1这里获取锁,才能进一步访问这个共享区。这里很好理解, 其实相当于这样的情景,你有一个抽屉,抽屉有把锁,这个锁的钥匙,在你手上,你就可以打开抽屉,往里面存放或拿取物件。其他人,...阅读全文

每周一个GoLang设计模式之组合模式

我是设计模式的推崇者,相信一个良好的架构能够给系统的稳定运行和后期维护带来极大的方便,因为最近有时间重新学习GoF的设计模式,于是产生了用Go实现GoF经典设计模式的想法。 这篇文章遵循GoF书中的脉络,本篇是这个系列的第一篇:组合模式(Composite),以后如果在正常工作允许的前提下,应该会每周更新一篇。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 GoF在第二章通过设计一个Lexi的文档编辑器来介绍设计模式的使用,GoF认为Lexi设计面临七个问题: 1. **文档结构** 2....阅读全文

上海世纪大道附近急聘:GO语言开发工程师 15k-35k

一、岗位职责: 1、 负责互联网产品的服务器后端开发; 2、 进行业务系统的需求分析、架构设计及开发; 3、 独立编写开发相关文档。 任职要求: 1. 3年以上技术开发经验,1年以上golang开发经验; 2. 同时熟悉Python更佳; 3. 计算机专业本科GO方向持续经验; 4. 有Docker、mesos容器使用经验者优先; 5. 具有良好的编码风格和团队协作精神; 二、Python/Go开发 岗位职责: 1、负责web前后端开发,提供给其它组件设计和性能良好的restful接口 2、按需求说明编写高质量的代码; 3、能够独立完成相对复杂的模块设计; 岗位要求: 1、愿意学习GO语言, 热爱技术, 思维开放, 乐意学习新东西 2、拥有丰富的Py...阅读全文

Golang设计模式——状态模式

状态模式及其结构 状态模式(State):当一个对象的内部状态发生改变时,会导致其行为的改变,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。 模式的结构 UML 状态模式.png 在状态模式结构图中包含如下几个角色: Context(环境类):环境类又称为上下文类,它是拥有多种状态的对象。由于环境类的状态存在多样性且在不同状态下对象的行为有所不同,因此将状态独立出去形成单独的状态类。在环境类中维护一个抽象状态类State的实例,这个实例定义当前状态,...阅读全文

博文 2019-04-17 03:34:41 CodePanda_Li

【Go 语言教程】Go 语言简介

1 Go 语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言,是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。 2 Go语言特性 跨平台的编译型语言 语法接近C语言 管道(channel),切片(slice),并发(routine) 有垃圾回收的机制 支持面向对象和面向过程的编程模式 3 Go 语言特色 编程模式比较简单,没有复杂的设计模式 全部源码编译到一个文件,编译速度很快 最新版本也有动态库形式,对跨语言调用的支撑更到位 开源框架比较成熟,新崛起的互联网公司都在用——如滴滴,uber,百度,...阅读全文

博文 2019-02-20 01:34:43 万能的华哥Dean

【架构师】职位合集: 服务端/器-go & Java、前端-业务 & 基础、移动端-iOS & Android、系统架构

服务端架构师岗位职责:1. 洞察业务发展,规划直播服务架构演进及推进落地;2. 参与直播大数据工程架构的规划工作;3. 发现现有服务的主要问题,解决关键技术难点的攻关,带领团队完成方案设计,并指导团队工作;4. 营造技术学习氛围,带领团队提升综合工程能力。任职要求:1. 本科及以上学历,具备 7 年以上的互联网研发从业经验;2. 具备扎实、全面的软件知识结构(算法数据结构、操作系统、软件工程、设计模式) ;3. 具备丰富 Unix/Linux 下的开发经验,有扎实的编码能力,良好的编码⻛格;4. 熟悉 TCP/IP 协议及常⻅应用层协议;掌握主流进程、线程模型的工作原理;深谙主流数据库、缓存、消息中间件、应用框架原理及理念;5. 具备出色的抽象能力与问题分析解决能力;6. 责任心强,具备良好...阅读全文

博文 2020-05-25 23:32:42 IT互联网猎头Cathy

golang设计哲学

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lengyuezuixue/article/details/79753412 世界是并行的----先不说宇宙,就整个地球来说,世界万物都是并行发生的;天生对并发支持良好的go语言更容易描述并行的世界; 世界是由物质组合构成的---微观世界:由小的粒子组合成大的粒子;宏观世界:由小的物体组合成大的物体; 继承只能描述现实世界的一小部分,使用继承是不全面的;go的设计选择的是组合,这个和现实世界比较吻合的设计,表现力更强; 世界是标准化的---随着生产力的发展,社会分工越来与详细,越来越多行业有了国际标准,任何一个国家的、任何一个公司只要按照这个标准生产器件,就能装配到一台机器上;IBM/PC就是硬...阅读全文

博文 2019-03-04 17:31:36 lengyuezuixue

设计模式-golang实现之七大设计原则

七大设计原则 离娄之明,公输子之巧,不以规矩,不能成方圆。 ——邹·孟轲《孟子·离娄上》 如果您觉得文章不错,可以到GitHub赏一个star,感激不尽,里面有全部的23种设计模式和面试常考的数据结构的实现。 开闭原则 开闭原则(Open Closed Principle,OCP) 由勃兰特.梅耶(Bertrand Meyer)提出,他在1988 年的著作《面向对象软件构造》( Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension, but closed for modification),这就是开闭原则的经典定义。 开闭原则是设计模...阅读全文

博文 2019-12-30 10:32:41 qq570850096

北京 招聘 Golang开发工程师

1年以上Golang开发经验, 统招本科 1. 熟悉Go或者Java; 2. 熟悉TCP/IP协议,熟悉Linux基础配置和管理,熟悉Mysql、Redis等数据库; 3. 有高并发处理经验、互联网系统架构设计经验者优先; 4. 有网络及应用性能优化经验者优先; 5. 有大数据存储、开发经验者优先; 6. 至少熟练使用一门脚本语言(Python/Lua/NodeJS) 国内领先大数据公司 请各位高手发送简历至 chunyanliu@tseeking.co...阅读全文

golang-设计模式-简单工厂模式

需求:使用任何一种您熟悉的面向对象语言写一个计算器(加减乘除) 分析:有四个方法,分别是加法、减法、乘法、除法。要达到最大的解耦合,就必须将计算逻辑与输出分离。四个方法要相对独立,不互相影响。故此设计了这个UML图。 图片上传失败,请问各位大侠,我要怎么操作才能将UML截图放在这里? 接口类:calculatorInterface.go ```javascript package simple_factory type CalculateEngine interface { Calculate(num1, num2 float64) float64 } ``` 实现类:calculatorRealization.go ```javascript...阅读全文

[易学易懂系列|rustlang语言|零基础|快速入门|(9)]

[易学易懂系列|rustlang语言|零基础|快速入门|(9)] 有意思的基础知识 Control Flows 我们今天再来看看流程控制。 条件控制 if-else if -else: / Simplest Example let team_size = 7; if team_size < 5 { println!("Small"); } else if team_size < 10 { println!("Medium"); } else { println!("Large"); } // partially refactored code let team_size = 7; let team_size_in_text; if team_size < 5 { team_size_in_t...阅读全文

性能测试要关注的目标

不可置否,在对APP的整个测试环节中,性能测试是一个很重要的环节,它直接影响了用户的体验,那么,对于APP的性能测试,我们到底需要关注那些点呢? 其实,我们可以想想在软件设计、部署、使用、维护中一共有哪些角色参与,然后再考虑这些角色各自关注的性能点是什么,那么作为一个软件性能测试工程师,我们就能够从中总结出,对于APP的性能测试主要应该关注哪些比较重要的点。 1.从用户角度出发 开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。 对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。也就是我们所说的响应时间,当响应时间较小时,用户体验是很好的...阅读全文

对于Java实习生

对于实习生而言,其实很多公司要求都不是很高,毕竟对你的要求要对的起给你的工资水平,很多公司肯定都知道你本身的大体水平,不会期望太高,只是让你边学习边工作,如果你足够聪明伶俐,足够好学,可能就多培养你一些。不过不同水平的公司(BAT>TMD>其他优秀的互联网公司>小型创业公司),肯定是对你的培养程度不同的,相应的对你实习的要求肯定是不同的。不要认为对你要求越高,得到的实习工资就会高,不是的,像腾讯阿里等公司对于实习生技术要求很高,但工资就在两三千左右,但以后的发展却是远远大于这个价值的。 BAT企业对实习生的要求(以阿里为代表):java基础非常重要,当然也要深入理解原理,什么JVM,JMM,Classloader,还有一些常见类的源码,自己可以试着分析一遍,现在让你说出LinkedList的...阅读全文

博文 2018-11-19 19:34:42 QFdongdong

最全阿里技术P系列解读:P5-P8的技能要求和薪资结构

![image.png](https://static.studygolang.com/190102/6a0d4626dcf2b5b5158bee4720fe6964.png) 2018年持续一整年的架构设计分享,2019年我希望持续分享的同时,能真正意义上帮助到部分读者成为一名架构师。学习的同时请千万别:只见树木,不见森林。所以我会让大家先俯瞰完整的森林,我们再从树木开始,一起去穿越整个森林。 ![image.png](https://static.studygolang.com/190102/714678d8fb5daa01d2574c4178377180.png) 最新阿里技术P系列薪资:上图薪资结构*2 01 — 阿里P5(高级研发工程师) 1.工作要求: 能独立完成日常工作,并能够...阅读全文

博文 2019-01-02 21:32:59 Javaspring12

回顾2018 | 我的年末总结

前言2018走的很快,干了一些我不敢想的事,认识了许多很nice的人,离开大学看见的东西不一样,对待技术的态度也改变很多,重新看到了自己身上的许多不足。现在也是时候该做一个年末总结了,记下这一年。3月这段时间在做学校的创业大赛,当时准备做少儿编程教育,自己还挺较真的,特别想搞出点东西,毕竟是我的想法,于是拉上一帮朋友开始做。熬了不知道多少个夜,自己其实说实话付出很多在上面,虽然最后我们的点子没有被看上,哈哈。 创业大赛 最后收获可以说是很深刻——团队非常重要,人非常重要,特别是在合作这一点上,人多并不会力量大。4月刚接触第一个后端框架spring boot,简单配置就能跑这一点让我特别爽,准备开始好好研究,结果有学校有一个小项目不仅要做后端,而且要做一个android应用程序,我们小组其他同...阅读全文

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

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

博文 2015-06-29 01:00:07 na17p9f

【技术干货】日志服务架构设计和实践

9 月 16 日,以“云服务时代如何打造高可用的服务架构”为主题的“云片技术开放日”在上海市浦东区中兴智慧园举行,又拍云系统开发工程师张超受邀在活动上做了《又拍云日志服务架构设计和实践》的分享。 张超,负责又拍云 CDN 平台相关组件的更新及维护。Github ID: tokers,热爱编程,活跃于 OpenResty 社区和 Nginx 邮件列表,曾为 ngx_lua 贡献源码,在 nginx 、nginx lua、CDN 性能优化、日志优化方面有较为深入的研究。平时混迹开源软件社区之中,专注于服务端技术的研究。 以下是分享全文: 又拍云作为一家 CDN 服务提供商,每天产生 50T 左右的日志,数量庞大、种类繁多,不论是公司内部,还是客户,对日志都有需求,而且需求都不尽相同。 所以,我首...阅读全文

博文 2018-10-10 12:34:49 又拍云

Faceu激萌研发类职位大放送!!!

岗位一览:【IOS初/高级攻城狮/leader】——初高工还有18个空缺,IOS leader只剩1个坑啦!【Android开发】——你会是14位之一吗?【后台C++开发】——还需要5位C++大将~【Web前端开发】——还缺2位啦【移动端测试开发】——1位1位只缺一位哦【CV 算法leader】——CV大神您在哪?—————————————————————————————————————————滴滴滴!!!插播个小广告:加入faceu,你可以获得:1、开放氛围,扁平管理,团队成员“牛逼哄哄”;2、免费三餐,休闲下午茶,就近租房补贴;3、六险一金,免费年度体检;4、开工利是,儿童节、女生节、端午节、中秋节礼品;5、公司内部活动、拓展活动,部门每月团建;6、运动日:羽毛球、篮球、游泳、足球。职位...阅读全文

博文 2018-07-19 20:34:51 互联网Amy

2019的到来Java程序员如何不被淘汰,互联网最新的技术了解足够?

程序员是一个高薪的行业,也是一个门槛比较高的职业,能进入这行是好多人的愿望,近几年来这行的人也是越来越多,每年都在持续增长,那么怎么才能保持持久的竞争力而不被淘汰了,除了一些精神品质上下功夫外,如耐心,勤奋,能吃苦之外,再加一些学习的技巧是十分有必要的。下面我就从以下几方面来说起。​不断的巩固基础首先技术是一个熟练工种,没有不断的实践,不断的巩固基本功很难在这方面出人头地的,做为一名程序员,要想优秀,比需有一定代码量的积累才是可以的,如果平时有项目,就积极的参与项目,增加自己的实战机会,项目不紧的时候,可以看一些书籍,敲一些各种形式的代码,争取自己的代码量远远高于其他人,这样在基本功上时间久了,你就会高于其他人,这是硬功夫,其他人就很难超越,要想超越,就要花同等时间去超越,这样你和其他人之间...阅读全文

博文 2019-01-14 18:58:14 javaJGJL

思考,2018 年总结,2019 年目标

欢迎光临我的个人博客:https://www.jelliclecat.cn/ 0. 2018 从2018年4月1日正式开始工作,到现在已经有14个月了,14个月前,自己还是一个java小白,那个时候,java语法还只会流程控制语句,面向对象思维一点没有,OOP更是谈不上,对于框架,到是听过大名鼎鼎的spring,但也只会使用@Autowired和@Service。实习第一个星期,leader让我做一个BookManager系统,使用的框架是Spring、paoding-rose(web)、paoding-jade(持久层),paoding框架是原人人网的框架,以后有机会详细介绍一下,个人认为paoding-jade算是一款非常简单易用的持久层框架。最开始虽然啥也不会,但是依葫芦画瓢的水平还是...阅读全文

博文 2019-06-02 00:34:40 16619721081

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

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

最近的面试经历,分享一下, 一些个人的愚见

准备近期好好沉淀一下了想问大家一些问题,就是如果你眼前有很多职位可以选,包括我mentor和我说,本科生出来能做的技术岗位的话有测试,前台,后台,算法工程师2333虽然现在呆的公司也蛮舒服,但是无奈自己太菜了,bug一星期还没定位到在哪里hhh,没错,我就是个大菜逼2333疯狂游戏一面1、 会cpp么 我说我只会stl2、 问你一些Java把,就fa = new son()那些的基础,随便答的 也不知道对错引申出来一个问题,Java多态怎么实现的,我讲了一下cpp的虚函数表3、 有一堆数,有序的,然后我修改了一个数,然后如何快速保证有序我说了 skip list, 后面我想的平衡树也可以,都是log的操作,后来觉得二分其实也可以后面问我,如何不需要查就可以搞呢? 我说我不会4、 一个请求量很...阅读全文

博文 2019-08-22 17:32:55 牛客网

2018最新微服务架构实战 从0到1完完全全学习主流微服务技术栈组件及架构(视频+源码+课件)

教程目录第一模块 :微服务安全架构与实践01 | 第一模块课程介绍02 | 微服务安全要解决什么问题03 | 白话 OAuth204 | OAuth2 的正式定义05 | OAuth2 有哪些典型模式06 | OAuth2 模式该如何选型07 | Spring Security OAuth2 架构简介08 |【实验】授权码模式授权服务器09 |【实验】简化模式授权服务器10 |【实验】密码模式授权服务器11 |【实验】客户端模式授权服务器12 | 实验一扩展环节13 |【实验】Web 应用接入授权服务器14 | 实验二扩展环节15 | 什么是 JWT 令牌16 |【实验】授权服务器支持 JWT 令牌17 | 实验三扩展环节18 |【实验】Android 无线应用接入授权服务器19 |【实验】...阅读全文

博文 2019-01-15 12:34:42 java20192019

分布式服务架构下的混沌工程实践

本文来自阿里巴巴高可用架构团队高级开发工程师肖长军(花名穹谷)在 GIAC(全球互联网架构大会)上的分享,包含三部分内容:(阿里巴巴中间件公众号对话框发送“混沌工程”,获取分享PPT) 混沌工程的定义、价值、原则和流程; 混沌工程如何在企业中落地,以及 ChaosBlade 和混沌实验平台 AHAS Chaos 架构设计; 结合两个具体案例介绍了分布式服务下的混沌工程实践; 大家好,我是来自阿里的肖长军,今天给大家分享混沌工程在分布式服务架构下的具体实践。 先做个自我介绍,我来自于阿里高可用架构团队,花名穹谷,做过分布式系统设计和 APM 研发相关工作,现在专注于高可用架构和混沌工程领域,是阿里云产品 AHAS 底层技术负责人和开源项目 ChaosBlade 负责人,并且承担集团内故障演练、...阅读全文

博文 2019-07-05 16:02:57 阿里云云栖社区

设计模式-02-桥接模式

桥接模式概述桥接模式将抽象部分与它的实现部分分离,使他们都可以独立地变化。通俗地说,桥接就是在不同的东西之间搭一个桥,让它们能够连接起来,可以相互通讯和使用。在桥接模式中的桥接是在被分离的抽象部分和实现部分之间搭一个桥。为了达到让抽象部分和实现部分分离开,而且在抽象部分实现的时候,还是需要使用具体的实现,可以使用桥接模式来实现。这里的桥接,就是让抽象部分拥有实现部分的接口对象,就桥接上了。 实现使用发送信息的例子来实现桥接模式。信息的发送方式如:手机信息、普通信息、Email信息作为抽象部分,信息的分类如:普通信息、紧急信息、加急信息作为具体实现部分。 总结与分析桥接模式是用来解决有两个变化纬度的情况下,如何灵活地扩展功能的一个很好的方案。其实,桥接模式主要是把继承改成了使用对象组合,从而把...阅读全文

博文 2019-04-10 20:34:40 疯狂的卡卡

招聘资深GO工程师,薪资25k-35k,坐标上海,有兴趣的欢迎加我微信18650196973

工作职责 1. 负责系统核心功能模块的开发,保障服务的稳定性. 可扩展性; 2. 按时完成技术负责人分配的开发任务; 3. 对工作中遇到的问题提出合理的优化建议; 4. 参与后端微服务. 运维部署的架构设计 5. 参与代码审查 任职要求 1. 计算机、数学相关专业,本科及以上学历; 2. 5年以上后端系统开发经验,CS基础扎实,对TCP/IP协议、微服务架构、数据库、缓存、MQ等有所实践和底层了解; 3. 具备良好的敬业精神,拥有强烈的责任心和团队精神,善于沟通和合作; 4. 加分项1:熟悉Docker生态,Docker Swarm、Kubernetes镜像编排; 5. 加分项2:熟悉Git,参与或有开源项...阅读全文

博文 2019-06-18 16:40:51 Nicole123

每周一个GoLang设计模式之策略模式

这篇文章遵循GoF书中的脉络,本篇是这个系列的第2篇:策略模式(Strategy),这周很开心可以有时间来更新这个系列,希望下周可以继续更新。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 GoF在第二章通过设计一个Lexi的文档编辑器来介绍设计模式的使用,在上一篇文章[每周一个GoLang设计模式之组合模式](http://zuozuohao.github.io/2016/06/25/Golang-Design-Patterns-Composite/),中我们简单的实现了组合模式的Lexi的文本编辑器。这一周我们...阅读全文

云渲染集群监控与任务调度架构设计

首先说一下此项目的背景,公司主要从事互联网家居设计行业,所以最重要的就是室内设计,初期做的是离线渲染,设计师使用我们的设计软件做设计,将设计好的方案提交至后端,由我们的构建应用做参数转换,然后提交至我们的渲染引擎进行云渲染,最终出设计图。 云渲染的专业知识要求比较高,本人也是第一次接触,对于渲染引擎、专业图形显卡的预研工作涉及颇少,最终大佬选用英伟达的iray渲染引擎和2080TI显卡,话不多说先上整体的架构设计图: iraycloud.png 接下来细述各应用的职责与功能: dr-client:面向C端设计师使用的设计软件客户端。 dr-web: 设计软件服务端,存储设计师方案参数。 dr-notify:渲染任务状态消息的收发。 rocketMQ:DR端和IRAY端数据通讯的中间层。 ir...阅读全文

学习编程的25个“坑”,你踩到了吗?

学习编程的过程中可能会遇到“25”个“坑”,不仅初学者可能中招,专业人士有时也难以逃脱,我自己也毫不例外。0. 忽视了编程终究是以人为本的。是的,机器的确会执行你的代码,但编程是为人们解决问题的,将他们的需求转换为由其他人(或你自己线下)读取,维护和修改的代码。1. 未能花充足的时间练习编程。 根据工作或日程安排,你可能会花费大量时间在与编程相关的任务上,但实际上这些并非编程本身。2. 停留在你正在学习的某个技术的表面。 沾沾自喜于自己掌握了足够完成任务的基础知识,对技术的了解却只流于表面,未有触及核心内容。3. 在编程学习中挑挑拣拣,无法持之以恒。一开始学习Rails,半道儿你发现Phoenix也不错,哦,学点JavaScript吧,这样就能用Node.js 了......从TJ转到Go然...阅读全文

博文 2018-10-25 18:34:40 西安北大青鸟官微

设计模式-模板方法模式(Go语言描述)

这篇文章我们还是继续我们的设计模式系列, 今天我们带来的一个全新的设计模式在实际开发中大家肯定都遇到过, 可能大家只是不知道它叫模板方法模式而已, 今天我们就来详细的说一下什么是模板方法模式,已经该模式如何运用. 至于什么是模板方法模式, 我们还是老规矩, 先来个定义, 然后上张类图更加直观的看一下. 定义 模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤. 这个定义还是非常不错的, 至少认真读2遍还是可以理解什么意思的, 而且我们脑袋里可以想象到该如何设计这样的一个结构. 那它有什么样的使用场景呢? 其实在定义中已经说的很明白了, 大致有一下两点应用场景: 某些类别的算法中,实做了相同的方法,造成代码的...阅读全文

博文 2016-09-04 08:00:03 qibin0506

H5响应式网站定制

一般建设网站,要么就是找建站公司帮你做,要么就是自己利用建站工具来做。对于自己利用建站公司来做网站,很多人会遇到很多问题。比如:网站模板怎么设计?网站内容怎么搭建好?网站的结构怎么设计?诸如类似的问题会困扰很多人,也让他们对自建站望而止步了。所以更多人选择定制网站。让专业的人员来帮自己制作网站。一般的网站定制会比较容易,如果是H5响应式网站定制就会比较繁琐,因为响应式网站相比其他网站建设的过程要较为复杂,要通过不断的修改与磨合才能到达定制人的心里目标。 ![timg.jpg](http://studygolang.qiniudn.com/170207/9e18fde589b9c8e3350ad10dd945fcc6.jpg) 对于H5响应式网站可能你会疑惑,这是一个什么类型的网...阅读全文

go语言中使用反射函数代替switch语法

近期在公司实习,参与了公司的一个分布式的应用服务系统。系统采用Golang语言作为系统的开发语言,在开发过程中采用了Go语言的反射函数的特性来取代了以前常使用的switch语法。 switch-case是一种多种选择的语法,其本质与if-else方法差不多,都是通过判断条件来执行不同的方法。而Go提供了一种机制在运行时更新变量和检查它们的值,调用它们的方法,和它们支持的内在操作,但是在编译时并不知道这些变量的类型。这种机制被称为反射,反射也可以让我们将类型本身作为第一类的值类型处理。 Web应用路由问题 在我们编写Web应用过程中,常常会遇到一个路由需要对应一个方法,我们会选择使用switch的方法来进行路由的匹配,若是路由匹配成功,我们会调用一个方法,这种方法能够很简便的完成我们的工作,也...阅读全文

博文 2017-09-24 18:04:50 flytutu

非BAT的Java程序员,怎么做才能积累 BAT 的技术经验?

最近一段时间以来,经常有很多粉丝问我这样的问题:没有高并发、分布式、微服务的业务场景,怎么学习相关知识?怎么才能像大厂员工一样学习更多的技术知识?其实,这是一个比较难回答的问题,像BAT等大厂的员工,确实有很多得天独到的优势。比如像阿里内部,不仅有内部技术论坛,还有很多的公开课、讲座、分享等。很多团队之间都会经常交流。很多时候,我们可以互相学习,了解双十一是怎么玩的,春节红包是怎么发的,优酷是怎么做世界杯直播的等等。那么,非大厂内部员工,有没有一种高效的方式来做到呢?我觉得最好的方法,就是直接向 BAT 等一线大厂取经。毕竟,他们在前沿技术领域的持续研究和大规模投入,不是一般人能比的。你可以不在 BAT,但你不能没有大厂程序员的眼界。这些说来容易,但绝大多数程序员很难有机会近距离接触这些大厂...阅读全文

博文 2019-01-25 23:43:33 javajiaoliu

学习计划!!!

个人近期(3个月)学习计划:1.以PHP为基础复习编程各方面知识 1.1 设计模式 1.2 php框架学习(以laravel和ci为准)*(PS:必须学会!!!) 1.3 相关算法,数据结构研究 (php为准)2.docker学习,相关环境搭建,运行3.Golang学习 3.1 golang相关基础学习 3.2 框架学习(以beego为准)4.openresty(可选) 4.1lua编写针对网络层的脚本任务5.mysql相关知识复...阅读全文

博文 2019-01-22 14:34:50 AnneSan

《Go 同步和并发设计模式》培训会后整理

今天参加《Go 同步和并发设计模式》主题培训,虽然早上下雨,但是大家一般还是都在9点左右赶到现场。本次分享时间很充沛,晁老师讲的也很细致,4点就结束了高于预期啊呵呵,全程听下讲座来收获还是很多的,下面整理一下今天感觉重点的内容。golang中使用channel的使用率占30%,但错误率缺高于50%错误原因大多是使用channel不适当造成的。读写锁RWMutex、Mutex不支持方法重入,想要实现重入可以使用黑科技goid 或者用 token使用Cond方法进行同步操作容易出错,推荐使用简单易用的sync.WaitGroup推荐使用go build race 进行锁竞争性检测,go vet 静态代码检测是否存锁值拷贝(因为拷贝锁值也会拷贝锁的状态信息,所以锁尽量使用指针来创建)。sync.P...阅读全文

博文 2019-05-26 23:06:44 牛儿吃草仗剑天涯

零基础学习C语言如何入门(内附工具书推荐+视频教程)

C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。 借用我一个朋友的名言:“现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。”就目前的企业的岗位设置来说,只会C语言的话(当然,能达到深究算法、操作系统、数据库、网络协议的C语言工程师除外),基本上是找不到工作的。首先我们要选定一个方向,继续学习其他知识,后面就会发现,C语言不过是冰山一角,是一项基本求生技能而已,除此以外,程序员要学习的东西还有很多。 对于很多C语言初学者,都会存在如下误区:学习C语言之后今...阅读全文

博文 2019-01-17 17:50:42 wenpeng231

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

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

DockOne技术分享(三十五):微服务架构云端应用

【编者的话】本文作者拥有超过12年互联网产品开发和管理经验,专注于互联网技术架构设计,对产品设计、敏捷开发、安全、OKRs、大数据等领域有深入研究。本文介绍微服务架构和优缺点,并讲解常见微服务架构模式和适用场景。最后结合实践,选择合适的云平台,讲解如何部署、管理、迁移和服务伸缩,最后讲解实际运营中的问题及解决方案。 总结优点就是 :灵活、稳定、省资源 总结缺点就是:服务多,管理难度大 这是以前大家常用的MVC模式,讲究模块化设计和设计模式。 从多个服务的结果聚合到一个聚合服务,最常见的聚合服务是web服务,主要功能是页面表现,后端的服务都是纯业务功能服务,扩展业务只需要增加一个新的后端微服务就可以啦,这个模式是最常用模式。 代理模式是一种特殊的聚合模式,对外是一个统一的包装,一般做内部接口的...阅读全文

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

一,自定义栈 package stack import "errors" type Stack []interface{} func (stack *Stack) Pop(interface{}, error) { theStack := *stack if len(theStack) == 0 { return nil, errors.New("can't pop() an empty stack") } x := theStack[len(theStack)-1] *stack = theStack[:len(theStack)-1] return x, nil } func (stack *Stack) Push(x interface{}) { *stack = append(*st...阅读全文

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

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

消息队列应用-使用异步队列就解耦了吗

消息队列作用一文介绍了为什么要使用消息队列。我们再来讨论下如何有效使用消息队列。 消息队列模式 目前主流消息队列主要由两种模式,1个是点对点模式,1个是发布订阅模式。简单做下介绍 点对点模式 1个消息只会被一个消费者消费。可以有一个或者多个消费者同时消费一个队列,但是被消费的消息不会重复。 发布订阅模式 消息可以被多个消费者消费。此类队列一般被称为一个topic,所有订阅该topic的consumer都可消费所有消息。 目前市面上有很多消息队列产品,ActiveMq,RabbitMQ,Kafka,ZeroMQ,golang实现的NSQ,支持的队列模式基本都可以以上面两个模式总结,只是实现方式不同,具体选型需要根据自己的使用场景选择。 比如kafka以其优异的性能应用在日志收集,hadoop技...阅读全文

博文 2019-08-25 23:32:52 刘凯_7013

《Go语言程序设计》第6章练习

6.5 设字典map1的键是string型,值是int型,初始化为[psw1:123 psw2:456 psw3:789],要求删除键值对psw2:456,增加键值对psw4:135,请编写程序实现上述功能。 6.6 创建一个float64类型的Slice,初始化并计算该Slice元素平均值。 6.7 利用bytes包中的字节切片函数,统计文本文件中含有er单词的个数...阅读全文

博文 2015-12-23 12:00:00 masm32v9