2013第3周获取本地IP代码及文章摘录
private String getIp(){
String ip = "";
try {
ip = java.net.InetAddress.getLocalHost().getHostAddress();
}
catch (UnknownHostException e) {
e.printStackTrace();
}
return ip;
}
晚上本周第一次跑步1小时,9.59km,消耗能量大约820千卡。才知道千卡跟大卡及减肥之间的关系:千卡(或大卡):热量单位 相当于工程单位千卡/公斤(千卡),多用于营养计量和健身手册上。
1kg纯水温度升高或降低1摄氏度,所吸收或放出的热量为1千卡。大卡就是千卡(正规说应该是大卡即kcal)。用来评价燃料的品质,一公斤燃料能使X千克水升高1摄氏度就是这种燃料的热值是X大卡。国际标准的能量单位是焦耳(joule),1卡=4.185焦。
每1kg脂肪含有9000kcal(37656KJ)的热量。人体的1kg体脂则包含了7000kcal(29288KJ)热量。这就意味着要减掉1kg体脂,就要让自己消耗的热量比摄入的多7000kcal。这其实相当不容易——要知道早健身房锻炼1个小时,如果是中等运动量。也就消耗大约600kcal(2510KJ)的能量。换一个说法,不考虑其他的能量消耗,你可能需要连续地运动12个小时才能减掉1kg脂肪。现在各大世界健康机构公认的健康瘦身速度,是每周减重不能超过1kg。因为如果太快的话,减掉更多的是水分,或者是肌肉,而不是脂肪。如果每周需要减掉0.5kg脂肪,折合3500kcal(14644KJ)的热量。这就是说,你每周摄入的热量应该比总消耗量少3500kcal。这样不会让你挨饿,而且可以保证正常的能量供应。
程序员如何增加收入:先要替公司赚到钱,承担责任,一个员工才能拿到钱。
分析
有一位自己躲在自己办公室的"扫地僧",功力超过我们团队的最顶级的程序员还要数倍。不过,他却在独立开发一个与公司方向不符的小产品,由于他是老板的朋友,老板也执拗不过,就随他去了。几年后公司上市,不过是因为我们所在的25人团队的产品占据市场份额60%以上。毕竟这种规模的团队,如果技术和管理又能跟得上(这个团队就是本人第一次遇到松结对编程、139团队的那个团队),生产力不是一个两个游击队员能够相比的。如果不能把自己的能力转化为企业的盈利,收入就无从谈起。
一个方向,是转向关注业务。具体说来,包括成为产品经理,或称为对产品需求负有责任的技术兼业务高手。
三星刚刚重奖了GalaxyIII的产品经理,而腾讯、阿里的产品经理也久负盛名,而他们的所谓"高级程序员"一般都默默无闻。原因就是产品经理是"掌舵"的,不是"划船"的,他对团队生产力的贡献,不是加法,而是乘法。国内征途以几十人团队每年几亿的收入,腾讯以9千人超过中国电信5万人的营业额,国外Apple及FB的崛起,靠的不是技术高手的加法,而是产品经理的乘法。
作为纯技术高手,可能直接转为产品经理很难,或者不愿意转,那么,至少要变成关心需求的技术兼业务高手。也就是不能只沉迷技术,而要关心是否正在开发客户关注的核心需求,业务实现是否有效、友好,与竞争对手定位于功能比较等内容。 作为掌舵的人,更容易帮助团队把技术能力转化为生产力,提升绩效,也更容易获得更高的收入。
第二个方向,是作为技术领导,将自己的技术与管理结合起来,提升整个团队的战斗力。
比如设定这样一个目标:"促进团队的代码复用,以提升进度和质量。"个人参与过的几个项目都证明做好这件事情意义非比寻常,然而做好却很难。个别技术高手可以以1/4代码写出相同的功能,然而整个团队却很难做到,原因是缺少恰当的团队管理方法。而作为纯管理出身的项目经理,又不理解应该建立何种复用结构,如何分工。要让纯管理的人跨越技术壁垒是比登天,而让技术高手帮助进行管理则只是一念之间的事情(虽然也很难!)。
如果一个高手,能够帮助自己身边的三、五个程序员提升水平,那么很容易再获得相当于几个人的生产力,这是他个人提升所很难再获得的。本人在十年前遇到一位高手,跟他学了一年,感觉自己提升了三四倍的水平(从完成任务所需的功能量缩减而言,何况还有技术、质量方面的提升),而身边另外几个师兄弟,也都长进迅速,有一两个甚至都超过了师傅的水平。除了传授技术之外,这个团队后来在这位高手带领下,还改善了管理结构,演进成为一个松结对和1-3-9团队,在不到一年时间从5人扩展到25人,而产品质量没有明显的下降,后来市场占有率更是达到60%以上。
这两个方向有一个共同点,就是把自己卓越的技术能力对团队的贡献,从加法变成乘法。高手必须认识到自己对团队和企业的最大贡献,不是自己独立承担的那点任务,而是影响产品和影响团队的能力。
最后一个常见问题:"我传授了徒弟,最后却被一脚踢掉怎么办?" 这是很多技术高手所担心的事情。其实,老板都是很聪明的人,技术、管理、业务可能都一般,但识人、用人绝对超过我们,否则怎么会我们给他打工呢!一个高手如果被踢掉,更可能是因为沉迷技术逐渐变得钻牛角尖、封闭,最终变成无用之人。
谈谈阿里系的技术积累
第一,支付宝、淘宝团队在大规模分布式事务(Transaction)处理能力上多年来的技术积累,这份经验相当宝贵;
第二,在 2009 年,阿里巴巴骨干传输网 ABTN (Alibaba Backbone Transmission Network) 的建成为整个阿里系子公司的网络服务能力提供了网络基础保障,这也是国内第一家运营商级别的电子商务骨干网;
第三,以开源领域技术专家,LVS 项目创建人章文嵩先生加盟淘宝为标志,淘宝在底层基础设施上的技术能力大幅提升,章带领的基础核心软件研发团队基于 LVS 实现高性能负载均衡组件,构建了强大而且高效的 CDN 系统,CDN 系统大量采用低功耗服务器,绿色节能;
第四,硬件带来的红利。固态硬盘(SSD)与 PCI-E Flash 等硬件组件技术已经足够成熟并被大规模应用,为数据库服务器处理能力提供了硬件层面上的支撑能力,可以更加灵活部署,成本更低,不必再像过去那样单纯依赖于小型机与高端存储的支撑;
第五,在 2008 与 2009 年大刀阔斧的系统结构改进,比如外界所知道支付宝的 SOA 化,淘宝五彩石项目等,最近两三年仍然在做精细化的提升,但是总结架构没有太大的变动;
第六,淘宝技术团队对运维能力的掌控与技术积累(为防止阿里云掠美,必须要说一下此事与阿里云无关,各自是独立的团队),具备相当灵活的分配调度硬件以及网络资源的能力。或许有人会指摘限流的问题,要知道,对系统限流的能力也是技术实力的体现,以前的几次大促活动中某银行网管因为对流量控制措施不当,直接导致核心设施不可用,造成了非常大的负面影响。
阿里技术团队这几年来,在开源软件研发上进行了很大的技术投入,比如在 MySQL 数据库研发与部署实践上,已经能够有实力解除对 Oracle 数据库的依赖,而本次活动中,最核心的MySQL集群一天共支持了 20 亿个事务,MySQL 核心数据库顶住了每秒钟 10 万次事务、百万次 SQL 执行(不过支付宝最核心的数据库依旧是在 Oracle 数据库上,淘宝天猫的核心库已经在 MySQL 上)的压力;在 Java 核心技术上的技术投入,针对业务特点优化定制的 JVM(TaobaoJVM)已经在淘宝、天猫等网站上线,全部替换了 Oracle(Sun)官方 JVM 版本,成果显著,并已经逐步反馈到开源社区中去;再比如淘宝在 Nginx 基础上改进的 Web 服务器 Tengine……
此外,淘宝根据电子商务业务自行研发的各种关键组件,比如流控与防攻击模块等,也对这次成功大促起到了很好的保障作用。技术团队在开源软件领域的投入取得了惊人的回报,现在来看,此乃相当有前瞻性的举措,值得肯定。阿里技术团队正在试图掌控整个网站体系中的所有组件的核心技术,这将是一个趋势。
最后,技术的背后,最关键的还是人和团队。阿里巴巴数年来在电子商务技术领域吸引了不少业界技术专家,如王文彬、章文嵩等,造就了一批顶尖技术牛人,也培养并且储备了一大批技术人才,锻炼了一个有实战经验有战斗力的技术团队。正是这一批踏实肯干的技术人使得这一切成为可能。