Java项目:书评

本文是关于这本书的

Peter Verhas撰写的Java Projects Second Edition

我去年写的 这样一篇文章的目的通常是为了促进这本书的销售。 在这种情况下没有什么不同,但是由于这是我写的书,而且我是撰写评论的人,因此赞美这本书将非常尴尬。 所以我不会,尽管我很喜欢这本书。 我认为,至少在准备就绪时,必须爱自己的产品。 以后您可能会像我对同一本书的上一版所做的那样以不同的方式考虑它,这本来可以做得更好。 但是话又说回来,这就是为什么除了Java同时开发之外,还有第二版的原因,它从Java 9变成了Java11。但是回到以前的想法:您必须在产品完成后就爱上您的产品您可以将其丢弃。 如果您不喜欢它,那么没有其他人会喜欢。 同样重要的是,您在工作时也必须喜欢您的工作。 我做到了,我很喜欢创作这本书。

因此,现在我将写这本书的内容,内容和意图。 在本文的后面,我还将讨论我在这本书上的工作方式,一些技术性知识和一些秘密。 (如果我在这里发布它们,它们并不是什么秘密。)但是在此之前,请在此处输入URL,您可以在这里在PACKT或亚马逊等处购买我的书。

目标读者和本书的内容

与出版商达成协议后,我想为那些想学习Java但已经具有一定编程经验的人写一本书。 我不想写关于变量,循环,条件构造的简单概念。 我想写一本书,教您Java和一些编程。 我想要一本书,任何刚从uni学习的PHP,Python,C#,C,C ++,Go等程序员都可以阅读和学习一些Java编程,并且他们可以决定是否适合他们。 我想将上一章专门讨论非Java编程主题,例如,如果您以程序员身份开始,那么在您的职业生涯后期会发生什么。 您可以保留程序员,也可以成为架构师,项目经理,devops工程师。 根据机会和兴趣有很多可能性。 发行商方面达成了这个意图,但达成的协议较少,但是他们接受了我的手是敲键盘的手,因此我们做出了让步。 因此,最后一章还涉及一些技术主题,例如Java代理,多语言编程,注释处理,DSL,SDLC等。

书的内容

这本书在500多页中有10章。

  • 第一章

是您入门的方式。 首先,您需要安装Java环境,并且必须熟悉命令行工具。 这有点麻烦,就Java而言,它比其他语言更复杂。 我有一些朋友开始使用本书学习Java并为此而苦苦挣扎(不是因为这本书,而是因为任务的复杂性)。 当您开始学习Java时,此时必须耐心等待,并且必须坚信它会起作用。

  • 第二章

关于支持工具和基本语言元素。 即使本书是为那些已经可以使用某种编程语言进行编程的人而写的,文本也必须描述该语言的基本元素,例如变量,类,方法,类型,表达式,循环等。 您会看到Java多么复杂,因此它已经是

  • 第三章

是我们开始编写比“ Hello,World”更复杂的东西的地方。 该程序是一个排序程序,我们不仅实现简单的气泡排序,还实现快速排序。 在此过程中,我们还涉及诸如泛型,TDD,单元测试,Java模块之类的主题。 这些是最初在后面的章节中计划的高级主题,但是我想减少对语言的解释,而希望对语言进行更多的编程。

  • 第四章

是一个新程序和新主题。 在本章中,我们(我想像我和我一样)开发游戏Mastermind 。 坐在电脑前的用户“隐藏”了引脚,程序发现了隐藏的内容。 同一章讨论了集合,依赖项注入和集成测试。

  • 第五章

是我最自豪的那个。 它是关于并发编程的。 许多书都使用了一个很好扩展的例子。 您在一个处理器上运行它并运行。 您在两个处理器上运行它,它的运行速度是它的两倍。 通常在现实生活中,任务并不是那么独立。 因此,我决定同时制作Mastermind游戏。 这需要一些重构。 老实说:在开始撰写第5章和第4章之前,我还没有意识到。 我决定不重写第4章(尽管那会减少工作量),而是在本章中详细说明了编码决策以及如何重构代码。 这只是本章中有关非常复杂主题的一部分,因此不要指望全面的重构教程。 如果您需要一本关于重构的好书,请阅读Martin Fowler的《重构》一书。

除此之外,本章还详细介绍了大多数并发编程工具:等待,通知,锁定,队列。 本章以引入微基准测试作为结尾,该技术显示了更快的并行程序在许多CPU上的运行速度。

  • 第六章

关于为程序创建一个简单的Web界面。 因为本书的主题是Java,而不是HTML,CSS和JavaScript,所以前端非常简单。 另一方面,本章重点介绍IP,TCP,DNS,HTTP甚至HTTP / 2。 然后继续详细介绍C / S体系结构,提到JavaServer Pages(必须是必须的),然后我们开发代码来编写运行Jetty的servlet。

  • 第七章

使用一个新程序,在这里我们使用Spring MVC,Servlet过滤器,AOP审计日志来开发REST程序,甚至讨论动态代理的工作方式。

  • 第八章

扩展程序并触及Java中的注释,反射,函数式编程和脚本等主题。

  • 第九章

是最后的编码章节。 在这里,我们使用反应式界面创建一个“会计”应用程序。 这是一个尴尬的例子,但当时我找不到更好的东西。 不过,本章将描述反应式编程的原理以及如何在Java中使用新的反应式接口。

  • 第十章

是最后一章,所以它是最密集的。 它讨论了所有开发人员都应该知道但几乎所有开发人员都不会使用的主题。 您可能永远不会创建Java代理或注释接口。 但是您应该知道它们是什么,这就是为什么在这里对其进行描述。 关于多语言编程,还有几句话会越来越普遍。 本章的大部分内容是关于企业环境中编程的工作方式。

动机

我的动机是创建一本编程书籍,使它比Java的当前版本更耐用。 一本书可以教任何人阅读一些编程知识,并帮助他们开始成为更好的程序员。 也许我对许多求职面试者感到沮丧,这些求职者虽然在某些非常重要的领域没有头绪,但仍然认为自己是高级开发人员,这也是一个激励因素。

技术性

一开始,我嘲笑我会告诉你一些秘密。 他们来了。

Packt希望我使用Microsoft Word或基于WordPress的在线所见即所得编辑器来编写这本书。 WordPress具有标记编辑的可能性,但是已被关闭。 我要求他们打开它,但被拒绝了。 因此,当我创建本书的第一版时,我决定使用Microsoft Word。 结果是灾难性的。 从实际来源复制的代码样本在编辑过程中重新设置为编辑者手中的格式。 某些格式更改使代码难以阅读。 其中的某些更改是完全错误的,例如删除单词int和变量名n之间的所有空格,结果为intn

当我开始第二版时,我决定破解该系统。 到那时,我已经开始使用Python进行一些练习,并且创建了Pyama项目,该项目可以从源目录中获取代码片段,并且可以将其插入覆盖旧版本的Markdown文件中。 我还创建了一个脚本,将特殊的WordPress风格HTML转换为Markdown并返回。 Packt将我的书的第一版转换为这种WordPress格式。

当我用WYSIWYG编辑器打开一章时,按F12键进入调试模式,并在WYSIWYG表单上使用“编辑HTML”来复制HTML并将其粘贴到文本文件中。 我将输入HTML转换为Markdown,并开发了Markdown版本。 我喜欢以编辑标记的方式工作,同时可以看到渲染的页面。 准备好一章后,我将其转换回HTML,并使用相同的调试工具再次粘贴了代码。 有效。 Packt不知道。

摘要

我相信我写了一本书,可以用来专业地学习编程,也可以用来学习Java11。正如我在第一章开头所写的那样:

就像穿过森林中的一条小路一样。 您可以将注意力集中在道路的碎石上,但这毫无意义。 取而代之的是,您可以欣赏周围的景色,树木,鸟类和周围的环境,这会更加有趣。 这本书很相似,因为我不会只专注于语言。 我会不时地介绍一些接近道路的主题,并为您提供一些概述和指导,帮助您完成本书后的下一步工作。 我不仅会教您这种语言,还会讲一些算法,面向对象的编程原理,围绕Java开发的工具以及专业人员的工作方式。 这将与我们将遵循的编码示例混合在一起。

翻译自: https://www.javacodegeeks.com/2019/08/java-projects-book-review.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值