Skip to content

whyDK37/learning-path

Repository files navigation

learning-path

学习记录

基础知识

系统

TCP/IP

案例分析

Linux 系统

命令/工具

文章/博客

编程语言

Java

学习 Java 语言有以下入门级的书(注意:下面一些书在入门篇中有所提及,但为了完整性,还是要在这里提一下,因为可能有朋友是跳着看的)。

工具

JDepend traverses Java class and source file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to effectively manage and control package dependencies.

源码

功能 # # # # # # #
API 网关 Soul Spring Cloud Gateway Zuul
服务调用 Dubbo SOFA RPC Motan Ribbon
服务编排 camel.apache.org airflow.apache.org
服务网格service mesh istio.io 蚂蚁金服 weibo mesh
消息队列 RocketMQ Kafka RabbitMQ Pulsar ActiveMQ
作业调度 Elastic Job Lite Elastic Job Cloud Quartz XXL-Job
注册中心 Eureka Zookeeper Nacos Consul Etcd
配置中心 Apollo Nacos Spring Cloud Config Disconf
链路追踪 SkyWalking Zipkin Pinpoint CAT
服务保障 Hystrix Sentinel Resilience4j
服务器 Netty Tomcat Jetty Nginx
Java JDK 源码 Java 并发 JVM 虚拟机 Java 面试题
Cache Caffeine guava
J2EE Spring Spring Boot Spring Cloud
Web 框架 Spring MVC Spring Security Spring Webflux Shiro
ORM 框架 MyBatis Hibernate Spring Data JPA
数据库连接池 HikariCP Druid
数据库中间件 Sharding JDBC Sharding Sphere MyCAT Canal
分布式事务 TCC Transaction Seata Fescar Happylifeplat TCC
数据库 MySQL Redis MongoDB TiDB
搜索引擎 Lucene Elasticsearch Solr
工具类 RxJava Guava beanshell
容器服务 Linux Docker Kubernetes Swarm
开发工具 Git Maven Jenkins IntelliJ IDEA
测试工具 moco ArchUnit
前端框架 React Vue Angular
大数据 HBase Hive Spark Flink
其它语言 Go Python
自我修养 设计模式 数据结构与算法 性能测试

JVM

  • Inside the Java Virtual Machine 讲解JVM内部机制的系列文章。I'll be posting chapters of Inside the Java 2 Virtual Machine in the coming weeks and months.

JVM 问题排查

框架工具

其他资料

一种函数式编程语言, 如果对学习新的语言或者函数式编程, 递归编程感兴趣, 可以研究一下.

编程模型/范式

I/O模型

I/O模型可以分为以下几类:

Lock-Free 编程

编程范式

数据结构

  • ring buffer A ring showing, conceptually, a circular buffer. This visually shows that the buffer has no real end and it can loop around the buffer. However, since memory is never physically created as a ring, a linear representation is generally used as is done below. A circular buffer, circular queue, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself easily to buffering data streams.
  • 6.851: Advanced Data Structures (Fall'17) - MIT 高级数据结构课程.youtube 地址
  • 数据结构动画网站 - 以动画的方式展示数据结构, 非常直观.

Algorithm 算法

基础知识

  • 图解算法 - 比较生动的一本算法书
    • 练习题
      • 6.3 拓扑排序 Topological Sorting, 请问下面的三个列表哪些可行、哪些不可行?
  • 算法(第四版) - 算法领域的经典参考书 , 给出了50个程序员应该知道的算法. 深入浅出的算法介绍, 让一些比较难的算法也比较容易理解, 尤其是书中对红黑树的讲解非常精彩. 缺点是不深入, 缺少算法设计内容. 甚至动态规划都未提及. 官网
  • 编程珠玑 -
  • 算法导论 - 不太好肯的一本书, 详细介绍了算法的推导过程, 需要些数学功底.

算法设计思想

  • divide and conquer,D&C 分而治之

  • 动态规划 Dynamic programming(hard to learn)

  • 回溯 back tracing

  • 分治 Divide and Conquer

  • 算法实例

    • List_of_algorithms - 罗列了很多算法, 完全可以当做算法字典, 或用来开阔眼界.

    • 快速排序(D&C)

    • 蚂蚁算法

    • 广度优先搜索(breadth-first search,BFS).

      • Topological Sorting | 拓扑排序 In the field of computer science, a topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge uv from vertex u to vertex v, u comes before v in the ordering.

      使用广度优先搜索可以:

      1. 编写国际跳棋AI,计算最少走多少步就可获胜;
      2. 编写拼写检查器,计算最少编辑多少个地方就可将错拼的单词改成正确的单词,如将READED改为READER需要编辑一个地方;
      3. 根据你的人际关系网络找到关系最近的医生。
      4. 第一类问题:从节点A出发,有前往节点B的路径吗?(在你的人际关系网中,有芒果销售商吗?)
      5. 第二类问题:从节点A出发,前往节点B的哪条路径最短?(哪个芒果销售商与你的关系最近?)
  • 基础算法题, 其中有大量的算法题,解这些题都是有套路的

    • 耗子的"理论学科"中的介绍
    • 递归, 深度优先DFS, 广度优先BFS
    • 折半查找 Binary search
    • 大量的对树, 数组, 链表, 字符串, hash表的操作.
    • 蓄水池算法, 统计过去1分钟P99
    • 服务调度的背包问题
    • 红黑树

资料

论文

数据库

Mysql

Elasticsearch

分布式存储系统

ceph

分布式系统

理论

规范

相关框架

distributed tracing system

  • zipkin Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data. Zipkin’s design is based on the Google Dapper paper.

软件设计

人工智能/机器学习

资料

  • 基本算法

资料集散地

博客

图书

其他

工具

git

软技能

面试技巧

工具

About

学习路径

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published