编辑推荐:38位大师级的程序员,一步步讲解他们的项目架构,开发时的种种折中考虑(tradeoffs)以及何时必须打破常规,寻求突破。
全球38位顶尖高手、众多语言之父经典之作。
本书收录的是软件设计领域中的一组大师级作品。
每一章都是由一位或几位著名程序员针对某个问题给出的完美的解决方案,并且细述了这些解决方案的巧妙之处。
本书既不是一本关于设计模式的书,也不是一本关于软件工程的书,它告诉你的不仅仅是一些正确的方式或者错误的方式。
它让你站在那些优秀软件设计师的肩膀上,从他们的角度来看待问题。
本书给出了38位大师级程序员在项目设计中的思路、在开发工作中的权衡,以及一些打破成规的决策。
内容简介:本书介绍了人类在一个奋斗领域中的创造性和灵活性:计算机系统的开发领域。
在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。
本书33章,有33位作者,每位作者贡献一章。
每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。
33位大师,每个人对代码之美都有自己独特的认识,现在一览无余的放在一起,对于热爱程序的每个人都不啻一场盛宴。
虽然本书的涉猎范围很广,但也只能代表一小部分在这个软件开发这个最令人兴奋领域所发生的事情。
目录信息:第1章正则表达式匹配器。
1.1编程实践1.2实现1.3讨论1.4其他的方法1.5构建1.6小结第2章Subversion中的增量编辑器:像本体一样的接口2.1版本控制与目录树的转换2.2表达目录树的差异2.3增量编辑器接口2.4但这是不是艺术?2.5像体育比赛一样的抽象2.6结论第3章我编写过的最漂亮代码3.1我编写过的最漂亮代码3.2事倍功半3.3观点3.4本章的中心思想是什么?3.5结论3.6致谢第4章查找4.1.耗时4.2.问题:博客数据4.3.问题:时间,人物,以及对象?4.4.大规模尺度的搜索4.5.结论第5章正确、优美、迅速(按重要性排序):从设计XML验证器中学到的经验5.1XML验证器的作用5.2问题所在5.3版本1:简单的实现5.4版本2:模拟BNF语法——复杂度O(N)5.5版本3:第一个复杂度O(logN)的优化5.6版本4:第二次优化:避免重复验证5.7版本5:第三次优化:复杂度O(1)5.8版本6:第四次优化:缓存(Caching)5.9从故事中学到的第6章集成测试框架:脆弱之美6.1.三个类搞定一个验收测试框架6.2.框架设计的挑战6.3.开放式框架6.4.一个HTML解析器可以简单到什么程度?6.5.结论第7章美丽测试7.1讨厌的二分查找7.2JUnit简介7.3将二分查找进行到底7.4结论第8章图像处理中的即时代码生成第9章自顶向下的运算符优先级9.1.JavaScript9.2.符号表9.3.语素9.4.优先级9.5.表达式9.6.中置运算符9.7.前置操作符9.8.赋值运算符9.9.常数9.10.Scope9.11.语句9.12.函数9.13.数组和对象字面量9.14.要做和要思考的事第10章追求加速的种群计数10.1.基本方法10.2.分治法10.3.其他方法10.4.两个字种群计数的和与差10.5.两个字的种群计数比较10.6.数组中的1位种群计数10.7.应用第11章安全通信:自由的技术11.1项目启动之前11.2剖析安全通信的复杂性11.3可用性是关键要素11.4基础11.5测试集11.6功能原型11.7清理,插入,继续……11.8在喜马拉雅山的开发工作11.9看不到的改动11.10速度确实重要11.11人权中的通信隐私11.12程序员与文明第12章在BioPerl里培育漂亮代码12.1.BioPerl和Bio::Graphics模块12.2.Bio::Graphics的设计流程12.3.扩展Bio::Graphics12.4.结束语和教训第13章基因排序器的设计13.1基因排序器的用户界面13.2通过Web跟用户保持对话13.3.多态的威力13.4滤除无关的基因13.5大规模美丽代码理论13.6结论第14章优雅代码随硬件发展的演化14.1.计算机体系结构对矩阵算法的影响14.2一种基于分解的方法14.3一个简单
2023/11/20 12:23:22 49.42MB 《代码之美》 中文 完整版 pdf
1
用NS2进行网路性能模拟时,如果要对网络发送的数据进行优先级的区分,需要加入有关802.11e的内容,
2023/11/12 22:51:55 33KB 802.11e NS2
1
市面上有很多介绍C语言的书,但这是第一本将C语言以简洁而实用的方式介绍给读者的书籍。
用C语言进行编程不仅仅是在程序中使用正确的句法,编程的风格以及程序的调试在编写程序的过程中也占有相当大的篇幅,从而有助于程序的良好运行且易于维护。
本书不仅仅向你介绍编程的机制,同时也告诉你如何创建易于阅读、调试和更改的程序。
本书也强调了实用的原则。
例如在讨论C中运算优先级时,15种级别被归纳为下面两条原则:-先乘除,后加减;
-在所有该加括号的地方都加上括号第三版除介绍UNIX上的编程工具之外,还介绍了流行的Windows系统上集成开发环境(IntegratedDevelopmentEnvironments)。
第一部分基础11第一章什么是C13编程原理14C语言简史17C如何工作17如何学习C19第二章编程基础21程序从概念到运行21编写一个真正的程序22使用命令行编译器编程23使用集成开发环境(IDE)编程27获取UNIX帮助45获取集成开发环境帮助45集成开发环境菜单45编程练习48第三章风格49基础编码练习54编码盲从56缩进与编码格式56清晰57简明58小结59第四章基本定义与表达式60程序要素60程序的基本结构61简单表达式62变量和存储64变量定义65整型66赋值语句66printf函数68浮点型70浮点数与整数的除法运算70字符73答案74编程练习75第五章数组、修饰符与读取数字76数组76串78读取串81多维数组84读取数字86变量初始化88整型90浮点型92常量说明93十六进制与八进制常量93快捷运算符94副作用95++x或x++96更多的副作用问题97答案98编程练习99第六章条件和控制语句101if语句101else语句102怎样避免误用strcmp函数104循环语句104While语句105break语句107continue语句108随处赋值的副作用109答案111编程练习111第七章程序设计过程113设置115程序规范116代码设计116原型118Makefile119测试123调试124维护126修改126代码分析127注释程序128使用调试器128用文本编辑器浏览128增加注释128编程练习131第二部分简单程序设计133第八章更多的控制语句135for语句135switch语句139switch,break和continue145答案145编程练习147第九章变量作用域和函数149作用域和类149函数153无参数的函数157结构化程序设计158递归160答案161编程练习162第十章C预处理器163*define语句163条件编译170包含文件173带参数的宏174高级特征176小结176答案177编程练习180第十一章位运算181位运算符183与运算符(&)183按位或(\)186按位异或(^)187非运算符(~)187左移与右移运算符(<>)188设置、清除和检测位190位图图形194答案200编程练习201第十二章高级类型202结构202联合205typedef207枚举类型209强制类型转换210位字段或紧缩结构210结构数组212小结213编程练习213第十三章简单指针215函数自变量指针220常量指针222指针和数组224如何不使用指针229用指针分隔字符串231指针和结构235命令行参数236编程练习242答案242第十四章文件输入/输出245转换程序249二进制和ASCII码文件252行尾难题253二进制I/O255缓冲问题257非缓冲I/O258设计文件格式264答案266编程练习267第十五章调试和优化268调试268交互调试器280调试一个二分查找程序285实时运行错误297公开
2023/11/8 22:50:27 20.09MB C语言 编程
1
1.可以连续输入运算,对于输入的表达式能够按算符优先级进行处理。
如输入2+3*2时输出为8,而不是10。
2.可以处理含括号的表达式,Sin、Cos、Tan、平方、倒数、开方等操作可以与表达式结合进行运算,不用单独运算。
3.科学计数法表示,当输入值或者计算结果超过一定范围时会自动以科学计数法表示。
4.增加了科学计算器的一些设施,如清空,求平方,求根号,求倒数,求三角函数,正负值,显示括号嵌套层数等。
5.错误提示,除数为0,应算超过范围等在下方将有文字提示,并将当前结果置零。
6.支持小数点,支持正负运算。
2023/11/2 11:47:49 252KB java 计算器
1
在这个例子中,我实现了进程调度的三种算法,分别是优先级算法,时间片算法,和段作业优先算法。
进程从文件中读取
2023/11/2 1:41:16 376KB java进程调度
1
WindowsAPI函数参考手册本书编写组编著人民邮电出版社内容简介内容简介本书是关于MicrosoftWin32API函数的完整参考手册。
本书详细介绍了每一个Win32API函数的使用方法,其中着重介绍其原型表示、函数说明、参数说明、注意事项、相应头文件(.H)、链接库(.LIB或.DLL)和典型示例。
对于每个函数本书给出了相应的示例部分,这样读者在阅读相应的Win32API函数时就能很快地了解它的具体功能和使用方法,便于更快地掌握该接口函数。
本书是从事MicrosoftWindows操作系统开发和应用人员的必备参考书,也可作为大专院校相关专业师生自学、教学参考用书。
前言前言MicrosoftWin32API是MicrosoftWindows操作系统提供的应用程序接口函数,它基本上概括了应用程序编程中涉及的每个方面。
我们在使用MFC编程时,所用的MFC函数都是封装在Win32API基础之上的,即MFC是Win32API的一个上层架构。
学习Win32API能更深刻的理解MFC的运作机制,同时使用Win32API函数编程要比使用MFC更灵活,能编写出更加高效的程序。
MicrosoftWin32API也可以在VB和Delphi等语言中使用。
MicrosoftWin32API函数按照功能划分为窗口处理、设备上下文——DC、绘图函数、位图和图标、菜单处理、文件处理、同步、处理文本和字体、硬件和系统、Windows消息、进程和线程。
本书按功能对Win32API函数进行了划分,对于每一个功能部分的函数都具体给出了它们的函数原型、功能和用法、注意事项、所在头文件、参数调用和典型示例等信息。
本书内容如下:第1章介绍了Win32应用程序的一些基本知识,例如系统消息传递机制,图形接口编程等,同时,它也介绍了Win32API函数的一些基本知识。
第2章介绍了关于窗口处理部分的Win32API函数,例如窗口创建,撤销等。
第3章介绍了设备上下文——DC,例如创建和获取DC、坐标变换等。
第4章介绍了绘图函数,例如路径、图元文件等。
第5章介绍了位图和图标,例如从DLL中获取图标,设置DIB的颜色表等。
第6章介绍了菜单的处理,例如上下文菜单显示,设置位图菜单项等。
第7章介绍了文件的处理,例如文件查找,加锁和解锁文件等。
第8章介绍了同步,例如互斥对象,信号量对象和关键段对象等。
第9章介绍了文本和字体的处理,例如获取系统中字体的信息,输出各种形式的文本等。
第10章介绍了硬件和系统,例如捕获鼠标,获取各种系统信息等。
第11章介绍了Windows消息,例如消息的获取和发送等。
第12章介绍了进程和线程,例如调试进程和线程,获取和设置进程和线程的各种信息,比如优先级、工作集等。
本书为立志掌握Windows操作系统编程的人提供了一条有效的捷径,对于不同层次的Windows操作系统编程人员来说,本书都极具参考价值,是一本不可多得的参考书。
参与本书的主要编写人员有张鸿超、张宏林等。
2023/10/31 18:50:10 71B Window API
1
从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。
Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。
Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。
我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。
本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。
如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能!请登陆www.ifreecoding.com下载
2023/10/29 10:23:22 684KB wanlix mindows 操作系统 嵌入式
1
,共有4个房间,每间病房3个床位。
每一病床床头有紧急呼叫按钮及重置按钮以利病人不适时紧急呼叫2,没一病床穿头均有一紧急指示灯,一旦病人按下紧急呼叫按钮且未在5s内按下重置按钮时,改病床床头紧急指示灯动作且病房门口紧急指示灯闪烁,同时同楼层的护士站显示病房紧急呼叫并闪烁指示灯。
3,在护士站的病房紧急呼叫中心,每一病房都有编号,用指示灯显示哪一病房先按下病人紧急呼叫按钮,并要求具有优先级旁别的能力。
4,一旦护士看见护士站紧急呼叫闪烁灯后,须先按下护士处理按钮以取消闪烁情况,在依病房紧急呼叫顺序处理病房紧急事故。
2023/10/28 18:33:13 383KB PLC
1
关于UCOSII实时操作系统第一讲初识uCOSII41、uCOSII单任务实验:42、uCOSII多任务实验:63、任务状态之间的转换:94、空闲任务和统计任务简介:95、任务的三要件:9程序代码、私有堆栈、任务控制块96、任务控制块TCB(P80)97、创建任务98、任务的栈空间109、栈的增长方向:10第二讲调度运行机制111、任务挂起和恢复112、任务挂起、恢复的状态转换133、时钟节拍ISR154、时钟节拍函数OSTimtick()165、延时系统调用16第三讲任务管理uCOSII171、任务删除172、任务请求删除实验193、在源码中增加打印信息一般步骤244、OSTaskDelReq()函数理解流程图25第四讲互斥性信号量管理261、优先级反转262、信号量SEM使用263、互斥信号量Mutux使用294、关于信号量程序分析325、关于互斥信号量分析326、OSMutexPend()函数流程图337、OSMutexPost()函数流程图33第五讲消息邮箱341、基本概念342、对于OSMboxPend()理解343、对于OSMboxPost()理解344、消息邮箱管理一般程序355、使用OSMboxQuery()386、OSMboxPend()函数Timeout等待超时程序387、OSMboxPost()函数邮箱状态为FUll程序408、关于OSTimeTickHook(void)使用41第六讲信号量集431、信号量集案例432、OSFlagPend()源码463、OSFlagPost()源码51第七讲动态内存541、内存管理基本概念542、内存管理基本概念543、内存管理案例544、案例分析695、教学案例:71
2023/10/25 17:58:17 1.46MB UCOSII
1
一、设计(论文)内容1.用1~5个开关模拟5个病房的呼叫输入信号,1号优先级最高;
1~5优先级依次降低;
2.用一个数码管显示呼叫信号的号码;
没信号时显示0;
有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);
3.凡有呼叫发出5秒的呼叫声;
4.对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理(附加)。
2023/10/16 8:34:56 377KB 通信 呼叫系统
1
共 161 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡