十九画生

永不放弃

 

2014年12月21日

kafka:一个分布式消息系统

摘要: 1.背景最近因为工作需要,调研了追求高吞吐的轻量级消息系统Kafka,打算替换掉线上运行的ActiveMQ,主要是因为明年的预算日流量有十亿,而ActiveMQ的分布式实现的很奇怪,所以希望找一个适合分布式的消息系统。以下是内容是调研过程中总结的一些知识和经验,欢迎拍砖。2.基础知识2.1.什么是消... 阅读全文

posted @ 2014-12-21 19:24 十九画生 阅读(7817) 评论(8) 推荐(2) 编辑

2013年6月27日

程序员的四种类型

摘要: 不是每一个写代码的都是程序员。这里,我把程序员定义为以编程为生的人。我认为世界上存在四类程序员:科学家、码农、专家和工匠。下面我一一介绍自己的观点。科学家,与其说他们是程序员,不如说他们是数学家。他们发明了各种理论、算法和术语,教科书上那冗长的证明和计算也出自他们之手,其他的程序员都或多或少受益于他们的成果。有时,他们的一篇论文能改变整个业界的思维方式,但他们通常不会也不喜欢把那惊世骇俗的理论商业化。相比之下,他们更喜欢沉浸在科学的象牙塔里,自得其乐,好不快活。他们是程序员中最不经常写程序的人,甚至有一些大师一辈子都没写过程序,你也许认为这违反了我们开头对程序员的定义,可谁说编程非要用键盘呢? 阅读全文

posted @ 2013-06-27 15:21 十九画生 阅读(3514) 评论(14) 推荐(4) 编辑

2013年4月1日

【算法】经纬度常用计算

摘要: 最近工作中遇到经纬度搜索的需求,初步想法是计算所有目标城市距该点的距离,然后进行筛选,但头疼的是,没有所有产品的缓存,计算距离的操作只能放到DB端,这样是不可接受的;所以打算先将所有产品放到缓存中,再进行计算。可这么做的话,一方面改造工时比较长,另一方面目前的缓存系统不是很稳定,几番思考征得产品经理同意后得出一个不精确的方形搜索方案。即以目标点为中心,画一个正方型,在应用端根据目标点经纬度、范围距离、角度算出正方型左下点和右上点的经纬度,然后以此去DB里between。恩,在要求不精确且没有缓存的情况下这是一个较好的折中方案。于是接下来就开始考虑算法,参考了博客园的帖子(http://www. 阅读全文

posted @ 2013-04-01 16:27 十九画生 阅读(2069) 评论(0) 推荐(0) 编辑

2012年11月6日

【SQL】SQL分页查询总结

摘要: 开发过程中经常遇到分页的需求,今天在此总结一下吧。 简单说来方法有两种,一种在源上控制,一种在端上控制。源上控制把分页逻辑放在SQL层;端上控制一次性获取所有数据,把分页逻辑放在UI上(如GridView)。显然,端上控制开发难度低,适于小规模数据,但数据量增大时性能和IO消耗无法接受;源上控制在性能和开发难度上较为平衡,适应大多数业务场景;除此之外,还可以根据客观情况(性能要求,源与端的资源占用等)在源和端之间加一层,应用特殊算法和技术进行处理。以下主要讨论源上,即SQL上的分页。 分页的问题其实就是在满足条件的一堆有序数据中截取当前所需要展示的那部分。实际上各种数据库都考虑到分页问... 阅读全文

posted @ 2012-11-06 10:59 十九画生 阅读(34124) 评论(9) 推荐(5) 编辑

2012年10月11日

【书评】规范的重要性---《Clean Code》读后感

摘要: 《Clean Code》第一章举了一个很深刻却不断发生的例子,它展示了一个项目为混乱代码所付出的代价;然后列出了诸位大师眼中整洁代码的含义,最后给出了著名的“童子军军规”:让营地比你来时更干净。之后的二到十二章讲述了作者及其团队关于各种整洁代码的技巧和建议;十三章和附录A是关于并发的讨论,有一定难度;十四至十六章以三个真实的代码案例演绎了编写整洁代码的过程、演进及重构,最后一章提出了常见混乱代码的“味道”,程序员应具备良好的嗅觉,以便在代码腐朽之前发现它,改善它。 当前的技术氛围下,一个人编写整洁的代码已经很难,要让一个团队如此更是难上加难。每个人的想法不一样,经历不一样,项目压力又那么... 阅读全文

posted @ 2012-10-11 16:02 十九画生 阅读(2452) 评论(2) 推荐(3) 编辑

2011年8月9日

【SQL】在含有GROUP BY的SELECT语句中如何显示COUNT()为0的结果

摘要: 1.问题如下ExampleTable表,求各种类(CategoryID)满足Flag等于1的记录数。IDFlagCategoryID111211312412503 表1-ExampleTable理想的结果应该如下:CategoryIDTotalNum122230 表2-理想输出结果初看此问题,我们很容易写出如下语句:SELECT CategoryID,COUNT(1) AS TotalNum FROM ExampleTable WHERE Flag = 1 GROUP BY CategoryID可运行之后得到的结果如下:CategoryIDTotalNum1... 阅读全文

posted @ 2011-08-09 23:49 十九画生 阅读(13686) 评论(17) 推荐(5) 编辑

2011年7月4日

开篇

摘要: 前天还在学校,昨天还在离别,今天却在上班。 正式入职的第一天还是没回过神*,心里有太多的感慨: 我终于毕业了,六年的本科生活终于结束了。 05年的挫折,06年的重生,07年的彷徨,08年的探索,09年的奋斗,10年的升华,11年的回归。 曾经我想做比尔盖茨;后*我想做***。 曾经我想成为IT巨子;后*我想当国家总理。 曾经我想写出一个开创性的软件,为国争光;后*我想进清华,去西藏,当村官,为民请命。 而现在,我还是回归了最初的梦想,成为了一名程序员。 今日在博客园开博,往后将在此记录自己的工作感悟与技术心得,与众博友交流,共同进步。 希望自己能坚持下去,加油,永不放弃。 阅读全文

posted @ 2011-07-04 21:53 十九画生 阅读(367) 评论(0) 推荐(1) 编辑

导航