自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fengxinze的专栏

关注后端技术、分布式

  • 博客(169)
  • 资源 (4)
  • 收藏
  • 关注

转载 现代C++风格-C++11

Original:Elements of Modern C++ Style“C++11 feels like a new language.” – Bjarne StroustrupThe C++11 standard offers many useful new features. This page focuses specifically and only on

2013-09-11 19:46:02 1245

原创 减少编译时依赖的意义和一些惯用法

原文参见:GotW #7a Solution: Minimizing Compile-Time Dependencies, Part 12013-08-19 by Herb Sutterhttp://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/GotW

2013-09-11 19:40:43 1037

转载 PHP消息队列httpsqs安装与使用无错版

源:http://blog.csdn.net/21aspnet/article/details/7467812项目网址:http://code.google.com/p/httpsqs/使用文档:http://blog.s135.com/httpsqs/说明:由于需要安装的东西有些多,原文可能写的有些简略,所以适当补充了1.安装libevent-2.0.12-stable.ta

2012-07-06 09:52:42 1845

转载 《软件架构设计》读书笔记

《软件架构设计》读书笔记最近看了《软件架构色设计》这本书,收获非浅,碰巧在网上看到这本书的笔记,转载如下:【书 名】:软件架构设计【出版社】:电子工业出版社【作 者】:温昱前言春节前后花了将近两个月时间才把《软件架构设计》一书看完。此书紧紧围绕“软件架构设计”这一主题,非常系统地解析了软件架构的概念,阐述了切实可行的软件架构设计方法,给出了可

2012-05-18 13:43:25 2942

转载 面向对象设计原则概述

对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。      面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模

2012-05-16 20:09:14 750

转载 面向对象设计原则的总结

转:http://hi.baidu.com/xydream/blog/item/ebfd39f5912ed521bd3109cd.html正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-ClosedPrinciple)是面向对象的可复用设计(Object OrientedDesign或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特

2012-05-16 20:05:21 565

转载 智能指针学习

转:http://blog.csdn.net/linfengfeiye/article/details/4054258最近接触到智能指针很多,于是研究了一下智能指针的原理,写下自己的心得体会,有不对的还请指正。智能指针产生的目的:因为在C++中,存在非常复杂的指针错误问题,例如,某个对象生成后,指向该对象的指针可能有多个,当我们用delete语句删除其中的一个指针后,对象就被销毁,那么

2012-05-16 18:07:27 528

转载 如何聪明地使用锁

转:http://www.ibm.com/developerworks/cn/java/j-lo-lock/index.html?S_TACT=105AGX52&S_CMP=tec-yesky竞争锁是造成多线程应用程序性能瓶颈的主要原因区分竞争锁和非竞争锁对性能的影响非常重要。如果一个锁自始至终只被一个线程使用,那么 JVM 有能力优化它带来的绝大部分损耗。如果一个锁被多个线程

2012-05-16 16:41:19 833

转载 C++中的指针(三) 智能指针

原帖及讨论:http://bbs.bccn.net/thread-92844-1-1.htmlSmart Pointer是C++中的一个大题目,要说清楚他的所有好处很需要费点力气。我就一个功能一个功能的说。有我理解不透的地方希望大家指点。1.copy-to-write (类似Linux下fork()系统调用技术,写时复制)当生成一个C++ object的时候如果这个class很大,

2012-05-16 16:19:13 469

转载 UTF-8编码中BOM的检测与删除

转:http://www.osfans.org/index.php/2012/05/08/utf-8%E7%BC%96%E7%A0%81%E4%B8%ADbom%E7%9A%84%E6%A3%80%E6%B5%8B%E4%B8%8E%E5%88%A0%E9%99%A4/所谓BOM,全称是Byte Order Mark,它是一个Unicode字符,通常出现在文本的开头,用来标识字

2012-05-11 15:03:53 868

转载 用 SWIG 构建 PHP 扩展

转: http://www.ibm.com/developerworks/cn/opensource/os-php-swig/index.html?ca=drs-cn-0301      简介: 核心 PHP 库以及对 PHP 的开源贡献提供了众多功能。PHP 扩展提供了从字节代码缓存到系统调用的所有功能。然而,如果需要特殊的计算,您可以使用 Simplified Wrapper and

2012-05-11 11:00:45 863

转载 (一)巧用xdebug

前言:在我们平时的php开发中,一个大的项目经过长时间的积累以后你会发现性能越来越慢,而性能到底消耗在了什么地方,常常是一个令人头疼的问题,function a()调用了多少次,function b()又消耗了多少时间,我们到底怎么查找是哪个蛀虫拉慢了我们的程序运行速度呢?在这里给大家介绍一款工具xdebug,相信很多人已经听说过了,希望借助这个工具我们可以起到简单分析php程序性能瓶颈的问题

2012-05-10 21:00:48 585

转载 (二)巧用curl 并发减少后端访问时间

前言:在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个、顺序访问,假如有3个接口,每个接口耗时500毫秒那么我们三个接口就要花费1500毫秒了,这个问题太头疼了严重影响了页面访问速度,有没有可能并发访问来提高速度呢?今天就简单的说一下,利用curl并发来提高页面访问速度,希望大家多指导。1、老的curl访问方式以及耗时统计<?

2012-05-10 20:40:04 1232

转载 MySQL索引设计及优化

转:http://hi.baidu.com/zhanglei_186/blog/item/0b074cc8bbcaa41f7e3e6f46.html其实项目应用的瓶颈还是在db端,在只有少量数据及极少并发的情况下,并不需要多少的技巧就可以得到我们想要的结果,但是当数据量达到一定量级的时候,程序的每一个细节,数据库的设计都会影响到系统的性能。这里就数据库开发及优化的话题和大家做个讨论和分

2012-05-09 15:23:05 893

转载 lvs + keepalived 系统架构

转:http://www.vpsa.net/?post=4lvs + keepalived负载均衡上线差不多一年,非常稳定,没出过问题,就一次被机房ARP欺骗了'感情'!,做个笔记,顺便方便下大家.首先要确定的是就一个keepalived.conf就可以搞定lvs + keeplived架构.不需要配置转发器.环境:lvs主: 192.168.1.201

2012-05-09 13:17:07 1385

转载 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)

平时大家使用 epoll 时都知道其事件触发模式有默认的 level-trigger 模式和通过 EPOLLET 启用的 edge-trigger 模式两种。从 epoll 发展历史来看,它刚诞生时只有 edge-trigger 模式,后来因容易产生 race-cond 且不易被开发者理解,又增加了 level-trigger 模式并作为默认处理方式。二者的差异在于 level-trigg

2012-05-09 09:12:35 675

转载 用Unix的设计思想来应对多变的需求

转自:http://coolshell.cn/articles/7236.html之前,@风枫峰 在“这是谁的错?”中说过开发团队对需求来者不拒,而@weidagang 也在“需求变更和IoC” 中说过用IoC来最大程度地解决需求变更。今天我也想从Unix设计思想的角度来说说什么是好的软件设计,什么样的设计可以把需求变更对开发的影响降低。(注意:这并不能解决用户或是PM的无

2012-05-07 20:09:03 488

转载 了解Linux的进程与线程

转自:http://timyang.net/linux/linux-process/上周碰到部署在真实服务器上某个应用CPU占用过高的问题,虽然经过tuning, 问题貌似已经解决,但我对tuning的方式只是基于大胆的假设并最终生效了。我更希望更多的求证一下程序背后CPU及OS kernel当时的运作机制。所以我读了一些Linux内核设计与实现及其他一些相关资料,对Linux p

2012-05-04 14:02:19 585

转载 Linux内核定时器

转:http://timyang.net/linux/linux-timer-tick/看了3个周末的Linux内核,包括前两周总结的进程与线程,锁与同步。当时研究这个的原因是因为某个程序CPU context switch过高。不过到现在相关的背景知识也了解了,问题也早已经解决了,所以暂时也没有进一步的兴趣驱动去研究内核了,这里是终结篇。:)在应用程序运行的时候,特别是抢占式的操作系统里

2012-05-04 11:42:35 650

转载 多IDC数据时序问题及方法论

转自:http://timyang.net/architecture/method/上一周在微博架构与平台安全演讲中提到多IDC及架构设计的方法,由于最近工作中经常碰到这种情况,再举一个小案例补充一下。Web数据访问比较好的设计模式是使用cursor方式(参考前文用Twitter的cursor方式进行Web数据分页),原理上相当于增量方式访问数据,可以极大提高访问性能。

2012-05-04 11:23:16 641

转载 Redis几个认识误区

转自:http://timyang.net/data/redis-misunderstanding/前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failu

2012-05-04 10:15:09 944

转载 倒排索引

转自:http://blog.csdn.net/sunboy_2050/article/details/5658427简介  倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排

2012-05-03 17:08:01 3856 1

转载 一次用shell解密base64加密的文本的过程

原文:http://blog.chinaunix.net/space.php?uid=25557346&do=blog&id=3191546今天应一网友需要,要把一个用base64 加密的文本解密出来,本来觉得这个应该比较简单,但当拿到这个文本的时候,觉得并不像想象中的那么简单。这个文本是这样的,我截取了其中的一小部分出来: 点击(此处)折叠或打开2|数

2012-05-03 10:23:38 4465

转载 iPhone消息推送机制实现与探讨

转:http://www.cocoachina.com/bbs/simple/?t96510.html最近两天在研究ios的消息推送机制。研究这个东西,还是充满兴趣的。 Push的原理: Push 的工作机制可以简单的概括为下图    图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。  APNS 是Apple

2012-05-03 09:55:57 670

原创 GCC版本问题引发的floating point exception

在Linuxg开发中经常遇到开发环境版本与程序运行时环境版本不一致,由于使用高版本的gcc glibc 编译后在低版本的glibc上运行导致,可能导致Floating Point Exception运行时错误。高版本的gcc在链接时采用了新的哈希技术来提高动态链接的速度,这在低版本中是不支持的。因此会发生这个错误。这是由于现在的gcc在link的时候默认会采用选项--hash-style=gnu,

2012-04-11 15:34:01 1711

转载 函数式编程

函数式语言的优美,从言语层面上解决了很多需要程序员关注的细节,比如天生的简洁多核并发编程支持。诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函

2012-04-08 11:13:58 836

转载 如何为linux释放缓存

原文:http://blog.csdn.net/yeliweiylw/article/details/6572747在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好。但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,

2012-03-31 13:40:55 2984

原创 inux上使用sqlplus时不能用Backspace来删除字符的解决

解决方法1. #su - oracle$stty erase ^h2.要永久生效,可以加入到.bash_profile中vi .bash_profile加入一行stty erase ^h保存之后,重新启动linux即可生效。3、在sqlplus登录后,可以按住Ctrl键,再删除

2012-03-31 12:02:14 953

转载 漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析

原文:http://blog.csdn.net/touch_2011/article/details/67676731、序言这是《漫谈经典排序算法系列》第一篇,该篇从最简单的选择排序算法谈起,由浅入深的详细解析两种选择排序算法的过程及性能比较。逐步揭露选择排序的本质及其基本思想。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深

2012-03-31 11:27:55 621

转载 mysql技术内幕-innodb存储引擎读书笔记(上)

第一章、mysql体系结构和存储引擎1.1、数据库和实例的区别数据库:物理操作系统或其他形式文件类型的集合。在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件。数据库实例:由数据库后台进程/线程以及一个共享内存区组成。mysql数据库是但进程多线程的程序。1.2、mysql的体系结构mysql由连接池组件、管理服务和工具组件、sql接口组建、

2012-03-31 11:08:07 1162

转载 mysql技术内幕-innodb存储引擎读书笔记(中)

第四章、表4.1、innodb存储引擎表类型innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键。首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键。不符合上述条件,innodb存储

2012-03-31 11:06:47 812

转载 mysql技术内幕-innodb存储引擎读书笔记(下)

http://isadba.com/index.php/2012/03/mysql%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95-innodb%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0%E4%B8%8B/第六章、锁锁是区别文件系统和数据库系统的

2012-03-31 11:05:00 860

转载 C/C++浮点数在内存中的存储方式

自:http://www.cnblogs.com/dolphin0520/archive/2011/10/02/2198280.htmlC/C++浮点数在内存中的存储方式       任何数据在内存中都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统中,存放方式为  10000100

2012-03-31 10:23:59 545

转载 堆排序

自:http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html堆排序       堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]

2012-03-31 09:56:55 446

转载 海量存储系列:分布式存储的场景

自:http://my.oschina.net/JJREN/blog/51548上一次,我们介绍了几种常见的kv存储模型,下面我们就正式进入到分布式存储的场景里去看看这套东西在分布式场景下的运作方式吧。/algorithm/20120106/317132.html 上一篇在分布式key-value中,很多原来的知识是可以继续复用的。因为k-v解决的问题实在是非常

2012-03-30 21:23:17 948

转载 Redis持久化

http://blog.nosqlfan.com/html/3813.html本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章非常长,也很值得一看,NoSQLFan将主要内容简述成本文。什么是持久化,简单来讲就是将数据放到断电后数据不会丢

2012-03-30 17:00:33 567

转载 网络通信时字节序转换原理与网络字节序、大端和小端模式

自:http://blog.csdn.net/songjinshi/article/details/6787762引言:在进行网络通信时是否需要进行字节序转换? 相同字节序的平台在进行网络通信时可以不进行字节序转换,但是跨平台进行网络数据通信时必须进行字节序转换。原因如下:网络协议规定接收到得第一个字节是高字节,存放到低地址,所以发送时会首先去低地址取数据的高字节。小端模式的多

2012-03-30 13:44:55 1002

转载 float & double 内存布局

C语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit, double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范 的,float遵从的是IEEE R32.24 ,而double

2012-03-08 21:30:47 518

转载 Linux内存点滴 用户进程内存空间

关于Linux下内存管理的介绍,很不错。原文:http://www.perfgeeks.com/?p=770经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。VIRT , Virtual Image (kb)RES, Resident size (kb)SHR, Shared Mem size (kb)%MEM, Memor

2012-03-07 13:10:56 935

转载 Tokyocabinet/Tokyotyrant文档大合集

Tokyocabinet/Tokyotyrant文档大合集[原文:整理于网络 整理:一米六二 网络更新:http://www.162cm.com/p/tokyotyrant.html]Last Updated: 2009-12-041. 前言2. 参考资料链接3. 使用介绍3.1. 基本概念3.2. Tokyo Cabinet 简介3.3. 性能介绍3.4.

2012-03-07 00:41:11 1325

Sql Server 2000高手精华

在论坛里收集到很经典的一些T-SQL语句

2009-04-04

图解RedHatLinux9安装

RedHatLinux9安装

2007-08-06

高质量C_C++编程

一本很有价值的介绍C/C++编程的书籍,大家的经验分享.

2007-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除