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

“编程基础”文章列表

计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。 但是你不被允许走出大门,你想与外界发生的一...
2013-06-16 15:06:51 阅读:5153 标签:网络
引言 微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针对的是用户之间的关系,关注某个人就意味着你成为他的粉丝,而他成为你的好友;@某个人意味着你想要他看到你的微博信息。 微博被人们认为...
作者: 张雨石   2015-04-15 20:19:41 阅读:5046 标签:机器学习 社交网络分析 算法 微博
还记得我吗,我是阿Q,CPU一号车间的那个阿Q。 今天忙里偷闲,来到厂里地址翻译部门转转,负责这项工作的小黑正忙得满头大汗。 看到我的到来,小黑指着旁边的座椅示意让我坐下。 坐了好一会儿,小黑才从工位上忙完转过身来,“实在不好意思阿Q,今天活太多,没来得及招待你” “刚忙什么呢...
作者: 轩辕之风   2020-05-24 15:48:27 阅读:4812 标签:CPU
一、概念 软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和"信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内核(或其他进程)对某个进程的中断"(《Lin...
2014-05-14 16:28:09 阅读:4773 标签:中断
diff 是 Unix 系统的一个很重要的工具程序。 它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入:$ diff <变动前的文件> <变动后的文件> diff 就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂 diff。 一、di...
作者: 阮一峰   2012-08-30 06:46:39 阅读:4748 标签:diff git
在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及上千个所有回贴中,好像并不是很有争议,而是令人相当的茅塞顿...
作者: 陈皓   2012-05-20 12:56:12 阅读:4682 标签:编程 程序员
英文原文:How a course in operating systems changed me 在普林斯顿大学有很多课程改变了我,就像COS 318(操作系统课程)。它极有挑战,耗时耗力,但是当我学完后回头想想,我很庆幸我选了这门课。 我当初选择这门课程的时候很犹豫,因为周围的人都这么说...
作者: Shubhro Saha   2015-05-29 17:05:55 阅读:4299 标签:操作系统
排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。 目前,最常见的排序算法大概有七八种,......
作者: 阮一峰   2011-12-28 07:26:37 阅读:4246 标签:快速排序 Quicksort Javascript
英文链接:Defensive Programming: Being Just-Enough Paranoid 每当程序员突然遇到某个bug并不知道怎么改的时候,他们会添加一些“防御性代码”来使编码更安全并且更容易找到问题的原因。有时这样做可以消除错误。他们加强了数据的有效性验证——检验输入框、...
2012-06-07 17:14:01 阅读:4202 标签:编程 防御性编程
英文原文:Seven ideas for learning how to program 原文发布于 2010-11-4 中国古代思想家孔子(Confucius)功劳中包括对许多事物发表的见解, 从平凡的幸运饼消息(fortune cookie messages)到明显荒谬的笑话,如“Man...
作者: Chad Perrin   2012-07-07 10:22:30 阅读:4060 标签:学编程
微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口,如UNIX、DOS、Win......
2011-06-17 13:06:21 阅读:4045 标签:微内核 操作系统
英文原文链接:Why Functional Matters: Your white board will never be the same 为什么我们要学习函数式编程?为获得更好的软件设计技术! 一天,我们设计了一个流程,来校对款项的收支平衡。下面这张图就是我们在几年前设计出的结果: 那...
2013-01-17 11:54:18 阅读:4036 标签:函数式编程
作为一个苦逼的程序员,因为种种原因经常需要阅读别人写的代码。您是否有过因代码杂乱冗余而心生厌恶,您是否有过因代码晦涩难懂而抓狂,您是否有过因代码低级的逻辑错误而愤概,您是否有过因代码结构不合常规而需要到处查找,您是否有过因看到几百甚至上千行代码的方法而望洋兴叹,您是否有过因代码缺少注释而猜测以及...
作者: kimylrong   2012-07-05 12:20:26 阅读:3897 标签:代码规范
前言 本文是前一篇文章《深入浅出之正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例......
作者: sema   2011-10-01 12:22:19 阅读:3893 标签:正则表达式 regex
代码质量随想录(一):可读是王道 代码质量随想录(二):必也正名乎 代码质量随想录(三):名字好,误会少 代码质量随想录(四):排版,不只是为了漂亮 写代码也流行注水了么?不是不是,我说的是注释。其实注释这个东西,历史久远。我们可以宽泛一点儿说,《春秋》就是要配上左传的注解,才能兴发其“...
作者: 爱飞翔   2012-06-20 22:49:30 阅读:3889 标签:代码质量 注释
不必被我的标题吓到哈,孔老夫子时代没有电脑。如果有,估计诸子百家们还得针对软件工程抒发一系列代码质量伦理学的教条。 上回文章说到,代码品质改进应该在三个层面上展开,其中最微观的就是代码段的质量考究了。很多时候我在针对一些项目做工程分析和大规模重构之前,首先希望对大概的工作原理有些了解,这个时候...
作者: 爱飞翔   2012-06-15 18:06:55 阅读:3871 标签:代码质量
写完前两篇(一、二)之后,有点小倦怠,因为一方面要整理读书笔记,一方面还要结合自己的思路加以重新表述,颇费周张。不过前两日看到有小朋友过来赞我的文章,说对实际代码有所帮助,还是满欣慰的,本系列随想录的目的之一,就是要营造一个努力改良代码质量的思维环境。 要想让标识符的名称更易理解,就应该多考虑...
作者: 爱飞翔   2012-06-15 18:20:03 阅读:3689 标签:代码质量 代码命名
英文原文:Seven Virtues of a Good Object Marin Folwer 说过:“库本质上是一组可以调用的函数,这些函数现在经常被组织到类中。” 函数组织到类中?恕我冒昧,这个观点是错误的。而且这是对面向对象编程中类的非常普遍的误解。类不是函数的组织者,对象也不是数据...
2015-04-19 21:56:38 阅读:3661 标签:面向对象
今天聊一聊电脑和人脑的并发问题。 在计算机发展初期,CPU的计算能力非常有限,计算资源稀缺而昂贵。最早的时候一个CPU只能同时运行一个任务,这简直让人无法忍受。什么叫做只能运行一个程序呢?这就像大学上自习占座一样,一旦一本书、一张纸、一个包或一个活人占有了那个桌子,其他人就再也没法用了,无论是...
作者: 池建强   2013-08-08 21:35:13 阅读:3646 标签:并发
英文原文:The Cost of an Exception 最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一...
2013-01-30 10:32:55 阅读:3398 标签:Java 异常