## 前言
- [全栈修炼手册:如何选择自己的技术栈?](notes/如何选择自己的技术栈.md)
在编程的世界里,该如何选择自己的技术栈呢。学前端?学 APP 开发?对于 Java、C++、C#、Python、PHP 又如何选择呢?人工智能现如今这么火,是不是机器学习、深度学习更高级一些呢?那么程序员又如何修炼内功呢?
- [全栈开发神兵利器](notes/全栈开发神兵利器.md)
工欲善其事,必先利其器。这里我将推荐开发过程中的提效工具、开发利器、协作工具、文档技术等等。
- [XP 极限编程](notes/XP极限编程.md)
敏捷软件开发中可能是最富有成效的几种方法学之一
## 技能图谱
- [backend skill](notes/SkillTree/backend-skill.md)
后台开发技能图谱,从程序员的内功修炼到后台语言,分布式系统架构
## 一、数据结构与算法
- [数据结构与算法](notes/数据结构与算法.md)
排序算法、动态规划、递归、回溯法、贪心算法等
- [海量数据处理](notes/海量数据处理.md)
数据处理典型案例,逐渐更新
## 二、Java
- [Java 基础概念](notes/JavaArchitecture/01-Java基础.md)
基本概念、面向对象、关键字、基本数据类型与运算、字符串与数组、异常处理、Object 通用方法
- [Java 集合框架](notes/JavaArchitecture/02-Java集合框架.md)
数据结构 & 源码分析:ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and LinkedHashMap
- [Java 并发编程](notes/JavaArchitecture/03-Java并发编程.md)
线程状态、线程机制、线程通信、J.U.C 组件、JMM、线程安全、锁优化
- [Java I/O](notes/JavaArchitecture/04-Java-IO.md)
磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO
- [Java 虚拟机](notes/JavaArchitecture/05-Java虚拟机.md)
运行时数据区域、垃圾收集、内存分配机制、类加载机制、性能调优监控工具
- [Java 设计模式](notes/JavaArchitecture/06-Java设计模式.md)
Java 常见的 10 余种设计模式,全 23 种设计模式逐步更新
- [Java Web](notes/JavaArchitecture/07-JavaWeb.md)
包含 Servlet & JSP、Spring、SpringMVC、Mybatis、Hibernate、Structs2 核心思想,如 IOC、AOP 等思想。SSM 更详细请转向:[Spring](notes/JavaWeb/Spring.md) | [SpringMVC](https://github.com/frank-lam/SpringMVC_MyBatis_Learning) | [MyBatis](https://github.com/frank-lam/SpringMVC_MyBatis_Learning)
## 三、Python
- [Python 语言基础](notes/Python/Python简介及基础语法.md)
- Scrapy 爬虫框架
- Flask
- Django
## 四、前端
- [前端知识体系](notes/Frontend/前端知识体系.md)
- Vue
- 第一个 Vue 应用程序
- Vue-cli 脚手架
- vue-router 路由
- vuex 状态管理
- Webpack