- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 微信高可用分布式数据库PhxSQL设计与实现
作者:陈俊超,腾讯微信后台高级工程师,前期主要负责微信后台分布式架构设计及核心模块的开发,包括微信摇一摇,查看附近的人,朋友圈架构,群聊等。目前致力于关系型数据库PhxSQL的设计和开发。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅《程序员》本文详细描述了PhxSQL的设计与实现。从MySQL的容灾缺陷开始讲起,接着阐述实现高可用强一致的思路,然后具体分析每个实现...
2017-04-13 23:22:25 1024
原创 使用SMACK堆栈进行快速数据分析
作者:马小龙,浙江财经大学数据分析和大数据计算的客座教授。2006年在德国不来梅大学获得数学博士学位后,在多特蒙德大学软件工程研究所从事研究和教学工作直到2011年来到中国。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅《程序员》从大数据到快速数据除了能够以批处理模式分析大型数据集之外,现代数据驱动型组织还需要尽快从所收集的数据中生成洞察,并最终采取行动。在这方面,...
2017-03-16 21:09:38 558
原创 最小可行性区块链原理解析
原文链接:https://www.igvita.com/2014/05/05/minimum-viable-block-chain/ 作者:Ilya Grigorik,Google网络性能工程师,W3C网络性能工作组联合主席,《高性能浏览器网络》作者。感谢llya授权《程序员》翻译本文。 译者:汪晓明,朝夕网络创始人,前Beltal CTO。加密货币,特别是比特币,几乎从各个方...
2017-01-28 22:24:15 1526
原创 集成电路之父Jack Kilby鲜为人知的故事
本文讲述了诺贝尔奖得主Jack Kilby花费了十年,尝试制造家用型太阳能系统,却以失败告终的经历。 作者:Cyrus C.M. Mody,Maastricht University科学与技术历史学家。 译者:孙薇1958年夏,德州仪器(Texas Instruments,简称TI)的一名新晋雇员Jack St. Clair Kilby还没攒够假期,他独自在实验室里思考彼时的“...
2016-12-22 22:09:05 3054
原创 极客头条支持MathJax,可以写出漂亮的公式了
∇×B⃗ −1c∂E⃗ ∂t∇⋅E⃗ ∇×E⃗ +1c∂B⃗ ∂t∇⋅B⃗ =4πcj⃗ =4πρ=0⃗ =0\begin{align} \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} ...
2016-11-07 21:10:55 272
原创 无人机背后的故事——宾夕法尼亚大学工程学院院长Vijay Kumar专访
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》 记者:徐威龙提到无人机,有人也许会想到巡航在海上的大型的军用武器,而近年来,随着消费级无人机的技术革新和价格优势,这类无人机开始被大众所熟悉。无论是摄影还是送货,只要一提起无人机,人们马上会联想到大疆(DJI)、Parrot(一家总部位于法国巴黎的无人机及无线产品制造商)、3D Robotics(由前...
2016-09-28 20:04:59 2080
原创 从Image Caption Generation理解深度学习(part III)
本系列文章面向程序员,希望通过Image Caption Generation,一个有意思的具体任务,深入浅出地介绍深度学习的知识,涉及到很多深度学习流行的模型,如CNN,RNN/LSTM,Attention等。本文为第三篇。 作者:李理,目前就职于环信,即时通讯云平台和全媒体智能客服平台,在环信从事智能客服和智能机器人相关工作,致力于用深度学习来提高智能机器人的性能。 相关...
2016-09-27 10:15:16 981
原创 基于Spark与ROS分布式无人驾驶模拟平台
作者:刘少山,PerceptIn联合创始人。加州大学欧文分校博士,研究方向包括智能感知计算、系统软件、体系结构与异构计算。现在主要专注于SLAM技术及其在智能硬件上的实现与优化。曾负责百度无人车系统架构与产品化。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》本文是无人驾驶技术系列的第四篇,着重介绍基于Spark与ROS的分布式无人驾驶模拟平台。无...
2016-09-15 08:22:38 3833 2
原创 科研的秘诀——对话微软研究院负责人Peter Lee
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》 记者:卢鸫翔四十年前,位于加州Palo Alto的Xerox PARC发明了个人电脑和Bit-Map显示器、GUI、WYSIWYG和桌面出版、面向对象编程、激光打印机、以太网、Peer-Peer和Client-Server网络,以及“半个”互联网。而这些至今仍影响我们生活的发明,仅由25位研究员,在5...
2016-07-20 08:44:02 1465
原创 在调试器里看百度云管家
作者简介: 张银奎,《软件调试》和《格蠹汇编》作者,从事软件开发和研究十余年,对IA-32架构、操作系统内核、虚拟技术,尤其对软件调试有较深入的研究。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》因为太了解软件,我很慎重在自己的电脑上安装新软件。大约半年前,有朋友通过百度云盘向我传递dump文件。点击链接下载时失败,提示超过了普通方式允许的...
2016-06-09 00:27:34 2114
原创 使用Facebook方法处理复杂问题
这是BI挪威商学院(挪威最大的商学院)战略与物流系副教授Espen Andersen在ACM Ubiquity博客上发表的文章。(译者:李雅慧)计算机系统曾经非常脆弱,以至于我们不得不简化它所处理的问题。现如今,即使最复杂不过的问题,计算机也能从容应对——但我们仍需懂得如何简化,才不至于令大众面对本不必要的复杂。已故的哈佛大学商学院教授James McKenny是我的导师,他讲过这样一个故事:人们...
2015-07-30 09:13:37 392
原创 Brython:使用Python 3进行Web客户端编程
Brython被用来设计为替代JavaScript,用于Web客户端编程。它是一个浏览器上的Python 3实现,支持HTML5环境(提供了DOM对象和事件接口)。在Demo网站上(http://www.brython.info/)显示了一个HTML5动态时钟,不过右键点击查看页面源代码,就会发现,应用并非使用JavaScript代码,其脚本类型是“text/python”。...
2015-06-29 10:19:04 1853
原创 硅谷性别歧视案女高管鲍康如败诉
《纽约时报》David Streitfeld报道: 鲍康如(Ellen Pao)现任社交媒体网站Reddit临时首席执行官。她控告凯鹏华盈(Kleiner Perkins Caufield & Byers)在她任职期间及最终被解雇之时,存在性别歧视。 鲍康如于2005年加入凯鹏华盈,担任该公司最知名合伙人约翰·德尔(John Doerr)的办公室主任。之后她成为了一名初级投资...
2015-03-30 10:19:28 209
原创 我在App Store三年學到的13件事
上下两部分翻译分别见:http://www.inside.com.tw/2013/12/30/13-lessons-from-3-years-on-the-app-store-ahttp://www.inside.com.tw/2013/12/30/13-lessons-from-3-years-on-the-app-store-b
2013-12-30 17:53:11 117
原创 Linus Torvalds谈CPU可靠性(2007年)
Linux内核邮件列表中的一封邮件这样写道(时间为2007年): 目前的CPU并非为长久运行而设计。当我们设计超过需要工作50年的硬件系统时,就要为此而担心了。在回复这封邮件时,Linus Torvalds说:CPU制造商似乎不愿意谈论硬件的耐用性,例如Intel网站上就没有CPU的MTBF数据,如果用户想了解这些信息,需要自己向支持人员了解。不见得是这些数据不好,只因为人们通常忽视...
2013-12-09 14:42:58 440
原创 Hawala:基于信任的现实货币交易系统
字货币BitCoin启发了一系列P2P支付网络的诞生,可以让全世界任何两个人通过互联网实现金融交易,而无需通过金融机构和各种烦琐的手续。如果交易双方两人不存在直接的互信关系,系统能在两人之间的信任链中寻找可能的路径促成交易(例如Ripple就是这样一种服务,它通过引入基础货币和网关系统兑换,解决信任问题)。不过其实在电子货币诞生前,这种交易方式就早已存在于现实世界。Hawala是一种古老的...
2013-11-04 15:41:43 1118
原创 iOS绘图应用Brushes和Inkpad开源
Brushes和Inkpad都是iOS上颇受欢迎的绘图应用,日前它们的开发团队Taptrix宣布将其开源。在第一代iPad发布的当天,Brushes就上线了,2009年6月的《纽约客》封面就是用Brushes画出来的。Taptrix曾参加Y Combinator训练营,Demo Day当天就已经有25万用户,月入6万美元,创造了当时YC创业团队的纪录。Hacker News上有网友评论...
2013-11-04 13:35:11 446
原创 “密码提示”可能成为安全短板
为了便于用户回忆密码,许多系统都要求用户填写“密码提示”,然而这样的机制如果使用不当,很可能成为安全短板。在最近的一次Adobe用户数据泄露事件后,有一份包含超过千万条用户个人信息的文件出现在互联网上。这份文件包含用户ID、邮箱、经过三重DES加密的密码,以及密码提示。尽管密码已被加密,但“密码提示”可能成为安全短板。因为这份文件的数据量巨大,其中包含大量相同的,经过三重DES加密后的...
2013-11-03 20:49:15 186
原创 让程序员最头疼的事儿是什么?给变量起个有意义的名字
这是一个来自Quora的问题,“起有意义的变量名”得票最多,其他一些头疼的事儿还有:向家人解释自己从事的工作究竟是什么估计任务完成的时程理解没有注释的大段代码完成自己不认同的功能必须碰别人的糟糕代码(这可能是因果报应)写详尽的文档写测试...
2013-10-31 10:43:34 325
原创 低质量代码成为交通事故的元凶
2007年一起由丰田Camry引发的交通事故这周公布了调查结果,这起事故在俄克拉荷马州高速公路上造成了一死一伤。调查结果显示,事故是汽车上低质量的软件代码导致的。分析人员发现,汽车引擎控制模块(ECM)中的电子油门控制系统(ETCS)代码有多处缺陷。其中一些Bug会导致汽车非正常加速。具体来说,缺陷包括系统的关键数据并不总是做冗余(最关键的数据是“目标油门角度”这个全局变量),另外栈溢出可能经...
2013-10-30 11:14:41 197
原创 可视化展示Gzip压缩算法
Gzip基于LZ77算法,它的原理是:将数据文件中已出现过的字符用一个“长度-距离”指针代替,这样就避免了冗余。下面这段视频,显示了手动输入叙事诗《乌鸦》(The Raven)时的算法运行效果。高亮的文字是之前已输入过的内容。如果你想自己输入文字做实验,可以参考这里的代码。优酷视频链接(原始出处)严格来说,LZ77压缩只是Gzip的第一步,下一步是通过哈夫曼编码进一步优化压缩结果。如果...
2013-10-28 16:08:43 226
原创 622Mbps:NASA创造地月通信速率新纪录
当前人们依靠无线电波与太阳系内的飞行器通信。但随着向宇宙探索的逐渐深入,传输信号需要更强的功率,地面接收天线也需要更大尺寸(例如刚离开太阳系的旅行者1号的地面天线有70米)。NASA最新的月球激光通信演示(LLCD)系统,利用激光,实现了与月球尘埃研究飞行器LADEE之间622Mbps的下行速率,以及20Mbps的上传速率通信,是之前所用系统的5倍。这套系统的难点在于需要非常高的控制精...
2013-10-24 04:59:38 649
原创 Lime编辑器:Sublime Text的开源替代
Sublime Text是去年最受开发者欢迎的编辑器,不但大卖,还间接导致了TextMate开源。不过因为其源代码并不公开,所有问题只能等待作者Jon Skinner一个人解决,而他在网络上并不活跃。外界往往很长一段时间无法了解到Sublime Text的开发进展。瑞典程序员Fredrik Ehnbom在漫长的等待中选择了自己动手实现其开源替代——Lime编辑器。Lime主要用Go语言写成...
2013-10-24 01:51:30 1371
原创 个人电脑的运算能力已与2004年千万美元的超级计算机相当
Hacker News上有人提到,新Mac Pro已具备超过7 teraflops的运算能力(当然,这要归功于Intel和AMD)。而在并不很遥远2004年11月,那时Cray X1超级计算机的峰值运算能力为5.9 teraflops,位列当年世界超级计算机排行第29位。而其价格高达4000万美元。不禁让人想象下个十年我们会在家庭和办公室中使用怎样的计算机。Cray X1的处理器主频为80...
2013-10-24 01:01:15 732
原创 NVIDIA G-Sync技术解决游戏低刷新率问题
显示器通常以固定频率刷新,但GPU的刷新频率则在一个变化的范围,且不受显示器控制。这种刷新不同步会在GPU性能不足时,导致画面卡顿、延迟、撕裂等问题。以往并没有好的解决方案。G-Sync是一种软结合系统,它会集成在显示器内部,也提供独立的扩展卡方案,与现代GeForce GPU共同控制显示器的刷新率。在G-Sync系统中,显示器只有从GPU获取了新的画面帧后才会刷新,刷新率可以在30-144H...
2013-10-19 22:27:15 1045
原创 JavaScript写的x86模拟器
项目主页在 http://copy.sh/v24/,使用者既可用镜像盘启动一个操作系统,也可以直接加载作者预先准备好的几种系统。除了能支持Linux、FreeDOS等命令行界面的操作系统,甚至可以运行类似KolibriOS这种图形界面系统。这个项目类似之前传奇程序员Fabrice Bellard的Javascript PC Emulator项目。不过它能启动真正的BIOS,支持的硬件更...
2013-10-18 10:11:10 935
原创 Windows 8.1和Visual Studio 2013正式发布
微软今天正式发布了Windows 8.1操作系统,Windows 8用户已可以通过应用商店免费下载更新。其主要改进包括:用户可定制化功能提升、多任务处理功能增强、改进对多显示器的支持(这也是苹果OS X Mavericks的主打新特性之一)、以必应为平台的搜索功能、深度整合SkyDrive云存储等。详细信息可以参考微软的官方说明。与此同时,微软也面向开发者推出了Visual Studio ...
2013-10-17 23:45:40 141
原创 智能自行车FlyKly
更准确地说,这是一个智能“车轮”项目,它由一群斯洛文尼亚自行车爱好者发起,目前正在Kickstarter上众筹。FlyKly在一只车轮上集成了电动机、电池,以及与手机等终端相连等功能。普通自行车只需将原有的后轮替换成FlyKly,即可具备手机控制车速(还支持Pebble手表)、路径优化、下坡自动充电、为手机充电等功能。这只车轮重4千克,一次充电可以以25km/h的速度最远行使50km。...
2013-10-17 16:19:01 236
原创 我在世界最热创业孵化器YC学到的58件事
Amir Elaguizy是网络扑克游戏平台MarketZero创始人,2011年,他创立的这家公司被Zynga收购,后在Zynga担任HTML5扑克游戏的CTO。目前他同时是社会化点评网站lark.io和Startplan的创始人。他曾参加Y Combinator训练营,在博客文章中他分享了自己在这段经历中的收获。通用性的建议寻求帮助(而不是把问题全揽在自己身上)每个人在接触陌生...
2013-10-16 20:35:20 218
原创 Square新功能:邮件汇款
由Twitter创始人之一Jack Dorsey建立的移动支付公司Square刚推出了一项新服务Square Cash,允许用户直接通过电子邮件向其他用户汇款。使用步骤为:撰写一封邮件(收件人为收款方,同时抄送给Square Cash服务邮箱,主题为汇款金额);与借记卡关联;系统完成转账。这项服务是免费的,根据HN上已使用过这项服务的用户反馈,操作步骤非常简单,目前几乎可以...
2013-10-16 09:47:55 359
原创 高效率键盘布局Workman
我们日常使用的QWERTY布局并非为了尽可能提高输入速度而设计,而是为了避免在旧式机械打字机上因为输入速度过快“卡键”,它有意将一些使用最频繁的字母放在了手指输入并不方便的位置(关于这点还存在一些争议,但它效率不高是公认的)。而另一些键盘布局,如1930年代出现的Dvorak,以及近些年出现的Colemak布局则重点针对输入性能而设计。在电子计算机中,完全不存在“卡键”的问题,但由于大众已经习...
2013-10-13 21:51:10 9004
原创 F1领跑赛车的秘密
红牛车队的德国车手Sebastian Vettel在今年的世界一级方程式大奖赛中一马当先,在不久前刚结束的新加坡站比赛中,领先第二名三十多秒冲线。在常以零点几秒决胜的赛车场上,这种胜利并不多见。《Wired》的文章做了如下分析:围场上一直有人猜测,红牛赛车使用了某种形式的“牵引力控制系统”。这类由计算机控制的系统能自动平衡赛车,防止打滑,在赛车出弯时能让车手更早开始加速。不过汽联从20...
2013-10-12 22:19:09 302
原创 Facebook开始在生产环境中使用D语言
Andrei Alexandrescu在D语言论坛上发帖表示,他在Facebook的代码库中提交了第一个5112行的D语言项目,用于替换之前的C++版本。与之前的版本相比,新程序代码量更小,而编译、运行速度都获得了大幅提高。值得一提的是,这个论坛本身就是用D开发的。响应速度很快。Andrei Alexandrescu曾是著名的罗马尼亚C++程序员,著有《C++编程规范》、《C++设计新思维...
2013-10-12 00:34:24 212
原创 为什么GCC将变量名“linux”视为常量“1”?
如果你在GCC中编译类似下面的代码,将无法通过: int main(void) { int linux = 5; return 0; }使用-E选项检查,你会发现预处理器将上面那段代码处理成了下面这样: int main(void) { int 1 = 5; return 0; ...
2013-10-10 17:41:58 149
原创 创业是否只是年轻人的专利?
Quora上有人问道:在硅谷,人们跨过35岁的事业巅峰线后该怎么做?大多数人在这个年纪可能并没取得什么成就,然而职业生涯似乎就要终止了。在媒体上,我们也经常看到“30 Under 30”这样的年轻有为者的评选,创立一番事业似乎只是年轻人的专利,而年龄也成为评价一个人的标准。在这个问题的回答中,有多位创始人现身说法:Craig Newmark创立Craigslist时42岁;Om Malik创立...
2013-10-10 16:11:51 294
原创 (测试markdown编辑器)为什么GCC将变量名“linux”视为常量“1”?
如果你在GCC中编译类似下面的代码,将无法通过:#include <stdio.h>; int main(void){ int linux = 5; return 0;} 使用-E检查,你会发现预处理器将上面那段代码处理成了下面这样你好: 在遥远的过去(ANSI标准确定前)这样的符号被用做在编译时确定目标平台。那时还没有C...
2013-10-10 14:38:11 131
原创 为什么GCC预处理器将变量名“linux”视为常量“1”?
如果你在GCC中编译类似下面的代码,将无法通过:#include &lt;stdio.h&gt;int main(void){ int linux = 5; return 0;}使用-E选项检查,你会发现预处理器将上面那段代码处理成了下面这样:int main(void){ int 1 = 5; return 0;...
2013-10-10 14:14:33 183
Michael Stack:The State of Apache HBase
2014-05-29
深入理解C/C++
2014-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人