程序员之路
文章平均质量分 54
一直在路上25
热爱技术,坚持才是硬道理
展开
-
Transient的用法
Java transient关键字使用小记1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这转载 2013-12-29 09:52:17 · 2051 阅读 · 0 评论 -
SIP协议
一、SIP协议的背景和功能 SIP( 会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。 SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,改变和终止基于I转载 2013-12-30 18:08:12 · 696 阅读 · 0 评论 -
现在的自己并不代表五年后的自己
自己也快接近毕业的时候了,研二了!作为一个想拿高薪的我来说,毕业无疑对我的压力很大。但是自己一定会坚持下去,好好努力,不管在工作中还是在接下来的研究生生活中,坚持是唯一的选择,悬崖勒马,自己已经无路可退!看了很多奋斗在IT行业的精英们,我向你们致敬,自己也会紧随你们的脚步。在工作中坚持多学多做多思考多交朋友,很喜欢和IT行业的哥们姐妹们接触聊天,因为感觉干IT这一行业的都比较真诚,舍得分享。自己也原创 2013-12-19 22:56:22 · 796 阅读 · 0 评论 -
C++框架
MFC,是微软的;boland的VCL,不过好像已经卖给别的公司了;还有trolltech公司的QT(卖给了nokia),这个支持跨平台。VC和Delphi作为开发平台,很重要的一点就是提供了一个"无所不包"的应用框架:VC的MFC和Delphi的VCL。MFC是用C++写的,VCL是用Object Pascal写的。当然,我们都知道,C++的使用范围比Object Pascal广得多,移植性转载 2014-01-05 17:55:24 · 1055 阅读 · 0 评论 -
wxWindows入门
学习所需的背景知识 1.已经会用 C++ 写些简单程序的人, 并对 OOP (Object-Oriented Programming) 有基本了解.2.知道如何设定编译器, 以及如何连结产生一个可执行档, 如果你写的程序在编译时一直出现 link error 或是 cannot find xxxx.h 这类的讯息, 而你自己无法解决这种问题, 代表你目前不适合学 wxWindo转载 2014-01-05 19:43:52 · 3424 阅读 · 0 评论 -
学习网址
http://www.vckbase.com/index.php/wv/300 这是一个学习C++的好网址!原创 2014-01-05 18:48:37 · 696 阅读 · 0 评论 -
QT学习
1.首先安装Qt4并采用Qt Creator进行开发演示(1)在Terminal中输入: sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer 其中: qt4-dev-tools 中包括了Qt Assistant,Qt Linguist,Qt Creator转载 2014-02-13 16:53:52 · 716 阅读 · 0 评论 -
Win8重装为Win7
预装Win8笔记本改重装Win7的方法|浏览:2452|更新:2013-10-19 11:13|标签:win8 重装 1234分步阅读作为一个计算机老师,今天同学拿了个win8电脑叫我重装,还没怎么玩过win8的我被里面的英文给难了,发现无从下手,找不到Usb启动模式设置。像往常一样转载 2014-02-26 22:51:29 · 1003 阅读 · 0 评论 -
solr4.5单机版+中文分词的部署
进入到 /home/soft/1 下载tomcatwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz2 解压缩tar zxvf apache-tomcat-7.0.42.tar.gz3 下载solrwget http://apache.faye原创 2014-02-26 23:02:20 · 678 阅读 · 0 评论 -
solr4.5单机版+中文分词的部署
进入到 /home/soft/1 下载tomcatwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz2 解压缩tar zxvf apache-tomcat-7.0.42.tar.gz3 下载solrwget http://apache.faye原创 2014-02-26 23:03:39 · 656 阅读 · 0 评论 -
linux C++
初识linux平台C++开发最近工作中,需要在linux上开发C++程序。有了下面的问题。1,linux平台C++开发和win32 C++开发有什么区别呢?2,除了C++语言,数据结构等必须的知识外,还需要些了解什么呢?3,如何在linux平台开发C++应用程序呢?相信许多之前没有开发过linux平台程序的人也会有这些疑惑。下面,就自身的学习和接触,简单介绍一下。由于学转载 2014-03-01 17:58:04 · 2447 阅读 · 0 评论 -
一个路由器下,如何封了同一路由器下别人的MAC地址,不让别人上网
二种方法:一、用软件去设置。二、就是路由器里自带的功能(建议使用第二种)解决方法:在地址栏里输入:http://192.168.1.1 帐户密码通常是:admin安全设置里,开启安全设置,然后,你可以开启相应的过滤方式,建议使用,mac地址过滤。接下来,就是要获取那个人的mac地址。可以在他的电脑命令:ipconfig /all然后把这个人的mac地址填填进去就可以了。这种尽量不原创 2014-03-02 09:44:57 · 2660 阅读 · 0 评论 -
C++服务器端开发技能
Linux C++服务器端开发技术 1、基本知识:掌握C/C++语法,熟悉STL标准库、ACE库、Boost库。2、应用技能:多线程编程、网络编程、Oralce数据库、内存管理、正则表达式。3、内功修炼:算法与数据结构、操作系统、软件工程、 数据库原理、设计模式。4、综合素质:沟通能力、表达能力、人际交往能力、英文阅读能力。5、工具使用:GDB、GCC、Makefi转载 2014-02-17 15:31:36 · 8885 阅读 · 0 评论 -
几个招聘公司
厦门银江智慧城市技术有限公司原创 2014-03-13 22:34:44 · 2104 阅读 · 0 评论 -
what should you be as a programmer?To be the last one and become experienced!
首先,假设这个程序员是一位职场新手甲。他刚大学毕业,没有工作经验。来自产品的需求,他要理解很久才能做。然后开发的过程中会遇到各种问题,如果经验不足以支撑他快速完成任务,那么只能求助于网络,书籍,熟人。如果这些都帮助不了他。他需要求助于同事。但是次数频繁,同事会厌倦于帮他解答;他也会羞于咨询。这时,他一天下来,基本都会卡在一个很简单的问题上。下班了,他还没有完成任务。没错,他需要加班了,因为他的编程转载 2014-04-29 09:09:52 · 580 阅读 · 0 评论 -
迭代器的初识
我们一家指定可以使用下标运算符来访问string对象的字符或vector对象的元素。还有另外一种更通用的机制也可以实现同样的目的。这就是迭代器。除了vector之外,标准库还定义了其他集中容器,所以标准库容器都可以使用迭代器。类似于指针类型,迭代器也提供了对对象的间接访问。就迭代器而言,其对象是容器中的元素或者string对象中的字符。使用迭代器可以访问某个元素,迭代器也能从一个元素移动到原创 2014-03-25 18:45:00 · 489 阅读 · 0 评论 -
C++私有构造函数的作用
很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么? 当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私转载 2014-03-29 17:14:10 · 619 阅读 · 0 评论 -
C++命名规范
C++以及MFC的命名规则基本上是符合匈牙利命名法的,匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称转载 2014-03-18 21:09:49 · 663 阅读 · 0 评论 -
static与extern的用法
static是C++中常用的修饰符,它被用来控制变量的存贮方式和可见性。extern, "C"是使C++能够调用C写作的库文件的一个手段,如果要对编译器提示使用C的方式来处理函数的话,那么就要使用extern "C"来说明。一.C语言中的static关键字在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。(1)修饰局部转载 2014-03-18 22:39:05 · 1641 阅读 · 0 评论 -
vs2008-开发者团队版下载地址
ed2k://|file|%5BVisual.Studio.2008.Team.Suite.%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E6%AD%A3%E5%BC%8F%E7%89%88%5D.zh-Hans_visual_studio_team_system_2008_team_suite_x86_x64wow_dvd_X14-26452.iso|46639042转载 2014-04-15 21:42:40 · 1877 阅读 · 0 评论 -
linux SHELL编程学习
从程序员的角度来看,Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作。在LinuxGUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修功课之一。Linux的Shell种类转载 2014-04-15 20:03:17 · 438 阅读 · 0 评论 -
linux epoll
epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。目录1简介2优点▪ 支持一个进程打开大数目的socket描述符 ▪ IO效率不随FD数目增加而线性下降 ▪ 使用mmap加速内核与用户空间的消转载 2014-03-21 11:50:03 · 654 阅读 · 0 评论 -
VS2008实现QT编程
第一步:安装VS2008,我这里安装的是中文版的VS2008并且也没有安装VS2008 SP1,对于VS2008的安装过程这里省略了。 第二步:安装Qt,访问Qt官方网站http://qt.nokia.com/downloads-cn下载2个软件: 1、下载VS2008编译好的QT4.7版本:http://get.qt.nokia.com/qt/source/qt-wi转载 2014-04-17 15:14:49 · 841 阅读 · 0 评论 -
C++类型别名细节
typedef double wages;typedef wages base,*p;此处把double 声明为wages,wages是double的别名。后面base也是double的别名,*p也是doublle的别名。新标准规定了一种新的方法:using SI=Sale_Items;定义对象时就可以直接: SI item;指针、常量和类型别名如果某个类型原创 2014-03-22 11:19:58 · 770 阅读 · 0 评论 -
GCC编译的四个过程 预处理 编译 汇编 链接
平时在Linux下写代码,直接用"gcc -o out in.c"就把代码编译好了,但是这后面到底做了什么事情呢?如果学习过编译原理则不难理解,一般高级语言程序编译的过程莫过于:预处理、编译、汇编、链接。gcc在后台实际上也经历了这几个过程,我们可以通过-v参数查看它的编译细节,如果想看某个具体的编译过程,则可以分别使用-E,-S,-c和 -O,对应的后台工具则分别为cpp,cc1,as,ld。下转载 2014-04-19 19:20:39 · 2333 阅读 · 0 评论 -
Makefile写作的一种模板
在linux下面,我们不得不自己写makefile,makefile的确博大精深,但是实际上对于日常的使用来说,无非就是1:编译可执行程序。2:编译lib库 3:编译so库本博针对上面三种目的各自写出了makefile模版,希望对大家有所帮助。一.编译可执行程序当前目录下制定文件编译成可执行文件(连接外部库的话只需要更改INC和LIB即可)CXX = g++TARGET转载 2014-04-19 22:01:45 · 408 阅读 · 0 评论 -
linux的权限问题
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 第一个代表文件的拥有者, 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修转载 2014-04-19 22:02:05 · 458 阅读 · 0 评论 -
linux几个经常使用的命令
cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件: $cat file1 file2 > file参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n转载 2014-04-19 22:02:55 · 475 阅读 · 0 评论 -
C++对象的使用
static成员的使用:对于特定类型的全体对象而言,有时候可能需要访问一个全局的变量。比如说统计某种类型对象已创建的数量。如果我们使用全局变量会破坏数据的封装,一般的用户代码都可以修改这个全局变量,这时我们可以用类的静态成员来解决这个问题。非static数据成员存在于类类型的每个对象中,static数据成员独立该类的任意对象存在,它是与类关联的对象,不与类对象关联。static成员原创 2014-03-27 21:42:00 · 583 阅读 · 0 评论 -
进程间通信
一、 为什么进程间需要通信二、 进程间通信方式原创 2014-04-25 09:47:42 · 632 阅读 · 0 评论 -
C++中的内存分布
第一部分 C++内存地址分配简介1 内存地址是从高地址到低地址进行分配的: [cpp] view plaincopyint i=1; int j=1; cout//输出:0012FF60(高地址处) 0012FF54(低地址处) 2 函数参数列表的存放方式是,先对最右边的形参分配地址,后对最左边的形参分配地址。3 Little-endian模转载 2014-04-21 15:17:56 · 544 阅读 · 0 评论 -
招聘的几家公司
都还挺不错的,到了快要准备简历找工作的时候了,好好写下简历,原创 2014-04-19 15:36:35 · 703 阅读 · 0 评论 -
引用作为返回值
引用没有自己的独立空间,它依赖于多引用的变量。如果所引用变量的生命期结束,则该变量是无效、不确定的。返回引用不能返回对局部变量的引用。函数返回引用时,可以作为左值去进行初始化。#include using namespace std;int a[]={0,1,2,3,4};int& index(int i){ return a[i];}int main(v原创 2014-03-25 18:37:54 · 681 阅读 · 0 评论 -
C/S结构的服务器编写习惯
把一些所需的头文件加入到一个统一头文件中common.h。然后把服务器中的绑定主机Ip地址和端口号统一写在一个函数中,在头文件中声明,在.cpp文件中去实现。int tcp_server(const char *addr,int port){ int listenfd; if(listenfd==socket(AF_INET,...)==0) {原创 2014-03-25 18:45:38 · 603 阅读 · 0 评论 -
signal函数声明的理解
先看函数原型:void (*signal(int signo, void (*func)(int)))(int);对于看惯了类似unsigned int sleep(unsigned int seconds);这种声明的人们来说,signal的声明到底是个啥啊?signal是个函数,后面应该是形参啊,但为什么形参后面又来个形参,我们使用的时候可没有后面的(int)啊? 问题就出在这,难以理解转载 2014-04-28 20:54:32 · 2085 阅读 · 0 评论 -
C++11的几个变化
在 C++03 中,声明对象的同时必须指明其类型,其实大多数情况下,声明对象的同时也会包括一个初始值,C++11 在这种情况下就能够让你声明对象时不再指定类型了:[c-sharp] view plaincopyauto x=0; //0 是 int 类型,所以 x 也是 int 类型 auto c='a'; //char auto d=0.5; //double转载 2014-04-28 20:22:35 · 585 阅读 · 0 评论 -
数组n代表的意思
看很多书上写&array[n]代表第n个元素的地址。其实指的是第n+1个元素的地址吧。#include #include using namespace std;int main(){ int array[]={1,2,3,4}; int *p=&array[3]; cout system("pause"); return 0;原创 2014-03-21 21:14:17 · 1568 阅读 · 0 评论 -
Ubuntu搭建开发环境
sudo apt-get remove vim-common sudo apt-get clean && sudo apt-get purge sudo apt-get update && sudo apt-get install vim转载 2014-04-15 10:02:10 · 527 阅读 · 0 评论 -
typedef的常用用法
1.常规变量类型定义例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明2.数组类型定义例如: typedef int array[2];描述: array等价于 int [2]定义; array a声明等价于int a[2]声明转载 2014-04-28 21:00:35 · 550 阅读 · 0 评论 -
从计算机的观点看对象
对象是计算机内存中的一块区域。通过内存分块每个对象在功能上相对保持独立。这些内存不但存储数据,也存储代码。这保证对象是受保护的,只有对象中的代码能访问存储于对象中的数据。这清楚地限定了对象所具有的功能,并且使得对象不受位置外部事件的影响,从而使自己的数据和功能不会因此遭受破坏。对象之间只能通过函数调用也就是发生消息来实现相互通信,当对象的一个函数被调用时,对象执行内部的代码来响应该原创 2014-03-26 12:38:03 · 769 阅读 · 0 评论