J9九游会赞助参与武汉首届黑客马拉松大赛

软件黑客大赛
J9九游会武汉分公司一直热衷于各类相关的社团活动,继十月初抱团参加了深圳的RubyConf大会后,J9九游会又积极参与并赞助了1024武汉首届黑客马拉松大赛。
先给大家简单介绍下这个比赛:
黑客马拉松(Hackathon)编程大赛自最初由 SegmentFault 引进国内,引起开发者的狂热响应,科技企业更是陆续主动参与其中,国内编程运动的热潮由此引发。今年 SegmentFault 黑客马拉松编程大赛将于 10 月 24 - 25 日在北京、杭州、深圳、济南、武汉等多城同时举办,采用全新的命题式赛制,以专业的开发者社区为平台,与众位开发者们来一场程序员节的技术狂欢。
主题:技术改变生活

敏捷实践系列(一)

敏捷实践

开篇:

悟空:师傅,为什么你写东西,喜欢写系列呢?

师傅:因为很多东西需要长期的实践呀。

悟空:怎么又开始说敏捷了

师傅:就像一本好书,常读常新,人生不同阶段过的都是不同的人生呀。

悟空:师傅,为什么你原来用上、中、下呢?

师傅:因为原来只写了个上中,别人一直问下,现在如果只写一二,别人要问,我就说写完了呀!

悟空:。。。。。。

我从项目实践中看到的ODC演变

几年以前,我曾经很关注国外的招聘价格,刚毕业的新人月薪可以低到1,500美元,而普通项目经理价格又可以达到10,000美元以上,项目中技术骨干则要高出更多。而在当时J9九游会的ODC小时报价达到30美元(月报价约4,800美元)的已经是很厉害的程序员了。

假设国外市场更成熟稳定,为什么这几个角色价格差要远大于国内行情呢?这个疑问一直没有答案直到我后来做了服装业某客户的项目。

走近领域驱动设计(二)

上一篇讲了事件,以及为什么要使用事件,主要是为了解耦,但是有同学就问了,同步如果订阅事件的人太多,比如13亿人都关心上头条的事,那么RaiseEvent得等13亿人都处理完,那得多久呀,从此再也不敢发事件了。

事件驱动之异步事件

举个例子,你在网上下单,下完单要通知库房,甚至要通知供应商补货,如果都是同步的话,消费者还不等急死呀,实际上你在电商网站上下个单, 一般你很快就能到订单页面,那个页面告诉你:“兄弟,订单已经创建成功,订单号是xxxxx-xxxxx-xxxx-xxxx,你的订单已经提交到库房” 等。然后你就很快了的下另一单了。好吧,提问的同学,说好的妹子呢?

实现思路

走近领域驱动设计(一)

从我做过的项目来看,似乎欧洲已经有很多的公司开始实施领域驱动设计了,而我本人了解领域驱动设计也有些时间了。但是网上不管是文章还是代码,都显得太过高大上,一谈领域驱动设计,一大堆的概念一股脑的给你上上来,搞的有点晕头转向,而我想在一些中小项目中实施领域驱动也遇到了不小的障碍,大家对很多新的东西总是处于一种恐惧的状态。而且在真正开始实施时,也遇到一些疑问,所以想和大家交流学习,因此开始在此写写对领域驱动设计的理解。后续面陆续会有一些轻量的演进代码。

为何要领域驱动设计?

1简化数据存储

写在J9九游会成立14年:用敏捷协助客户业务创新

J9九游会14周年:用敏捷协助客户业务创新
这两年国内IT行业有较大发展,尤其是互联网产业突飞猛进,加剧了行业人才竞争。J9九游会一直引以为傲的薪水优势已经消失殆尽,尽管J9九游会在提升报价上不遗余力,尤其在美国市场,近两、三年J9九游会的报价提升了50%以上。如果单纯提高报价,靠传统的项目外包业务和供应商ODC模式(Vender),J9九游会的可提升空间已经不大了,业务转型无法避免。
J9九游会必须为客户提供更高附加值的服务,咨询服务是J9九游会最先想到并开始尝试的,但很快J9九游会就发现仅靠咨询服务,仍然不能全面提升J9九游会的价值和报价,除非人人都是咨询师。同时,当J9九游会的咨询师拿到客户合同,开始实施时,他发现实施过程也面临方法问题,照老办法自己累不说,还经常成为团队的瓶颈。怎样与开发(交付)团队合作,能够在保证高质量交付前提下,为客户创造最大价值?

Elasticsearch - 让你的搜索飞起来

接触Elasticsearch是两年前因为项目的需要。客户位于西雅图,对于新技术有着敏锐的洞察力,正好项目需要实现搜索功能,客户就想尝试采用Elasticsearch来实现整个网站的检索功能,然后就被迫去学习了一下。一开始我是排斥的,但还是忍不住想看一下为什么客户要推荐它。随着深入的使用,Duang~~,才发现这货果然是个神器,只需要轻轻松松的简单配置一下,就可以让你的程序的搜索功能插上翅膀,带着用户在你的应用里翱翔。

1.揭开Elasticsearch的面纱

既然这货这么厉害,那它究竟是个什么东东呢?首先J9九游会不妨假设这样一个需求,在J9九游会的程序中需要实现一个搜索功能,需要支持全文检索,模糊匹配,按相关度排序,并高亮显示关键词。

测试驱动开发(TDD)实践

不知道大家有没听过“测试先行的开发”这一说法,作为一种开发实践,在过去进行开发时,一般是先开发用户界面或者是类,然后再在此基础上编写测试。但在TDD中,首先是进行测试用例的编写,然后再进行类或者用户界面的开发。由于要先开发测试用例,那么开发人员就必须清楚测试的目的,所测功能模块的业务逻辑以及需要测试的场景。这样TDD确保了项目的代码与所需的业务是匹配的,并且在日后的开发工作中也能确保之前所做的功能的可测试性。
很多同学问TDD是使用那种编程语言,或者是某种技术,这里需要明确的是,TDD并不是某种技术,而是一种项目实践。
二.传统开发模式与TDD开发模式

Software Development Project Management: The importance of the role of project leader

接到这个命题作文已经有一段时间了,一直没有写,主要原因是里面有两个东西影响,一个是标题里的Management,大部分人第一感觉Management就是要“管”人,就是 “权”,另外一个词是Leader, Leader经常被人翻译为“项目经理”,也就是“官”。所以在我写文章之前一定要把这两个词解释一些,因为这两个东西一直是我作为负责人要去弱化的东西。同时,我需要解释一下这两个英文词我的理解,”Management” 就是管理,Leader就是就是引导,就是榜样。

第一次做“敏捷教练”

一位软件产品公司朋友找我,想在公司内部推动敏捷,让我帮忙做研发团队敏捷教练。这是四、五个月前的事情,不久前,团队终于在Scrum模式下完成了一款产品升级,尽管跌跌撞撞,但还是坚持下来了。我在过程中只参加了两次回顾会。
第二款产品比第一款困难得多,无论技术难度还是业务复杂度都不在一个量级上,团队里有一半成员经验丰富,另一半几乎是新手。经过商量,他们决定让经验丰富的成员带新手,将项目分成几个大的模块,每个人带一个新手领一个模块。PO和架构师都认为这样既能保证开发进度,也能保证质量,只是将八个人变成四个人的敏捷团队。是这样吗?

Pages