如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix下面开发10年的程序员水平会差别很大.我写这篇文章并不是想贬低windows下面开发的人,做windows开发的人看了可能会感觉不舒服,我并不是这个意思,我只是说说我自己的感受,我最早开始学习编程也是在windows下面的, 学的是VB,后来转到VC++,当时用的是VC6.0, 做windows下面的开发5年后转入linux下面做开发的,开始在li…
Linux下有一个方便的c语言程序排版工具,只要选择恰当的参数,可以轻易地使自己的程序具有统一的风格. 当然首先要安装indent,执行命令:apt-get install indent indent参数众多,可以自行查看man文档,下面是我个人使用的命令: indent -i2 -bli 0 -sob -npsl  input.c -o output.c 其中: -i n:设置缩排的格数 -bli n:设置{ }缩排的格数 -sob:删除多余的空白行 -npsl:程序类型与程序名称放在同一行…
如果一个程序员从来没有在linux,unix下开发过程序,一直在windows下面开发程序, 同样是工作10年, 大部分情况下与在linux,unix下面开发10年的程序员水平会差别很大.我写这篇文章并不是想贬低windows下面开发的人,做windows开发的人看了可能会感觉不舒服,我并不是这个意思,我只是说说我自己的感受,我最早开始学习编程也是在windows下面的, 学的是VB,后来转到VC++,当时用的是VC6.0, 做windows下面的开发5年后转入linux下面做开发的,开始在li…
MD5介绍参考百度百科: 摘要如下: MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性. 一个散列函数,比如 MD5,是一个将任意长度的数据字符串转化成短的固定长度的值的单向操作.任意两个字符串不应有相同的散列值(即,有“很大可能”是不一样的,并且要人为地创造出来两个散列值相同的字符串应该是困难的). 一个 MD5 校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性.计算出的散列值拿来和随数据传输的散列值比较.如果两个值相同,说明传输…
来源:伯乐在线 - 酷酷的哀殿 链接:http://ios.jobbole.com/89483/ 点击 → 申请加入伯乐在线专栏作者 从 SDWebImage 谈如何为开源软件做贡献 相识 – 知我者谓我心忧,不知我者谓我何求 今天和别人聊天时,扯到了这个非常著名的开源库.算算日子,我和 SDWebImage 已经认识 3 年零 11 个月了.将近四年的时间,说短不短,说长不长. 作为 iOS 开发者,我接触的第一个库就是 SDWebImage(第二个是 ASIHttpRequest),研究时间…
这个问题来自于QQ网友,一句两句说不清楚,索性写个文章. 我刚开始做Web开发的时候,根本没有前端,后端之说. 原因很简单,那个时候服务器端的代码就是一切:接受浏览器的请求,实现业务逻辑,访问数据库,用JSP生成HTML,然后发送给浏览器. 即使后来Javascript在浏览器中添加了一些AJAX的效果,那也是锦上添花,绝对不敢造次.因为页面的HTML主要还是用所谓"套模板"的方式生成:美工生成HTML模板,程序员用JSP,Veloctiy,FreeMaker等技术把动态的内容添加上去…
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从boost库的划分中可以看出来端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets.所以完全可以和linux一起同步更新gcc版本,而不用担心问题,并且在cygwin/gcc做的东西(不用win32的)可以无缝的用在linux下,没有任何问题.是在windows下开发…
10件在PHP7中不要做的事情 1. 不要使用mysql_函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好得多的mysqli_函数,或者更灵活的 PDO 实现. 2. 不要编写垃圾代码 这一条可能易于理解,但是会变得越来越重要,因为 PHP 7 的速度提升可能会隐藏你的一些问题.不要仅仅满足于你的站点速度,因为迁移到 PHP 7 才让它变快. 为了理解速度有多重要,以及如何把事情做得更好,请看一看我们的文章速度优化…
开发环境选择 vim,vscode,qt,visual studio都可以做linux c++开发,但是作为windows程序员,最熟悉的还是visual stuio,加上visual studio 2019 支持cmake及linu开发,所以最终选择了visual studio 2019 + cmake作为开发环境.同时使用虚拟机中的ubuntu作为编译机. 学习cmake基本用法 学习设置包含路径; 学习设置库搜索路径; 学习设置动态库静态库的导入; 选择boost作为基础库 有许多常用算法…
本文主要来学习内存屏障和 CPU 缓存知识,以便于我们去了解 CPU 对程序性能优化做了哪些努力. 首先来看下 CPU 缓存: CPU 缓存 CPU 缓存是为了提高程序运行的性能,CPU 在很多处理上内部架构做了很多调整,比如 CPU 高速缓存,大家都知道因为硬盘很慢,可以通过缓存把数据加载到内存里面,提高访问速度,而 CPU 处理也有这个机制,尽可能把处理器访问主内存时间开销放在 CPU 高速缓存上面,CPU 访问速度相比内存访问速度又要快好多倍,这就是目前大多数处理器都会去利用的机制,利用处…