diff --git a/chapters/01-introduction.md b/chapters/01-introduction.md deleted file mode 100644 index e69de29..0000000 diff --git a/chapters/00-prelude.md b/chapters/01-prelude.md similarity index 99% rename from chapters/00-prelude.md rename to chapters/01-prelude.md index 8e8ab25..a43b067 100644 --- a/chapters/00-prelude.md +++ b/chapters/01-prelude.md @@ -74,8 +74,8 @@ 因而,在Github寻找合适的候选人,已经是一种趋势。 -###扩大人脉 +###扩大交际 如果我们想创造出更好、强大地框架时,那么认识更多的人可能会带来更多的帮助。有时候会同上面那一点一样的效果 -
越来越多的人因为Github获得工作,因为他们的做的东西正好符合一些公司的要求。那么,这些公司在寻找代码的时候,就会试着邀请他们。
因而,在Github寻找合适的候选人,已经是一种趋势。
-如果我们想创造出更好、强大地框架时,那么认识更多的人可能会带来更多的帮助。有时候会同上面那一点一样的效果
-Wiki百科上是这么说的
---GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目。它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner 使用Ruby on Rails编写而成。
-
当然让我们看看官方的介绍:
---GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over eight million people use GitHub to build amazing things together.
-
它还是什么?
-等等。看上去像是大餐,但是你还需要了解点什么?
-jQuery1在发布版本2.1.3,一共有152个commit。我们可以看到如下的提交信息:
--Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
-
-GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
-
从一般开发者的角度来看,git有以下功能:

可以看到状态的变化是从黄色到绿色,即unstage到add。
+Wiki百科上是这么说的
+++GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目。它由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner 使用Ruby on Rails编写而成。
+
当然让我们看看官方的介绍:
+++GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over eight million people use GitHub to build amazing things together.
+
它还是什么?
+等等。看上去像是大餐,但是你还需要了解点什么?
+jQuery[^jQuery]在发布版本2.1.3,一共有152个commit。我们可以看到如下的提交信息:
++Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
+
+GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
+
接着,我们试试在上面创建一个项目:
free programming books,You-Dont-Know-JS,Font-AwesomeResume除了创建项目之外,我们也可以创建Pull Request来做贡献。
我的第一个PR是给一个小的Node的CoAP相关的库的Pull Request。原因比较简单,是因为它的README.md写错了,导致我无法办法进行下一步。
@@ -482,7 +481,7 @@ git push -u origin master他们都要求我签署CLA。
如何用好Github,并实践一些敏捷软件开发是一个很有意思的事情.我们可以在上面做很多事情,从测试到CI,再到自动部署.
显然我是在扯淡,这和敏捷软件开发没有什么关系。不过我也不知道瀑布流是怎样的。说说我所知道的一个项目的组成吧:
@@ -618,10 +617,7 @@ after_success: CODECLIMATE_REPO_TOKEN=321480822fc37deb0de70a11931b4cb6a2a3cc4116这就意味着我们可以对上面的代码进行重构,他们是重复的代码。
-不想在这里说太多关于重构的东西,可以参考Martin Flower的《重构》一书去多了解一些重构的细节。
这时想说的是,只有代码被测试覆盖住了,那么才能保证重构的过程没有出错。
-在之前说到
奋斗了近半个月后,将fork的代码读懂、重构、升级版本、调整,添加新功能、添加测试、添加CI、添加分享之后,终于almost finish。
@@ -641,7 +637,7 @@ after_success: CODECLIMATE_REPO_TOKEN=321480822fc37deb0de70a11931b4cb6a2a3cc4116- 自动部署
等等。
-在SkillTree的源码里,大致分为三部分:
简单地看一下Book的测试:
/* global describe, it */
@@ -807,7 +803,7 @@ line 21 col 62 Strings must use singlequote.
});
});最后的断言,也算是测试的核心,保证测试是有用的。
-重构完后的代码比原来还长,这似乎是个问题~~
-我们需要为我们的项目创建一个文档,通常我们可以将核心代码以外的东西都称为文档:
而不是需要繁琐的步骤才能进行下一步。
-虽然接触的TDD时间不算短,然而真正在实践TDD上的时候少之又少。除去怎么教人TDD,就是与人结对编程时的switch,或许是受限于当前的开发流程。
@@ -1242,8 +1238,8 @@ beforeEach(function() { .toEqual(data); }); }); -或许你应该知道了,重构是怎样的,你也知道重构能带来什么。在我刚开始学重构和设计模式的时候,我需要去找一些好的示例,以便于我更好的学习。有时候不得不创造一些更好的场景,来实现这些功能。
有一天,我发现当我需要我一次又一次地重复讲述某些内容,于是我就计划着把这些应该掌握的技能放到Github上,也就有了Artisan Stack 计划。
每个程序员都不可避免地是一个Coder,一个没有掌握好技能的Coder,算不上是手工艺人,但是是手工人。
@@ -1466,7 +1462,7 @@ str = tableHandler(str -选中basePrice很愉快地拿鼠标点上面的重构

我也是蛮拼的,虽然我想的只是在Github上连击100~200天,然而到了今天也算不错。
@@ -1728,7 +1724,7 @@ public class replaceTemp {虽说算法很重要,但是编码才是基础能力。算法与编程在某种程度上是不同的领域,算法编程是在编程上面的一级。算法写得再好,如果别人很难直接拿来复用,在别人眼里就是shit。想出能work的代码一件简单的事,学会对其重构,使之变得更易读就是一件有意义的事。
于是,在某一时刻在Github上创建了一个组织,叫Artisan Stack。当时想的是在Github寻找一些JavaScript项目,对其代码进行重构。但是到底是影响力不够哈,参与的人数比较少。
-如果你懂得如何写出高可读的代码,那么我想你是不需要这个的,但是这意味着你花了更多的时候在思考上了。当谈论重构的时候,让我想起了TDD(测试驱动开发)。即使不是TDD,那么如果你写着测试,那也是可以重构的。(之前写过一些利用Intellij IDEA重构的文章:提炼函数、以查询取代临时变量、重构与Intellij Idea初探、内联函数)
在各种各样的文章里,我们看到过一些相关的内容,最好的参考莫过于《重构》一书。最基础不过的原则便是函数名,取名字很难,取别人能读懂的名字更难。其他的便有诸如长函数、过大的类、重复代码等等。在我有限的面试别人的经历里,这些问题都是最常见的。
重造轮子是重新创造一个已有的或是已被其他人优化的基本方法。
@@ -1931,7 +1927,7 @@ public class replaceTemp { request.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); request.send(data); }; -
+
Github用户分析
生成图表
如何分析用户的数据是一个有趣的问题,特别是当我们有大量的数据的时候。除了
@@ -2369,11 +2365,5 @@ pipe.execute() 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]matlab,我们还可以用numpy+matplotlib真看不出来两者有什么相似的地方 。。。。
--
--
-- -
jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。↩