硕士研究生毕业于南京邮电大学计算机应用技术专业,曾在中兴通讯从事软件开发工作,现就职于重庆某物联网技术公司,任高级嵌入式软件开发工程师。著有《C程序员从校园到职场》一书,同时也是《信息通信技术百科全书》的编者之一及CSDN博客专家。QQ(微信):245924426。
最近,我阅读了CSDN知名博主莫雨在2013年出的一本书,叫做《一个程序员的奋斗史》。本书是根据作者的CSDN博客专栏《一个程序员的奋斗史》(http://blog.csdn.net/column/details/novelnorains.html)改编而来的。
有一次,我被问到了一个貌似脑筋急转弯的问题:“树上有五只鸟,猎人开枪打死了一只,请问树上还剩下几只鸟?”本文给出了我的答案。
前段时间阅读了吴军老师的《文明之光》精华本,最近我又一鼓作气地阅读了他的《硅谷之谜》一书。 在本书刚出版的时候,我就在第一时间里购买了,并且几乎一口气读完了它。
不定时地在Linux机器下的某目录中放入文件,文件内容中包含了用户号码、起止时间等字段,编写一程序来统计目前该目录中所有文件中的记录总条数及所有记录中的最早起始时间和最晚结束时间。
在Linux系统的某个源目录中有一批后缀相同的文件,编写程序将这些文件按照前缀分发到不同的目录中。
本文用实际的C代码示例了简单的数据入队列和出队列的方法,大家可据此了解队列的实际用法,也可参照来实现更加复杂的队列操作。
编写shell脚本实现Linux下不同目录(路径)之间的文件的剪切(移动)操作。
2011年10月2日,我在CSDN博客上发表了自己的第一篇博文,从此之后,CSDN博客就成了我分享技术、观点和感悟的“前沿阵地”。
最近,我参加了几个C语言代码的评审会,发现了代码中一些共同存在的问题,特总结下来,供相关的开发人员参考。
shell脚本在基于Linux的开发中有极为广泛的应用,因为它靠近底层,执行效率高、部署方便。本文中的脚本也可以作为定时任务部署到机器上,让它在每天的同一个时间里自动执行。
live555是一个用C++程序编写的开源项目,支持TCP、HTTP、RTSP等协议,非常适合用于对视频数据的采集和播放,已经被成功应用到很多的视频播放器中。
在程序进行具体的操作之前,一些初始化操作是必不可少的。本文中的示例只是涉及到检查配置文件和读取日志配置项两个操作,在实际的应用中可能还会有初始化数据库参数、建立与其他模块的通信链路等操作,这要视不同的程序而定。
日志系统在软件程序中占有非常重要的地位,日志文件是排查程序问题的主要工具,是程序调试的利器。日志编写的总体原则是简单清晰、便于排查问题。作为一名合格的软件开发工程师,一定要学会日志函数的灵活调用及准确通过日志文件来定位程序问题。
对于任何一个软件公司来说,几乎在所有的软件项目中,都需要同行评审。一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等也不会是十全十美的。如果能够让懂行的同事给参阅一下,并提出他们认为正确的意见,那么势必会弥补单个开发人员思维的缺陷,并在一定程度上提高程序和产品的质量。
写好求职简历,是我们事业起步的第一步。最近,我和同事一起阅读了一些应聘前端开发人员的简历,发现很多简历都存在相同的问题。在这篇文章中,我罗列出我认为简历中存在问题的地方,供大家参考。
需求、开发和测试虽然各自做着不同的事情,所关注的点不一样,有时还有可能会出现意见不统一,但大家都有一个共同的目标:将产品做好。也正是这个共同的目标让需求、开发和测试之间的合作大于对抗、理解大于分歧,也正是这个共同的目标让软件产品这个“鼎”的三只“脚”永远平稳和牢固。
本文以一个实际的程序为例,介绍了用gdb分析core文件的方法和步骤,同时演示了常见gdb命令的操作方法。
最近,因为项目的需要,我们购买了广州致远电子有限公司的M6708-T工控板(预装Linux系统),准备将sqlite3移植到本嵌入式开发板上。
最近,我阅读了《史蒂夫·乔布斯传》一书作者艾萨克森的新书《创新者》,本文分享一下我读完此书的感想,同时也推荐大家阅读一下这本书。
连续几周的接近四十度的高温席卷了山城,让广大的市民终于体验了火炉的滋味。期待已久的降雨尚未来临,白天的街道几乎成了无人区,只有在早上和晚上才会有人拿着蒲扇来回散步。
最近,我参加了CSDN举办的“从高考到程序员”征文活动,获赠了一本图书。在众多图书中,我选了《算法神探》,觉得这本书从名字上来看就比较有意思。
自从“罗辑思维”栏目从优酷网站搬到得到APP并且变为每天几分钟的节目之后,我就很少收听它了。某天,我打开得到APP,并且点开了“罗辑思维”的节目清单,发现有一期的标题包含了“人工智能”这几个字。
对于基于Linux操作系统的开发者来说,多线程是一个在开发和面试中不可避免的、被广泛讨论的话题。
今年6月6日,苹果公司在美国举办了一年一度的全球开发者大会(WWDC)。作为一位苹果产品的用户,我利用空余时间观看了本次开发者大会的完整视频,很受震撼,这里与你分享一下个人的看法。
(本文参加CSDN的“从高考到程序员”征文活动,谢谢!) 每年的六月初,有关高考的信息就会见诸于报纸、网络等,让我这位多年之前参加高考的、已工作多年的人不由得也回忆起了自己高考时的情景。
大家都知道在计算机中,数据的常用编码格式有二进制、八进制、十进制和十六进制等,这些编码格式之间可以相互转换。
在互联网软件前端与后台进行消息交互的过程中,需要有一种标准的数据交换格式供前后端采用。在众多的数据交换格式中,JSON(JavaScript Object Notation,JS 对象标记)是应用得比较广泛的,它采用完全独立于编程语言的文本格式来存储和表示数据。
“一个程序员的成长史”系列文章已经有27篇了,很多读者在问为什么好几个月都没有更新了呢? 具体原因有如下几个: 第一,作为父亲,我的大部分空余时间都用来带娃了。
想必搞音视频的朋友都知道ffmpeg,在这里我就不对它进行详细的介绍了。本文基于我们在Linux系统中安装部署ffmpeg的实际经验,给出了ffmpeg编译安装说明,并给出了实际的编程说明。
最近,因为工作的需要,我们用Nginx+FastCGI部署了一个高性能的Web服务器。在部署的过程中,我们遇到了很多问题,也参考了一些文章,发现很少有文章将整个编译部署的过程讲清楚的。
随着城市化进程的加快,新能源汽车呼之欲出。在笔者所在的城市,力帆和长安等公司都先后推出了可供市民租用的电动汽车。
三月的重庆到处弥漫着浓浓的春味,在这个春暖花开的季节里,人们在闲暇的时间都忙着踏青和春游。“一年之计在于春”,春天是赏花旅游的季节,春天更是为未来作打算、定计划的时候。
代是雄一直等着唐师傅的答复,可得到的却是一份开发人员常用的软件工具的清单。唐师傅说,“工欲善其事,必先利其器”,从代是雄对之前所提问题的回答来看,他觉得代是雄的基础还不错,可以开始通过阅读实际的程序代码来学习了,但还有一个预备工作就是安装软件工具。
【课程1】:开发实战中的C语言--基础篇 【课程介绍】 本课程基于实际开发中的编码规范及研发流程,对开发实战中的C语言进行了详细的讲解,课程内容主要包括:C语言概述、学校到职场、程序的样式 、变量和函数、内存操作、文件、指针和结构体、算法和协议、程序重构、SQL语句和Shell命令、程序问题排查等。
对于大部分人来说,2017年的春节只有七天假期。但对于我来说,却有将近半个月的时间(具体原因以后再说)。
Google(现在也叫做Alphabet),一个在IT行业令人闻风丧胆而又充满神秘感的公司。在这个公司成立了十几年之际,两位高管(或者叫做前高管)合作写了一本书,翻译过来的中文名叫做《重新定义公司》。
看完了两份规范文档,代是雄将学习心得写成了一个Word文档发送给了唐师傅。在这个文档中,代是雄首先将规范中的一些要点罗列了出来,然后说了一下自己对于编码规范的认识。
看完了《C语言编程规范》,代是雄接着看《数据库编程规范》。之前赖科长和邹总都说过,本项目组开发主要涉及到的技术就是C语言和数据库,既然有了C语言的编程规范,那么就会有对应的数据库的编程规范。
看了代是雄对这几个问题的回复之后,唐师傅叫代是雄先熟悉一下办公的电脑及一些办事流程,他要找一些资料作为培训计划中的材料。
看到邹总发的邮件之后,唐师傅马上在公司的内部即时通讯工具zQQ上给代是雄发了一个消息,问他对于计算机的基础知识掌握得怎样。
解决完了肚子的问题,代是雄又回到了座位上,继续翻看那本他好几次试图翻看的《C程序设计》。这次,代是雄还是未能如愿,正在准备阅读第一页的时候,邹总又走了过来,叫代是雄和另外一位员工到他的位置上去一下。
“走,我们一起去开个会”,邹总的话把代是雄从沉思中拉了回来,代是雄这才发现刚才自己想得太多了,拿在手上的书一页都没有看。
工作久了,我发现了这样一个事实:身边不乏有掌握了好几门编程语言的程序员,但很少有对计算机基础知识了如指掌的程序员。
在代是雄的殷切期盼之下,在张工蜗牛般的工作速度之下,操作系统终于安装好了。系统装好之后,代是雄看了一下,发现在Win7已经很流行的2012年,张工居然给他安装的是XP系统。
“一个程序员的成长史”系列文章已经断断续续写了一年多的时间了,现在已经更新到第16篇了。在每一篇文章发布之后,总会有一些读者通过博客留言、微博、微信、QQ等方式发表他们的意见,在此,我对大家的支持表示感谢。
走出公司大门口之后,代是雄看到很多人都朝着一个方向走去。代是雄比较纳闷,于是便问保安这是什么情况。
“你有什么实际的项目经验吗?”赖科长继续发问了。 “我上学的时候在一些公司实习过,具体参与的项目不方便说出来。
看到代是雄在专心致志地听自己讲话,幸部长心里暗自高兴:看来自己的“忽悠”又成功了。于是乎,幸部长决定趁热打铁,让代是雄尽快进入工作的状态。
在Swift中,使用if和switch语句来进行条件操作,使用for-in、for、while和repeat-while语句来进行循环。
常量是在程序运行过程中,不会被修改的量。也就是说,常量一经赋值,就不能再次赋值了。 变量是在程序运行过程中,可以被多次赋值的量。