脱单的《码农周刊》(第39期)

脱单的《码农周刊》(第39期) – 码农周刊

如果你无法正常浏览本邮件,请点此查看

脱单的《码农周刊》(第39期)

本周六,七夕节。祝单身的猿媛们早日脱单!^_^上期最受欢迎的三篇文章。欢迎投稿!
JetBrains 面向中国开发者提供个人使用开发工具全场 5 折优惠,欢迎联系所在地区经销商或者直接联系 resellers@jetbrains.com红帽子VPN – 百兆独享线路,注册送1GB/月免费流量。订购/续费八折优惠码:manongio 购买广告位

工作机会

[上海] Geex Finance  

系统设计工程师(20k+) 系统开发工程师(15-25k) 前端工程师(15-25k)

[广州] 伊的家  

高级 PHP 开发工程师(15-30k) 中级 PHP 开发工程师(7-14k) HTML5 开发工程师(10-20k)

[杭州] 阿里巴巴  

Java 高级开发工程师(15-30k)

[杭州] 大搜车  

Android 工程师(10-15k) iOS 工程师(10-15k) Java 工程师(8-16k) 测试工程师(7-14k) 前端工程师(可实习)(8-16k)

[北京] 大鱼  

Rails 工程师(8-20k) iOS 工程师(12-20k) Android 工程师(12-20k) 前端工程师(8-20k)

[南京] 孢子社区  

全端工程师

更多工作机会  

在招人?欢迎将招聘启事发送到 job@manong.io

程序设计

[译] 25 台服务器是怎样支撑 StackOverflow 的?(仲浩)  

StackOverflow 是程序员必上的网站之一,本文介绍了它的架构设计。原文地址

微博推荐引擎体系结构简述 (@wbrecom)  

有图有真相

[视频] 微信后台存储架构(许家滔)  

微信开发团队的对外分享不多,本分享将深入微信架构内部,深度解析存储分布方面的基础设施。

编程语言

C++ 权威书籍指南  

Stack Overflow 上的一篇热帖,阅读量已破 70w。同时推荐 C 权威书籍指南

[译] Netty 5 用户指南 (@owenludong)  

本文已被 Netty 官方收录,恭喜译者。

Android 学习之路 (@googdev)  

一份值得收藏的 Android 学习资料

[译] 插件(林翔宇)  

插件是给你已经发布的 App 增加功能的一个好办法

[PDF] PHP 语言规范  

由 Facebook 发起,不容易!更多讨论

《码农周刊》干货精选(Python 篇)  

《码农周刊》中分享过的 Python 干货合集

Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱 (@52nlp)  

非常棒的整理

[译] Ruby on Rails 指南(基于 Rails 4.1)  

Rails 经典入门教程,英文版。

理解 JS 闭包 (fcoral)  

闭包是 JavaScript 的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。

GitHub 的 CSS 实战 (Mark Otto)  

一看作者名,就知道这篇文章值得一读了。

Scala 学习资源(@TW张逸)  

推荐 Scala 学习者收藏

工具资料

Awesome 系列编程语言学习资源合集  

Awesome 系列已经推荐过多次,覆盖 N 种编程语言,质量上乘。

一些值得前端开发者订阅的 RSS 源  

小编订阅了不少

借助开源项目,学习软件开发(庄表伟)  

仍在进行中的一份文档,已完成的部分质量不错。推荐新手阅读。

MySQL 注入科普(瞌睡龙)  

乌云出品

[视频] DockerCon 2014 Solomon Hykes 主题演讲(中文字幕)  

最近 Docker 很火,不妨看看。

Spark Summit 2014 幻灯片 & 视频  

内容不少,慢慢消化吧。

Google APIs(NodeJS 版)  

Google 官方出品

yac-0.9.1 发布  

一个无锁的共享内存 cache,用来替代 PHP 的 APC 缓存或者本地 memcached。

elvish – 一个实验性的 Unix shell  

仍在开发中,Go 语言实现,挺酷。

每周一书

《Python 开发实战》  

作者从 Python 的环境搭建讲起,介绍了 Web 应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了 Python 开发流程中所涉及的方方面面。

编程之外

在北上广深一线城市年薪二十、三十、四十万的码农的真实生活状态是怎样的?(@知乎)  

如人饮水

[译] YC 创业图书馆之“十三箴言”(王心田)  

对得起“箴言”二字,推荐创业者阅读。

[视频] 如何成功?请多睡一会!  

李开复微博上的分享,此一时彼一时吧。;-)

Geek 周边

桌夹式站立使用显示器键盘托工作站  

对“站立式编程”感兴趣的同学,不妨关注。

赞助商广告

购买广告位  

因为你曾经订阅了码农周刊, 所以你会收到这封邮件。
码农周刊由微博微信账号developerWorks创建,
developerWorks一直专注于IT技术干货分享。
我们保证你的邮箱地址将只用于码农周刊,你也可以随时取消订阅。
我们尊重并保护你的隐私。
如果你不愿意继续接收码农周刊,请点击退订。
本邮件服务提供商:SendCloud。

from Gmail
via IFTTT

半年总结

突然意识到,今年是6.30,2014的一半马上要过去了。

技术:

这半年技术上几乎没有一点长进,也没写点技术blog,看的paper也几乎没有。

在来聚划算后,一直忙于业务,自己个人现在也是越来越偏业务,导致技术上的跟进,以及一些杂七杂八的技术学习变的很少。对于还想从事这一块,技术这块还是不能落下啊。

投资:

看了下,今年的投资主要集中在 第一太阳能,和YY上面。其实第一太阳能的收入还是比较可以的,53左右进的,71卖出。 后来76买进了YY,结果这斯在扫黄影响下,一路下跌,只好在61时出掉,等待时机,后来在56时重新买回,记得当时在微博上记录了下重新买进的理由,因为我从来不认为YY会受扫黄影响,当李长春都去视察迅雷后,就果断重新入手了同是雷军系的YY。到刚才为止YY已经站上了77,帐户总资产也8500以上,对于这成绩还是比较满意的,从13年1月以2080$操作美股起,账面价值也算是涨了不少。

家庭:

家里的小美女是越来越可爱了。每当我很晚回家,只要小家伙躺在床上还没睡着,听到我在客厅的声音,就会说一声:爸爸回来了。 听到这话,一天的疲惫顿时消散了,哈哈。

所以说家庭的幸福是快乐最大的源泉。

 

 

阿里O2O战略—在中信证券内部讲话

O2O这个大词,国内能够干这事的公司,目前首推阿里、腾讯。范言直谏 (微信公众号fanyanzhijian)推荐大家读读这篇文章,阿里虽然最近风头大减,但依然是国内电商领域首屈一指的玩家,不得不察。

本文来自阿里集团O2O品牌负责人于2014年2月19日在中信证券“互联网O2O”专题研讨会上的演讲。此文流传甚广,我把要点作了点标注。

非常感谢大家!刚才在会议上听到毛老师(毛长青)演讲有非常多同感,另外我发现最近每个行业关于O2O的话题,都是整个行业里面最热门的话题。这是我第二次在中信证券的讲台上跟大家做分享,2013年是在中信证券厦门品牌服饰论坛中跟大家分享天猫战略。这一次O2O有一点雷军所讲的台风口的感觉,因为整个行业非常兴奋,另外这次是一场真正革命的到来。

从战略四步走看O2O

刚才毛老师讲到阿里集团著名的曾鸣教授,曾鸣教授在我们内部高管里面培训的时候,包括做O2O培训的时候,给我们讲什么叫做战略。战略,对我们所有规划和思考、以及未来做事情的时候,有非常多的借鉴。曾鸣教授给我们讲战略的时候,分为四个步骤:

第一步是终局。终局错了所有都会错,因为方向会错掉。之所以今天阿里巴巴发展成这样一个大的公司,因为13、14年前马云便提出未来电子商务会改变世界的方方面面。虽然那个时候这句话是比尔·盖茨说的,但正是因为14年前对终局的思考,才有今天阿里巴巴的转身。

第二步是布局。为了终局我们到底要做哪几件事情?讲到布局讲一个案例:我们最近又把高德地图全线收购了,是因为地图是整个O2O产业中最基础、最核心的一个板块。高德地图以往有吃喝玩乐的很多信息,但是对于O2O最核心的品牌商领域,比如说大家看到的GXG、ZARA等很多线下品牌,以往地图上没有呈现。随着我们O2O战略的进展,2014年所有上百万级的品牌商店铺都会到线上来,而后包括营销在内的所有策略都会基于地图,高德地图整个价值会翻好几倍,所以说我们全线收购了高德地图。未来O2O战略中,每一个跟O2O核心价值相关的产业,都会成为一个非常重要的投资热点。收购高德地图讲的是布局。

第三步我们称之为定位。到底消费者如何认知我们的平台和我们的战略。在阿里,我们认为很核心的地方是:所有消费者和商家把阿里视为以商务和电子商务为核心的平台,这是我们的定位。未来我们会帮助所有企业解决商务的问题。后面我会讲我们策略已经从电子商务变成商务电子化,之间区别我后面会讲到。

第四步我们称之为策略。实现所有事情我们要走的路线,分别是什么样子、方法和步骤,这是我们公司在内部制作所有产品时候的思考方式。

在我们整个思考中,O2O是未来3-5年内行业非常关键的策略。但是讲到这里跟大家说一个不幸的消息,O2O并不是整个产业的终局,O2O乃至整个电子商务产业的未来来自商业的终局。如果想透彻后,未来终局是C2B。从最早的C2C到B2C、O2O、再到C2B,其中O2O是其中非常重要的环节。不知道大家记不记得,我们不久以前私有了我们的上市公司1688,很多人不理解为什么私有化,不是赚钱挺好的吗?原因我们发现整个淘宝目前有1.2万亿的市场,但是在我们B2B产业背后,有一个3万亿的供应链市场。前面毛老师讲,整个电子商务对行业的发展不仅仅是对渠道,背后最核心的是对于整个商业链条的颠覆,是第三次工业革命价值的诞生。我举一个例子来说明,所有产业怎么来发展的。为什么会私有化、为什么C2B会是核心?我们2013年“双十一”的时候,有一家公司叫茵曼,他们做了一件事情:“双十一”选择了500款衣服没有生产,只是做了样衣和价格,然后把衣服扔给所有消费者让他们做选择。于是消费者根据自己的习惯和喜好从500款中选择了150款,而且每一款消费者根据数量付了订金。之后这家公司再把数量和产品给到自己的制造工厂,工厂再把制造订单给到原料厂商给到布料商、拉链商等等。大家会发现,整个产业从消费者订单到品牌商、从品牌商到原料商、从原料商到所有环节,用数据打通了所有产业链,这样的效率彻底改变了以往生产状态。

从电子商务到商务的电子化

现在讲一个重要的观点,我们5%市场在电子商务端,而95%市场是没有被电子商务化的。在2013年“双十一”之前阿里集团形成了一个非常重要的概念,这个概念在未来将逐渐形成产业端的认识,我们称之为从电子商务到商务的电子化。如同前面所讲,既然有95%的商业依然在线下、依然没有电子化、没有电子商务化,一定是因为某些场景和某些环节无法形成一个商业的闭环。而今天我们反过来去思考,为什么一定要形成闭环?现在目前在我们的互联网上有很多文章在传,比如说如何用互联网思维去改造某某。我们一样在思考,如何用互联网思维、用数据化的方式,去改变以往传统产业。所以2014年我们会把它称之为整个中国的O2O的元年,因为2013年“双十一”启动了这样一个项目后,阿里巴巴把自己战略重点从电子商务变成商务电子化。

后面我会讲到店铺智能化,大家所看到每一家线下店铺,在今天看起来依然是一个没有上网的PC。在今年O2O实现后,未来每一个线下店面以及导购员会成为一个互联网端的PC,这其中的差距会非常大。所有互联网思维以及O2O运行过程中,1%看似很小的差别起着至关重要的作用,因为未来的消费者已经发生非常重要的转变。讲到转变,易经中变化之前先考虑不变、再考虑变、最后考虑变异。

什么在变与不变

首先不变的是所有东西都在变化,但其实有些东西根本就没变。大家要非常清楚,如果不知道什么不变,所有的变化都是乱变化,所有的变化都是没有章法的变化。不变的东西是什么?以及在未来越来越重要的东西是什么?在我们这里已经看到了,前面讲的C2B模式也是一模一样,所有环节都指向一个中心——产品为核心。在互联网端,随着我们O2O进展的越来越顺利,随着未来C2B时代到来,从消费者订单一直到整个产业链转变,这个背后提升的效率,以及对于库存压力的解放,都是基于未来的产品是适应未来的消费者的,这是所有不变的地方。在大家所看到的地方,目前渠道的价值变得越来越小,而整个以产品为核心变得越来越重要,这就是为什么雷军在做小米手机的时候,几乎所有的消费和所有的营销端都在电子商务端做,而把所有80%精力放在产品端,让商业回归其本质的地方,使产品和服务成为所有竞争最核心的要素,这是永远不会变的。所以大家看到未来电子商务中,尤其在淘品牌中发展很快,是因为他们适应了未来消费者的发展。

第二个地方的变化就来了,有一个东西一定会变,而且变化的速度超出我们的想象,就是移动商务的到来。还好有一家竞争对手跑进来名字叫腾讯,最近腾讯支付和支付宝支付打的这么凶,哪家赢哪家输?我开了个玩笑,百事可乐和可口可乐打架哪家赢哪家输?其实都不会输,因为有另外一个竞争对手进来,整个行业会被加速发展,我们两家打架的时候我起了个名字叫做竞争伙伴。我们在竞争,但我们是伙伴,原因是我们两家会快速普及移动支付,而移动支付会去取代或者是很大程度的去取代我们线下银行的POS系统,这才是真正要命的地方。就像马总曾经说过:不会完全取代,但是基本会取代所有线下银行支付系统。后面我讲支付的时候也会讲到,移动端今年基本上所有的流量和销量就会超过PC端,而且发展速度会越来越快。大家所看到移动端我们布局会非常非常多,今年整个阿里巴巴战略布局有三个:第一移动商务、第二O2O发展,因为O2O是整个移动电商中最核心环节、第三个国际化发展。

第三个变异。当这个地方发生变化,有的变有的不变,背后变化的掌握是什么东西?就在这张图上,这就是可能的变异,所有变化核心的场景的地方所在。讲到这里的时候,要特别跟大家强调一个重要概念,在以往我跟很多朋友交流O2O的时候,大家对于O2O的理解会从概念的角度被束缚掉,很多人讲O2O非常局限于线下到线下或者线上到线下,其实O2O概念根本不是两个简单线下、线上的概念,更合适的概念是O&O。大家现在所看到这张图左边场景是一个O2O,我们称之为逻辑图或者策略图,或者是一个重要的方程式。O2O的场景中, Online和Offline只是两条平行线。而打通的核心:第一个地方是SNS,社交化媒体传播。为什么大家看到“来往”发展那么快、“微信”发展那么快;第二个是LBS,这个不细讲;第三个地方是手机端,大家未来会看到阿里云手机。因为在全中国信息安全会成为越来越重要的话题,信息安全核心场景在手机端。手机端有自己信息安全系统或者原创系统的,除了苹果iOS系统、安卓系统之外,中国只有一家。其实大家会发现,我们在这个背后有很多布局。“SO”方面我们收购了微博和陌陌等频道、“LO”我们收购了高德、“MO”我们进行了手机端的整个布局及背后的云数据。上面提到的这三个场景,是所有O2O企业非常关注的、非常重要的地方。

与此相对我们称之为人、货、场三者的结合,以及所有为三者提供的解决方案,因为这三者会被重构和重新组织掉。

人、货、场,三者的重构

“人”的地方指的是我们将向以消费者为核心的体系转变。一方面会员体系将全渠道打通;另外未来的营销将向精准营销和社会化营销转变。特别讲到这个地方,未来的营销在O2O的场景里面,跟现在的电子商务是完全不一样的。在线上做过生意的人都知道,诸如淘宝、京东等频道的行销模式有三种,第一种直通车、第二种站长、第三种是我们内部活动或者双11大促活动分配。这样的营销模式在整个产业布局和业态中相当于什么呢?相当于长江水源的支流,河流的方式灌溉到哪里哪里就繁荣,没有被灌溉的地方基本上不可能成长很大,所以这样的模式会促进原始社会部落的经济。而未来无线端由于是去中心化,他像下雨一样恩泽天下,所有地方无论是否有水源都可能会得到新的流量,所以说所有流量会重新分配。在O2O的场景里面,所有的营销是以地理位置为核心的。

举个例子:Zara店铺营销的客户群,是在这个店周边十公里地方的人群。所以未来营销是基于社区化、区域化的营销服务。因此说未来会有很多新公司和新产业是做区域化营销为基础的,会成为行业里面越来越重要的公司。再就是个性化服务和精准服务。因为有了大数据,线下所有门店会有新会员服务系统,C2B模式会越来越清晰,预售在为消费者选择提供更多可能性。所以未来商业里面会出现极端两极分化,第一种满足大部分消费者需求,这样品牌会越来越多,但是利润会很薄,就像现在看到的一些常规的衣服,T恤衫的东西。另外非常个性化的产品越来越多,因为它满足了个性化的需求。

第二个是货,货最核心第一个地方称之为货品电子化,二维码是一个十分关键的环节;第二个地方是基于商业闭环;第三个链条是在产品打通之后商家的收藏,断色断码会有新的解决方案。

最后是场,场指的是流。第一种资金流;第二种是数据流,讲的更加精准叫做工作流。整个线下管理和店面的管理工作流会因为O2O的存在被彻底的革命掉和颠覆掉,具体怎么做我后面有一个案例给大家;第三种是物流,整个物流体系由于“菜鸟体系”嵌入以及整个O2O和物流分仓发展,都会发生很多革命性变化。

O2O成长中最麻烦与最关键的地方在于利益重新分配

大家看到人、货、场的变化,是整个O2O中变异系数非常大,而且谁在这个地方做好,谁就拥有O2O核心基因。我们讲到这个问题,既然O2O这么美好,O2O的话题在行业里面已经热了接近三年,今年真正非常热,但是为什么好像行业里面没有几家公司可以拿出来说我真的做的很好?除了行业的移动电商还没有发展成熟之外,另外一个非常重要的原因是整个行业里面的利润体系重分配,这才是整个O2O成长中最麻烦和最关键的事情。前面毛老师讲到一点我非常认可:O2O的后边代表的是商业界、乃至整个中国组织结构的变化。重新划分整个品牌的利润体系是O2O发展的前提和核心。我举个例子:鄂尔多斯公司是做羊绒的。这家公司做了一件事情,他电子商务频道非常有趣和好玩。他的电商部门跟所有电商不一样:第一他没有货,第二他也不管发货。这个公司的电商做什么呢?有一天在聚划算包了个品牌团、给了他三十个坑位,他把每个坑位给到不同地方,把流量分配给线下一级品牌商帮助线下渠道卖货。当他们反过来不卖货只帮线下卖货的时候,所有线下的公司开始对电商有了新的认识,而且都对这个公司老总非常客气,原因是他帮谁卖货谁的业绩就会达成。这样的方式一下子解决了所有的利益冲突。另外他也不发货,原因是谁卖出货谁自己发,我把消费者数据给你就完了。这个代表什么呢?

一、以往传统的电子商务由于解决不了线上线下冲突,所以在未来O2O发展中会受限。O2O商业模型中电子商务部门的职能在发生革命性变化。很多公司最早的电商部门是一个新渠道的销售部门,而在O2O的场景中电子商务部门会成为整个公司的一个战略性的部门,将统领全国数据、产品、服务乃至于统领所有以后的整个供应链。这背后所代表的是整个电商在整个中国的经济体中的地位发生革命性的变化。回到刚才讲到的鄂尔多斯,看似简单的配货完成了几个重要的事情。第一个地方电子商务,这个公司O2O的部门拥有一个虚拟的仓、虚拟的产品库,实际没有货但是把全国分销商的库存数据集成在O2O这个部门,所以说他才能做全国货品调配。第二个地方全国库存及时的增减都在这个部门做。第三全国的渠道利益分配机制也通过它来做。第四所有线下货卖出去以后的服务体系也由这个部门来做。所以这个部门的未来,它的协调功能和战略价值会越来越重要。所以说O2O要解决的核心问题是利益冲突和整个组织的问题。这个解决不了所有的O2O只是皮毛,这个能解决掉背后的体系才能够真正运转起来,这是我们讲的第一个事情。

第二个非常重要的事情是宝岛眼镜里面大家看到的变化。O2O场景里面不简单只是线上线下产品打通,而是体现在O2O行业发展中三个重要方面:第一个支付环节走的很快;第二个社区化服务,比如看电影、KTV团购走的非常快;第三个是品牌商,品牌商有一部分商家本身就在做O2O做的事情。比如说宝岛眼镜,以往线上买了产品,线下需要去验光、取镜、做专业咨询。所以我们把服务环节-线上购买环节做完之后,再到线下去服务。同样的地方他也做了一件事情,所有线下购买的货的人的咨询是不需要到店面去完成的。因为他的电商部门每天请了两个专业的眼科医生在线上坐诊,线下所有营销产品的服务在线上去解决掉。所以不仅是商品端,服务端也有很多事情在做。

阿里O2O在2014年会实现的几个重要指标

大家看到前面说我们今天主题叫做千军万码,指得是什么意思呢?阿里O2O的计划中,我们今年2014年会实现几个重要指标,或者实现几个重要的事情。

第一个事情:我们今年将有近五千家品牌商进入到整个阿里O2O战略范围中,而且基本已经都在达成协议。做的是什么?所有线下有10亿以上销售额、100家以上门店的公司,都在我们考虑范围之内,因为这些公司所有线下店面改造都是我们核心所在。千军背后有一个非常重要的东西,百万级线下店铺会到高德地图来。大家以后到线下购物会养成一个习惯,到线上查一查地图,看看能不能领到优惠券,未来消费者会先到线上再到线下。

第二个事情是万码,指的是二维码计划。二维码多重要?二维码是手机打通虚拟世界和实际世界关键时刻和节点的工具。所以说二维码背后会成为一个非常大的产业,请大家特别关注它的价值。未来所有场景里面都会有二维码的实现,它的背后会有非常多功能,品牌、店铺、导购员、会员、支付都有二维码身影。这里特别强调一下分账二维码,就好像淘宝客一样,未来大家发现所有人都可以做成自己的淘宝客。举个例子:今天会上资料如果印上二维码,我们关注任何会员,印刷这个产品的人会得到分成。未来这个市场会非常大,而且二维码会成为未来所有商业非常重要的环节和基础。未来百万级的店铺,乃至所有传统媒体都会因为有分账二维码的呈现,出现完全不一样的商业模式。如果大家投资了媒体的,我们跟谁合作的二维码,这家媒体未来盈利就会被重新焕发起来,就好像我们曾经把传统的“快的”行业彻底改变掉,我们会改变所有传统媒体行业。

第三个事情是在支付环节。支付环节会非常重要,大家看到马总到银泰刷支付宝系统。为什么支付系统在未来商业格局很重要:一、费率非常低,银行费率基本在1%—2%,我们非常低接近千分之五。二、支付宝手机钱包支付,背后有数据交换,数据价值越来越强。三、我现在在台上,我手上一定带着手机,去任何地方手机一定会带在身上,但是钱包和现金不一定会带。未来随着余额宝规模越来越大,大家以后的钱基本在手机端。另外一个地方说现在微信发展非常快,确实这样子,我们两家一起来快速把移动支付整体推动起来,而各个产业会在移动支付解决的基础上发生重要的变化。前面毛老师讲了很多产业,其实半年前甚至一年前我们已经启动了,这些行业很多,比如说医院、大学、公路网、地铁、超市,未来一两年都会发生革命性的变化。阿里系在未来O2O产业场景中,会跟越来越多传统产业发生深入的交流和改变。

另外一个地方是一个产品,这个产品叫做“导购宝”。在整个产业闭环中最关键三个环节:第一个地方是流量和营销。我们会做营销活动,不久大家会看到大型营销活动,但如前面说过,营销方法已经变了;第二个地方是优惠券,所有人去线下都会取优惠券,这个平台已经产生已经做好;第三个地方通过我们二维码的方式以及相应产品做支付。我们再看这个产品,内部是导购员的导购系统,这个导购系统非常重要。O2O中重要单元是线下店铺,线下店铺里最核心人物,导购员以往做不了什么事情,只能在客户到来和离开这个简单时间发生作用。未来导购宝会非常强大,把线下导购员变成一个真正智能的人,因为有数据的交换。把线下店铺变成一个智能店铺,这个背后导购员导购系统可以做几件事情:支付环节可以解决掉、消费者互动可以解决掉、商品打通可以解决掉、营销可以解决掉,还有流量,还有所有的社交都可以在这个地方解决掉。我给大家看一个样本:当消费者自己选择完商品后,会生成订单放到购物车,生成订单之后会生成一个动态的二维码,这个动态二维码都是导购员操作的,完成到这一步消费者只要拿出手机,扫导购员手机上的或者pad上的二维码,就可以把产品整体放入自己的购物车,直接把钱付掉。所以用这样一个智能终端可以解决未来非常非常多的问题,它的作用也会非常强。

当我们一旦打通商品体系有很多新事情发生。我们可以解决现在线下几个非常核心问题。第一,线下到哪里开店。线下公司不一定那么准确,但是我们知道,哪个地方人群、销售率是最高的,我们有所有的地图和所有会员的数据,我们会指导所有品牌商把店铺开到什么地方最好。第二、店铺备货。这个店铺是鞋店,到底备多少双、备什么颜色、每一个颜色码数备多少双,这样数据线下没有但是线上有。我知道深圳所有人脚多大,没有人知道我知道。所以这样的方式我们会指导线下备货,备货之后线下断数、断码我们会知道。这个地方还有一个利益分配机制,这个非常难但是非常关键,任何一个场景都会有至少六方利益分配需要考虑。我们有导购系统解决,六方包括商家、平台、店面、导购员、商场和第三方,都是我们要解决利益关系的人。O2O非常的困难,电商向来发展最快,而传统商场和品牌又是最传统、水最深的,这样子两者结合起来本身就是整个中国到目前为止产业经济中最复杂的一次交集,一定会产生中国软件行业的一次革命。也对中国所有的管理咨询,乃至于资金投资企业,有一次新的增长起点。关于O2O闭环,时间关系不细讲,我强调一个非常重要的环节。未来我们购物的时候,大家可以直接跟你的店铺联系,而不是到了店面才可以。什么意思?比如说今天我们深圳降温了,大家想买一件衣服。在以往的时间点你没法知道周边哪个地方有zara的店,而今天过两个月之后大家从手机端可以查到,原来两公里地方有一家zara的店,大家现在就可以跟他的导购员进行沟通,两公里之外你把你的身高、买什么东西告诉她。这样的服务和沟通会越来越好,我强调这个原因地方是很多产业方式会产生变化。

最后,在阿里巴巴O2O的规划,实现的效果我们称之为四通八达,四通指所有O2O场景中,必须打通以上四个重要环节。第一个环节是流量打通。流量打通背后体现地图的价值,区域化营销非常大。第二个环节是会员体系打通。我相信大家跟我一样,钱包里面有十张二十张各种各样的会员卡,这是很不方便的事情。未来所有会员卡都会装到手机淘宝端,电子会员卡会成为一个真正的潮流。第三个环节是支付体系打通。支付体系打通我们前面讲过,线上支付宝会铺设到所有大家可以看到的线下店面里面去。方式有非常多,声波支付、二维码支付、前面讲到的导购员手机上系统支付、乃至未来战略合作支付都会做。第四个环节商品打通。一旦打通形成一个完整的产业闭环,包括物流体系、分仓体系、二维码。八达指的是:八个重要业务场景里面我们去思考所有背后的解决方案。在最近,我们已经跟中国比较大的企业做了非常多战略合作,比如说海尔、日日顺等等,我们有非常多大型企业已经推进O2O试点,不久大家会看到八个场景里面代表的地方是有接近95种不同行业的,或者是不同组织结构解决方案。我们跟所有战略合作伙伴做沟通和合作的时候,每一家都会出一个针对性解决方案。在上个月我做了三家解决方案,一家海尔、一家格力、一家TCL,做起来发现三家看起来是家电,但是完全不一样,因为组织、产品、分销、利润体系不一样。所以这个非常重而且非常重要,给产业带来巨大机会,是因为背后具有个性化的产业解决方案。

一点感受

最后谈谈自己的感受。第一点感受,基因。我以前觉得我跟电商一点关系没有,后来发现我的关系越来越大。大家都在讲互联网基因是什么?互联网思维和互联网基因。我上硕士的时候做的就是基因学,做的克隆就是基因,我觉得越来越有关系,整个互联网基因会越来越强大。第二点,生态系统。阿里巴巴是一个生态系统,生态系统背后代表着我们做O2O的时候为大家会创造一个新的生态环境。这个生态环境里边有三个重要的要素,第一个是经济环境,像空气一样;第二个作为我们,就像土地一样。我们自己没有太多生命力,但是在我们土地上提供第三方非常有可能性,所以跟O2O产业相关的第三方包括地图、wifi、营销体系、社交体系、手机体系,每一个合作产业未来都有非常大发展。第三点,就是我们品牌商、消费者和商场,在未来会发生非常多的质的变化,不仅仅是数量变化。这个生态体系里面,相信我们阿里巴巴集团还有我们中信证券,还有我们今天在座所有品牌商以及相应的伙伴们,在未来都会看到在O2O的潮流来了之后整个经济体的变化。而且我们看到一个非常重要的趋势,今年开启的整个O2O大门之后,在2015年,仅仅是一年之后的今天,大家会看到O2O的场景基本全部实现。这样的方式比以往所有行业速度来的非常快,这个背后代表着这个时代赋予的非常好的机遇

Evernote helps you remember everything and get organized effortlessly. Download Evernote.

感谢有你的《码农周刊》(第29期)

感谢有你的《码农周刊》(第29期) – 码农周刊

如果你无法正常浏览本邮件,请点此查看

感谢有你的《码农周刊》(第29期)

上期最受欢迎的三篇文章。其中一篇,来自微博好友 @廖君_Jun 的推荐。
感谢推荐!欢迎投稿!
使用过 IntelliJ IDEA 和 RubyMine 的同学,对 JetBrains 应该不陌生。4 月 28 日至 5 月 7 日,JetBrains 将提供面向中国开发者的专享优惠,感兴趣的同学可以关注下方广告。科学上网工具,不解释。 购买广告位

程序设计

如何成为一名优秀的软件开发者? (Peter Nixey)  

写得不错,虽然很长,虽然是英文……

[PPT] 深入浅出 Spark (@CrazyJvm)  

最近 Spark 很火,不妨做个大致了解。

编程语言

C 语言的整型溢出问题(@左耳朵耗子)  

整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击。

[译] 115 个 Java 面试题和答案 (miracle1919)  

此为上篇,下篇。原文地址

《50 Android Hacks》读书笔记 (Vector_Yi)  

原书购买地址

[译] 为一个 iOS 应用编写一个简单的 Node.js/MongoDB Web 服务 (@nixzhu)  

原文地址

Ruby 代码重构技术 (Integralist)  

介绍了 16 种重构方法

系列文章:Node 应用的用户认证 (Scotch)  

深入浅出

[译] 12 个很少被人知道的 CSS 事实(大圆)  

原文地址

[视频] xorm – Go 语言 ORM(@无闻Unknown)  

配套文章

对 Go 语言的综合评价(@_王垠_)  

你怎么看?

[译] Bash 脚本 15 分钟进阶教程(@外刊IT评论)  

原文地址(需梯子)

工具资料

编程精华资源大汇总 (ITeye)  

点个赞!

海量前端开发资源 (dypsilon)  

名副其实的“海量”!

国外优秀技术网站推荐(-之诸暇)  

主要是 Java 相关的,排名不分先后。

NSHipster 中文版  

关注被忽略的 Objective-C 和 Cocoa 特性,每周更新。

[PDF] web2py 2.9 速查表  

两页纸,留存备用。

Web 研发模式演变(@玉伯也叫射雕)  

同时推荐 @民工精髓V 的《Web 应用的组件化开发》

内核月报 2014-03(阿里内核组)  

业界良心!

Raspberry Pi VPN 教程 (Lauren Orsini)  

此为上篇,下篇。

免费电子书《Game Programming Patterns》 (Bob Nystrom)  

推荐这个针对游戏编程人员的分析系列,包括五个环节:Design Patterns Revisited、Sequencing Patterns、Behavioral Patterns、Decoupling Patterns、Optimization Patterns via @游戏邦

免费电子书《A Practical Guide to Web App Success》 (Dan Zambonini)  

推荐本书第 15 章的译文:《Web 应用的成功之路 – 产品早期的原型设计与用户测试》 译者:@C7210

click – 又一个 Python 命令行生成工具  

使用更加方便!GitHub 地址

Goji – 一个 Go 语言 Web 微框架  

借鉴了 Sinatra

hackathon-starter – 一个 Node.js 应用“脚手架”  

集成了不少功能

GuideBook – 一个制作大会电子手册的利器  

来自 @xdite 的博文介绍

工作机会

[杭州] 蘑菇街  

高级/资深 Java 开发工程师(12-22k) | 高级/资深 PHP 开发工程师(10-20k)

[北京] V电影  

PHP 开发工程师、Web 前端开发工程师、iOS 开发工程师、Android 开发工程师

更多工作机会  

在招人?欢迎将招聘启事发送到 job@manong.io,我们将择优发布。

编程之外

Flappy 2048  

no zuo no die

北漂两年来的思考 (@RayChase)  

如人饮水

[译] 80% 的公司文化是由公司创始人定义和决定的(欧开磊)  

好好体会!;-)

每周一书

《Effective JavaScript:编写高质量 JavaScript 代码的 68 个有效方法》  David Herman

Amazon.com 上的五星好书,唯一的槽点是:书有点薄!感谢译者:黄博文、喻杨。

赞助商广告

购买广告位  

因为你曾经订阅了码农周刊, 所以你会收到这封邮件。
码农周刊由微博微信账号developerWorks创建,
developerWorks一直专注于IT技术干货分享。
我们保证你的邮箱地址将只用于码农周刊,你也可以随时取消订阅。
我们尊重并保护你的隐私。
如果你不愿意继续接收码农周刊,请点击退订。
本邮件服务提供商:SendCloud。

from Gmail
via IFTTT

白宫宣布激励太阳能光伏产业发展新举措

【大美太阳能快讯】白宫宣布激励太阳能光伏产业发展新举措

2014-04-18 大美太阳能快讯

  美国白宫17日宣布一系列新举措鼓励联邦政府机构、家庭、企业、社区安装太阳能电池板,以促进美国太阳能产业发展。

  白宫当天发表声明说,太阳能是奥巴马政府全面能源战略的重要组成部分。自奥巴马政府上台以来,随着对太阳能研发的大量投入,美国太阳能电池板价格已大幅下降,太阳能市场增长迅速。美国整个太阳能行业的发电能力已从2008年的约1200兆瓦增至目前的约1.3万兆瓦,可以满足220多万户美国家庭的用电需求。

  为进一步促进太阳能产业发展,白宫当天宣布一项计划鼓励联邦政府机构、军事基地和联邦政府资助的公共建筑物在屋顶或开阔地带安装太阳能电池板。同时,美国能源部将出资1500万美元帮助家庭、企业和社区发展太阳能项目。美国环保局也宣布其绿色能源合作计划承诺,十年内使包括太阳能在内的可再生能源使用增加一倍。

  白宫表示,未来几个月,美国能源部还将为企业安装使用太阳能和获取清洁能源融资出台技术指导手册。本周早些时候,美国能源部已宣布计划为太阳能创新应用项目提供至少25亿美元贷款担保,以完善太阳能分布式发电系统。

Evernote helps you remember everything and get organized effortlessly. Download Evernote.

3.5中TermInfosReader的改进学习

From Evernote:

3.5中TermInfosReader的改进

Clipped from: alires:///MsgHistory/recent_tribe.htm?cssname=default

Ref:

1. https://issues.apache.org/jira/browse/LUCENE-2205

2. http://www.nearinfinity.com/blogs/aaron_mccurry/my_first_lucene_patch.html

原来思路:

-  private final Term[] indexTerms;
-  private final TermInfo[] indexInfos;
-  private final long[] indexPointers  

1) 利用这三个字段来保存Term相关信息。

2) 每隔128保存一个Term信息,因此保存的实际上是总共term的  1/128 。

3) 因为term是有顺序的,在查找一个term的位置时,使用的是binary search, 在比较时使用的是String 的compare 

3.5中修改点:

1.  将 term, termInfo indexPointer信息保存到 TermInfosReaderIndex 类中。

2. Term中包含的信息: 

   String field;  (1) 哪个字段

   String text;    (2)  什么内容

   

   TermInfo 中包含的信息: 

    /** The number of documents which contain the term. */

  int docFreq = 0;   (3)   

  long freqPointer = 0;  (4)

  long proxPointer = 0;   (5)

  int skipOffset;         (6)

3. TermInfosReaderIndex 中的处理:

 for (int i = 0; indexEnum.next(); i++) {

      Term term = indexEnum.term();

      if (currentField != term.field) {

        currentField = term.field;

        fieldStrs.add(currentField);

        fieldCounter++;

      }

      TermInfo termInfo = indexEnum.termInfo();

      indexToTerms.set(i, dataOutput.getPosition());

      dataOutput.writeVInt(fieldCounter);    //(1)来代替term中的field 

      dataOutput.writeString(term.text());   // (2) 来代替 term中的text

      dataOutput.writeVInt(termInfo.docFreq);  //(3) termInfo中的docFreq

      if (termInfo.docFreq >= skipInterval) {

        dataOutput.writeVInt(termInfo.skipOffset);   //(6) termInfo中的 skipOffset,在某种情况下被省略掉

      }

      dataOutput.writeVLong(termInfo.freqPointer);    //(4) termInfo中的freqPointer

      dataOutput.writeVLong(termInfo.proxPointer);    //(5) ternInof中的proxPointer

      dataOutput.writeVLong(indexEnum.indexPointer);

      for (int j = 1; j < indexDivisor; j++) {

        if (!indexEnum.next()) {

          break;

        }

      }

    }

   从这里可以看出除了field内存使用fieldCount来代替之外,其它都是没有变化。

   term中field使得int来代替有一个好处是尽量使用number来代替string,同时对number和string保持一个映射关系。

诱饵:

前段时间在 jvm 群有提到在系统启动里Forest,Catserver会占用大量内存,导致full gc。

后来有同学 提到 :

我们在做ip查找的时候,把所有的string放一起了。。。。 

用的时候来new string 

用数组压缩掉 

对象少多了 

而且可以减少重复string。 

这样做, 就会成为 3个数组对象+一个string对象 

gc毫无压力 

数组对象主要是 ip地址对应的属性,各种距离。 

哈哈,面对这类场景,我很自然地又想到了 lucene-2205 这个issue,因为我本身对这个issue中某些点印象比较深刻:

这是3.5中的一个重大的 optimization, 当时官方release说明中是:  Very substantial (3-5X) RAM reduction required to hold the terms index on opening an IndexReader

这个issue 从created 到resolved在历时一年多,当然在lucene中历时这么久的也还有其它issue

从这个issue也说明了只要去思考,提出方案,然后在别人指导下,还是可以取得不错成绩的。这issue的提出及解决者就是第一次向lucene社区提交patch,

针对这个issue, Doug Cutting   也出来冒泡了,提了好几点意见:

It’d probably be better not to make TermInfosReaderIndex and its subclasses public, to reduce the APIs that must be supported long-term.
针对这点,我们大部分同学是否有所感想? 因为我目前看到的是:很多人只习惯public,private ,至于是否真的需要public有考虑过这么多吗?针对这个public,这次法洛斯项目中,也是被坑了一次,完全可以写点总结。

Term :   简单来说就是用来表示某个field对应的一个word,(因为分词,一个field可以有多个word,因此也会有多个term)

因为有权重,高亮,span query等功能,需要表示这个term的相关信息,会有TermInfo对象:

lucene 3.5 及之前版本中,对term相关信息在内存中的保存方式:

实现类: TermInfosReader 

 用来保存term信息的是:

 private final Term[] indexTerms ;

  private final TermInfo[] indexInfos;

  private final long [] indexPointers;

  这也是我们平常一般思维习惯上组织信息的方式,分别用3个数组来表示整个索引对应的term信息。

   

      在对象初始化时,从文件中读取相应信息填充这三个数组:

让我们从基本知识点来考虑内存占用情况:

Terms[]

TermInfos[]

long[] 
如果从对象上来说,Term, TermInfos中都没有一丁点多的属性,也没有属性可以合并之类的优化方案了。同时对象中也都已经使用了primitive类型(String 除外啊,:))。

       java占用内存,很容易被忽略的一点是reference。

       任何单一的引用会占用 4个字节(32位机器)or 8字节(64位机器)。从引用角度来看,我们可以算一下保存term信息的这几个数组会占用多少内存

Terms[] 占用内存是 length * 3,  其中一个引用是Term对象,另外两个是Term中的String 属性

TermInfos[] length*1,  只是TermInfos占用一个引用,因为其内部都是primitive

long[]   只占用 1 reference, 可以忽略了吧

因此假设索引中有10亿个term(不要觉得很夸张,一个document中可能包含几十个term,如果以一个doc中包含50个term来算,只需要2KW document), 在 32位机器上,保存这部分内存中的term(对,是内存中的term,并不是全部term)需要  125M = 1,000,000,000/128 *(3+1 reference)*4bytes,在目前都是64位天下的情况下,就会占用 250M。 如果把128变成 64,那在64位机器下就是500M占用,这可是只是reference占用的内存啊。

如何把这些reference占用的内存省下来呢?  砍掉对象,在内存中不再以对象方式组织信息,以bytesArray来保存原始信息,同时为了能反向找出对象信息,偏移量信息的int数组是必须的

我们再看一下这样的思考来保存term相关信息的话,实际代码是如何实现的:

有了偏移量,在get时,查找相关term信息就不会是问题啦,主要是也不想再写了,哈哈。

Freebase初探

基本概念:

Graphs  —————————————————————————-

Graphs 

Freebase的数据存储于graph这类数据结构中。 graph是由一些边连接在一起的节点组成。在Freebase中,节点使用/type/object定义,边使用/type/link定义。通过将数据存储成图形结构,Freebase能快速遍历topic之间的任意连接,同时也可以方便地添加新的schema而不需要改变数据结构。 

Topics 

Freebase有超过3千900万的有关真实世界中的像人,地址和事情的topic。因为Freebase数据是表示成图形,这些topic相当于图中的结点。但是,并不是每一个结点都是topic。查看有关CVTs章节有关结点不是topic的内容。 有关topic类型的例子:

  • 物理实体,如Bob Dylan, the Louvre Museum, the Saturn planet
  • 艺术/多媒体创造,如 The Dark Night(电影),Hotel California (音乐)
  • 分类 如: noble gas, Chordate
  • 抽象概念 : love 

有些topics是显著的因为他们拥有大量数据(如 Wal-Mart),有些topics之所有显著是因为他们连接到许多其它topic, 很可能是处于不同信息领域的domain。例如抽象概念的 love,poverty(贫困),chivalry(骑士精神)没有很多属性关联到他们,但他们经常以一本书的主题,诗歌的主题,电影主题等等,使得他们变得比较显著。

Types and Properties 

任何特定的topic都能从不同的视角来看,如:

  • Bob Dylan 是一个 作词者,歌手,performer,书的作者,电影演员
  • Leonardo da Vinci是一个画家,雕刻家,解剖学家,建筑家,工程师
  • Love 可以是书的主题,电影的主题,play subject, poetry subject,
  • city是一个地址,旅游胜地,公务员的雇主

为了获取许多topic的多面特性,我们在Freebase中引入 types概念。Freebase中的Topic可以有任何数量的types关联到他们身上。The topic about Bob Dylan is assigned several types: the song writer type, the music composer type, the music artist (singer) type, the book author type, etc。任何一个Type 包含了不同的属性集合。如:

  • The music artist type(音乐艺术家)包含了一个属性,列出了所有Bob Dylan创作的专辑,就像他所演奏的乐曲列表一样。
  • 。。。。。。

因此type可以看成是描述信息某一方面最共用的属性的概念容器,(你可以把type看成是一张关系表,每一张type表有一个外键,这外键是identity表中的唯一键,他定义了每一个topic)

Domains and IDs

就像属性可以归组成Type, Type本身也可以归组成 domains可以把domain想像成你喜欢的报纸的不同版面:商业,生活方式,艺术和娱乐,政治,经济等。任何domain都有一个唯一的标识:

  • /business 是business这一domain的标识
  • /music – 是music domain的标识
  • /film 是film domain的标识 

  domain 的id标识看起来像文件路径,或者说是web 地址的路径。

任何一个Type也有一个id, 它的id是基于它所属的domain。举个例子,公司 type 属于商业 domain, 它的id就是/business/company。

就像type它的id继承自domain, 属性的id也继承自它所属的type, 如 公司的产业属性的id是/business/company/industry.

尽管在Freebase中,type并没有形成层次结构,但domains, types, properties的id在概念上形成了文件目录形式的层次结构。

Compound Value Types 

在Freebase中,组合值类型被用来表示每一 entry有多fields的值。CVTs在Freebase中被用来表示复杂的数据。刚开始它可以有点让人不好理解,但是CVTs是Freebase schema中很重要的一部分,让Freebase能对topics之间复杂的关系进行建模。

考虑以下的例子:一个城市的人口随着时间在改变。那意味着在任一时间点向Freebase查询人口的时候,你是隐式地查询某一时间的人口数量。这里关联到两个值:人口数,时间。这个场景CVTs变得非常有用。缺少一个值的情况下,你可能会这样对人口数进行建模,建立一个topic,把它命名成”Vancouver’s population in 1997″ 。

一个CVT可以想象成一个不需要你去指定一个显式的名字。CVTs,像那些普通的topics,也有一个可以独立引用的GUID。然而,Freebase客户端对待CVTs和topics是有很多不同的。在大多数场景下,CVT的任何一个property是无二义性的。

Topic MIDs

topic 有可能被 namespace/key IDs标识,但也有可能不能被标识,但它肯定可能被MID标识—一个机器标识 ,它由/m/加上一个32位的唯一id组成。MIDs是在某topic被创建时被赋予的,在整个topic的生命周期中都是可以被管理。他们在topic被合并或者拆分时能起到重要的作用:允许外部系统能跟踪到逻辑上的topic就算是物理的Freebase ID(:GUID)发生变化。这些机器生成的id和用户具有可读性的id(Freebase中返回的id property)存在如下区别:

  • 保证存在
  • 机器生成
  • 为了支持离线对比而设计
  • 并不是为了人们的可读性而设计
  • 短(可能是固定长度)
  • keys在外部系统之间快速exchange 是比较理想的选择
MIDs是推荐的表示topic的标识

美股半年

刚才看了下自己的美股交易记录,最早一笔是2013年1月9日,以13.6$买入了150股yy。到目前应该还不到半年,如果时间再往前到facebook在18以下,qihu在16以下时,时间都快有一年了。当时很惋惜因为自己动作太慢,错过了在低点买入这两者中的任何一只股票。后来一直等,在网上逛,直到元旦后买入yy。这中间的心情也是只有自己经历过才有体会。

一开始时,一直后悔不够果断错过了。其实后来yy的经历还是让自己明白在股票这事上

1) 机会一直有,关键是你是否能把握住

2)对于好股票,我们不应该看他目前的价格是否高,看好他就果断买入

到目前为止,美股的收益达到了100%,但对于如何选股,坚持持有等方方面面自己还是个新手,期望以后能把自己的一些心得多记录下来。