编辑推荐: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
C语言解释程序。
可以交互式运行或执行脚本。
数据类型只有整数一种。
但大小没有限制。
可以用作大数计算和高精度计算。
语法同C语言。
其中包括求小数点后100位对数,平方根,三角函数的示例脚本。
2023/11/19 9:36:06 76KB C++ 解释程序 大数运算 高精度计算
1
Scynamo-在DynamoDB和Scala类型之间转换的库Scynamo是一个库,用于将您的Scala案例类/密封特征映射到DynamoDB或从DynamoDB映射。
为此,该库使用类型类方法,并且与Scala生态系统中的其他库非常相似。
功能概述为您的ADT派生实例以从DynamoDB进行编码/解码嵌套案例类/列表/地图/...的精确错误消息使用选项自定义案例类和密封特征的派生AttributeValue空安全访问器的语法提供用于编码/解码的可选语法(请参阅scynamo.syntax.*)安全:此操作不是在静默的情况下对空{String,Number,Binary}集进行编码,而是在scynamo失败,从而使您可以在到达DynamoDB之前捕获错误。
参见。
文献资料您可以在找到文档。
2023/11/18 6:41:56 47KB Scala
1
欢迎来到GitHubPages您可以使用的来维护和预览Markdown文件中网站的内容。
每当您提交到该存储库时,GitHubPages都会运行从Markdown文件中的内容重建站点中的页面。
降价促销Markdown是一种轻巧且易于使用的语法,可用于样式化您的文字。
它包括以下约定Syntaxhighlightedcodeblock#Header1##Header2###Header3-Bulleted-List1.Numbered2.List**Bold**and_Italic_and`Code`text[Link](url)and![Image](src)有关更多详细信息,请参见。
吉柯主题您的Pages网站将使用您在选择的Jekyll主题的布局和样式。
该主题的名称保存在Jekyll_conf
2023/11/15 14:04:38 5.22MB HTML
1
关于S7-1200和S7-1500与DASSIDirect通讯问题,主要介绍西门子博途软件里需要修改的部分、DASSIDirect不支持S7-1200和S7-1500的一些特性、关于S7-1200和S7-1500系列DASSIDirect的语法。
2023/11/15 0:46:29 44KB S7-1200 S7-1500 DASSIDirect
1
艺术家和设计师:无需编码即可实现您的创意愿景!释放Unity的力量,程序员:在工具箱中添加功能强大的可视状态机编辑器,与脚本接口或使用自定义Playmaker。
::新的支持团结2019.2Beta版::NEW团结2019.1支持::NEW在2018.3嵌套预制支持::新的集成UI操作和事件。
::动作中的新自动转换变量。
::新的性能改进。
::操作的新类别图标。
::新收藏和最近的行动。
::新的新动作属性。
::在直观的图表视图中构建行为。
::拖放操作-没有语法错误!::使用复制/粘贴和模板节省时间。
::访问脚本和第三方插件。
::享受强大的运行时调试::监视状态,变量和事件。
::使用调试流程暂停和倒带时间。
::下载流行插件的动作包::NGUI,2DToolkit,Photon,iTween...::使用自定义动作扩展Playmaker。
::在我们的YouTube频道观看教程。
::加入活跃的在线社区
2023/11/14 16:54:53 17.35MB Playmaker 1.9.0p Playmaker
1
本书分为3篇共7章。
第一篇介绍了Arduino的起源、发展和应用,并从安装开发环境(IDE)开始,对Arduino语法和电子基础知识(AVR)有一个初步的学习。
第二篇通过使用Arduino制作一些电子玩具进一步讲解Arduino与传感器、电机、网络的相关知识,包括智能家居、机械手臂、遥控小车、Arduino与Flash互动、与Processing互动等较大型的项目。
第三篇从大型项目开发角度为读者展现了一个项目从需求到面向对象到编写类库的整个过程,并完成了一个能播放音乐的类库。
2023/11/12 13:51:21 6.69MB Arduino
1
编写一个算符优先分析程序,能实现以下功能:1. 输入文法,判断是否为算符文法。
2. 构造并输出文法的每个非终结符的FIRSTVT和LASTVT。
3. 构造并输出算符优先分析表,判断是否为算符优先文法,如果不是提示无法进行分析。
4. 输入任意一个输入串,可得到成功的分析或错误提示,输出其分析过程或打印语法分析树。
2023/11/9 17:03:25 29KB 编译原理
1
全中文的脚本语言、结构灵活、语法简单,最初是作为报表设计程序使用,因其扩充性好,开发调用容易,也可方便的嵌入到其它程序中,让软件产品更灵活,让普通用户享受中文编程,让编程更有乐趣。
整体脚本引擎执采用易语言开发,中文代码无需转换为英文,而是直接运行。
2023/11/7 20:19:21 159KB 易脚本 中文 脚本语言 引擎
1
编译原理最后一次作业,在词法分析、语法分析、语义分析、中间代码基础上实现目标代码。
压缩包里有源代码,实验报告和技术文档。
2023/11/6 22:54:55 429KB 编译原理 目标代码 c--文法
1
共 955 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡