自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(556)
  • 资源 (12)
  • 收藏
  • 关注

原创 答读者问总结 & 微信群欢迎你

在《大学里最重要的七项学习》这篇广受在校学生欢迎的文章中,李开复说:就读大学时,你应当掌握七项学习,包括自修之道、基础知识、实践贯通、培养兴趣、积极主动、掌控时间、为人处世。 确实,在校时光是一个人一生中最美好的时光,在校园里面,大家不用为生计发愁、不用为世俗所惑,可以尽情在知识的海洋里攫取自己感兴趣的东西。如果四年时光能够规划并利用好,那么大学必将成为一个人事业发展的起点,在大学里面的所学必将让

2015-06-01 18:38:01 2509

原创 轮询算法设计及其代码框架

在实际的软件开发项目中,经常会遇到某模块需要向其它模块发消息的情况。为了减轻消息接收者的负担,我们会采用一种叫做轮询的机制来发送消息。本文介绍轮询算法的流程及其代码框架。1.算法流程 假设消息发送模块为模块A,消息接收模块为模块B。模块A安装了一个,模块B安装了N个。所有模块都同时启动。 算法流程如图1所示: 图1 轮询算法流程2.代码框架static int g_iSendIdx = 0

2015-06-01 09:03:15 6323 5

原创 分批读取文件中数据的程序流程及其C代码实现

一、概述 在实际的软件开发项目中,经常需要处理大量的文件。某些文件中包含了相当多的数据记录数,如作者本人参与过的项目中,一个文件中有好几十万条记录。如果一次性将多条记录读入,则会花费大量的处理时间,且占用大量的内存。 为此,要求对于包含大量数据记录的文件进行分批读取操作,即每一轮读取一定数目的数据记录,待将这些记录处理完成之后,再读取下一批数据。本文介绍分批读取文件中数据的程序流程,并给出了C程

2015-05-29 14:53:51 6765 2

原创 答读者问(28):一位在校本科生有关IT学习的疑问及答复

【来信】 周学长,你好。我现在是南京邮电大学的一名本科生,可以问你一个问题吗?其实我对it这一行业很感兴趣,但我的本专业不是学这个的。我自学完了C++,程度大概是可以写一个很初级的类似学生管理系统这样。然而我不知道之后应该干嘛了。你可以给我一些指点吗?谢谢。【答复】 同学,你好! 你能在大学里面找到自己感兴趣的东西,作为学长,我也为你感到高兴。很多人在大学里面浑浑噩噩地度过了四年,最后发现所学

2015-05-28 09:55:36 2375 12

原创 Nginx学习总结(1):Nginx简介

(最近,部门组织了好几个技术兴趣小组,对当前的热门技术进行研究。我加入了Nginx学习小组,与几个同事一道围绕Nginx来进行研究和学习。从今天起,我会陆陆续续发一系列有关Nginx的学习总结。本文是系列之一:Nginx简介。)一、Nginx概况 1.Nginx是Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。目前最新的

2015-05-26 18:47:38 3087

原创 合并字符串中连续的多个空格的C代码实现

1.问题描述 将某一字符串中连续出现的多个空格合并为一个空格,如果合并之后的字符串的首尾有空格,则将其去掉。 例如,“ This is a string! ”是一个包含多个空格的字符串,要求其变成“This is a string!”的形式。2.C代码实现/********************************************************************

2015-05-23 10:53:59 5585 2

原创 Linux下一个简单的日志系统的设计及其C代码实现

1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件。在日志文件中存放程序流程中的一些重要信息,包括:变量名称及其值、消息结构定义、函数返回值及其执行情况、脚本执行及调用情况等。通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题。因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求。 本文详细地

2015-05-22 15:17:45 20385 36

原创 Linux下获取当前时间到1970年之前某年份的秒数的C代码实现

一、问题描述 在Linux下编写一C程序,用于获取当前时间到1970年之前某年份的秒数。二、C代码实现/********************************************************************** 版权所有 (C)2015, Zhou Zhaoxiong。** 文件名称:GetSecNumBetweenTwoYear.c* 文件标识:无*

2015-05-19 18:42:38 8625

原创 ORACLE和SYBASE数据库中实现数据查询条数限制的SQL语句实现

一、概述 对于某些需要通过数据库与大量数据打交道的软件来说,处理性能相当的重要。为了保证软件能够将所有数据处理完而不至于崩溃,分批处理的思想应运而生。分批处理的具体做法是编写SQL语句,每次返回规定条数的数据给软件处理,待这一批数据处理完之后,再接着处理下一批。 本文通过对具体的数据库表(tb_employeeinfo)的操作过程,展示了ORACLE和SYBASE数据库中分批处理SQL语句的编写

2015-05-18 18:50:43 5959 4

原创 百度全面开放HTTPS之我见

最近,我读到一篇文章《百度全面开放HTTPS的几个重要问题》(http://www.admin10000.com/document/6233.html),作者就百度实现全站HTTPS的十个问题进行了回答。那么,百度为什么要实现全站HTTPS?这样做有什么好处吗?我们先来看看目前互联网安全的现状。 互联网安全现状国内最大的互联网安全公司360发布了《2014中国个人电脑上网安全报告》(http://

2015-05-17 13:38:49 1907

原创 Linux下获取代码文件名、代码所在行数及日期时间的C程序实现

一、概述 在实际的软件开发项目中,为了方便排查程序问题,要求在日志文件中输出日志信息所在的程序文件名及日志代码所在的行数。此外,某些软件还会要求将程序启动时的日期时间输出到日志文件中,方便跟踪软件运行状况。 本文介绍了Linux下获取代码文件名、代码行数及日期时间的C代码实现。二、几个标准预定义宏简介 在C语言中,使用几个标准预定义宏,便可轻松实现获取代码文件名、代码行数及日期时间的功能。

2015-05-14 09:11:57 4464

原创 人人都应该了解的信息简史

记得在本科《通信原理》的第一课,老师曾问了我们一个问题:“大家知道对通信的基本理论做出最大贡献的人是哪一位吗?”大家说了很多人名,但老师都只是摇头。最后,她说了一句:“大家说的都不对,贡献最大的是香农。”也就是在这个时候,我知道了香农,并在这门课上学习了“香农公式”。 后来,我学习了更多的有关“通信”的课程,包括:《微波技术》、《随机过程》和《信息论与编码》等。通过对这些课程的学习,我知道了“信息

2015-05-11 18:44:21 2822

原创 Linux下互斥量加锁与解锁操作的C代码实现

一、概述 在实际的软件程序中,由于代码量较大,函数之间的调用关系较为复杂,因此对于某些全局变量的操作要格外小心。在程序中,一般采用互斥量加锁的方式来保证对全局变量的操作的唯一性。 本文详细介绍了Linux下互斥量加锁与解锁操作的C代码实现,为相关的软件开发工作的开展提供了有益的参考。二、加锁与解锁函数及时间结构体介绍 1.加锁函数pthread_mutex_timedlock 函数原型:in

2015-05-09 10:39:41 9929

原创 Linux下配置文件读取操作流程及其C代码实现

一、概述 Linux具有免费、可靠、安全、稳定、多平台等特点,因此深受广大程序员的欢迎。 为了体现软件产品的灵活性,可添加配置文件存放某些重要的参数,在部署的时候根据实际的安装环境对每个配置项的值进行设置。这就要求程序能够准确读取到各个配置项的值。 本文详细介绍了Linux下配置文件的读取方法及读取操作的C代码实现,为相关的软件开发工作的开展提供了有益的参考。二、配置文件介绍 为了便于程序处

2015-05-07 16:47:57 20159 17

原创 世界这么大,我也来秀秀

最近,在网络上曝出云南一导游因不满游客消费低而辱骂游客的视频,广大的网友在第一时间里了解到了事发现场,并对导游的无礼行为和粗鲁言语表现出了极大的愤慨。相关旅游部门迅速做出了反应,肇事导游也获得了应有的处罚。通过云南导游事件,我们可以看到,在自己身边发生的任何事情,都可以凭借互联网迅速地传播开去。其传播速度之快、传播面之广,可谓是前所未用。生活在这样一个信息时代,我们整天都处于信息的汪洋大海之中,借

2015-05-05 18:50:21 2171 4

原创 一起数据库中过期用户数据堆积问题的排查过程

【文章摘要】对于使用数据库来存放大量用户的软件来说,过期数据的清理机制需要慎重设计。如果设计不当,则会导致数据的误删除或清理不完全。本文对某数据清理模块因参数配置不当而导致的过期用户数据堆积问题进行了详细的分析,为相关软件问题的分析及解决提供了有益的参考。 一、问题描述在某软件系统中,为了让不同种类的用户享受对应的服务,引入了一个信箱服务等级的概念,即不同服务等级的用户具有不同的权限。“一分钱,一

2015-05-04 18:54:55 2479 2

原创 程序休眠问题的C代码实现

问题描述编写代码用于实现程序的休眠,例如,如果要求程序休眠10秒钟,那么在这10秒内程序要一直等待,而不执行任何操作。 解决思路在Linux下,有一个select函数用于实现进程的阻塞,该函数的原型是:int select(int n, fd_set *readfds,fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);可以用

2015-04-30 13:56:23 6181 6

原创 水仙花数&素数&质因数分解的C语言实现

最近,我翻了一下之前的C语言教材,看了三个有意思的小程序,包括:寻找“水仙花数”、判断某数是否为素数、对一个数进行质因数分解。我想把这三个东西放到一个程序中,便写下了此文。 算法步骤1. 寻找“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 2. 判断某数是否为素数。素数是指只能被1和它本身整

2015-04-27 18:49:34 3284 6

原创 我与“百科全书”的故事---祝贺《信息通信技术百科全书》正式出版!

书籍,是人类进步的阶梯;书籍,是人类的精神食粮;书籍,是伴随我们一生的最好的朋友。在一个人骄傲的时候,读书会让你谦虚;在一个人自卑的时候,读书会让你自信;在一个人辉煌的时候,读书会让你珍惜自己所取得的成绩;在一个人落魄的时候,读书会让你重新拾起奋斗的勇气。我从小就酷爱读书,每当看到一些经典书籍的时候,我总是爱不释手,反复地咀嚼书中的词句。曾几何时,我梦到自己也成了一位作家,用自己的文字滋润了大家的

2015-04-24 14:04:57 7359 6

原创 判断输入年份是否为闰年的另一种方法

最近,我在网上看到了一道题目:输入一个从1901年开始到今年截止的年份,判断该年份是否为闰年?对于这个题目,大家应该不会陌生,很多人在学校就应该已经见过了。通常的做法是判断输入的年份是否满足下列两个条件之一:1) 能够被4整除但不能被100整除。2) 能够被400整除。如果满足两个条件中的任意一个,那么该年份就为闰年。程序流程如下图所示: 程序代码如下:/*********************

2015-04-23 19:26:31 7471 1

原创 如何在Windows下使用Linux系统来编译和运行程序?

很多开发人员都有这样的疑问:自己平时是在Windows下面办公的,而自己编写的程序的运行环境又是Linux的,如何从Windows切换到Linux呢?是不是要专门到Linux机器上去编写代码呢?实际上,只要在Windows下安装一个叫做SecureCRT的软件和一个叫做FileZilla的软件,便可轻松解决问题。 SecureCRT和FileZilla简介SecureCRT是一款支持SSH(SSH

2015-04-21 14:38:12 14238 3

原创 同行代码审查之我见

最近,我在CSDN上阅读了一篇叫做《同行代码审查实战分析》文章(http://www.csdn.net/article/2015-01-26/2823698-practical-lessons-in-peer-code-review)。这是一篇译文,作者认为作为专业的软件开发人员,持续提高代码质量是工作生涯不断追求的目标之一。无论我们有多么优秀,都离不开团队;而代码复查是个人与团队的润滑剂。不管你

2015-04-16 17:05:55 2493 3

原创 程序中对密码进行加解密的C代码示例

问题的提出在实际的软件项目中,经常涉及到对密码的处理,如用户登录密码、数据库密码、FTP密码等。为了增加软件的灵活性,一般都要求将这些密码放到一个配置文件中。但密码原文容易记录,若被软件入侵者获取,则后果不堪设想。因此我们不能直接将密码原文填入配置文件中,而要先对密码进行加密,然后将加密之后的密文填入配置文件,等程序读取配置之后再进行解密处理。整个流程如图1所示。图1 加解密总体流程 示例程序流程

2015-04-14 18:46:40 4436 2

原创 让邮件飞一会儿

某一天,你正在埋头苦干,一封邮件嗖地一下发了过来。你打开一看,原来是开发经理要你去排查一个问题。既然老大都发话了,你能不照办吗?于是乎,你极不情愿地放下了手上的工作,打开了另外一个代码工程。很多程序员都会有上面的经历,本来工作得好好的,但邮件一来,自己就被“迫”去做其他事情了。我们对于邮件的态度是“又爱又恨”。在本文中,我们来好好聊一下工作中的邮件。为什么要用邮件?邮件的一个突出的特点就是非实时性

2015-04-13 18:39:47 1786 3

原创 如何描述一张数据表的基本信息?

最近,我和一位同事合作设计数据库表。我们在设计好各个表之后,需要将表的基本信息记录下来,发给同项目组的同事参阅和评审。最开始,我们不是很清楚如何来描述每张表的信息。通过与大家商量之后,我们认为通过如下格式描述数据库表的基本信息比较恰当。本文的可供有类似需求的开发人员参考。要比较完整地描述一张数据表,需要交代清楚这五个部分:总体说明、版本说明、表结构说明、建表脚本、初始化语句。以下以员工信息表为例加

2015-04-10 16:26:57 16564 2

原创 写文件头的算法流程及C代码实现

一、问题描述       将多条记录写入文件中,每条记录占一行。每写入一条记录,要计算当前文件中所有记录的大小(精确到字节)和记录条数,并写到文件的第一行(即文件头)。为了便于区分,文件记录的大小和文件中记录条数各占10个字节,左对齐,不足的位补以空格。 二、算法流程三、C代码实现/**********************************************************

2015-04-09 14:11:51 2445 1

原创 软件开发中的“格调”

在三年之前,我从学校毕业,进入公司,正式开始了软件开发工作。我从完成第一个开发任务的过程中学到了很多东西,包括:1)编写程序只是软件开发中的一个流程,并非全部;2)程序编写需要遵循一定的规范,远远不只是实现功能那么简单;3)程序编写者是程序的第一负责人,要对自己的程序进行充分的自测,而非只要程序编写完成便万事大吉了。大家在学校里面也编写过程序,但那并非规范的软件开发活动。从学校里面的“业余”进化为

2015-04-08 08:55:12 1877

原创 一起空指针引发的程序问题的排查过程

【文章摘要】       在C程序中,指针操作是难点和精华所在。指针一旦使用不当,极有可能造成程序的崩溃。       本文对一空指针引发的程序问题的排查过程进行了详细的介绍,为相关软件问题的分析及解决提供了有益的参考。         一、问题描述       最近,某程序在测试过程中突然崩溃。日志中出现如下内容:       #0  0xf64f2b3a in FunctionA(event=

2015-04-02 18:48:13 2966

原创 C语言中结构体变量之间赋值

最近,我阅读了某新员工小刘写的C语言代码,发现其对结构体变量之间的赋值不是很熟悉。对于两个相同类型的结构体变量,他均采用的是逐个成员变量直接赋值的形式。如下的代码示例:/*********************************************************************** 版权所有 (C)2015, Zhou Zhaoxiong。** 文件名称:

2015-03-31 18:41:33 19677 6

原创 “API”之我见

最近,我读了CSDN上面的一篇文章《API:互联网是如何在幕后工作的?》(http://www.csdn.net/article/2015-01-26/2823692)。作者认为,没有API,应用之间的通信将会被扼杀;软件开发者将不断重写并执行相同功能的软件;创新的脚步将会放缓。        确实,在大型的软件系统中,API随处可见。大到一个软件系统,小到几行程序,只要具备了一定的特征,都可以被

2015-03-30 15:09:25 1539

原创 答读者问(27):一个大一学生有关未来规划的疑问及答复

【来信】周老师:您好!我是山东大学计算机科学与技术学院的大一新生,自从选择了这个专业以后,经常需要看别人的技术博客来学习知识,看到您的博客后十分敬佩,您这种工作勤奋又乐于帮助他人解决疑惑的精神实在是令人敬仰。学生有个关于大学学习方向的问题,想了很久,但是还不是很清晰。一直想给您写信咨询,但又怕耽误您的工作,在这里先谢谢您能为我看这封信了。首先介绍一下我的情况。1)我大学四年的目标:不读研究生,直接

2015-03-28 11:40:20 3345 4

原创 答读者问(26):一个研一学生有关编程语言及未来工作的疑问及答复

【来信】        学长,你好!        打扰你了,我是南邮计算机学院研一学生,一年前就关注你的微博,感觉你的博客内容很有质量。想请教你几个问题:        1. 我现在比较迷惑,主要面临一个选择问题,以前我学通信的,java、C++一点都没有学过,C语言有点基础,但是从来没有实际应用过,现在就想学一门程序语言设计,宿舍人都学java,都说java简单,工作好找,他们也都有java基

2015-03-27 16:47:04 1994

原创 如何设计软件模块的自动化测试?

一般的软件模块分为消息触发型和主动扫描型两类。本文对这两类软件模块的自动化测试过程进行了详细介绍,为相关模块的自动化测试的设计提供了有益的参考。

2015-03-26 15:24:16 2922

原创 Windows下一个简单的日志系统的C代码实现

问题描述       实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下:       [时间]+[文件名]+[日志等级]+日志具体内容       如:       [2015.02.2514:35:13.143][WriteLog.c][INFO]This is a test!       其中,“2015.02.25 14:35:13.143”为当前时间(精确到毫秒

2015-03-24 15:40:50 7378

原创 非直连方式下C语言程序与数据库的消息交互流程

【文章摘要】       在《如何在C语言里面执行SQL语句?》(http://www.zhouzhaoxiong.com/116.html)一文中,我介绍了直连方式下C语言程序与数据库打交道的过程。       本文简单介绍非直连方式下C语言程序与数据库的消息交互的流程,供大家参考。         一、消息交互总体流程        非直连方式,也称异步方式。顾名思义,在这种方式下,C程序不直

2015-03-23 19:12:10 2315

原创 一段激动人心的旅程–读《硅谷百年史》有感

硅谷,对于大部分IT工程师来说,是一个神秘、陌生,但又令人心生向往的地方。确实,数不清的创造发明从硅谷走出来,改变了人们的生活。那么,硅谷到底是一个什么样的地方?它为什么会成为IT领域的圣地?它的前世今生究竟是怎样的?《硅谷百年史》一书为我们带来了答案。       《硅谷百年史》以编年体的顺序,详细地记述了从1900年到2013年在硅谷这片土地上所发生的重大的科技事件,读来让人心潮澎湃、热血沸腾

2015-03-23 16:53:24 2887

原创 生成随机密码的C代码实现

问题描述        某些软件在登录的时候,经常会要求用户输入一个系统发过来的随机密码(或称校验码),用于对用户的身份进行校验,防止恶意登录。        要求用C语言生成一组长度为6位的随机密码串。         rand函数简介        rand函数是真正的随机数生成器,它会返回一个范围在0到RAND_MAX(2147483647)之间随机数值。        该函数的原型为:in

2015-03-21 14:12:37 5614

原创 一种对软件模块进行单元测试的方法

【文章摘要】       在软件的开发阶段,单元测试是确保代码质量的重要方法。因此,掌握基本的单元测试方法是对一个软件开发人员的基本要求。       本文基于作者的实际项目经历,介绍了一种采用得比较多的单元测试方法。         一、软件模块概述        在实际的软件系统中,各个模块之间的关系可以用错综复杂来形容。根据模块之间有无消息交互,可以将软件模块划分为以下四类。       

2015-03-21 10:56:34 7238

原创 一起话单业务量下降问题的排查过程

【文章摘要】       最近,某局点支持人员反映某模块重启之后话单业务量下降,希望研发人员帮助查找问题原因。       本文对该问题原因的查找过程进行了详细的介绍,为相关软件问题的分析及解决提供了有益的参考。         一、问题描述       在某局点,有一个软件系统实现话单的生成功能。某天,该局点的现场支持人员发来邮件,反映现场某话单分拣模块重启之后生成的话单的量较之前有大幅度的降低

2015-03-21 10:45:54 2013

原创 未雨绸缪,轻松前行–读《逆袭大学—传给IT学子的正能量》有感

认识贺利坚老师,是从阅读他的CSDN博客(http://blog.csdn.net/sxhelijian?viewmode=contents)开始的。作为一名计算机专业的老师,贺老师在做好自己本职工作的同时,不遗余力地为广大的IT学子答疑解惑,真正地饯行了“师者,所以传道授业解惑也”这个古训。       去年3月,听闻贺老师的专栏“IT学子成长指导”已被整理成书出版了,并且作为CSDN举办的畅想

2015-03-21 10:39:47 2995

《开发实战中的C语言--基础篇》PPT

《开发实战中的C语言--基础篇》视频教程配套的PPT。

2017-04-16

《开发实战中的C语言--基础篇》课程各章示例代码

《开发实战中的C语言--基础篇》课程各章示例代码,课程链接为:http://edu.csdn.net/course/detail/3810

2017-02-26

《虚拟化与云计算》学习笔记

该文档是《虚拟化与云计算》的学习笔记,能够让读者对云计算技术有一个大致的了解。

2012-08-26

软件工程——实践者的研究方法

该文档是“软件工程”权威资料的学习笔记,能够让读者对“软件工程”有一个全面的了解。

2012-02-14

空空如也

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

TA关注的人

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