|
@@ -44,167 +44,185 @@ Donate
|
|
|
目录
|
|
|
---
|
|
|
|
|
|
-* [Growth序](#growth序)
|
|
|
-* [基础知识篇](#基础知识篇)
|
|
|
- * [系统选择:Windows还是Unix? WebStorm还是Sublime?](#系统选择windows还是unix-webstorm还是sublime)
|
|
|
- * [WebStorm还是Sublime?](#webstorm还是sublime)
|
|
|
- * [语言也是一种工具](#语言也是一种工具)
|
|
|
- * [包管理](#包管理)
|
|
|
- * [环境搭建](#环境搭建)
|
|
|
- * [搭建OSX开发环境](#搭建osx开发环境)
|
|
|
- * [搭建Windows开发环境](#搭建windows开发环境)
|
|
|
- * [搭建GNU/Linux开发环境](#搭建gnulinux开发环境)
|
|
|
- * [如何学好一门语言](#如何学好一门语言)
|
|
|
- * [一次语言学习体验](#一次语言学习体验)
|
|
|
- * [输出是最好的输入](#输出是最好的输入)
|
|
|
- * [如何应用一门新的技术](#如何应用一门新的技术)
|
|
|
- * [Web编程基础](#web编程基础)
|
|
|
- * [从浏览器到服务器](#从浏览器到服务器)
|
|
|
- * [从HTML到页面显示](#从html到页面显示)
|
|
|
- * [CSS](#css)
|
|
|
- * [关于CSS](#关于css)
|
|
|
- * [代码结构](#代码结构)
|
|
|
- * [样式与目标](#样式与目标)
|
|
|
- * [选择器](#选择器)
|
|
|
- * [更有趣的CSS](#更有趣的css)
|
|
|
- * [HTML](#html)
|
|
|
- * [HTML的hello,world](#html的helloworld)
|
|
|
- * [想用中文?](#想用中文)
|
|
|
- * [其他html标记](#其他html标记)
|
|
|
- * [小结](#小结-1)
|
|
|
- * [JavaScript](#javascript)
|
|
|
- * [Javascript的Hello,world](#javascript的helloworld)
|
|
|
- * [更JavaScriptful](#更javascriptful)
|
|
|
- * [面向对象](#面向对象)
|
|
|
- * [其他](#其他)
|
|
|
-* [前端与后台](#前端与后台)
|
|
|
- * [如何选择一门好的后台语言](#如何选择一门好的后台语言)
|
|
|
- * [JavaScript](#javascript-1)
|
|
|
- * [Python](#python)
|
|
|
- * [Java](#java)
|
|
|
- * [其他](#其他-1)
|
|
|
- * [MVC](#mvc)
|
|
|
- * [后台即服务](#后台即服务)
|
|
|
- * [数据持久化](#数据持久化)
|
|
|
- * [数据库](#数据库)
|
|
|
- * [搜索引擎](#搜索引擎)
|
|
|
- * [如何选择前端框架](#如何选择前端框架)
|
|
|
- * [Angular](#angular)
|
|
|
- * [React](#react)
|
|
|
- * [Vue](#vue)
|
|
|
- * [jQuery](#jquery)
|
|
|
- * [RESTful、JSON与Ajax](#restfuljson与ajax)
|
|
|
- * [Ajax](#ajax)
|
|
|
- * [JSON](#json)
|
|
|
- * [MVVM](#mvvm)
|
|
|
-* [编码](#编码)
|
|
|
- * [一个Web应用的构建过程](#一个web应用的构建过程)
|
|
|
- * [构建工具](#构建工具)
|
|
|
- * [构建过程](#构建过程)
|
|
|
- * [Git与版本管理](#git与版本管理)
|
|
|
- * [Git初入](#git初入)
|
|
|
- * [写代码只是在码字](#写代码只是在码字)
|
|
|
- * [学习编程只是在学造句](#学习编程只是在学造句)
|
|
|
- * [编程是在写作](#编程是在写作)
|
|
|
- * [编程只是在码字](#编程只是在码字)
|
|
|
- * [Kick Off](#kick-off)
|
|
|
- * [Tasking](#tasking)
|
|
|
- * [如何Tasking一本书](#如何tasking一本书)
|
|
|
- * [如何编写测试](#如何编写测试)
|
|
|
- * [测试金字塔](#测试金字塔)
|
|
|
- * [Mock与Stub](#mock与stub)
|
|
|
- * [Stub](#stub)
|
|
|
- * [Mock](#mock)
|
|
|
- * [测试驱动开发](#测试驱动开发)
|
|
|
- * [思考](#思考)
|
|
|
- * [Selenium与自动化测试](#selenium与自动化测试)
|
|
|
- * [可读的代码](#可读的代码)
|
|
|
- * [命名](#命名)
|
|
|
- * [函数长度](#函数长度)
|
|
|
- * [函数嵌套](#函数嵌套)
|
|
|
- * [重复代码](#重复代码)
|
|
|
- * [测试用例](#测试用例)
|
|
|
- * [代码重构](#代码重构)
|
|
|
- * [Intellij Idea重构](#intellij-idea重构)
|
|
|
- * [重构之提炼函数](#重构之提炼函数)
|
|
|
- * [重构之内联函数](#重构之内联函数)
|
|
|
- * [重构之以查询取代临时变量](#重构之以查询取代临时变量)
|
|
|
-* [上线](#上线)
|
|
|
- * [容器](#容器)
|
|
|
- * [应用容器](#应用容器)
|
|
|
- * [Docker](#docker)
|
|
|
- * [LNMP架构](#lnmp架构)
|
|
|
- * [HTTP服务器](#http服务器)
|
|
|
- * [Apache](#apache)
|
|
|
- * [Nginx](#nginx)
|
|
|
- * [IIS](#iis)
|
|
|
- * [代理](#代理)
|
|
|
- * [Web缓存](#web缓存)
|
|
|
- * [数据库端缓存](#数据库端缓存)
|
|
|
- * [应用层缓存](#应用层缓存)
|
|
|
- * [前端缓存](#前端缓存)
|
|
|
- * [客户端缓存](#客户端缓存)
|
|
|
- * [HTML5 离线缓存](#html5-离线缓存)
|
|
|
- * [可配置](#可配置)
|
|
|
- * [Toggle](#toggle)
|
|
|
- * [Spring PropertyPlaceHolder](#spring-propertyplaceholder)
|
|
|
-* [数据分析](#数据分析)
|
|
|
- * [Google Analytics](#google-analytics)
|
|
|
- * [受众群体](#受众群体)
|
|
|
- * [流量获取](#流量获取)
|
|
|
- * [SEO](#seo)
|
|
|
- * [爬虫与索引](#爬虫与索引)
|
|
|
- * [什么样的网站需要SEO?](#什么样的网站需要seo)
|
|
|
- * [SEO基础知识](#seo基础知识)
|
|
|
- * [内容](#内容)
|
|
|
- * [Hadoop分析数据](#hadoop分析数据)
|
|
|
- * [UX](#ux)
|
|
|
- * [什么是UX](#什么是ux)
|
|
|
- * [UX需要什么](#ux需要什么)
|
|
|
- * [UX入门](#ux入门)
|
|
|
- * [什么是简单?](#什么是简单)
|
|
|
- * [进阶](#进阶)
|
|
|
- * [用户体验要素](#用户体验要素)
|
|
|
- * [认知设计](#认知设计)
|
|
|
-* [持续交付](#持续交付)
|
|
|
- * [持续集成](#持续集成)
|
|
|
- * [瀑布流式开发](#瀑布流式开发)
|
|
|
- * [小步前进](#小步前进)
|
|
|
- * [自动化构建](#自动化构建)
|
|
|
- * [持续交付](#持续交付-1)
|
|
|
- * [自动化](#自动化)
|
|
|
- * [DevOps](#devops)
|
|
|
- * [云基础](#云基础)
|
|
|
-* [遗留系统与修改代码](#遗留系统与修改代码)
|
|
|
- * [遗留代码](#遗留代码)
|
|
|
- * [什么是遗留代码](#什么是遗留代码)
|
|
|
- * [遗留代码的问题](#遗留代码的问题)
|
|
|
- * [如何修改代码](#如何修改代码)
|
|
|
- * [测试](#测试)
|
|
|
- * [重构](#重构)
|
|
|
- * [修改测试](#修改测试)
|
|
|
- * [重构](#重构-1)
|
|
|
- * [网站重构](#网站重构)
|
|
|
- * [速度优化](#速度优化)
|
|
|
- * [功能加强](#功能加强)
|
|
|
- * [模块重构](#模块重构)
|
|
|
-* [回顾与新架构](#回顾与新架构)
|
|
|
- * [自省](#自省)
|
|
|
- * [Retro](#retro)
|
|
|
- * [Well](#well)
|
|
|
- * [Less Well](#less-well)
|
|
|
- * [Suggestion](#suggestion)
|
|
|
- * [Action](#action)
|
|
|
- * [浮现式设计](#浮现式设计)
|
|
|
- * [意图导向](#意图导向)
|
|
|
- * [重构](#重构-2)
|
|
|
- * [模式与演进](#模式与演进)
|
|
|
- * [架构模式](#架构模式)
|
|
|
- * [预设计式架构](#预设计式架构)
|
|
|
- * [演进式架构](#演进式架构)
|
|
|
- * [每个人都是架构师——如何设计一个博客系统](#每个人都是架构师如何设计一个博客系统)
|
|
|
- * [如何构建一个博客系统](#如何构建一个博客系统)
|
|
|
- * [相关阅读资料](#相关阅读资料)
|
|
|
+* [Growth序](http://growth.phodal.com/#growth序)
|
|
|
+* [基础知识篇](http://growth.phodal.com/#基础知识篇)
|
|
|
+ * [Windows还是Unix? WebStorm还是Sublime?](http://growth.phodal.com/#windows还是unix-webstorm还是sublime)
|
|
|
+ * [WebStorm还是Sublime?](http://growth.phodal.com/#webstorm还是sublime)
|
|
|
+ * [语言也是一种工具](http://growth.phodal.com/#语言也是一种工具)
|
|
|
+ * [提高效率的工具](http://growth.phodal.com/#提高效率的工具)
|
|
|
+ * [快速启动软件](http://growth.phodal.com/#快速启动软件)
|
|
|
+ * [IDE](http://growth.phodal.com/#ide)
|
|
|
+ * [DEBUG工具](http://growth.phodal.com/#debug工具)
|
|
|
+ * [终端或命令提示符](http://growth.phodal.com/#终端或命令提示符)
|
|
|
+ * [包管理](http://growth.phodal.com/#包管理)
|
|
|
+ * [环境搭建](http://growth.phodal.com/#环境搭建)
|
|
|
+ * [搭建OSX开发环境](http://growth.phodal.com/#搭建osx开发环境)
|
|
|
+ * [搭建Windows开发环境](http://growth.phodal.com/#搭建windows开发环境)
|
|
|
+ * [搭建GNU/Linux开发环境](http://growth.phodal.com/#搭建gnulinux开发环境)
|
|
|
+ * [如何学好一门语言](http://growth.phodal.com/#如何学好一门语言)
|
|
|
+ * [一次语言学习体验](http://growth.phodal.com/#一次语言学习体验)
|
|
|
+ * [输出是最好的输入](http://growth.phodal.com/#输出是最好的输入)
|
|
|
+ * [如何应用一门新的技术](http://growth.phodal.com/#如何应用一门新的技术)
|
|
|
+ * [Web编程基础](http://growth.phodal.com/#web编程基础)
|
|
|
+ * [从浏览器到服务器](http://growth.phodal.com/#从浏览器到服务器)
|
|
|
+ * [从HTML到页面显示](http://growth.phodal.com/#从html到页面显示)
|
|
|
+ * [HTML](http://growth.phodal.com/#html)
|
|
|
+ * [HTML的hello,world](http://growth.phodal.com/#html的helloworld)
|
|
|
+ * [中文?](http://growth.phodal.com/#中文)
|
|
|
+ * [其他html标记](http://growth.phodal.com/#其他html标记)
|
|
|
+ * [小结](http://growth.phodal.com/#小结-1)
|
|
|
+ * [CSS](http://growth.phodal.com/#css)
|
|
|
+ * [简介](http://growth.phodal.com/#简介)
|
|
|
+ * [样式与目标](http://growth.phodal.com/#样式与目标)
|
|
|
+ * [选择器](http://growth.phodal.com/#选择器)
|
|
|
+ * [更有趣的CSS](http://growth.phodal.com/#更有趣的css)
|
|
|
+ * [JavaScript](http://growth.phodal.com/#javascript)
|
|
|
+ * [hello,world](http://growth.phodal.com/#helloworld)
|
|
|
+ * [JavaScriptFul](http://growth.phodal.com/#javascriptful)
|
|
|
+ * [面向对象](http://growth.phodal.com/#面向对象)
|
|
|
+ * [其他](http://growth.phodal.com/#其他)
|
|
|
+* [前端与后台](http://growth.phodal.com/#前端与后台)
|
|
|
+ * [如何选择一门好的后台语言](http://growth.phodal.com/#如何选择一门好的后台语言)
|
|
|
+ * [JavaScript](http://growth.phodal.com/#javascript-1)
|
|
|
+ * [Python](http://growth.phodal.com/#python)
|
|
|
+ * [Java](http://growth.phodal.com/#java)
|
|
|
+ * [PHP](http://growth.phodal.com/#php)
|
|
|
+ * [其他](http://growth.phodal.com/#其他-1)
|
|
|
+ * [MVC](http://growth.phodal.com/#mvc)
|
|
|
+ * [Model](http://growth.phodal.com/#model)
|
|
|
+ * [View](http://growth.phodal.com/#view)
|
|
|
+ * [Controller](http://growth.phodal.com/#controller)
|
|
|
+ * [后台即服务](http://growth.phodal.com/#后台即服务)
|
|
|
+ * [业务逻辑](http://growth.phodal.com/#业务逻辑)
|
|
|
+ * [数据持久化](http://growth.phodal.com/#数据持久化)
|
|
|
+ * [文件存储](http://growth.phodal.com/#文件存储)
|
|
|
+ * [数据库](http://growth.phodal.com/#数据库)
|
|
|
+ * [搜索引擎](http://growth.phodal.com/#搜索引擎)
|
|
|
+ * [如何选择前端框架](http://growth.phodal.com/#如何选择前端框架)
|
|
|
+ * [Angular](http://growth.phodal.com/#angular)
|
|
|
+ * [React](http://growth.phodal.com/#react)
|
|
|
+ * [Vue](http://growth.phodal.com/#vue)
|
|
|
+ * [jQuery系](http://growth.phodal.com/#jquery系)
|
|
|
+ * [前台与后台交互](http://growth.phodal.com/#前台与后台交互)
|
|
|
+ * [Ajax](http://growth.phodal.com/#ajax)
|
|
|
+ * [JSON](http://growth.phodal.com/#json)
|
|
|
+ * [JSON WEB Tokens](http://growth.phodal.com/#json-web-tokens)
|
|
|
+ * [MVVM](http://growth.phodal.com/#mvvm)
|
|
|
+ * [MVP](http://growth.phodal.com/#mvp)
|
|
|
+ * [MVVM](http://growth.phodal.com/#mvvm-1)
|
|
|
+* [编码](http://growth.phodal.com/#编码)
|
|
|
+ * [编码过程](http://growth.phodal.com/#编码过程)
|
|
|
+ * [Web应用的构建系统](http://growth.phodal.com/#web应用的构建系统)
|
|
|
+ * [构建过程](http://growth.phodal.com/#构建过程)
|
|
|
+ * [一个Web应用的构建过程](http://growth.phodal.com/#一个web应用的构建过程)
|
|
|
+ * [Git与版本控制](http://growth.phodal.com/#git与版本控制)
|
|
|
+ * [版本控制](http://growth.phodal.com/#版本控制)
|
|
|
+ * [Git](http://growth.phodal.com/#git)
|
|
|
+ * [写代码只是在码字](http://growth.phodal.com/#写代码只是在码字)
|
|
|
+ * [Kick Off](http://growth.phodal.com/#kick-off)
|
|
|
+ * [Tasking](http://growth.phodal.com/#tasking)
|
|
|
+ * [如何Tasking一本书](http://growth.phodal.com/#如何tasking一本书)
|
|
|
+ * [如何编写测试](http://growth.phodal.com/#如何编写测试)
|
|
|
+ * [测试金字塔](http://growth.phodal.com/#测试金字塔)
|
|
|
+ * [测试用例](http://growth.phodal.com/#测试用例)
|
|
|
+ * [测试力度](http://growth.phodal.com/#测试力度)
|
|
|
+ * [Mock与Stub](http://growth.phodal.com/#mock与stub)
|
|
|
+ * [Stub](http://growth.phodal.com/#stub)
|
|
|
+ * [Mock](http://growth.phodal.com/#mock)
|
|
|
+ * [测试驱动开发](http://growth.phodal.com/#测试驱动开发)
|
|
|
+ * [测试优先](http://growth.phodal.com/#测试优先)
|
|
|
+ * [功能实现](http://growth.phodal.com/#功能实现)
|
|
|
+ * [重构代码](http://growth.phodal.com/#重构代码)
|
|
|
+ * [Selenium与功能测试的自动化](http://growth.phodal.com/#selenium与功能测试的自动化)
|
|
|
+ * [可读的代码](http://growth.phodal.com/#可读的代码)
|
|
|
+ * [命名](http://growth.phodal.com/#命名)
|
|
|
+ * [函数长度](http://growth.phodal.com/#函数长度)
|
|
|
+ * [函数嵌套](http://growth.phodal.com/#函数嵌套)
|
|
|
+ * [重复代码](http://growth.phodal.com/#重复代码)
|
|
|
+ * [测试用例](http://growth.phodal.com/#测试用例-1)
|
|
|
+ * [代码重构](http://growth.phodal.com/#代码重构)
|
|
|
+ * [Intellij Idea重构](http://growth.phodal.com/#intellij-idea重构)
|
|
|
+ * [提炼函数](http://growth.phodal.com/#提炼函数)
|
|
|
+ * [内联函数](http://growth.phodal.com/#内联函数)
|
|
|
+ * [查询取代临时变量](http://growth.phodal.com/#查询取代临时变量)
|
|
|
+* [上线](http://growth.phodal.com/#上线)
|
|
|
+ * [容器](http://growth.phodal.com/#容器)
|
|
|
+ * [Web容器](http://growth.phodal.com/#web容器)
|
|
|
+ * [应用容器](http://growth.phodal.com/#应用容器)
|
|
|
+ * [Docker](http://growth.phodal.com/#docker)
|
|
|
+ * [LNMP架构](http://growth.phodal.com/#lnmp架构)
|
|
|
+ * [操作系统](http://growth.phodal.com/#操作系统)
|
|
|
+ * [HTTP服务器](http://growth.phodal.com/#http服务器)
|
|
|
+ * [Web应用语言](http://growth.phodal.com/#web应用语言)
|
|
|
+ * [数据持久化](http://growth.phodal.com/#数据持久化-1)
|
|
|
+ * [代理](http://growth.phodal.com/#代理)
|
|
|
+ * [Web缓存](http://growth.phodal.com/#web缓存)
|
|
|
+ * [数据库端缓存](http://growth.phodal.com/#数据库端缓存)
|
|
|
+ * [应用层缓存](http://growth.phodal.com/#应用层缓存)
|
|
|
+ * [前端缓存](http://growth.phodal.com/#前端缓存)
|
|
|
+ * [客户端缓存](http://growth.phodal.com/#客户端缓存)
|
|
|
+ * [HTML5 离线缓存](http://growth.phodal.com/#html5-离线缓存)
|
|
|
+ * [可配置](http://growth.phodal.com/#可配置)
|
|
|
+ * [Toggle](http://growth.phodal.com/#toggle)
|
|
|
+ * [Spring PropertyPlaceHolder](http://growth.phodal.com/#spring-propertyplaceholder)
|
|
|
+* [数据分析](http://growth.phodal.com/#数据分析)
|
|
|
+ * [Google Analytics](http://growth.phodal.com/#google-analytics)
|
|
|
+ * [受众群体](http://growth.phodal.com/#受众群体)
|
|
|
+ * [流量获取](http://growth.phodal.com/#流量获取)
|
|
|
+ * [SEO](http://growth.phodal.com/#seo)
|
|
|
+ * [爬虫与索引](http://growth.phodal.com/#爬虫与索引)
|
|
|
+ * [什么样的网站需要SEO?](http://growth.phodal.com/#什么样的网站需要seo)
|
|
|
+ * [SEO基础知识](http://growth.phodal.com/#seo基础知识)
|
|
|
+ * [内容](http://growth.phodal.com/#内容)
|
|
|
+ * [Hadoop分析数据](http://growth.phodal.com/#hadoop分析数据)
|
|
|
+ * [UX](http://growth.phodal.com/#ux)
|
|
|
+ * [什么是UX](http://growth.phodal.com/#什么是ux)
|
|
|
+ * [UX需要什么](http://growth.phodal.com/#ux需要什么)
|
|
|
+ * [UX入门](http://growth.phodal.com/#ux入门)
|
|
|
+ * [什么是简单?](http://growth.phodal.com/#什么是简单)
|
|
|
+ * [进阶](http://growth.phodal.com/#进阶)
|
|
|
+ * [用户体验要素](http://growth.phodal.com/#用户体验要素)
|
|
|
+ * [认知设计](http://growth.phodal.com/#认知设计)
|
|
|
+* [持续交付](http://growth.phodal.com/#持续交付)
|
|
|
+ * [持续集成](http://growth.phodal.com/#持续集成)
|
|
|
+ * [前提条件](http://growth.phodal.com/#前提条件)
|
|
|
+ * [瀑布流式开发](http://growth.phodal.com/#瀑布流式开发)
|
|
|
+ * [小步前进](http://growth.phodal.com/#小步前进)
|
|
|
+ * [自动化构建](http://growth.phodal.com/#自动化构建)
|
|
|
+ * [持续交付](http://growth.phodal.com/#持续交付-1)
|
|
|
+ * [自动化](http://growth.phodal.com/#自动化)
|
|
|
+ * [DevOps](http://growth.phodal.com/#devops)
|
|
|
+ * [云基础](http://growth.phodal.com/#云基础)
|
|
|
+* [遗留系统与修改代码](http://growth.phodal.com/#遗留系统与修改代码)
|
|
|
+ * [遗留代码](http://growth.phodal.com/#遗留代码)
|
|
|
+ * [什么是遗留代码](http://growth.phodal.com/#什么是遗留代码)
|
|
|
+ * [遗留代码的问题](http://growth.phodal.com/#遗留代码的问题)
|
|
|
+ * [如何修改代码](http://growth.phodal.com/#如何修改代码)
|
|
|
+ * [测试](http://growth.phodal.com/#测试)
|
|
|
+ * [重构](http://growth.phodal.com/#重构)
|
|
|
+ * [修改测试](http://growth.phodal.com/#修改测试)
|
|
|
+ * [再次重构](http://growth.phodal.com/#再次重构)
|
|
|
+ * [网站重构](http://growth.phodal.com/#网站重构)
|
|
|
+ * [速度优化](http://growth.phodal.com/#速度优化)
|
|
|
+ * [功能加强](http://growth.phodal.com/#功能加强)
|
|
|
+ * [模块重构](http://growth.phodal.com/#模块重构)
|
|
|
+* [回顾与新架构](http://growth.phodal.com/#回顾与新架构)
|
|
|
+ * [自省](http://growth.phodal.com/#自省)
|
|
|
+ * [Retro](http://growth.phodal.com/#retro)
|
|
|
+ * [Well](http://growth.phodal.com/#well)
|
|
|
+ * [Less Well](http://growth.phodal.com/#less-well)
|
|
|
+ * [Suggestion](http://growth.phodal.com/#suggestion)
|
|
|
+ * [Action](http://growth.phodal.com/#action)
|
|
|
+ * [浮现式设计](http://growth.phodal.com/#浮现式设计)
|
|
|
+ * [意图导向](http://growth.phodal.com/#意图导向)
|
|
|
+ * [重构](http://growth.phodal.com/#重构-1)
|
|
|
+ * [模式与演进](http://growth.phodal.com/#模式与演进)
|
|
|
+ * [架构模式](http://growth.phodal.com/#架构模式)
|
|
|
+ * [预设计式架构](http://growth.phodal.com/#预设计式架构)
|
|
|
+ * [演进式架构](http://growth.phodal.com/#演进式架构)
|
|
|
+ * [每个人都是架构师](http://growth.phodal.com/#每个人都是架构师)
|
|
|
+ * [如何构建一个博客系统](http://growth.phodal.com/#如何构建一个博客系统)
|
|
|
+ * [相关阅读资料](http://growth.phodal.com/#相关阅读资料)
|
|
|
|
|
|
License
|
|
|
---
|