IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT MySQL/ 2011-08-14 16:05:25 / 累计浏览 3,834

如何监控主从之间的延时:seconds_behind_master OR mk-heartbeat

日常工作中,对于MySQL主从复制检查,一方面我们要保证复制的整体结构是否正常,另一方面需要检查主从数据是否保持一致。对于前者我们可以通过监控复制线程是否工作正常以及主从延时是否在容忍范围内,对于后者则可以通过分别校验主从表中数据的md5码是否一致,来保证数据一致,可以使用Maatkit工具包中的mk-table-checksum工具去检查。在这里,我只想讨论下关于如何检查主从延时的问题。判断主从延时,通常有两个方法:1. Second...

IT 系统架构/ 2011-08-14 16:04:38 / 累计浏览 4,589

测试驱动开发(TDD)跟敏捷开发有冲突

这些话来自于我们的软件领袖Jim Coplien―上世纪九十年代最流行的几本C++著作的作者。原话是这样的: 严格的按照YAGNI原则的驱动测试开发(TDD)会导致敏捷开发3次迭代结构的坍塌。 看到反TDD运动已经形成了一定的气候,真是让人感到非常的振奋,我特别喜欢Jim和Bob Martin 之间的争论,Bob Martin,这出了名的TDD极端主义者,认为任何...

IT 互联网/ 2011-08-14 16:02:31 / 累计浏览 2,894

比特币以及虚拟货币

2009年诞生的Bitcoin(比特币),是一种新型的网络虚拟货币,你当然也可以把它看成是一种网络积分。但与我们常见的各种网络货币,比如Q币,所不同的是,这个虚拟货币并没有发行者(中心节点)。 比特币使用的是P2P原理,想赚取比特币的人被称为挖矿者。挖矿者利用自己电脑的空余性能,运行某种软件。这个软件运行时间越长(即挂机),以及你计算机性能越好(实际上,你的显卡越好也越能帮助你挖矿),你赚取的比特币就越多。比特币...

IT Linux/ 2011-08-14 16:01:38 / 累计浏览 3,788

vim 和 ctags 配置使用真方便

写  C 时,常常要查结构体的构成,没有好的现成的方法来查,可以使用 ctags 配合 vim 来使用,非常方便 我们可以先进入头文件的目录,先建 ctags 的索引 $ cd /usr/include $ ctags -R  使用有二...

IT 系统运维/ 2011-08-14 15:59:30 / 累计浏览 4,093

记一次MongoDB性能问题

最近忙着把一个项目从MySQL迁移到MongoDB,在导入旧数据的过程中,遇到了些许波折,犯了不少错误,但同时也学到了不少知识,遂记录下来。 公司为这个项目专门配备了几台高性能务器,清一色的双路四核超线程CPU,外加32G内存,运维人员安装好MongoDB后,就轮到我了,我习惯于在使用新服务器前先看看相关日志,了解一下基本情况,当我浏览MongoDB日志时,发现一些警告信息: WARNING: You are running on a NUMA machine. We suggest...

IT 系统架构/ 2011-08-14 15:59:13 / 累计浏览 2,329

服务管理框架的尝试

大型软件系统开发需要模块化,在分布式系统中,模块化通常是将功能分成不同的远程服务(RPC)来实现。比如可以用Java RMI、Web Service、Facebook开源的Thrift等一些技术。同样,在一个大型系统中,服务化之后服务的可维护、可管理、可监控以及高可用、负载均衡等因素同服务本身同样重要。服务管理目前并无直接解决方案,Thrift作者Mark Slee提到 It’s also possible to use Thrift to actually build a services managemen...

IT 算法/ 2011-08-14 15:57:07 / 累计浏览 2,051

生成函数的妙用:平均抛掷多少次硬币才会出现连续两个正面?

    在一篇老日志中,我提到了一个经典的概率问题:平均需要抛掷多少次硬币,才会首次出现连续两个正面?它的答案是 6 次。它的计算方法大致如下。     首先,让我们来考虑这样一个问题: k 枚硬币摆成一排,其中每一枚硬币都可正可反;如果里面没有相邻的正面,则一共有多少种可能的情况?这可以用递推的思想来解决。不妨用 f(k) 来表示摆放 k 枚硬币的方案数。我们可以把这些方案分成两...

IT JavaScript/ 2011-08-14 15:51:35 / 累计浏览 3,778

什么是闭包(Closure)?

这个问题是在最近一次英格兰Brighton ALT.NET Beers活动中提出来的。我发现,如果不用代码来演示,你很难单用话语把它解释清楚,所以,在这里,我打算用C#来解释一下什么是闭包(closures)。维基百科上说: 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也...

IT 算法/ 2011-08-14 15:51:07 / 累计浏览 4,153

经典证明:等边三角形内一点到各顶点的距离长可构成一个三角形

    这是初中平面几何的一个经典问题:等边三角形 ABC 内有任意一点 P,求证 PA 、 PB 、 PC 的长度一定能构成一个三角形。                                           这里给出两种证明方法。传统的证明方法是,把 △CPA 绕着点 C 逆时针旋转 60 度,从而...

IT JavaScript/ 2011-08-14 15:49:27 / 累计浏览 2,310

javascript变量类型

javascript的变量类型真的很要人纠结,即使你是很有经验的js工程师,你也很难说清楚js的类型和分类。最近在讲javascript入门指南的时候,有人提出数组为什么不是基本类型,我通过演示typeof []的结果来说明,数组是对象类型派生出来的,而不是六种基本类型。

IT 设计思想/ 2011-08-14 15:48:32 / 累计浏览 1,632

需求采集的“Z方法”

前段时间总结出了个“Y理论”,最近又整理出一个“Z方法”,个人感觉便于实操,大家看着玩儿。需求采集,或者说用户研究的方法很多,比较经典的分类就是按“定性 vs 定量;说 vs做”二维。先回顾一下我在《人人都是产品经理》里说的:横向,定性与定量。定性研究可以找出原因,偏向于了解;而定量研究可以发现现象,偏向于证实。两者都很重要,缺一不可,只定量会“以标代本”,看到问题但不知道原因,只定性会“以偏概全”,很...

IT 算法/ 2011-08-14 15:23:38 / 累计浏览 9,055

一致性哈希算法及其在分布式系统中的应用

本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。

IT 用户研究/ 2011-08-14 15:21:31 / 累计浏览 1,816

网络人口的成熟化

最新一份的CNNIC报告(第28次中国互联网络发展状况统计报告),非常薄,只有50多页,也没有什么太过值得一提的数据,对目前正当红的移动互联网,调查得也不够。不过,结合历年来的统计,倒是有些情况需要注意。 中国很多网络服务,目标受众群体都是年轻人群体,比如说网游。即便是一些貌似稍长一点年龄段会去使用的服务,比如富媒体,比如即时聊天,比如社交,运营者也是瞄着年轻人群。所谓的年轻人群,我看大抵就是10-19岁和20-29...

IT 系统架构/ 2011-08-14 15:20:47 / 累计浏览 2,513

在新浪微博上关于敏捷的一些讨论

自从我发布了“Scrum为什么不行”,并被CSDN推成首页头条后,我在我的新浪微博上就经常被敏粉们@去讨论他们的一些话题。他们似乎想要从我这里听到一些不同的声音,我很喜欢他们的这种态度,在这里先赞他们一个。既然,让我来评论他们的东西,我就不客气了,板砖自然是少不了的。 我觉得我在微博上的观点比较散,所以在这里做一个汇总。我在所有批评敏捷的文章里都重复说过我的立场,这里还要再说一遍,因为那群人很敏感――“我承...

IT 系统架构/ 2011-08-14 15:18:38 / 累计浏览 2,670

使用第三方网站作为用户认证系统

很早的时候就有人发明了 OpenID,希望解决用户在每一个网站都重复注册流程的问题,但是由于种种原因,这个事情好久没什么起色。我曾经也弄过 OpenID,后来发现由于不怎么常用,我连 URL、密码之类的都记不住,还不如在每个网站上都注册一下。从网站的角度看,他们也不愿意把网站的入口交给第三方――这个 OpenID provider 的网站挂了怎么办?直到 Google/Yahoo! 这样级别的作为 OpenID provider 还比较靠谱。第一,它们足够稳定;...

IT 系统架构/ 2011-08-09 08:31:01 / 累计浏览 4,411

我来CSDN的这一年

从ITeye(JavaEye)被CSDN收购,我从上海搬家到北京上班,眨眼之间已经过去了一年多。回顾过去这一年,生活环境发生了巨大改变,工作的职责和角色也重新定位,面临了一些新的困难和挑战。总体来说,感觉自己这一年过得很充实,在公司的大力支持下,计划做并且花了时间和精力努力的事情基本都做成了,如果要给自己打分的话,我会打80分。那剩下的20分代表本计划去做却没有时间或者精力做的事情。希望在...

IT 系统运维/ 2011-08-09 08:30:34 / 累计浏览 2,829

OpenVPN 客户端在 Windows 里的配置

自己搭了一个 OpenVPN Server,以前一直是在 Mac 里使用客户端,加上 chnroutes,用得很舒服。最近想在 Windows 里用一下,结果显示能连上,但是流量就是不从 VPN 走,很郁闷。试了一下,连服务器 IP 10.0.0.1 都 ping 不通。

IT 其他/ 2011-08-09 08:30:04 / 累计浏览 2,553

挣值分析

挣值分析   一、挣值分析的三个基本参数包括:计划值(PV)、实际成本(AC)和挣值(EV):   1、计划值(PV,Plan Value),又叫计划工作量的预算费用(BCWS,Budgeted Cost for Work Scheduled )。是指项目实施过程中某阶段计划要求完成的工作量所需的预算工时(或费用)。计算公式是:   PV=BCWS=计划工作量*预算定额   PV主要反映进度计划应当完成的工作量,而不是反映应消耗的工时或费用。   2、实际成本(AC,Actua...