computer
文章平均质量分 50
GarfieldEr007
这个作者很懒,什么都没留下…
展开
-
微博feed系统的推(push)模式和拉(pull)模式和时间分区拉模式架构探讨
A. 获取微博通过 pull 方式还是 push 方式sns系统,微博系统都应用到了feed(每条微博或者sns里的新鲜事等我们称作feed)系统,不管是twitter.com或者国内的新浪微博,人人网等,在各种技术社区,技术大会上都在分享自己的feed架构,也就是推拉模式(timyang上次也分享了新浪微薄的模式)。下面我们就微博的feed推拉(push,pull)模式做一下探讨,并提出新的时间分区拉模式。 众所周知,在微博中,当你发表一篇微博,那么所有关注你的followers(粉丝)...转载 2021-12-19 10:27:02 · 7892 阅读 · 0 评论 -
深入理解计算机系统9个重点笔记
引言深入理解计算机系统,对我来说是部大块头。说实话,我没有从头到尾完完整整的全部看完,而是选择性的看了一些我自认为重要的或感兴趣的章节,也从中获益良多,看清楚了计算机系统的一些本质东西或原理性的内容,这对每个想要深入学习编程的程序员来说都是至关重要的。只有很好的理解了系统到底是如何运行我们代码的,我们才能针对系统的特点写出高质量、高效率的代码来。这本书我以后还需要多研究几遍,今天就先总结下书中我...转载 2019-11-22 22:04:13 · 611 阅读 · 0 评论 -
正则表达式Regular Expression
《编译原理》第三章习题我们的教材是那本经典的“龙书”:《Compiler: Principles, Techniques, and Tools》灰常灰常喜欢小监老师的课,就是做作业的记忆太痛苦了。。。3.3.2 试描述下列正则表达式定义的语言1) a(a|b)*a以a开头且以a结尾,中间由零个或多个a或b的实例构成的串2) ((ε转载 2016-01-12 13:54:50 · 2333 阅读 · 0 评论 -
用Lex做词法分析
用Lex做词法分析Lex编译器将输入的模式转换成一个状态转换图,并生成相应的实现代码,并存放到文件lex.yy.c中,这些代码模拟了状态转换图。用Lex创建一个词法分析器冲突解决规则:1) 总是选择最长的前缀2) 如果最长的可能前缀与多个模式匹配,总是选择Lex中先被列出的模式。【实验步骤】1、转载 2016-01-12 13:59:46 · 1818 阅读 · 0 评论 -
使用Lex将C/C++文件输出为HTML文件
Lex进阶实验结合 实验:用Lex工具进行词法分析,完成如下要求:输入一个C/C++源文件,输出一个HTML文件,语法高亮显示C/C++源文件。【实验步骤】1、实验环境配置安装Parser Generator,并编译lex和yacc函数库使用向导配置时,用的VS2010,属性设置如下(有些库是用的VC++6.0)Compi转载 2016-01-12 13:59:57 · 2320 阅读 · 0 评论 -
Nginx工作原理和优化、漏洞
1. Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第转载 2016-01-13 14:23:08 · 1616 阅读 · 0 评论 -
硬盘的读写原理
硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA转载 2016-01-13 14:27:39 · 1268 阅读 · 0 评论 -
电脑屏幕显示变得又大又模糊,修改分辨率
电脑睡眠醒来之后,电脑屏幕突然显示变得又大又模糊,开始以为是显卡问题,没记得修改分辨率啊。查看一下分辨率发现分辨率变低了,可能是系统的分辨率变化了。修改分辨率解决:【桌面】-【右键】-【屏幕分辨率】,在分辨率处将分辨率适当调高,我的分辨率大小设置为1440*900正好,点击【确定】使生效。原创 2016-06-06 14:06:55 · 18492 阅读 · 1 评论 -
计算机底层是如何访问显卡的?
1. 显卡驱动是怎么控制显卡的, 就是说, 使用那些指令控制显卡, 通过端口么?2. DirectX 或 OpenGL 或 CUDA 或 OpenCL 怎么找到显卡驱动, 显卡驱动是不是要为他们提供接口的实现, 如果是, 那么DirectX和OpenGL和CUDA和OpenCL需要显卡驱动提供的接口都是什么, 这个文档在哪能下载到? 如果不是, 那么DirectX, OpenGL, CL,转载 2016-06-16 10:29:15 · 6162 阅读 · 0 评论 -
电脑装系统软件清单
电脑装系统软件清单软件:浏览器微信timIDEA IDEpythonnotepad++visio思维导图Enterprise ArchitectTyporaxshellEmEditorGitNavicatSearch EverythingJava JDK企业 IM输入法officeoutlooklistary文件:hosts 文件备份mav...原创 2019-07-01 23:23:45 · 891 阅读 · 0 评论 -
关于 TCP 并发连接的几个思考题与试验
陈硕 (giantchen AT gmail)blog.csdn.net/Solstice前几天我在新浪微博上出了两道有关 TCP 的思考题,引发了一场讨论 http://weibo.com/1701018393/eCuxDrta0Nn 。第一道初级题目是:有一台机器,它有一个 IP,上面运行了一个 TCP 服务程序,程序只侦听一个端口,问:从理论上讲(只考虑 TCP/IP 这转载 2015-12-24 20:01:28 · 1454 阅读 · 0 评论 -
字符编码那点事儿
那时,天下人的口音、言语,都是一样。他们往东边迁移的时候,在示拿地遇见一片平原,就住在那里。他们彼此商量说:“来吧!我们要作砖,把砖烧透了。”他们就拿砖当石头,又拿石漆当灰泥。他们说:“来吧!我们要建造一座城和一座塔,塔顶通天,为要传扬我们的名,免得我们分散在全地上。”耶和华降临,要看看世人所建造的城和塔。耶和华说:“看哪!他们成为一样的人民,都是一样的言语,如今既作起这事来,以后他们所要作的事,转载 2015-12-24 12:40:29 · 993 阅读 · 0 评论 -
TCP 的那些事儿(上)
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相转载 2015-12-15 12:39:02 · 981 阅读 · 0 评论 -
TCP 的那些事儿(下)
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资转载 2015-12-15 12:40:01 · 1171 阅读 · 0 评论 -
电脑卡得厉害,得采取一些措施了
笔记本电脑的硬件配置不是很好,于是电脑有时候就会很卡,尤其是打开网页10+,pdf开很多,同时处理多个文档,或者有时候开个程序的时候。电脑太卡了,会影响电脑的运行效率,一定要想办法提高电脑的运行效率啊。怎么办呢?一、电脑升级,扩充硬件内存升级,换内存条,或者增加内存条。但是不要一味地追求大内存,内存量达到一定程度时,CPU运行速度变成了电脑运行效率的瓶颈。比如,对于高内存低原创 2015-12-29 19:23:07 · 1372 阅读 · 0 评论 -
查看自己电脑可以支持的最大内存量
查看自己电脑的主板可以支持的最大内存存储量一、Windows+R,打开【运行】对话框,输入cmd,确定二、在cmd中输入查询命令在cmd中输入wmic memphysical get maxcapacity接着在cmd中就会显示主板可以支持的最大内存量此处的16777216就是16G=16*1024*1204KB=16777216GB。结果显示中原创 2015-12-29 19:32:16 · 2293 阅读 · 0 评论 -
Nginx模块开发入门
前言Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%。与Apache相比,Nginx在高并发情况下具有巨大的性能优势。Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性。Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTT转载 2016-01-05 13:09:43 · 1229 阅读 · 0 评论 -
跟vczh看实例学编译原理——零:序言
在《如何设计一门语言》里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的。不过单纯讲这个也是很无聊的,所以我开了这个《跟vczh看实例学编译原理》系列,意在科普一些编译原理的知识,尽量让大家可以在创造语言之后,自己写一个原型。在这里我拿我创造的一门很有趣的语言https://github.com/vczh/tinymoe/ 作为实例。 商业编译器对功能和质量的要求都是很高的转载 2015-12-21 12:41:34 · 1815 阅读 · 0 评论 -
跟vczh看实例学编译原理——一:Tinymoe的设计哲学
自从《序》胡扯了快一个月之后,终于迎来了正片。之所以系列文章叫《看实例学编译原理》,是因为整个系列会通过带大家一步一步实现Tinymoe的过程,来介绍编译原理的一些知识点。 但是第一个系列还没到开始处理Tinymoe源代码的时候,首先的跟大家讲一讲我设计Tinymoe的故事。为什么这种东西要等到现在才讲呢,因为之前没有文档,将了也是白讲啊。Tinymoe在github的wiki分为两部分,转载 2015-12-21 12:43:13 · 1435 阅读 · 0 评论 -
跟vczh看实例学编译原理——二:实现Tinymoe的词法分析
文章中引用的代码均来自https://github.com/vczh/tinymoe。 实现Tinymoe的第一步自然是一个词法分析器。词法分析其所作的事情很简单,就是把一份代码分割成若干个token,记录下他们所在文件的位置,以及丢掉不必要的信息。但是Tinymoe是一个按行分割的语言,自然token列表也就是二维的,第一维是行,第二维是每一行的token。在继续讲词法分析器之前,先看看转载 2015-12-21 12:45:00 · 1739 阅读 · 0 评论 -
跟vczh看实例学编译原理——三:Tinymoe与无歧义语法分析
文章中引用的代码均来自https://github.com/vczh/tinymoe。 看了前面的三篇文章,大家应该基本对Tinymoe的代码有一个初步的感觉了。在正确分析"print sum from 1 to 100"之前,我们首先得分析"phrase sum from (lower bound) to (upper bound)"这样的声明。Tinymoe的函数声明又很多关于bloc转载 2015-12-21 12:46:41 · 1765 阅读 · 0 评论 -
解剖CPU
你有没有想过,切开CPU看看里面?有一个瑞典Lund大学的物理学博士生,就真的这么干了,还把照片放到网上。我们知道,CPU里面是几千万到几亿个晶体管,他的目标就是看到这些晶体管。1.他先找到一块Intel公司的奔三(Pentium III)Coppermine芯片,主频800MHZ,生产于2000年。(我查了一下,网上的报价现在是15~30元人民币/块。)下面是这块CPU的正面。你转载 2015-11-24 09:58:59 · 1692 阅读 · 0 评论