From ec763071ec9fa3c2a0e3144f6e2ef375d5cbea65 Mon Sep 17 00:00:00 2001 From: LingCoder Date: Sun, 16 Dec 2018 06:14:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E8=A8=80=E9=83=A8=E5=88=86=20?= =?UTF-8?q?=E6=95=99=E5=AD=A6=E7=9B=AE=E6=A0=87=20=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SUMMARY.md | 26 +++++++++--------- book/{02-说明.md => 00-Introduction.md} | 0 book/00-On-Java-8.md | 2 +- book/{01-前言.md => 00-Preface.md} | 18 +++++++++++- .../{1544422037513.png => level_1_title.png} | Bin images/level_2_title.png | Bin 0 -> 14688 bytes 6 files changed, 31 insertions(+), 15 deletions(-) rename book/{02-说明.md => 00-Introduction.md} (100%) rename book/{01-前言.md => 00-Preface.md} (51%) rename images/{1544422037513.png => level_1_title.png} (100%) create mode 100644 images/level_2_title.png diff --git a/SUMMARY.md b/SUMMARY.md index 328fd37..94a088a 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -2,17 +2,17 @@ * [Introduction](README.md) * [On Java 8](book/00-On-Java-8.md) -* [前言](book/01-前言.md) - * [目标](book/01-前言.md#学习目标) - * [语言设计错误](book/01-前言.md#语言设计错误) - * [测试用例](book/01-前言.md#测试用例) - * [名词](book/01-前言.md#名词) - * [关于Andriod程序员](book/01-前言.md#关于Andriod程序员) - * [关于电子版书籍](book/01-前言.md#关于电子版书籍) - * [后记](book/01-前言.md#后记) - * [鸣谢](book/01-前言.md#鸣谢) - * [其他](book/01-前言.md#其他) -* [介绍](book/02-说明.md) - * [前提条件](book/02-说明.md#前提条件) - * [JDK文档](book/02-说明.md#JDK文档) +* [前言](book/00-Preface.md) + * [教学目标](book/00-Preface.md#教学目标) + * [语言设计错误](book/00-Preface.md#语言设计错误) + * [测试用例](book/00-Preface.md#测试用例) + * [名词](book/00-Preface.md#名词) + * [关于Andriod程序员](book/00-Preface.md#关于Andriod程序员) + * [关于电子版书籍](book/00-Preface.md#关于电子版书籍) + * [后记](book/00-Preface.md#后记) + * [鸣谢](book/00-Preface.md#鸣谢) + * [其他](book/00-Preface.md#其他) +* [说明](book/00-Introduction.md) + * [前提条件](book/00-Introduction.md#前提条件) + * [JDK文档](book/00-Introduction.md#JDK文档) diff --git a/book/02-说明.md b/book/00-Introduction.md similarity index 100% rename from book/02-说明.md rename to book/00-Introduction.md diff --git a/book/00-On-Java-8.md b/book/00-On-Java-8.md index 54c52a2..6d17060 100644 --- a/book/00-On-Java-8.md +++ b/book/00-On-Java-8.md @@ -16,7 +16,7 @@
-star-logo +star-logo
### On Java 8 diff --git a/book/01-前言.md b/book/00-Preface.md similarity index 51% rename from book/01-前言.md rename to book/00-Preface.md index 0976945..48719f6 100644 --- a/book/01-前言.md +++ b/book/00-Preface.md @@ -1,5 +1,5 @@
-star-logo +star-logo
# 前言 @@ -10,3 +10,19 @@ 与几年前我们依赖印刷媒体相比,像YouTube,博客和StackOverflow这样的网站让寻找答案变得非常容易。请将这些与坚持不懈的努力相结合。你可以将本书作为你的编程入门书籍。同样她也适用于想要扩展知识的在职程序员。每次在世界各地的演讲中,我都非常感谢《Thinking in Java》这本书给我带来的所有荣誉。事实证明,这些荣誉对我现在的[Reinventing Business](http://www.reinventing-business.com)项目中和加强外界与公司的联系是非常宝贵的。最后,写这本书的原因之一是支持我[Reinventing Business](http://www.reinventing-business.com)重塑,似乎下一个合乎逻辑的步骤是实际创建一个所谓的蓝绿色组织(Teal Organization)。我希望这本书可以成为该项目的一种众筹。 +![level_2_title.png](../images/level_2_title.png) + +## 教学目标 + +每章教授一个或一组相关的概念,并且这些知识不依赖于尚未学习到的章节。这样以来,学习者可以在当前知识的背景框架下循序渐进地掌握JAVA。 + +本书的教学目标: + + +1. 循序渐进地呈现学习内容,以便于你在不依赖后置知识框架的情况下轻松完成现有的学习任务,同时尽量保证前面章节的内容在后面的学习中得到运用。如果确有必要引入我们还没学习到的知识概念,我会做个简短地介绍。 + +2. 尽可能地使用简单和简短的示例,方便读者理解。而不强求引入解决实际问题的例子。因为我发现,相比解决某个实际问题,读者更乐于看到自己真正理解了示例的每个细节。或许我会因为这些“玩具示例”而被一些人所诟病,但我更愿意看到我的读者们因此能保持饶有兴趣地学习。 + +3. 把我知道的以及我认为对于你学习语言很重要的东西都告诉你。我认为信息的重要性是分层次结构的。绝大多数情况下,我们没必要弄清问题的所有本质。好比编程语言中的某些特性和实现细节,95%的程序员都不需要取知道。这些细节除了会加重你的学习成本,还让你更觉得这门语言好复杂。如果你非要考虑这些细节,那么它还会迷惑该代码的阅读者/维护者,所以我主张选择简单的方法解决问题。 + +4. 希望本书能为你打下坚实的基础,方便你将来学习更难的课程和书籍。 diff --git a/images/1544422037513.png b/images/level_1_title.png similarity index 100% rename from images/1544422037513.png rename to images/level_1_title.png diff --git a/images/level_2_title.png b/images/level_2_title.png new file mode 100644 index 0000000000000000000000000000000000000000..6869a8b6208246f083054f7edf636167642c3990 GIT binary patch literal 14688 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 S2jJ!;L`nWN3?cjO^Zx