编程

每个优秀程序员必须具备的技术技能

我特别支持软件开发者在他们掌握技术技能的同时去学习“软技能”——事实上,我写了一本关于这方面的书——但是不可否认的是:技术技能很重要。

我的意思是,如果你不能编写代码和开发软件,那么你学习众多软技能有个卵用。也许你可以成为一名优秀的管理人员或指导人员,但不会是软件开发人员。…

HTTP文件断点续传的原理

前几天一个同事跑过来找我说,我们在广告素材视频这块想做断点续传,就是这次某个视频缓存到一半,下次不用重头开始,可以在原来停留得位置开始继续下载.以提供更好的用户体验。

同时说需要我们支持吐素材地址的业务接口告诉终端最后修改时间/文件签名(md5),用这个用来判断我当前要下的文件有没有变化,同时告诉终端文件的Size大小.…

一天能学会的实用 IT 技能

注:这个问题特指和计算机打交道的技能。

假期我有很长时间,我想学习很多大约一天就能学会的实用技能。我不期望(一天)精通,但有了良好理解后,我能做些基本操作。比如,我想学习如何使用 Eclipse 的调试器,如何创建 makefile,学习一些重要的 Linux 终端命令。

—— 一位国外网友在 Quora 上的提问。

以下是来自 Quora 网友回复的归纳总结。我们在部分技能下面添加了对应的简明教程与技巧的文章(用黄色背景色高亮了)。由于微信无法添加站外链接,阅读简明教程与技巧的文章,请点击最末尾的「阅读原文」。…

语义化版本 2.0.0

摘要

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当你做了不兼容的 API 修改,
  2. 次版本号:当你做了向下兼容的功能性新增,
  3. 修订号:当你做了向下兼容的问题修正。

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。…

写一个接口应该考虑哪些内容?

我觉得写一个接口应该考虑如下的内容:

  1. 确定 url:是否符合 Restful,是否要符合公司确定的规范?
  2. 确认操作人的权限
  3. 确定要操作的资源的权限
  4. 验证传入的参数:不要相信外面传进来的任何数据
  5. 操作失败的提示
  6. 操作成功的提示
  7. 写文档:如何按规矩写好文档是一件值得花时间和精力梳理的事情
  8. 如何测试接口,用什么数据测试

进程间通信之FIFO

FIFO有时被称为命名管道。管道只能由相关进程使用,这些相关进程的共同祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据

FIFO是一种文件类型(参考http://www.cnblogs.com/nufangrensheng/p/3501533.html)。stat结构(http://www.cnblogs.com/nufangrensheng/p/3501385.html)成员st_mode的编码指明文件是否是FIFO类型。可以用S_ISFIFO()宏对此进行测试。…

线程安全与可重入函数

线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。我们定义四类(有相交的)线程不安全函数。

第1类:不保护共享变量的函数…

什么是代码现代化?

现代高性能计算机由下列资源组合构建而成:多核处理器(/zh-cn/articles/frequently-asked-questions-intel-multi-core-processor-architecture#_Essential_concepts)、众核处理器(http://goparallel.sourceforge.net/ask-james-reinders-multicore-vs-manycore/)、大型高速缓存,高带宽进程间通信结构和高速 I/O 功能。 高性能软件需经过设计,以充分利用这些丰富的资源。 无论是重新构建并/或调优现有应用以发挥最高性能,或为现有或未来设备构建新应用,了解编程模型和高效利用资源之间的相互作用极其关键。 以此为起点,全面了解代码现代化(/zh-cn/moderncode)。 关于性能,您的代码至关重要!…

Page 3 of 1512345...10...Last »