- 博客(54)
- 资源 (7)
- 收藏
- 关注
转载 NoSQL数据库面面观
NoSQL数据库现在已经变得非常流行了,在NoSQL这个大概念下实际上包含了大量的方式与项目,旨在实现各种数据库模型,他们与传统的关系型数据库管理系统存在着非常大的差别,而传统的关系型数据库系统是通过SQL的方式来访问数据的。在NoSQL领域中,传统观念中的模式可以通过不同的数据结构来实现,如散列表、数组、树、图等等。术语“NoSQL”最早出现在上个世纪90年代末期,然而真正为大家所熟知则
2013-12-12 22:57:07
1177
1
原创 Redis安装配置详解
1.下载resis包http://redis.io/download2.上传到服务器3.解压编译$ tar xzf redis-2.8.0.tar.gz$ cd redis-2.8.0$ make这里可能会出现一个错误:zmalloc.o:在函数‘zmalloc_used_memory’中:/opt/redis-2.6.16/src/zmalloc.c:
2013-12-04 21:12:28
2404
原创 SUSE Enterprise Server 设置防火墙
~> sudo SuSEfirewall2 stop (关闭防火墙)~> sudo SuSEfirewall2 start (启动防火墙)~> sudo iptables -L (查看防火墙配置规则)1.首先查看端口状态,可以使用命令-># netstat -ano | grep 22 (若查看某个端口,后面可接端口号)2.检查服务状
2013-11-25 16:06:16
4081
原创 Ubuntu下Java+eclipse安装配置
1.下载jdk,直接从官网下载,然后解压$tar zxvf jdk-7u45-linux-x64.tar.gz这里吧java的库安装到usr下面,你也可以安装到自己想到目录下:$sudo cp -r ~/Downloads/jdk1.7.0_45/ /usr/lib/java/编辑profile文件,设置环境变量:$sudovim ~/.profile在文件末尾增加
2013-11-25 13:44:55
6609
原创 Ubuntu下搜狗输入法安装
1.卸载原有输入法sudo apt-get remove fcitx*(如不需保留配置文件用purge) sudo apt-get autoremove(自动卸载依赖软件) sudo dpkg –get-selections | grep fcitx(查询fcitx相关的软件包是否卸载)2.安装sudo add-apt-repository ppa:fcitx-team/n
2013-11-25 13:19:25
1283
转载 intel nvidia双显卡设置(亲测可行)
本人本本Y480N i5 GT650m1.引用论坛帖子 http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=381594&start=30http://linuxkids.xp3.biz/?p=76以下便是针对Y470和Y570的hackish solution。原作者要求提醒用户,这是hackish solution,安装不当可能会损
2013-11-25 13:16:44
12117
1
原创 SUSE Linux Enterprise Server 11 SP3安装详解
下载SUSELinux Enterprise Server,下载地址:http://download.novell.com/Download?buildid=4uiuDMzX0ck~&ref=suse最新的suse11有2个安装盘,第一个为主要安装盘,一般下载这个即可第二个里面包含了一些常用软件,可选下载下载需要注册;下载之后开始安装1,选择从光
2013-11-25 12:58:02
58533
1
原创 华为面经记
我是9月初收到面试通知的,那天下午下班之后,我接到一个人说是华为的,想了解一下我是否愿意去华为工作,本来开始还没打算去华为,一是因为自己才一年的工作经验,二是传闻华为累死人不偿命~~~- -!所以我说暂时还没想过,然后他给我说,电话说不方便,周末啥时候有时间吃顿饭聊聊。我想了想周末反正没事,出去见识一下大公司也好,就约定周末星巴克见面。 不过悲剧的是周末下班晚了,而且还下雨~~~更要命的是根本打不到车~~~,我这人一向是比较信守承诺的,因为约定的是7点,我出来的时候已经六点,加上堵车,估计可能会晚
2010-11-08 13:53:00
36630
151
原创 在防火墙的例外中注册程序(Windows7和XP)
在写程序的时候,经常遇到被防火墙拦截的情况,尤其是一些网络程序,不管是对外访问还是外部连接,都会被拦截。 在大多情况下,Windows会静默拦截外部对内的连接访问,而内部对外的访问会提示用户信息。 现在我们需要把自己的程序加入到防火墙的例外之中去,好让程序之间能够正常通信。 第一种方法是读写注册表的方式: XP下是这几个键值(有的时候貌似只用2个键就行,但情况不同,最保险的方式是这4个键都写): 1. HKEY_LOCAL_MACHINE/SYSTEM/CurrentCon
2010-11-01 07:29:00
10580
1
原创 MySQL常用命令
<br />在使用MySQL过程中需要常用的一些命令,收集起来,方便查看:<br />1.增加新用户<br />语法:<br />mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;<br /><br />权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,pr
2010-10-28 11:45:00
1200
原创 windows下配置Apache+PHP+MySQL绿色移动版
为了方便管理,先新建一个目录,我把他建在D盘下,新建文件夹Web,然后把Apache,PHP,MySQL全放进去。Apache下载地址http://httpd.apache.org/我下载的是Apache HTTP Server (httpd) 2.2.17点击download,选择 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi当然,你也可以下载源代码httpd-2.2.17-win32-src.zip,不过需要自己编译。(我们第一次选择安装版,然后配置好,以后就可以在
2010-10-28 10:37:00
3674
原创 DEBUG_NEW
在 MFC 中,可以使用 DEBUG_NEW 宏代替 new 运算符来帮助定位内存泄漏。 在程序的“Debug”版本中,DEBUG_NEW 将为所分配的每个对象跟踪文件名和行号。 当编译程序的“Release”版本时,DEBUG_NEW 将解析为不包含文件名和行号信息的简单 new 操作。 因此,在程序的“Release”版本中不会造成任何速度损失。 如果不想重写整个程序来使用 DEBUG_NEW 代替 new,
2010-10-22 05:35:00
1383
原创 深入解析父子线程
说起多线程,我们可以说起一大堆和它相关的有趣话题来,比如什么子孙线程关系,父子线程关系,线程同步异步之类的研究话题来,而我今天所说的,是关于父子线程的一些有趣现象。 首先提出一个问题,“在多线程的应用程序中,当父线程结束之后,子线程会不会退出呢?”,本文将围绕这个问题,深入分析windows中父子线程的生命周期及他们之间的关系。 我们知道,不管你使用的是何种编程语言,但当我们在windows下编程,且使用了平台相关性的库的时候,不管我们使用什么函数来创建线程,最终的结果是,我们的代码中都会
2010-10-20 01:18:00
13053
2
原创 网络编程基础(二)——使用UDP
这次使用UDP,同样上代码说明: 在需要使用的地方包含socket库,这里使用winsocket2的库,微软封装处理。 服务器端代码: 客户端代码: 测试环境VS2008+SP3
2010-09-17 09:16:00
1164
原创 网络编程基础(一)——使用TCP
网络编程中最基本的是TCP/UDP协议,而目前比较流行的是使用已经非常成熟socket库来处理。 下面举例说明:客户端代码:int TCPSocket::TCPSocketClient(){#pragma region 初始化套接字 WSADATA wsaData; int iResult = WSAStartup(MAKEWORD(1, 1), &wsaData); //版本1.1 if (NO_ERROR != iResult) { AfxMessageBox(_T(
2010-09-17 09:10:00
1112
原创 单例(单态)模式(C++描述)
单态模式结构简单,但应用非常广泛。 单态模式的主要应用如字符串处理,数据库连接,一个系统的一个打印系统等等。 下面代码具体表述形态:#include using namespace std;class A{public: A() { cout
2010-09-16 10:09:00
1856
转载 安全编程: 防止缓冲区溢出
<br />本文讨论 Linux/UNIX 系统中最常见的缺陷:缓冲区溢出。本文首先解释什么是缓冲区溢出,以及它们为何如此常见和如此危险。然后讨论广泛用于解决缓冲区溢出的新 Linux 和 UNIX 方法 ―― 以及为什么这些方法还不足够。随后将展示 C/C++ 程序中防止缓冲区溢出的各种方法,同时包括静态调整大小的方法(比如标准的 C 库和 OpenBSD/strlcpy 解决方案)和动态调整大小的解决方案,以及一些将为您提供帮助的工具。最后,本文以一些关于缓冲区溢出缺陷的未来发展形势的预测来结束全文的讨
2010-09-03 16:42:00
1512
原创 函数指针
在C/C++中,有一个很有意思的语法结构——函数指针,还有一个与之类似的概念——指针函数。 在语法结构上,函数指针是一个指向函数的指针,而指针函数只是说明他是一个返回值为指针的函数,函数指针可以用来指向一个函数。 举例说明: 指针函数大多这样定义int *fun(int x,int y);他返回的是一个指向整型数据的地址指针,其值是指针; 函数指针大多这样定义int (*fun)(int x, int y);他一般表示为指向数组的首地址,或者是指向函数代码的首地址,指向函数代码
2010-09-03 09:58:00
1319
1
原创 多线程编程(三)——AfxBeginThread
在MFC中,我们可以用到的一个API是AfxBeginThread,它的函数声明原型如下: CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_A
2010-07-28 08:38:00
3772
1
原创 多线程编程(二)——_beginthreadex
对于C++运行库,Microsoft的C++运行库为我们提供了2个API函数: uintptr_t _beginthread( void( *start_address )( void * ), unsigned stack_size, void *arglist ); uintptr_t _beginthreadex( void *security, unsigned stack_siz
2010-07-27 07:25:00
5986
原创 多线程编程(一)——CreateThread
操作系统提供的SDK API CreateThread原型如下: HANDLE WINAPI CreateThread( __in LPSECURITY_ATTRIBUTES lpThreadAttributes, __in SIZE_T dwStackSize, __in LPTHREAD_START_ROUTINE lpStartAddress, __in LPVOID lpParameter
2010-07-27 03:10:00
3399
1
原创 控制台下输出汉字字符和CString字符
我们在控制台下可能需要输出汉字字符串或是CString类型的字符串,可是直接输出显然不行,尝试了下,使用如下方法可正常输出: 关键代码在这一句 wcout.imbue(locale("CHS")); 其中imbue表示设置当前输出字符集的格式,locale("CHS")表示本地字符集格式为CHS,而CHS表示的是简体中文。
2010-07-22 10:42:00
3536
1
原创 让你的程序更加适用——使用ANSI和UNICODE导出函数
继前两篇文章之后,我们更加关心的问题是,我们可能为了方便他人的使用,需要提供ANSI和UNICODE版本的函数,此时,我们可以模 仿Windows的作法,我们只编写UNICODE版本的函数,然后在ANSI版本的函数中,我们把多字符转换成UNICODE字符串,然后调用UNICODE版 本的函数,完成之后,再把他还原成多字符集的字符串。 此处,引用示例,逆转字符串中所有字符的函数: 然后,我们可以在发布的.h头文件中,这样定义函数: 这样,使用我们函数的人,也就
2010-07-22 06:49:00
1521
原创 UNICODE和ANSI字符串的转换
继上集故事《多字符集(ANSI)和UNICODE及字符串处理方式准则 》,我们现在有一些特殊需求: 有时候我们的字符串是多字符型,我们却需要使用宽字符型;有的时候却恰恰相反。 Windows为我们提供了这样的函数来处理这个问题: 1.MultiByteToWideChar 函数功能:该函数映射一个字符串到一个宽字符 (unicode)的字符串。由该函数映射的字符串没必要是多字节字符组。 函数原型:int MultiByteToWideChar(UINT CodePage,
2010-07-22 06:38:00
4028
原创 多字符集(ANSI)和UNICODE及字符串处理方式准则
在我们编写程序的时候,使用最多的是字符串的处理,而ANSI和UNICODE的相互转换经常搞的我们头晕眼乱。 应该说UNICODE是一种比较好的编码方式,在我们的程序中应该尽量使用UNICODE编码方式,我们在编写程序的时候,最好能依据下面的准则来进行: 基本准则: 1.将文本字符串想象为字符数组,而非char或字节数组 2.开始使用通用数据类型来表示文本字符和字符串(如TCHAR,PTSTR) 原因是我们可以在WinNT.h的头文件中找到如下定义(代码有删改): #ifndef VOID
2010-07-22 05:52:00
2694
原创 也谈面向对象编程
在我的工作和生活过程中,我曾经不止一次的被人问到,“什么是面向对象?什么是面向对象编程?”,而后来,我也像他们一样去问其他人同样的问题,可是,他们回答的结果和我当初的相仿一样让人吃惊!我大多可得到如下描述“把一类事物抽象成一个类,这就叫做面向对象编程。”也许,这是很多的初学者毫不犹豫的答案。然而,我并不想反驳你的观点,但如果我问你“面向对象和面向过程有什么异同”,也许,会有不少人回答诸如结构体和类之类异同的研究结果。 然而,事情的真相总是让人吃惊的,假设你在C++语言中使用结构体,你会发现他们几乎和类的结
2010-07-20 06:37:00
959
原创 文件操作系列之六——(CArchive的文件操作)
下面介绍一种特殊的文件操作方式——CArchive。 CArchive的介绍: Allows you to save a complex network of objects in a permanent binary form (usually disk storage) that persists after those objects are deleted. CArchive does not have a base class. Later you can load the object
2010-07-14 02:27:00
6297
原创 文件操作系列之五——(CStdioFile的文件操作)
前面介绍了CFile类对文件的操作方式,本篇来介绍CStdioFile对文件的操作。 直接看这个类的源代码,我们可以发现,这个类是从CFile继承过来的。不过,CStdioFile的最大好处是他读写文件的方式是按照行来进行的。 当你把(0x0A)写入文件的时候,他会写入一对字符(0x0D, 0x0A),而当你读取的时候,他又给你把这一对字符转换成(0x0A)的单一字节。 虽然CStdioFile继承自CFile,但此处应该注意的是,CFile中的Duplicate, LockRan
2010-07-13 08:25:00
2373
原创 文件操作系列之四——(CFile类的文件操作)
CFile提供的是一种无缓冲的二进制文件输入输出服务,他还可以通过他的派生类来支持文本文件和内存信息的传输。 你可以使用CFILE的和他的派生类来操作硬盘的标准I / O流操作,你还可以使用ofstream或其他微软的iostream类格式化文本文件之后在传输磁盘文件。 通常,一个文件通过CFILE的构造函数自动的打开,通过他的析构函数自动的销毁关闭。而他的静态成员函数可以让你在不打开文件的情况下就可以访问文件的状态。 下面直接上代码说明: 读文件: 写文件:
2010-07-13 08:11:00
1181
原创 文件操作系列之三——(windows中的文件操作)
前面介绍了标准C++和C Run-Time Library中文件操作的方式,缺点显而易见,很多的东西和验证需要我们自己进行。 在windows中,系统封装了这些运行库,然后给了我们几个可供使用的API来操作文件。 同样的,windows的SDK大多是面向过程的封装。下面直接上代码: 读文件: 写文件: 示例代码同样简单,不过需要注意的是他们的参数,参数的意义可以参考MSDN的说明,上面有非常详细的描述和例子。 由于我的工程属性是U
2010-07-13 07:45:00
970
原创 文件操作系列之二——(标准C++文件流)
本篇开始介绍面向对象的方式处理文件的方式,不过缺点是开始依赖操作系统和环境,如后面所述的SDK依赖于windows,而CStdioFile依赖于MFC框架语言。 标准C++中操作文件流的方式是Ifstream和Ofstream的输入流和输出流文件类。要使用他们,你可以直接包含fstream头文件,当然也可以根据需要引用他们各自的头文件。 在fstream中,最重要的操作是重载了文件输入流运算符>>和文件输出流
2010-07-13 07:21:00
2052
原创 文件操作系列之一——(C Run-Time Library)
现在要做一个东西出来,因为涉及的知识面比较广,所以需要系统的把知识整理一下,刚好用到文件操作这一块,就整理了一下相关的要点。 操作文件的方式很多,这里重点介绍几个,本次介绍C Run-Time Library的文件操作方式。 C Run-Time Library中操作文件的方式又有两种,一种是直接使用库的API来进行;一种是使用FILE的I/O标准流操作来进行。下面分别说明。 一使用C Run-Time Library库的API来操作文件。因为C Run-Time Library
2010-07-13 07:12:00
2024
原创 Windows编程中的错误处理
Windows编程中获得错误信息 在windows编程中我们的函数往往不如我们想象的那样工作,他经常会出现很多这样那样的问题,一般情况下,我们可以通过他们的返回值来得到他们到底是否发了小脾气: Windows常见的返回值类 型:1) VOID:表明该函数运行不可能失败,Windows函 数的返回值很少是VOID。2) BOOL:如果函数运行失败,返回值是0,否则 返回值是非0值。最好对返回值进行测试,以确定它是0还 是非0,而不是测试返回值是否是TRUE。3) HANDLE:如果
2010-07-09 03:47:00
1539
原创 Socket套接字编程(二)——UDP编程
TCP编程完了,下面轮到UDP了,这个是面向无连接的,更加简单。 先熟悉下流程: UDP型套接字: 服务器端(接收端)程序: 1、创建套接字(socket)。 2、将套接字绑定到一个本地地址和端口上(bind)。 3、等待接收数据(recvfrom)。 4、关闭套接字。 客户端(发送端)程序: 1、创建套接字(socket)。 2、向服务器发送数据(sendto)。 3、关闭
2010-07-09 02:29:00
2053
原创 Socket套接字编程(一)——TCP编程
开始研究网络编程,先从套接字编程开始,这个简单,不过也得会才行。随手写点代码先练练手,没多少技术含量。 服务器端代码: #include #include using namespace std;#pragma comment(lib, "WS2_32.lib")int StartTCPSrv(){#pragma region 初始化套接字库 WSADATA wsaData; int iResult = WSAStartup
2010-07-09 02:19:00
11188
原创 动态链接库(DLL)的使用
例1: DLL编写: Dll1.h #ifndef DLL1 #define DLL1 _declspec(dllexport) int Add(int x,int y); //Add #endif Dll1.cpp #include "Dll1.h" int Add(int x,int y) { return x + y; } Dumpbin: 1 0 00011078 ?Add@@YAHHH@Z = @ILT+115(?Add@@YAHHH@Z) DLL调用1: (包含L
2010-07-06 01:43:00
4095
1
原创 DLL/EXE查看工具Dumpbin
<br /> <br /> 一般情况下,我们需要查看一个DLL或EXE中的包含的函数或是依赖的函数之类的信息,可以使用VS自带的工具dumpbin;<br /> 可以直接在命令行下输入dumpbin就可以查看他的使用说明,如果未显示,可以先运行VS安装目录下的vcvarsall.bat来设置一下环境变量就可以了<br /> <br />Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp. C:/Docu
2010-07-01 13:00:00
33323
2
原创 MySQL插入显示汉字出现乱码问题的解决
前段时间使用vc+mysql做东西,中途发现一插入汉字的话就出现乱码,网上找了很多资料,像在连接字符串的地方设置字符集,发现都没有解决问题,后来研究了一下mysql字符集的结构,终于解决问题。MySQL 服务端不加任何参数启动时,如下面所示(下面中同样显示了我的mysql版本): 我的字符集配置中character_set_database和character_set_server 为utf8,这是由于我本身的Mysql配置文件my.i
2010-06-30 15:24:00
20429
2
原创 字符编码的传说
很久很久以前,西方兴起了一个著名的组织——巫师协会,他们维护者世界的和平,为世界人民提供各种先进的机器和魔法。 后来,在十九世界四五十年代,在巫师协会中,产生了一群年轻的巫师,他们思想先进,精力充沛,他们试图去尝试发明一种可以让机器思考的机器。 开始的时候,他们使用了8个可以开合的电子管来表示不同的状态,他们惊喜的发现,这是多么的有趣和富有实际意义的事情,于是,他们给它取了个名字“字节”。 再后来,为了和“字节”沟通,他们使用了更多的电子管(大约1W多个)来组成了一个巨大的机器,他们发现这台机器工作的
2010-06-25 09:50:00
1420
转载 如何使用live writer客户端来发布CSDN的博客文章?
<br /><br />live writer是写博客的一个客户端工具,由于文章是在本地编写,所以它能够防止文章在发布时发生内容丢失的情况,同时它还可以方便的进行内容排版、插入图片等,排版完成后点击发布,图片也会一并被传到服务器上。CSDN博客支持metaAPI ,所以也可以使用live writer来发布文章。接下来将为大家详细介绍如何配置live writer 。<br />首先下载安装live writer ,最新版本的官方地址是:http://download.live.com/writer 。下
2010-06-18 11:12:00
1333
3
MySQL绿色免安装脚本
2010-10-22
Microsoft Visual C++ 6.0 运行库参考手册
2010-07-13
C/C++大师们的经典问题分析
2010-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人