文章分类 - CENTER
摘要:又到节假日,园子里面不少高人再次对12306网站的各种问题的各种分析和提出各种解决方案,我也看了这些讨论文章,出于也是一个卖票难的“码农”,也来献计献言,把我跟其他人讨论的结果汇总发表一下,希望抛砖引玉,解决铁道部火车票的数据查询和存储问题。 现在,12306网站给人的第一感受就是购票过程网页很卡,不少人分析是由于数据库非常庞大,有复杂的查询和数据传输,并着重在数据库的设计方面大作文章,却很少有人在数据存储“量”上下功夫。或许大家都说现在磁盘那么便宜,还要刻意关注数据存储量的大小么?我觉得做一个大型的系统必须关注这个问题,因为数据量决定了数据的存储方式、查询方式、处理方式等等,比如数据量太..
阅读全文
摘要:1、 硬盘的组成硬盘大家一定不会陌生,我们可以把它比喻成是我们电脑储存数据和信息的大仓库。一般说来,无论哪种硬盘,都是由盘片、磁头、盘片主轴、控制电机、磁头控制器、数据转换器、接口、缓存等几个部份组成。 所有的盘片都固定在一个旋转轴上,这个轴即盘片主轴。而所有盘片之间是绝对平行的,在每个盘片的存储面上都有一个磁头,磁头与盘片之间的距离比头发 丝的直径还小。所有的磁头连在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向动作,而盘片以每分钟数千转到上万转的速度在高速旋转,这样磁头就能对盘片上的指定位置进行数据的读写操作。 ...
阅读全文
摘要:Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '10.11.156.89' (111) in /var/www/qqminisite/_int/mysql.php on line 52Warning: Missing argument 1 for Mysql::error_msg(), called in /var/www/qqminisite/_int/mysql.php on line 53 and defined in /var/www/qqm
阅读全文
摘要:下面是我在reddit的子论坛r/learnprogramming看到的几个帖子:“要成为一个优秀的程序员需要学习多少数学?”“我应该重新学习数学吗?”“这可能是我提问过的最愚蠢的一个问题。成为一个优秀的程序员究竟需要学习多少数学?”数学和编程有一种容易让人误解的联系。许多人认为在开始学习编程之前必须对数学很在行或者数学分数很高。但一个人为了编程的话,需要学习多少数学呢?实际上不需要很多。这篇文章中我会深入探讨编程中所需要的数学知识。你可能已经都知道了。对于基本的编程,你需要知道下面的:加减乘除—实际上,电脑会帮你作加减乘除运算。你仅需要知道什么时候运用它们。模运算—模运算是用来计算余数,它的
阅读全文
摘要:关于性能优化这是一个比较大的话题,在《由 12306.cn 谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。 在开始这篇文章之前,大家可以移步去看一下《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后面的定位和优化无从谈起。 一、系统性能定义 让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系...
阅读全文
摘要:作者:阮一峰日期:2012年4月 6日诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多的迹象表明,函数式编程已经不再是学术界的最爱,开始大踏步地在业界投入实用。也许继"面向对象编程"之后,"函数式编程"会成为下一
阅读全文
摘要:我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。 下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体上把握它们。为了保证简单易懂,我做了大量的简化,有些地方并不全面和精确,但是应该能够说清楚
阅读全文
摘要:Java的闭包(Closure)特征最近成为了一个热门话题。一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。尤其是他问道“for 循环为何可恨?”:我不知道,有些人这么着急的要把for循环消灭掉,他们反对的究竟是什么?这已经不是第一次或第二次计算机学界的理论家们起来反对for循环(或类似的东西)了。如果只说Elliotte质疑不起眼的闭包的价值,这是不公平的。他主要抱怨是,在读了另一位著名
阅读全文
摘要:编码问题的例子 在Windows自带的Notepad(记事本)程序中输入“联通”两个字,保存后再次打开,会发现“联通”不见了,代之以“��ͨ”的乱码。这是Windows平台上典型的中文编码问题。即文件保存的时候是按照ANSI编码(其实就是GB2312,后面会详细介绍)保存,打开的时候程序按照UTF-8方式对内容解释,于是就出现了乱码。避免乱码的方式很简单,在“文件”菜单中选择“打开”命令,选择保存的文件,然后选择“ANSI”编码,此时就能看到久违的“联通”两个字了。 在Linux平台上如果使用cat等命令查看文件中的中文内容时,可能出现乱码。这也是编码的问题。简单的说是文件时按照A编码保存..
阅读全文
摘要:BY:http://blog.csdn.net/v_july_v/article/details/6890054前言 咱们先来看两个问题: 第一个问题来自编程之美上,Tango是微软亚洲研究院的一个试验项目,如图1所示。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗? 图1Tango 第二个问题来自各位...
阅读全文
摘要:英文原文:To become a good C programmer 问题的提出 每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程语言的。因此,我认为在这篇博文里列出一些有关C语言的最佳读物应该能帮到不少人。如果你知道其它的优秀读物,请给我发邮件或者直接在评论栏中告诉我吧。 问题的解答(你可以略过这部分) 我在之前的一篇博文中已经提到过了,目前为止,所有我所编写的商业 3D 引擎 95% 都是 C89(也称作标准C,或 ANSI C)。我之所以选择 C89 而不是 C99 是因为有些编译器仍然不能完美支持 C99 标...
阅读全文
摘要:本文来自coolshell网发表的一篇《多版本并发控制(MVCC)在分布式系统中的应用》。文中探讨了一种基于多版本并发控制(MVCC)思想的Conditional Update解决分布式系统并发控制问题的方法,和基于锁的方法相比,该方法避免了大粒度和长时间的锁定,当各个业务之间资源争用不大的情况下,并发性能很好。问题最近项目中遇到了一个分布式系统的并发控制问题。该问题可以抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 … Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑可以抽象为下面3个步骤:read:根据keySet
阅读全文
摘要:人跟人的能力千差万别,所以写出来的代码质量,肯定是不同的。有的人,写一个小逻辑,可能需要100行,而有的人,可能仅仅需要10行。代码永远会有Bug,在这方面没有最好只有更好。高效是程序员必须作到的事情,无错是程序员一生的追求。复用、分而治之、折衷是代码哲学的基本思想。模块化与面向对象是实现高效无错代码的方法。高效无错代码需要思想与实践的不断反复。如何做到代码高效无错,提高代码质量的方法有哪些?又有哪些经验和技巧呢?本文整理自知乎网,与开发者们一起探讨该话题。如果您有好的想法,欢迎在评论中列出。一起来看下编程界各位大牛如何为您支招:互联网评论员 孙立伟:1. 代码风格和规范多看看网上的一些代码规
阅读全文
摘要:观点一:HTML5是趋势,但不是你的优势 HTML5是趋势,但它绝对不是最佳选择,现阶段它无法给你银弹。那为什么它会如此之热,而火热的背后又会给你带来什么?微软、谷歌、苹果等各大厂商纷纷瞄准HTML5,这将是他们瓜分Web的最佳武器,谁利用的好,谁就会赢得最终的胜利。在这惊心动魄的战役中,谁也不服谁,你“创新”了HTML5这个特性,嗯,很好,我也实现它,实现的比你更好,那朋友们可能会疑问了这不是很好的良性竞争么,HTML5将会越来越繁荣的啊。可是,朋友们不要忘记,HTML5现阶段只是一份草案。尚未定标准。如果这样话,各种各样的所谓的“创新”,就形成了五花八门的API,好吧,这对开发者来说又是.
阅读全文
摘要:北京时间 1 月 25 日消息,多位前谷歌员工在问答网站 Quora 上列出从谷歌离职前需做的 14 件事,其中多数内容与谷歌对个人职业生涯的帮助有关,而谷歌丰富的资源令他们终生受益。 1、学会如何成为一个优秀的程序员 谷歌希望员工成为优秀的软件工程师,并为员工提供培训和实践机会,所以应珍惜。 2、参加名人和技术天才参与的谈话节目 谷歌可以邀请很多名人参加自己举办的谈话节目,员工可以和名人近距离接触。 3、享受使用谷歌丰富资源的机会 谷歌拥有庞大的计算资源,供员工使用。 4、享用多种多样的食物。 谷歌为员工提供免费食物,应当都品尝一下。 5、弄明白谷歌的架构和运营方式 谷歌...
阅读全文
摘要:导语:新的一年,您肯定有很多计划,而“健身计划”无疑是其中最重要的一个计划。希望这篇文章对您有所帮助。祝您在新的一年有更健康的身体! 英文原文:18 Secrets for a Longer Life 多数翻译文字来自果壳网 目录: 1. 保护 DNA,我们并非无能为力(Protect Your DNA) 2. 认真负责的人,活得更久(Be Conscientious) 3. 多交朋友,朋友多了更长寿(Make Friends) 4. 当然,交友需慎重(Choose Your Friends Wisely) 5.戒烟,不需解释(Quit Smoking) 6. 午睡,必须...
阅读全文
摘要:我相信激励是非常重要的。这也是为什么我常常把时间管理(这些书激励我不管改进我的时间管理方法)的书和软件开发拿出来看看。我最近刚看完一本 书,“Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman”。这本书推动我仔细的思考我应该把时间花在哪里。巧合的是最近是我25岁生日,也即将是新的一年。所有这一切都推动着我整理自己的技能,并制定下一年的学习计划。我把它写到博客里面也是那本书的作者建议。我觉得这个建议非常好。和所有人分享你的计划,会让你更有动力去完成它!技能那本书的作者建议,制作一张图表,列出你所有的技能,然后
阅读全文
摘要:对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前。新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用。01. 变得有耐心02. 保持健康03. 拥抱变化带来的不适应04. 学习一门新的编程语言05. 自动化06. 学习更多数学知识07. 关注安全08. 备份你的数据09. 学习更多理论知识10. 接触艺术和人文11. 向新的软件学习12. 完成一个自己的项目接下来我会对这些建议逐个介绍。变得有耐心程序员们会担心锻炼耐心付出的努力得不到应有的回报。其实,培养耐心只要付出很小的投入就能够得到相对而言很大的收获。下面是开始锻炼耐心可以尝试的一
阅读全文
摘要:1 简要介绍 Nagios监控服务器的状态很强大,并且报警功能也很不错,但对像流量这样的持续数据的展现能力却比较弱,虽然有类似PNP这样的插件可以对数据进行存储展现,但在看习惯Cacti的图后,PNP这样粗燥的图就很难接受了,因此以下大体描述了一下如何整合Nagios和Cacti,将点状态和线状态都清晰的展现。 cacti本身的thold的插件也可以提供报警功能,并且也可以支持msn,fet...
阅读全文
摘要:开发 过去几年来,浏览器开发工具一直是Web开发者最得力的工具。它能够与Web浏览器和谐相处,允许我们在当前窗口中实时地操作DOM元素、CSS样式和JavaScript,以及获取一些其他的有用信息。 以前开发者使用Firefox的一个名叫Firebug的扩展,来开发和调试他们的网站。但是最近,各个浏览器都开发了一套它们自己的工具,并且每一个都有自己的优势和劣势。如今很难想像没有这些方便的工具,...
阅读全文


浙公网安备 33010602011771号