自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (8)
  • 收藏
  • 关注

原创 thrift开发踩坑全纪录

使用thrift搭建的系统已经稳定运行了一段时间了,该系统是公司的核心流式系统,高峰时QPS在40万。作为目前最流行的RPC框架,thrift不仅提供了通信协议,同时提供了网络框架,解脱了程序员的生产力。thrift也是阿帕奇Hadoop系列的RPC实现工具。本文主要聚焦在搭建C++实现的thrift系统中,遇到的各种问题。但是thrift在隐藏一些底层细节的同时,也给应用层带来了一些不确

2016-07-30 20:50:20 6652

原创 在阿里云的CentOS环境中安装django

购买了一台阿里云主机,操作系统为CentOS 6.5,准备在上面跑Django做Web开发。由于CentOS自带的python版本较低,安装Django先要安装新版本python,还是费了点周折。

2014-10-08 11:42:54 5893

原创 二分数组的扩展:二分查找循环有序数组

大致思路:先确定单调区间,然后根据判断指定点是否在单调区间内,剪掉另外一半区域~~如此循环。直到循环跳出,或者找到指定值对应的位置为止结束。程序在cygwin下g++上编译通过。#include #include using namespace std;int findPos(const vector& array, int var){ size_t

2014-01-22 11:44:43 2448 1

原创 数组里的正数和负数排序

# coding: gb2312#将数组里的负数排在数组的前面,正数排在数组的后面。但不改变原先负数和正数的排列顺序。#例:input: -5,2,-3, 4,-8,-9, 1, 3,-10;output: -5, -3, -8, -9, -10, 2, 4, 1, 3。A = [-5,2,-3, 4,-8,-9,1, 3,-10];print Alength = len(A)i

2013-06-23 22:48:41 4680

原创 苦逼三流小公司程序员这半年找工作经历(3)——选择offer

本文按照企业规模、性质、规模,分成三类,点评一下遇到的这些公司。也算是为半年找工作经历的一个总结。1,三流小公司    公司规模类似于笔者跳槽前所在企业,性质有外商独资、合资,当然大多数都是民营企业,规模一般20-200人左右。这类企业虽然规模最小,但数量却是最多的,遍布于北京的五道口、上地、学院路附近。    这类公司最大的特点是靠老板或者个别牛人的一己之力接项目养活全公司。对程序员

2012-12-29 16:13:02 22883 35

原创 苦逼三流小公司程序员这半年找工作经历(2)面试题目

换工作的事儿终于搞定了,断断续续找了半年时间,曾经有段时间感到特别低迷,连续被各种各样的理由拒掉,最变态的就是说智力测验没过,让我好郁闷了一阵。那种被打击到开始怀疑自己的感觉实在是不好。        待到11月底12月初的时候,好像一下子峰回路转了。好消息接踵而至,一口气拿了4个offer,包括一家国企,一家美资企业,两家纳斯达克上市的国内企业的offer,顿时有山高月小水落石出的感觉。接着

2012-12-23 14:04:21 25550 38

原创 写一个没有错的二分搜索程序

输入:一个升序的排序后的数组,数组长度,给定的值输出:给定的值在序列中的位置二分搜索的原理都很清楚,关键是写程序的时候边界条件的把握,这个才是面试官考察的重点。int BiSearch(int A[], int len, int p){ int l = 0; int u = len - 1; while( l <= u ) {

2012-12-11 14:40:01 1937 1

原创 合并两个排序链表

题目:将两个已经排序的单向链表合并为一个链表,要求空间复杂度尽可能的小。思路:典型的归并排序思路,需要注意的两个地方时:1,怎样做到新链表不申请新的空间?2,代码尽量简洁?下面是我的解答,希望跟各位网友一起讨论,算法本身是否有优化之处?如何能改进代码风格?#include "stdafx.h"class Node{public: int data; Node* nex

2012-12-05 17:12:26 3424 1

原创 苦逼三流小公司程序员这半年找工作经历

本人09年毕业小硕,南方一所二流大学读的本科和研究生,毕业后就加入了目前所在这家20人左右的小公司,和媳妇一起当起了北漂一族。从今年3月份公司开始发不出工资,就动了找工作的念头,没想到一直找了半年多。这半年QQ好友“猎头”分类的好友数量迅速攀升至20人,也接触到了在北京需要“C++工程师“的各类大小企业,颇有些感触,目前仍然没有找到合适工作,写此文,算是总结这半年找工作心得,同时喘口气,继续努力吧

2012-11-05 09:49:04 10907 4

原创 反转单向链表

反转单向链表分为递归和非递归两种方式。递归的实现方式比较简单,而非递归实现效率较高,在面试时应注意边界条件。 这道题在面试时被要求现场作答的概率还是很大的,比较tricky的地方就是要在当前条件下保存好next of next的指针,如果一时想不起来程序怎么写,可以先自己画个图看看。 // ReverseList.cpp : Defines the entry point for th

2012-11-04 20:01:03 1177 1

原创 编程之美找寻最大的K个数

解法一是最基本的排序算法,本文略过。解法四依赖最大堆这个数据结构,多用于海量数据处理,本文略过。重点实现了解法二和解法三。解法二的思想是利用快排的以O(n)的时间得到某个数组中任意元素序号p,有A[i] A[p], p解法三则从数值的角度采用了二分搜索。是一种不同的思路,相比较解法二,我认为这种方法是实现难度最低的。效率同样也是O(n*lgK)// FindMaxK.

2012-10-31 17:34:37 1403

原创 自己写一个atoi程序

最主要的是要考虑输入条件,程序写出来了远不是面试官的目的。各种异常情况的处理、边界条件的处理,才是面试官主要考察的内容。我所能想到的测试用例有:1,字符串内含有非法字符,非法字符的定义为0-9,- 之外的所有字符2,字符串表示负数3,字符串表示的整数溢出以下是我写的myatoi和UT#include int myatoi(const char* a);vo

2012-10-29 22:10:33 2490

原创 一道算法题:求和为某正整数的所有正整数集合

应该是网易的一道题目?忘记在哪里看到的了。题目的要求是给定正整数M,求所有和为M的正整数集合。如M=5,则输出:1,1,1,1,11,2,22,3这是一道很典型的搜索问题,可以采用递归+回溯的方法来解答。需要注意的地方有两个:首先是必须以递增的顺序搜索数组。其次是要注意递归调用结束后的回退(rollback),下面是我的答案。时间复杂度为O(2^n)

2012-10-24 11:57:41 1257

原创 BiTree 二叉树 基础算法及常见题目总结

1,对二叉树的几个相关概念的理清(概念内容均来自算法导论附录B的内容)(1),树:是一个连通的,无回路的无向图,如果无向图是无回路但是非连通的,称为“森林“  (2),有根树和有序树有根树是一颗自由树,它有一个与其他点不同的结点,为树的“根”,根是唯一没有双亲的结点,没有子女的结点是叶结点或外部结点。有根树结点的子女数称为结点的“度”,结点在树中的高度是结点向下到某个叶

2012-10-11 15:01:19 2728

原创 2012过半,重读2011年度总结

整理硬盘翻出来这篇年度总结,感觉那时的自己还是雄心勃勃的,行百里者半九十,无论怎样,贴出此文,一是避免遗失,放在博客上靠谱一些;另外一个,温故而知新,年终总结在2012年过了一半的时候看一看,也还是很有意义的一件事情。正文开始:2011年一年,flowSIM开发团队从4月份开始全身心投入开发,经过大半年的辛勤工作,在计划时间内(原计划是农历年底,即2012年2月,实际提前2个月)提前完

2012-07-03 11:38:13 1588 1

原创 有关XOR运算

XOR又称为异或运算。运算规则为:和自己相同的数值异或运算为0,不同的为1。异或运算满足交换律,结合律。即 a^(b^a) = b^(a^a)由于异或运算的自反性和满足交换律、结合律,常常被用于一些技巧性较强的应用中,如面试题。下面举几个应用:1,不用中间变量的两个变量交换数值:void inplace_swap(int* x, int* y){

2012-03-12 11:58:54 8351

原创 Trac的傻瓜式配置

由于项目管理的需要想选择一种好的BUG Trace的工具,在网上比较了很久,发现Trac集成了SVN,似乎是比较理想的工具。查了一下Trac的安装指南,竟然要配置Apache,python,SVN,Trac,感觉挺复杂。再一搜索,竟然有all in one 的方案,好不欣喜。http://bitnami.org/stack/trac 提供了安装包和vmware虚拟机镜像。试了一下镜像。

2012-03-12 11:32:41 889

原创 C/C++ 数组变量声明备忘

用习惯了.net, java的人,用C/C++的数组还是很不习惯的。C/C++中数组和指针是等价的,但是在写法上稍有1,形参例如,以数组为形参,有两种写法:int FindMax1(int* Array);int FindMax2(int Array[]);编译都是可以通过的,语义也都一样。但是,在数组的初始化中://非法 int* Array1 = {

2012-02-28 14:09:50 1186 2

原创 中文字符编码之GBK,UTF-16和UTF-8

编程中经常会遇到这三种字符编码形式的相互转换问题,以至于许多第三方的库不明原因的调用失败,其实很多都是由于第三方库支持的是utf-8而不是windows默认支持的utf-16导致的。下面介绍一下windows系统下常见的这三种字符编码方式。GB2312是我们国家自己国标的汉字编码字符集,该字符集以一个16位的2进制数据单元表示一个汉字,所以能够将两个char型数据单元保存一个汉字。

2012-02-10 12:41:05 13467 1

原创 栈随机化

阅读深入理解计算机系统p180页谈到的以栈随机化的方式避免缓冲区溢出攻击。然后做了个简单的实验,输入例子代码。int _tmain(int argc, _TCHAR* argv[]){ int n; printf("address is %p\r\n",&n); return 0;}发现VS下打印出的值总是一样的,而在Linux+GCC下确实如书中所言在一定范围内进行随机变

2012-01-06 09:48:37 2682 1

原创 运用正则表达式将VS 2005中的默认注释换成Doxygen的注释格式

由于一些遗留代码是采用"//"的注释方式,采用正则表达式,可以轻松的变为 /** */这种doxygen的格式 查找内容://{.+}替换为:/**\1*/轻松搞定,体验到了一把正则表达式的强大,灵活运用,可以给coding的工作节省不少时间。

2011-11-16 11:02:59 646

转载 <com原理>与<com内幕>的聚合实现部分。

原文出自:http://www.cnblogs.com/sosopop/archive/2010/07/25/1784613.html觉得写得很不错,转载下 可以聚合的com需要在内部实现一个代理INondelegatingUnknown接口,并在类厂创建第一个接

2011-08-08 09:51:55 606

原创 C++链接几个经常出错的问题

1、全局函数的定义,例如自定义的CArchive& AFXAPI operator{ ar return ar;} 需要放在source 文件.cpp中,而不能放在头文件中,否则会引起链接器重复定义的错误。 2、关于头文件相互包含导致的类型未定义,最根本的解决方法就是避免A.h包

2011-07-22 09:24:48 651

原创 STL的erase操作

<br />http://www.cplusplus.com/reference/stl/map/erase/<br /> <br />Erase elements<br />Removes from the map container either a single element or a range of elements ([first,last)).<br /><br />This effectively reduces the container size by the number of el

2011-04-07 11:55:00 867

原创 SEH和C++的标准错误处理机制

通过看C++编程思想第二卷和Windows核心编程这两本书,懂得了VC++里的异常处理原来是两套机制,原来一直没有把这个问题搞清,白白用了5年C++,惭愧惭愧。一种是C++运行库的异常处理是ANSI的标准异常处理,采用的关键字是try,throw,catch一种是Windows平台的SEH异常处理机制(structured error handling),采用的关键字是__try,__except,__finally应该说C++的标准异常处理是建立在系统实现之上的,SEH比标准处理更底层。而C++标准异常处

2011-02-09 16:54:00 895

原创 为什么有的dll项目链接后不产生.lib文件?

<br />答案:是因为dll库中没有导出的函数

2011-01-28 09:13:00 724

原创 OpenGL关于阴影的几种处理方法

<br />1、super bible的方法,最容易的方法,计算阴影基于点到固定平面的数学推导,缺点是只能计算固定平面的阴影,对于到曲面的阴影就无能为力。<br />2、阴影锥,参见Nehe 27和http://www.zwqxin.com/,采用了算法Z-Fall和Z-PASS,也就是FlowSIM里实现的方法,很不错!

2010-11-15 16:13:00 3343

原创 Gof设计模式之对象结构模式总结

<br />Decorator装饰模式很好的解决了解决了功能模块的多种组合,但是缺点是对各个功能模块的执行先后没有限制。这就有可能导致书中提到的:先穿西装,再穿内裤的问题。Decorator模式的优点在于可以动态的给它的Components添加一一些功能。<br /> <br />Iterater模式很适合组织FlowSIM中的Layer对象。但是需要注意解决迭代器的自动删除问题,方法是将迭代器也包装成一个对象。<br /> <br />Composite模式很适合于组织FlowSIM的路段结构体系,即最简

2010-11-15 16:06:00 670

转载 [转载]关于C++界面库的一点感受

关于C++界面库的一点感受<br />   对于c++开发界面,一直想写点什么,是因为自己一直在想找一个比较理想的界面库,前提是要开源的。<br />     工作中用过MFC做过界面的库,控件都是自己一点点绘制出来的。自己在业余时间参考了skintk及 Free Pool(http://www.codeproject.com/KB/dialog/WndFreePool.aspx),在此基础上增加了动态Dialog,布局,及一些控件实现的改进。<br />总体感觉:<br />    1。skintk是用H

2010-08-25 13:27:00 3752

原创 RITT(运行时类识别)在判断派生类类型中的使用

<br />使用继承类的IsKindOf(CDerivedClass)可以和基类的CBaseClass->GetRuntimeClass进行比较<br /> <br /> 

2010-08-24 14:30:00 668

原创 OpenGL SuperBible读书笔记(Introduction to 3D Graphics and OpenGL)

学习OpenGL的一大难点就是OpenGL里的一些基本概念,需要一定的基础积累Viewports: Mapping Drawing Coordinates to Window CoordinatesRarely will your clipping area width and height exactly match the width and height of thewindow in pixels. The coordinate system must therefore be mapped fro

2010-08-07 20:34:00 623

原创 Release版本的Lnk2001错误的一个另类问题解决方案

<br />在从Debug转为Release版本中,有一个函数报LNK 2001错误,仔细用Dumpbin查了相关DLL库的输出信息,发现函数的参数没有任何问题,怀疑是参数列表中的CString类型参数有问题。<br /> <br />后面一顿乱搜,终于找到原来是MFC共享库惹得货,变成Release版本后,调用程序的配置属性——常规——MFC使用这里变成了“使用标准的Windows库”,导致了Dll中的CString参数类型无法解析。将其改为“在共享DLL中使用MFC”,则问题解决。

2010-07-22 11:42:00 1615 1

原创 PHP的标记符到底是啥?

<br />好多地方的源代码都是<?   ?>,实际证明只有<?php   ?>才好使,咋回事儿?

2010-07-18 22:18:00 884

原创 在虚拟机里测试VC++环境

<br />用VC++开发的程序放在VMWare的Windows XP里测试。<br />提示:“由于应用程序配置不正确,应用程序未能启动”错误。没给任何调试信息。<br />由于之前在虚拟机里测试通过,怀疑是新加的一个开源的GIS库的问题。安装了VC 2005 _Redist,错误依旧。<br />最后在贾工的帮助下,才知道Windows管理中有错误信息的一个报告。在我的电脑-管理-系统工具-事件查看器里。<br />最后装了个VC 2005 Redist SP1,问题竟然莫名其妙的解决了。我 Faint

2010-07-18 22:16:00 1033

原创 SHFILEOPSTRUCT之惑

<br />MSDN关于SHFILEOPSTRUCT的定义为:<br /> <br />typedef struct _SHFILEOPSTRUCT {<br />  HWND         hwnd;<br />  UINT         wFunc;<br />  LPCTSTR      pFrom;<br />  LPCTSTR      pTo;<br />  FILEOP_FLAGS fFlags;<br />  BOOL         fAnyOperationsAborted;<br

2010-06-22 22:25:00 1377

原创 点滴积累: app.config里的配置节

 一定要注意啊!配置节的xml文件是区分大小写的,而且区分的很奇怪,如appsettings是错误的,Appsettings也是错误的,只有appSetttings是正确的,靠,这个问题让我搜了好久,MS是什么破规矩啊

2008-12-23 16:45:00 467

原创 彻底清除SQL挂马的方法

        接到一个很有挑战性的任务:一个网站被Google报告有恶意网站,俺的任务就是将这几行字从Google上抹去!        首先的反应是网页被嵌入了iframe的恶意脚本,但是仔细检查后发现并不存在这样的问题,反而是从Google的诊断上看,数据库里的内容比较可疑。        下载下数据库一看,果然在所有设定长度较大的varchar字段和几乎所有的ntext字段上,都在

2008-11-10 21:48:00 1537 1

原创 SOLOT开发日记(三)

看看上次写开发日记的时间是11月5日,竟然有25天过去了,真是惭愧。这段时间,除了为来北京的诸多烦心事儿奔波,就是在单位做那个大而虚的项目了。还好经过一个星期的努力,一起都已经走上了正规。上下班的车也做顺了,上班不再迟到了。单位同事们都认识了、项目做的也顺手了。今天跟领导谈了谈,言语间似乎有留京的希望,应该是一件好事情吧!每天下班回家,即使再累都要打开VC,写几行代码。就是怕自己把前段时间

2007-11-30 22:41:00 2937

原创 怎样降低文档之间的依赖性

今天读了effective C++,很受启发<!--function fullSize(sURL){ window.open(sURL,scrshot,width=500,height=375,top=20,left=20,directories=no , Toolbar = no, resizable = yes, menubar = no, ScrollBars

2007-11-10 15:40:00 632

原创 关于相互包含的头文件

一直以来,我都为两个相互包含的头文件的问题迷惑着。Link.h#include "Node.h"class Link{private:Node*  m_node;}; Node.h#include "Link.h"class Node{private:Link* m_link;};两个文件的#include语句都放在#ifndef的宏里面

2007-11-07 22:50:00 810

爱上Arduino

爱上Arduino

2013-06-16

Bash4.0参考文档

linux shell目前为止最好的参考文档。

2013-06-05

python核心编程(英文版)

Core Python Programming (2nd Edition).pdf

2013-06-05

AnkhSvn-2.4.11610

AnkhSVN最新版官网下载,由于官方网站经常打不开所以传到CSDN。 AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。而且该插件属于开源项目.

2013-01-03

微观交通仿真软件flowsim3使用手册

Fowsim3.0是一款具有自主知识产权的微观交通仿真软件,提供机动车,公交车专用道,行人与非机动车等交通参与者的微观仿真功能,具有3D输出界面和丰富的统计报表界面。 产品试用版网站www.flowsim.cn

2012-06-12

插入排序并归排序桶排序快速排序

插入排序 并归排序 桶排序 快速排序这些算法书上的经典算法,给出了算法过程,可供测试实际运行效率或者学习算法本身

2012-02-02

ArcObjects GIS应用开发-基于C#

ArcObjects GIS应用开发-基于C#,介绍了ArcObject的基本类库,是采用.net开发AroObject很好的参考文档

2011-10-20

优秀的开源GIS组建MapGISWin

MapGISWin是一个开源的基于ActiveX技术和VC++开发的GIS组建,可以加载、显示.shp文件,支持Ado查询.shp文件内容。下载后运行压缩包里的批处理文件注册ActiveX文件,即可在VB/VC/C#等环境下使用。

2010-08-02

空空如也

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

TA关注的人

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