基于libgit2 C语言库的php-git扩展fix bug辛酸史

最近,在忙活微博话题组的日构建工具。工具主要的功能并不算复杂。。。写着写着,外面雨过天晴,居然还放起爆竹了,什么鬼。

构建工具的主要功能正如介绍中所述的那样,提取产品、测试等基本信息、提取版本库(git)信息、检查(编译)源文件、自动部署项目与发送邮件等。在提取git库信息时,相对于之前利用shell_exec PHP原生函数提取svn信息的方式,打算利用扩展来提取信息。一来更规范、更有效率(微乎其微),二来专业。缺点是相对而言部署环境麻烦,因为需要安装git扩展到当前php运行环境中来。

但是,万万没想到官方推荐的php-git扩展库开发版本已有3年没有维护了。索性用吧,又能怎样。。。 Continue reading “基于libgit2 C语言库的php-git扩展fix bug辛酸史” »

关于微博话题组软件构建与发布工程的分享

针对于“发布工程(Release Engineer)”,也许大家并不陌生。如维基百科中介绍:

Release engineering, frequently abbreviated as RE or as the clipped compound Releng, is a sub-discipline in software engineering concerned with the compilation, assembly, and delivery of source code into finished products or other software components. Associated with the software release life cycle, it was said by Boris Debic of Google Inc.

对于一个有着庞大开发团队的成熟公司来说,构建工程显得格外重要。这样一个或者若干个由成百上千个开发成员支持的软件产品来说,构建与发布无非是非常严峻的考验。

然而,目前而言,我们团队在构建发布上仍有着很大的提升空间。

我们的问题

首先介绍下我们组。我们组负责微博的话题业务,每天有着成百上千万的访问量级。核心开发人员一共有15人左右。然而,尽管是15人的团队,软件的构建与发布流程也显得很重要。

在刚进入团队时,并没有构建概念,同样在发布流程上做的也不够衔接与完善。当有产品提出需求之后,技术Leader在进行需求拆分后合理分配给每个开发人员。之后,每个开发人员将以自己的姓名与时间从话题业务版本库的主干上Check Out一个分支。待开发完成之后,进入测试申请流程。常规情况下要进行三轮的测试:分支内网测试、分支仿真测试与主干回归测试。在这三轮测试顺利通过之后,我们将通过上线系统(QuikBuild)进入上线流程。 Continue reading “关于微博话题组软件构建与发布工程的分享” »

PHP扩展开发利器之PHP-CPP库官方中文文档

这段时间对PHP扩展开发比较热衷,起初先趟了一遍(半遍吧)用Zend引擎来开发扩展的方式(http://www.walu.cc/phpbook/preface.md),可是问题来了。正如PHP官方所说的那样,”Zend的好处就是定义了很多宏,可惜坏处是宏真是太多了”。未知的东西是可怕的,也是困难的。所以相对比较起来,这个用纯C++的库来说(PHP-CPP),对于C++开发者真是轻车熟路。

翻译内容目前托管到了GitHub上,后续会陆续更新到本博,对PHP-CPP扩展感兴趣或者对于翻译感兴趣的朋友,请多指正~ Continue reading “PHP扩展开发利器之PHP-CPP库官方中文文档” »

前后端分离和模块化-58到家微信首页重构之路

微信钱包内的58到家全新首页已经上线,感兴趣的同学们可以在微信中打开“我的->钱包->58到家”查看。

58到家全新首页提出重构主要是为了解决以下问题:

  1. 每个城市开通的服务项目不同,有些内容是写死在tpl中,维护非常头疼;
  2. 开通新服务或者某些UI调整(比如更换服务项的图片造成更改雪碧图)时必须走代码上线流程;
  3. 原有的前端切图、后端写逻辑的开发模式造成开发周期拉长和上线流程繁琐;
  4. 原有配置后台操作复杂,且可配置细节不完善;
  5. 首页加载速度太慢,用户体验欠佳。

58到家目前两年左右的发展期,整个技术生态还不完善。以上的问题有的是由于创业初期遗留的历史原因造成,比如代码写死和粗糙的配置后台;而有的问题是由落后的开发模式和协作模式造成的,比如前后端分工不明确、首页加载速度慢。

基于上文提到的问题,重构从以下几方面入手:

  1. 完善配置后台,细化可配置项;
  2. 数据驱动UI,轻量化tpl,内容更新无需上线流程;
  3. 前后端分离,缩短开发周期,简化上线流程;
  4. 模块化开发,提高加载速度,同事增强代码的可维护性。

配置后台可以理解为一个简易的CMS系统,配置的内容是一些量化的字段,比如图片地址、链接、价钱等等。此项目中本人并不负责配置后台的开发,所以不再班门弄斧。 Continue reading “前后端分离和模块化-58到家微信首页重构之路” »

开发者已等不及:微软快推出Surface Phone

据外媒报道,由于移动部门近年来发展一直不力,微软在今年2月份推出Lumia650之后就基本没有推出新款Win10 Mobile手机。此前曾有消息显示微软希望借着Surface大卖的东风,推出Surface品牌的手机。近日,一位开发者也催促微软尽快推出Surface Phone,来改变微软目前的手机的经营状况。

Rudy Huyn此前是Windows Phone平台比较知名的开发者,在开发者行业内比较知名。目前的Win10以及Win10 Mobile是他的主要工作内容,所以他也对微软的平台构建和发展非常关心。他认为目前Lumia手机的保有量正在急速萎缩,微软此前强推UWP应用导致更多的开发者不愿意为Win10 Mobile系统开发应用。

据了解,首批Surface Phone包含三款产品,一款面向普通消费者,一款面向发烧友,而最后一款和Surface Pro一样主打企业级市场。对应的市场不同,SurfacePhone的配置也将不同。 Continue reading “开发者已等不及:微软快推出Surface Phone” »

都是渣渣!首尔移动网速世界第1超74Mbps

据外媒报道,日前移动网络性能分析公司RootMetrics日前发布报告称,韩国首尔的网速世界第一,达到了74.7Mbps,紧随其后的是西班牙马德里,而日本东京排名第三。

首尔移动网速世界第1超74Mbps(图片来自腾讯)

RootMetrics公布的7个主要国际大城市的移动网络速度调查结果显示,首尔的网络下载速度最快,达到了74.7Mbps。其他主要国际城市的网速排序为马德里44.6Mbps、东京39.0Mbps、伦敦29.8Mbps、巴黎29.7Mbps、都柏林28.7Mbps、纽约23.7Mbps。 Continue reading “都是渣渣!首尔移动网速世界第1超74Mbps” »

谷歌Nexus支持虚拟运营商:能连公共WiFi

据外媒报道,Nexus设备作为谷歌的“亲儿子”倍受宠爱,什么新技术、新政策都是第一时间尝鲜。现在谷歌又宣布,Nexus用户将可以使用虚拟运营商Project Fi连接免费公共WiFi热点,而不必更换当前的手机套餐。 Continue reading “谷歌Nexus支持虚拟运营商:能连公共WiFi” »

189邮箱让附件管理有条不紊

邮件是一种较正式的职场沟通方式,同时附件也成为了邮件中不可或缺的一部分。我们的邮箱会渐渐被各种附件塞满,有时甚至需要耗费大量时间去搜索查寻一个附件,极大地降低了工作效率。而主打“爱简单“的189邮箱具有智能化附件管理功能,系统自动将所有附件分类并进行统一管理, 有条不紊,满足用户便捷地查寻附件。

189邮箱的“附件中心“使用起来也十分简单,步骤如下: Continue reading “189邮箱让附件管理有条不紊” »

百度无人车参加了一场驾照考试 两只汪星人做司机

TechWeb报道8月28日消息,此前微博上有消息传出百度无人汽车参加了一场驾照考试,两只汪星人充当驾驶官奔驰在大马路上,两只汪星人在车里悠哉游哉,像足了两个“老司机”,此消息一经传出就引发了众多网友的讨论。

百度无人车参加了一场驾照考试 两只汪星人做司机

百度无人车参加了一场驾照考试 两只汪星人做司机

随后百度官方在微信公众账号证实了此消息,百度还发布了一篇题为《我们让狗坐在百度无人驾驶车里参加了场驾照考试》的文章。 Continue reading “百度无人车参加了一场驾照考试 两只汪星人做司机” »

中国电信上线iPhone 7预约专页:众多重磅新功能曝光

TechWeb报道8月28日消息,随着iPhone 7发布日期的日益临近,不止是果粉们按耐不住,就是运营商们也是蠢蠢欲动。这不,中国电信就已经开始接受iPhone 7的预约了。

微博网友@POPPUR 爆出的消息显示,中国电信已经放出了iPhone 7的预约页面,输入姓名和手机号码并填入验证码,即可预约。 Continue reading “中国电信上线iPhone 7预约专页:众多重磅新功能曝光” »

WhatsApp创始人今年已抛售超25亿美元Facebook股票

BI 中文站 8 月 27 日报道

WhatsApp 联合创始人简·库姆(Jan Koum)于 2014 年将公司卖给了 Facebook,在此交易之后,库姆也加入了 Facebook 董事会。今年以来,库姆一直按照既定的交易计划,按部就班地抛售他所持 Facebook 的股票,特别是自今年 2 月以来,库姆更是每月数次抛售 Facebook 的股票。

为此,BI 方面还询问了专门分析高管酬薪与企业数据的公司 Equilar,并请求该公司帮助审查各方递交给美国证券交易委员会与库姆今年抛售 Facebook 股权相关的文件。

事实表明,自从今年 1 月以来,库姆已经抛售了其所持的约 2200 万股 Facebook 股票,价值约为 28 亿美元。

2014 年 2 月,Facebook 同意以 190 多亿美元的股权价格收购 WhatsApp,但是,随着之后 Facebook 股价的一路飙升,到当年 10 月份交易完成之时,这一交易价格已经攀升到 220 亿美元左右。福布斯方面估计,库姆在抛售 WhatsApp 公司时,大约持有 WhatsApp 公司约 45% 的股权,这就意味着库姆当时在 WhatsApp 公司所持的账面价值约为 100 亿美元。除此之外,库姆还在交易之后成为 Facebook 董事。

据 Facebook 的代理文件显示,到 2015 年底时,库姆持有该公司 6000 多万股普通股。除此之外,库姆还持有该公司 1900 万股限定股权单位。这些限定股权单位会在一段时间之后授予库姆,主要是作为了一种奖励,以便将库姆挽留在 Facebook 公司,一直到 2018 年 11 月份。 Continue reading “WhatsApp创始人今年已抛售超25亿美元Facebook股票” »

工作六年感悟 – 程序员的选择

前言:
很多年前,刚刚从大学毕业的时候,很多公司来校招。其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”。我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“。后来经历了几家不同的公司,换了不同的方向,才知道这个真是一个很难的问题。因为兵无常势,什么东西都是在不断的变化,一早的时候看好的东西可能会被淘汰。
(几乎)没有人能够看准技术的下一个方向,因为这个问题实在是太难了,能够做到这一点的你就成为了技术界的巴菲特了。比如说01年加入Google,07年加入Facebook,00年加入阿里巴巴。做到这一点的人肯定有资本也有眼光去做风险投资,就算不做风险投资那么财务自由也是妥妥的。
现在毕业六年,从北京到上海到硅谷,从国内互联网公司外企,看到了公司好的地方和坏的地方,这里只是根据自己的经历写一些大方向选择建议,仅供参考。

Continue reading “工作六年感悟 – 程序员的选择” »