Baker

《深入理解计算机系统(原书第2版)》 分享下载

点点圈 提交于 2021-01-07 00:52:01
书籍信息 书名: 深入理解计算机系统(原书第2版) 原作名: Computer Systems: A Programmers Perspective 豆瓣评分: 9.7分(2675人评价) 标签: 计算机系统,计算机,计算机科学,操作系统,操作系统&体系结构,编程,体系结构,程序员,深入理解计算机系统(原书第2版),免费,程序员书籍,编程,pdf,电子书 内容简介 本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。 本书的最大优点是为程序员描述计算机系统的实现细节,帮助其在大脑中构造一个层次型的计算机系统,从最底层的数据在内存中的表示到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户态应用。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好地理解程序的行为为什么是这样的,以及效率低下是如何造成的。 本书适合那些想要写出更快、更可靠程序的程序员阅读,也适合作为高等院校计算机及相关专业本科生、研究生的教材。 作者简介 Randal E

如何科学安排宝宝接种疫苗顺序,实现免疫效果最大化?

梦想与她 提交于 2020-08-16 12:06:47
当家里一个新生儿呱呱坠地的时候,一些繁琐的事也伴随着喜悦随之而来,奶粉、纸尿裤、起夜冲奶等等,其中最让家长头大的,还是:打疫苗。现在的孩子仅从出生到一岁就要频繁地去医院接种疫苗,少则十余次,多则二十余次。疫苗不仅选择多,而且不同的选择和不同的接种顺序还会产生不同的效果。这十几种疫苗的选择和接种安排,对于大部分的没有医学背景的新手爸妈来说,的确复杂了一些。不过不用担心,这里给大家普及一些关于疫苗的基本知识,读完之后就不用感到困扰啦。 >为什么疫苗能保护孩子 疫苗是人类健康的第一道防线,我们可以简单的把疫苗分为减毒疫苗和灭活疫苗。减毒疫苗具有一定的接种风险,因此现在全球接种的疫苗大多数是灭活疫苗,例如脊髓灰质炎灭活疫苗(IPV)。我们以灭活疫苗举例,来说说疫苗是怎么保护孩子的。所谓灭活疫苗,通俗说就是“死疫苗”。其主要成分是将病毒或细菌杀灭后的大分子,例如蛋白质或多糖。我们可以把这些成分看成有害物质的标记。孩子在接种这类疫苗后,这些大分子(标记)会刺激免疫系统产生免疫反应,产生防御性物质,孩子的免疫系统就获得抵抗病毒/细菌的能力和记忆。当再次接触到这种病原体时,免疫系统会识别其标记,根据过去的记忆,制造更多的保护物质来抵抗对应病毒/细菌的伤害,产生免疫效果,也就是免疫应答 [1] . 接种疫苗产生免疫的过程如同给免疫系统看“安全教育视频”,告诉免疫系统哪些事物是危险的,以及应对方法。

解密阿里云高效病原体基因检测工具

流过昼夜 提交于 2020-08-09 14:23:32
1.背景介绍 病原体基因检测,为各种严重感染的诊断提供了基础。病原体检测流程分成五个步骤:(1)采集病人的样本,比方说静脉血,痰液,肺泡灌洗液,或者脑脊髓液等。(2)对样本进行培养,提取样本中的核酸组织。(3)通过高通量基因测序仪,对核酸序列进行测序。高通量测序为了保证精度,会将很长的核苷酸序列,切成小的分片,分别进行测序,在读取基因序列上,一般是50pb到200bp不等。(4)高通量测序之后,需要查询相关的病原体标准序列,找到匹配的基因序列。(5)通过将这些小的片段进行分析,得到全部基因片段的组成成分(即检测结果),从而为病人的疾病确诊以及精准治疗提供有力的支持。 图1. 病原体基因检测流程 对于生物分析检测来说,通常情况下,一次病原体检测,大约会生成5亿左右的75bp的基因片段。过滤掉一些人的基因组织序列之后,还需要查询1亿左右的基因片段。通常情况下,会使用nBlast [1]工具来进行基因匹配,这部分在整个病原体检测过程中,也是非常耗时的部分,大约需要2-3个小时。阿里云AnalyticDB向量版提供了一个高效的基因检索工具,大大提升了基因分析的性能,能够在几十分钟内完成整个病原体的查询检测过程。 2.基因检索应用 2.1 基因检索功能 图1展示了病原体基因检索的界面。当前演示包含了12182个病毒的碱基序列,我们将病毒切分成150bp的小片段(总共1590804个片段)

Elasticsearch aggregations-执行聚合

时光总嘲笑我的痴心妄想 提交于 2020-07-28 13:31:22
1.测试数据 #bank索引下account类型 POST /bank/account/_bulk {"index":{"_id":"1"}} {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"} {"index":{"_id":"6"}} {"account_number":6,"balance":5686,"firstname":"Hattie","lastname":"Bond","age":36,"gender":"M","address":"671 Bristol Street","employer":"Netagy","email":"hattiebond@netagy.com","city":"Dante","state":"TN"} {"index":{"_id":"13"}} {"account_number":13,"balance":32838,"firstname":"Nanette","lastname":

Unity素材、动画设计类常用插件

让人想犯罪 __ 提交于 2020-05-07 10:57:46
1: Amplify Shader Editor Amplify Shader Editor是一款基于节点的可视化shader编辑器插件,用于制作特效的再合适不过。它提供了一个简单的开发环境,无缝地融合了Unity的UI和Shader的使用。 2: Colorful FX Colorful FX包含了大量的可定制的FX效果和全屏的camera渲染效果。对色彩纠正和图像后期处理有很大作用。 3: Mega-Fiers Mega-Fiers是一个可以让Mesh发生的形变的插件。 4: Surforge Surforge能够帮你在Unity内部快速制作3D模型的texture。 5: NGUI: Next-Gen UI 相信这款插件不用做太多介绍,Unity中制作UI的最强插件。 6: Octave3D-Level Design Octave3D-Level Design帮助Unity开发者制作关卡。 7: UBER – Standard Shader Ultra UBER – Standard Shader Ultra可以帮助开发者制作3A级别的shader。 8: UMotion Pro – Animation Editor UMotion Pro是Unity中一款非常优秀的动画制作插件。 9: Mesh Baker Mesh Baker可以用来合并Mesh和Materials

常见的查找算法(七):哈希查找

我与影子孤独终老i 提交于 2020-04-25 08:02:50
  散列表 ( Hash table ,也叫 哈希表 ),是根据 键 (Key)而直接访问在内存存储位置的 数据结构 。也就是说,它通过计算一个关于键值的函数,将所需查询的数据 映射 到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做 散列函数 ,存放记录的数组称做 散列表 。   散列函数 的规则是:通过某种转换关系,使关键字适度的分散到指定大小的的顺序结构中,越分散,则以后查找的时间复杂度越小,空间复杂度越高。 直接定址法 :取关键字或关键字的某个线性函数值为散列地址。即 hash(k) = k 或 hash(k) = a · k + b,其中a、b 为常数(这种散列函数叫做自身函数) 数字分析法 :假设关键字是以 r 为基的数,并且哈希表中可能出现的关键字都是事先知道的,则可取关键字的若干数位组成哈希地址。 平方取中法 :取关键字平方后的中间几位为哈希地址。通常在选定哈希函数时不一定能知道关键字的全部情况,取其中的哪几位也不一定合适,而一个数平方后的中间几位数和数的每一位都相关,由此使随机分布的关键字得到的哈希地址也是随机的。取的位数由表长决定。 折叠法 :将关键字分割成位数相同的几部分(最后一部分的位数可以不同),然后取这几部分的叠加和(舍去进位)作为哈希地址。 随机数法 除留余数法 :取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址。即 hash

立方体解剖

安稳与你 提交于 2019-11-26 20:16:45
立方体 可分为 子多维数据集仅用于 ,8,15,20,22,27,29,34,36,38,39,41,43,45,46,和 (OEIS A014544 ; Hadwiger 1946;斯科特1947;加德纳1992年,第297页)。这个序列为所谓的 Hadwiger问题 提供了解决方案,该 问题 要求最大数量的子立方体(不一定是不同的),立方体不能通过平面切割进行划分,并得到答案47(Gardner 1992,pp.297- 298)。 如果 并且 在序列中,那么 ,因为 - 在 -dissection中分割一个立方体 给出了 -dissection。由于对应于等式的解剖,数字1,8,20,38,49,51,54在序列中 (1) (2) (3) (4) (5) (6) (7) 结合这些事实给出序列中的剩余项和所有数字 ,并且已经表明没有其他数字出现。 不可能将立方体切割成各种尺寸的子管(Gardner 1961,p.208; Gardner 1992,p.298)。 用于构造 称为 Soma立方体 的立方体解剖的七个部件是一个3-多 立方体 和六个4-多 立方体 ( ),如上所示。 由Steinhaus(1999)引起的 另一个立方体解剖使用三个5- 多晶体 和三个4- 多晶体 ( ),如上所示。有两种解决方案。 可以将 矩形 切割成两个相同的片,当折叠和连接时将形成 立方体