您的位置:知识库 » 编程基础

“编程基础”文章列表

H.264/MPEG-4 AVC(H.264)是1995年自MPEG-2视频压缩标准发布以后的最新、最有前途的视频压缩标准。H.264是由ITU-T和ISO/IEC的联合开发组共同开发的最新国际视频编码标准。通过该标准,在同等图象质量下的压缩效率比以前的标准提高了2倍以上,因此,H.264被普遍...
2012-12-30 15:23:23 阅读:25840 标签:H.264
英文原文:The world’s two worst variable names 作为一个程序员,“起名字”是他们工作中非常重要的一部分。Phil Karlton就说过:“在计算机科学领域,有两大难题,如何让缓存失效(cache invalidation)和如何给各种东西命名。”虽然很难,但...
作者: Andy   2012-08-07 16:25:40 阅读:25423 标签:命名
前言 由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总觉得难以阅读。毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用。因此很多人在写的时候...
作者: Myths   2017-08-05 16:39:32 阅读:24492 标签:Shell Linux
英文原文:You Probably Don’t Need a Message Queue 我是一个极简主义者,我不喜欢过早或者没必要地让软件复杂化。而往软件系统中添加组件就是严重增加复杂性的一种做法。我们来拿消息队列举个例子。 消息队列是一个能让你获得容错性,分布式,解耦等架构能力的系统。纸...
2014-07-10 17:01:34 阅读:24081 标签:消息队列 编程
英文原文:What and where are the stack and heap? 问题描述 编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么...
2014-08-14 15:13:19 阅读:22925 标签:堆栈 编程基础
最近想复习一下JVM的知识。然后发现网上不少文章在写JVM的垃圾回收算法时,都比较偏向于具体实现,而少有站在更高角度来看垃圾回收算法的文章。而我本人想对垃圾回收算法有个全景的认识,所以,就找到了这本《垃圾回收的算法与实现》(以下简称《垃圾回收》)。本篇博客就是尝试对“全景”的总结。 以下为方...
作者: 翟志军   2017-02-26 14:05:33 阅读:22813 标签:垃圾回收
也许,只需这一篇文章,便能让你全面的认识操作系统! 在阅读本文之前,推荐阅读“自己动手制作4位计算机”。目录:1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。5. 线程的实现方式. (用户线程与内核线程的区别)6...
2014-06-29 11:31:24 阅读:21689 标签:程序员 操作系统
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问: 1.什么是TCP/IP、UDP? 2.Socket在哪里呢? 3.Socket是什么呢? 4.你会使用它们吗? 什么是TCP/IP、UDP? TCP/IP(Tran...
作者: 源码工作室   2013-09-20 13:21:40 阅读:21640 标签:Socket
前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,...
作者: lmh12506   2013-07-08 16:49:20 阅读:21404 标签:服务器模型
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。 因此,无论如何,我们都要对内存有一个清晰的理解。 一、对内的分配 32位操作系统支持4GB内存的连续访问,但...
作者: it笨笨   2012-12-13 17:44:33 阅读:20906 标签:内存
一、广泛了解,从科普书籍开始 选择计算机专业的同学,也许是因为原先有一定的基础,也许是因为一时的激情,但更多的人,可能对自己的选择没有深刻的认识,或多或少对计算机专业有一些神秘的感觉。自己究竟是否喜欢这个学科?才华能够在哪个分支领域有所施展?抑或是真的不适合这个专业?诸多疑问,解决的方法首先便...
作者: 林建   2013-08-26 12:08:45 阅读:20389 标签:学编程
英文原文:Imperative vs Declarative 先统一一下概念,我们有两种编程方式:命令式和声明式。 我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要...
作者: Philip Roberts   2014-04-04 08:47:28 阅读:19877 标签:声明式 命令式
数学是美丽的,哪里有数哪里就有美。 数学的定义是研究数量关系和空间形式的一门科学。但有句名言说:数学比科学大得多,因为它是科学的语言。数学不仅用来写科学,而且可用来写人生。所以说数学是一切学科的基础,是核心学科,就像人们知识金字塔的底部垫基石,所以数学被誉为科学的皇后。 数学分基础和应用两部...
作者: 李霞   2013-11-23 17:47:09 阅读:19340 标签:数学
英文原文:NASA’s 10 Coding Rules for Writing Safety Critical Program 译/ 大愚若智 美国宇航局(National Aeronautics and Space Administration,缩写为 NASA)是美国联邦政府的一个独...
作者: Gerard J. Holzmann   2017-11-02 11:00:51 阅读:18934 标签:编码原则 NASA
任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供...
作者: 张洋   2015-01-07 09:17:28 阅读:17887 标签:C malloc 操作系统
英文原文链接:“How much math do I need to know to program?” Not That Much, Actually. 下面是我在reddit的子论坛r/learnprogramming看到的几个帖子: ● “要成为一个优秀的程序员需要学习多少数学?” ...
作者: Al Sweigart   2012-07-29 12:12:45 阅读:17674 标签:编程 数学
很多人常常对TCP优化有一种雾里看花的感觉,实际上只要理解了TCP的运行方式就能掀开它的神秘面纱。Ilya Grigorik在「High Performance Browser Networking」中做了很多细致的描述,让人读起来醍醐灌顶,我大概总结了一下,以期更加通俗易懂。 流量控制 传...
作者: 老王   2014-01-08 22:43:14 阅读:16988 标签:TCP
IP地址的作用是标示计算机的网卡地址,每台计算机都有一个IP地址;端口,是指计算机中为了标示在计算机中访问网络的不同程序而设的编号,并不是网卡接线的端口,而是不同程序的逻辑编号,并不是实际存在的;域名,是用来代替IP地址来标示计算机的一种直观名称,例如百度网站的IP地址是202.108.22.4...
作者: 生活费   2013-09-27 14:34:09 阅读:16522 标签:socket
文 / 余晟 作者在 IT 业从业多年,翻译过多本技术图书,对英语的学习方法也有颇多积累。在本文中,他更是敞开心扉,分享了自己压箱底的三大绝技。 总的来说,程序员算是英语水平比较好的群体,因为在这个行业,英文资料是最全面、最及时、需求也最迫切的。因此,据我观察,即便刚入门不久的程序员,面对陌...
作者: 余晟   2012-03-09 21:30:00 阅读:16112 标签:学英语
上一篇文章,我介绍了KMP算法。 但是,它并不是效率最高的算法,实际采用并不多。各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。 Boyer-Moore算法不仅效率高,而且构思巧妙,容易理解。1977年,德克萨斯大学的Robert S. Boyer教授和J ...
作者: 阮一峰   2013-08-28 17:22:37 阅读:15362 标签:算法