自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 资源 (6)
  • 收藏
  • 关注

原创 __x_a != __x_a什么时候不成立?

#define isnan(x) \    __extension__({ __typeof (x) __x_a = (x); \                                                                                                                                   

2014-01-06 16:31:13 1139

原创 C++ox 之 lambda

http://www.cnblogs.com/allenlooplee/archive/2012/07/03/2574119.html今天看了博文,之前对于lambda的理解比较粗陋,今天再学习一下。不得不说我是一个极为懒惰的人,因此,只有代码了。。。。#include #include #include //for generateusing namespace st

2013-09-02 16:46:39 982

原创 perl处理excelwenjian

#!/usr/bin/perluse strict;use Win32::OLE qw(in with);use Win32::OLE::Const 'Microsoft Excel';$Win32::OLE::Warn = 3;                                # die on errors...# get already act

2013-08-26 23:07:13 1081

原创 crontab追加信息

crontab并没有提供追加字段的功能,这里可以使用一个比较trick的方式。将需要追加的crontab内容写到crontab.add中crontab -l >> crontab.addcrontab crontab.add即,将需要追加的crontab信息保存至crontab.add中,然后使用crontab -l命令将所有的crontab重定向到文件中,最后重新加载即可~

2013-08-18 18:47:57 3651

原创 那些年,和ssh战斗的日子

linux开发,远程执行命令是一个绕不过去的问题。需要启动程序,一直执行,解决方法有三个:nohupscreendaemon现在将问题简单升级一下,需要在一台中控机上启动其它服务器上所有的程序,怎么解决?问题可以分解为密码校验、远程执行命令两个部分。密码校验可以使用互信的方式,具体参考ssh。现在主要说的是如何在远程执行一个程序,并且让该程序在后台运行。ss

2013-08-13 13:20:31 1171

原创 二叉树分层遍历(递归以及非递归的实现)

树的遍历是比较基本的数据结构操作方法,中序遍历、线序遍历和后续遍历什么的基本上递归一下,三行代码就能搞定。但是,树的按层遍历就会稍微复杂一些。主要思想是使用栈暂存数据,一个栈用于保存当前层的节点,另外一个栈用于保存下一层的节点,在遍历该层时,将下一层的所有节点都存储到栈中,在下一次遍历中使用。思路比较清楚,贴下这种思路的代码。void printTreeLevel(Node *

2013-06-14 15:29:27 1226

原创 __attribute__的一些小用法

#include using namespace std;//============================part 1st =======================================//format//===========================================================================//

2013-03-13 11:42:24 969

原创 记忆的轨迹

生活仿若一场洪流。巨大的水流迎面呼啸而过,记忆、还有过往的执着,在肮脏的水流中被慢慢的侵蚀。你,呆立在水流中,而时间,已然变得混沌。也许是一天,也许是一个月,也许是一年,也许是一辈子,你只是站在那里,昏昏欲睡,只记得自己要站着,永不倒下。一首歌,有着熟悉的旋律,不知从哪里响起,在水流中被无限的放大。你睁开了眼睛,看着水流中陌生的倒影,努力地搜寻一切关于过往的回忆。这,还是你

2013-03-11 15:45:33 1235

转载 linux 进程句柄数量

---查看Linux系统默认的最大文件句柄数,系统默认是1024# ulimit -n1024----查看当前进程打开了多少句柄数# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more131 24204 57 24244  57 24231   ........其中第一列是打开的句柄数,第二列是进程ID。可

2013-03-07 08:48:20 1080

转载 crontab

在crontab中添加了定时任务,但发现没有得到期望的结果,因而怀疑是crontab没有执行相应的任务,但怎么定位crontab是否执行呢?这就需要查看crontab的执行历史记录,具体位置如下:cd /var/logtail -100 cron在cron文件中即可查阅已经操作过的相关定时任务。

2013-03-07 08:47:05 770

原创 如何写好一个守护进程

int daemonize(int dump_core){ int status; pid_t pid, sid; int fd; pid = fork(); if ((pid = fork()) == -1) {//means error occur fprintf(stderr, "fork failed:%s", strerror

2013-03-05 09:02:35 1164

原创 static的map成员的初始化顺序居然和编译器相关

我十分不敢相信这是真的,但是确实发生了,而且足足折腾了我5个小时。core文件的内容大概是这样:#0  0x0000003071664cba in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib64/libstdc++.so.6(gdb) bt#0  0x0000003071664cba in s

2013-02-27 22:05:02 3487 6

原创 linux网络通信再学习

http://xmuzyq.iteye.com/blog/783218该文章详述了reactor模式和proactor模式,并着重阐述了不同的IO操作。http://blog.csdn.net/shallwake/article/details/5265287这篇博文上使用图例的方式描述了五种IO模式以及处理过程,可以从这里详细了解底层的原理。http://www.zhihu.

2013-02-26 09:51:27 1003

原创 twemproxy for redis使用说明及简单分析

redis的数据量在内存高过50G时系统出现了明显的瓶颈。为了解决这个问题,笔者找了些相关的资料,发现了这个开源软件。功能很强大,包含了last.fm的ketama的一致性hash算法,对于笔者目前的需求,该软件已经能够完全满足。软件的源代码已经在git上面开源:https://github.com/twitter/twemproxy下载和安装的过程就不再赘述,在README中有详细的叙述

2013-02-22 17:56:21 10094 15

转载 D7000

二、技术支持01:【转】D7000中文说明书下载:http://www.nikon.com.cn/manual/D7000.rar02:D7000新固件:http://dcbbs.zol.com.cn/80/657_799401.html03:Camera Control Pro 2.9.0 英文版 + 说明;http://dcbbs.zol.com.cn/95/657_9

2013-02-01 13:31:19 2164

原创 warning: inlining failed in call to

在使用gcc优化选项编译程序的时候遇见了如下的警告:warning: inlining failed in call to ‘virtual XXXX::~XXXX()’: --param large-function-growth limit reached经过一番查询找到解释如下:GCC says it will not inline the destructor. Proba

2012-12-19 14:03:49 3171

原创 stop by

总是不想写下“生活”这两个字。历史的经验告诉自己,每当写下这两个字的时候都没有什么好事情发生。需要抱怨和发泄的时候才有它们登场的机会。心里现在有点乱,各种事情层出不穷。但是作为一个码农,还是把事情理顺一些吧。这是解决问题的基本前提:)工作。工作上的确遇见了麻烦,不知不觉的走到了职业生涯的一个十字路口,是管理还是开发。做了一个多月的苦逼尝试,发现自己做管理真的是浪费生命——自

2012-12-06 11:18:00 836

原创 top coder试玩心得

做人要有点自知之明,自己确实不是有talent的coder,于是乎,自娱自乐吧。。。550分的这一题,题目如下:Problem Statement  In most states, gamblers can choose from a wide variety of different lottery games. The rules of a

2012-11-29 16:14:51 1275 2

转载 单反镜头

==================================================   不论是应用于传统胶片单反相机的镜头,还是日渐流行的数码单反相机专用镜头,其镜头标识的文字中,都基本包含了镜头属性、焦距参数、光圈参数、所具特点等信息。详细地说上列四点可以归纳为:镜头属性:通常表示该镜头是 AF 卡口还是 EF 卡口,通常还包括一些镜头类别的标识;焦距参数:

2012-11-22 20:17:53 871

转载 linux多线程条件下的计数

转载自http://soft.chinabyte.com/os/412/12200912.shtml最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。  当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的:  1 从缓存取到寄存器  2 在寄存器

2012-11-19 09:31:40 886

转载 makefile中的一些常用变量

一、MAKE中的自动变量:    $@: 表示target的名字    $%: 仅当目标是函数库文件中,表示规则中的目标成员名。例如,如果一个目标是"foo.a(bar.o)",那么,"$%"就是"bar.o","$@"就是 "foo.a"。    $    $?: 表示所有比target更新的依赖条件的名字列表    $^: 表示所有依赖条件的名字,同时去除依赖列表中重复的条

2012-11-15 21:51:15 975

原创 如何写好while和for循环

这是编程语言的一个基本问题,其实要点无非三个:除非在刻意的情况下,避免死循环有效的循环保证循环的边界条件正确产生死循环的主要原因是continue、goto等跳转语句的存在,因为这些跳转可能恰巧跳过了更新循环条件的地方。也许有人认为这种问题是一个正常的码农不会犯这种错误,但是,在有些条件下,真的会发生。这些条件也可以简单的概括为以下两点:过长的循环体,在增加

2012-11-07 10:56:46 1205

原创 php解析请求url并返回json数据

<?php paserRequest($_SERVER["QUERY_STRING"]); function p

2012-11-06 18:36:34 9582

原创 自己动手实现socket的各种超时控制

在高并发的网络编程中,如果对socket的超时不加以控制,程序会死的很辛苦。在这里,需要控制超时时间的地方基本上分为三个部分:连接超时、读超时以及写超时。下面将按照上述超时问题依次解决之。连接超时处理连接超时有若干种方案,第一种比较trick,使用socket本身的属性进行设置。可以使用该属性进行设置的原因是connect的内核实现(源文件地址)采用了如下的实现方式:

2012-10-26 16:10:37 1479

转载 python处理xlsx

一 读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台。这也就意味着你可以在Linux下读取Excel文件。首先,打开workbook;    import xlrdwb = xlrd.open_workbook('myworkbook.xls')检查表单名字:    wb.sheet_names()得到第一张表单,两种方式:索引和名字

2012-10-09 16:01:08 10846

原创 Go?GO!随感收集站

Go的模板实现在go里面,并没有C++中的模板的概念,但是,这一概念可以使用接口来进行实现:type Value interface{}type Element struct{ value Value pNext *Element}type List struct { pHead *Element;}上述代码展示了实现具有模板特点的类型的定义方

2012-09-13 09:16:12 884

原创 Go?Go!(四) Go command的使用

本篇文档应该是第一篇文档的补充,笔者还还不是特别了解Go的使用的时候就盲目的去做安装和学习,绝对是一个失败的案例。。。对于一般情况,使用Go只需要安装Go即可,不需要gccgo的安装,那个真的很慢,而且有一个最大的问题是没有go的支持。go是一个有点强大的工具,可以安装包,测试包,从网上下载并安装包,还有一些附带的小工具,objdump什么的,都很好用。对于go的使用,可以参照文档:h

2012-08-30 12:13:05 1776

原创 Go?GO!(三) Go的面向对象技术、并发和包的简单介绍

Object Orientation 面向对象技术The Go language supports a style of object-oriented programming similar to that used in C. Data is grouped together into structs, and then functions are defined which oper

2012-08-29 16:51:47 1708

原创 Go?Go!(二) 初窥Go的特性

网上有些很好的资料,贴一些链接:http://www.cnblogs.com/AllenDang/archive/2012/03/03/2378534.htmlhttp://www.infoq.com/articles/google-go-primer笔者从中选出一些个人觉得有用的特性拿来随便说说。变量定义GO最基本的变量声明和初始化:var sum i

2012-08-29 13:49:41 1049

原创 Go?Go!(一) 编译和安装

安装方法安装方法可以参考下面的urlhttp://golang.org/doc/install/gccgo在svn上获取代码文档什么的:svn://gcc.gnu.org/svn/gcc/branches/gccgo然后进入文件夹,执行configure命令,在这里需要注意,安装最新的gcc需要一些编译依赖,这些编译依赖的安装可以参考笔者的另外一篇文章支持c++0x的gcc的安装

2012-08-28 16:29:04 1939 1

原创 毕业后续——计算机自修学院

转眼毕业已经半年,对面的摩托罗拉正好爆发了裁员风暴,站在窗前,突然觉得该想想自己的未来。其实,毕业只是从一个很小的学校出来,进入了一个更大更复杂的学校。不会再有人逼你上讨厌的课,不会再有强制的学分要求,同样的,也不会再有人督促学习。这是一种幸运,也是一种不幸——因为,我们是善于遗忘和享乐的动物。从走出校园的那一刻起,自己的生活,就已经完全的掌握在自己手中,我需要走走、停停,看看走过

2012-08-17 11:40:38 3148

原创 编译和反编译汇编语言

最近在学习深入理解计算机系统,捡了捡之前丢掉的汇编语言。不过那时候学习的是8086单片机,从未接触过gcc,现在想起来,总觉得别有一番风味。。。不废话了,编译汇编语言文件的方法:gcc -O1 -c xxx.s这里,优化速度可以选择,O0(大o,零,每次写这种符号总觉得很蛋疼Oo0000oooOO0)是不优化。如果使用的是64位的gcc,那么,可以使用如下命令进行编译:gcc -

2012-08-17 09:26:21 1712

原创 初学AutoMake

这个东西的战略意义大于实际意义,嗯,还是从一个简单的例子开始作介绍,从写一个自己的HelloWorld程序开始:查看自己的automake有木有安装,aclocal --version; autoconf --version; automake --version,没有的话,装一个新建一个文件夹test,在该文件夹下写一个hello world的程序#include using n

2012-08-07 15:08:57 730

原创 混合编程 -- 实现C自动编译以及thrift文件实现生成定义文件

混合编程是啥呢?混合编程是指使用两种或两种以上的程序设计语言来开发应用程序的过程。目前,计算机上流行的程序设计语言有多种,它们有各自的优势和不足,混合编程可以充分利用各种程序设计语言的优势。混合编程的关键问题是参数传递。上面的来自百度百科。简单来说,就是使用一种以上的语言进行代码的书写。在linux下进行开发的时候,需要编写一些makefile来支持C/C++的开发,但是,混合

2012-08-02 17:07:15 1285

转载 Tumblr的架构设计

随着每月页面浏览量突破15亿次,Tumblr已经名正言顺地跻身博客类平台中的名人堂。用户们对它的简洁、美观以及对使用体验的专注追求赞不绝口;它的相关社区也同样氛围温馨、人气爆棚。总之,人们喜欢这位博客家族中的新贵。超过30%的月度增长不可能一帆风顺,过程中的坎坷与挑战也自然不言而喻,但最令人头痛的还是可靠性问题。正是经过技术人员的不懈努力,Tumblr才取得了如此惊人的规模及傲人的运行成绩

2012-07-31 09:46:20 2346

转载 Scala语言

Scala是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。Scala是面向对象的:Scala是一个纯面向对象语言,在某种意义上来讲所有数值都是对象。对象的类型和行为是由class和trait来描述的。Class的抽象可由子类化和一种灵活的基于mixin的组合机制(它可作为多重继承的简单替代方案)来扩展。Scala是函数

2012-07-31 09:41:33 863

转载 Finagle 一个支持多协议的RPC系统

Finagle是一个协议不可知的,异步的,用于 JVM 的 RPC 系统,它使得在 Java、Scala 或任何基于 JVM 的语言重构建鲁棒的客户端和服务器非常容易。在 Twitter.com 上面即使是渲染最简单的网页也需要十多个说着不同协议的网络服务的合作。比如,为了渲染首页,应用程序需要向社交网络图(Social Graph)服务、Memcached、数据库、以及许多其它网

2012-07-31 09:33:23 2384

原创 代码大全(五)-- 软件构建中的设计

对设计,作者有些定义,英文原文的意义更为深刻,笔者在后面加上了自己的理解。Design is about tradeoffs and priorities.一个系统所能达到的目标,基本上是矛盾的,例如速度与内存,准确率和召回率。在某种程度上,我们只能根据系统的特性寻求一个最佳的平衡点。例如,在一个决不能有错误出现的系统,我们可以基本可以放弃召回率。Design involves r

2012-07-23 18:30:22 1049

转载 sql常用命令

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwi

2012-07-23 09:46:41 645

原创 伪代码编码过程

参考书籍:《代码大全 第二版》创建类和子程序的步骤概述创建一个类的大体流程可以简单的如图1所示:图1 设计类的一般流程在初始的程序设计生涯开始的时候,我总觉得随性是一个程序员发挥最大创造力的源泉,照搬书本只会使开发变成一种简单的堆砌,毫无艺术可言。但是,实际上,一些根据经验总结得到的规则,可以最大化开发速度以及尽可能的考虑全面每一种可能的情况——不会在速度的code

2012-07-20 14:13:27 2112

Google 编程风格

Google 的开源项目大多使用 C++开发。每一个 C++程序员也都知道,C++具有很多强大的 语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现 bug、难于 阅读和维护。 本指南的目的是通过详细阐述在 C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则 可在允许代码有效使用 C++语言特性的同时使其易于管理。 风格,也被视为可读性,主要指称管理 C++代码的习惯。使用术语风格有点用词不当,因为这 些习惯远不止源代码文件格式这么简单。 使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一 编程风格意味着可以轻松根据“模式匹配”规则推断各种符号的含义。创建通用的、必需的习惯用 语和模式可以使代码更加容易理解,在某些情况下改变一些编程风格可能会是好的选择,但我们 还是应该遵循一致性原则,尽量不这样去做。 本指南的另一个观点是 C++特性的臃肿。C++是一门包含大量高级特性的巨型语言,某些情况 下,我们会限制甚至禁止使用某些特性使代码简化,避免可能导致的各种问题,指南中列举了这 类特性,并解释说为什么这些特性是被限制使用的。 由 Google 开发的开源项目将遵照本指南约定。 注意:本指南并非 C++教程,我们假定读者已经对 C++非常熟悉。

2012-10-24

effective STL

详细介绍STL的电子书,如果想要了解STL的底层技术,该书值得拥有

2012-10-24

WINDOWS+API函数参考手册>.rar

里面有一些比较实用的API函数,主要可以起到一个参考的作用,要用超星浏览器看,画质一般,但是作为应急的参考绝对够用(主要是够全~)

2010-05-25

常用算法程序集(包括数据结构和算法的常用程序)

包括了一般数据结构中用到的常用程序,链表,堆栈,树,图,矩阵等,如果在学习数据结构,强烈推荐

2010-04-08

VC++文档版教程(初级适用)

苏州大学出版社的书籍,附带大量习题,适合vc++的初学者使用。

2009-03-08

空空如也

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

TA关注的人

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