didiaode18 / ks

知识结构体系

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

知识结构体系

设计模式(Design Pattern)

  • Creational Patterns
  • Structual Patterns
    • 代理模式(Proxy Pattern)
    • 装饰者模式(Decorator Pattern)
    • 适配器模式(Adapter Pattern)
  • Behavioral Patterns
    • 观察者模式(Observer Pattern)
    • 责任链模式(Chain of Responsibility Pattern)
    • 模板方法模式(Template Method Pattern)
    • 状态机模式(State Pattern)

Linux

RESTful

RESTful是一种规范和原则,并不是一种实现方式,它更关注的是设计规范,而不是实现

  • 实现框架
    • Spring MVC (JAVA)
    • Flask (Python)
  • RESTful API Design
  • Swagger
  • 数据交换格式
    • JSON
    • ProtoBuf
    • Avro
    • Thrift

数据结构与算法

JAVA语言

JAVA虚拟机(JVM)

安全与加密(Security & Encryption)

Python语言

  • Python Web Framework
    • Django
    • Flask
    • Pyramid

Ruby

  • JRuby

Golang

Bat脚本

版本控制(Version Control)

高并发(Concurrent, Multitasking & Multithreading)

  • 操作系统原理
  • Java常用并发类(JUC, java.util.concurrent)
    • 集合类
    • 原子类(AtomicInteger)
    • 线程池(ThreadPoolExecutor, Executor, FutureTask)
    • 锁(ReentrantLock, ReentrantReadWriteLock)
    • 工具类(CountDownLatch, CyclicBarrier, Semaphore)

数据库(DataBase)

测试

功能测试是基于原始需求的,集成测试是基于模块交互的,在一定程度上,功能测试是包含集成测试的。

  • LLT (Low Level Test)
    • 单元测试(Unit Test, UT)
    • 集成测试(Integration Test, IT)
    • 模块系统测试(Module System Test, MST)
    • 模块间集成测试(BBIT)
  • HLT (High Level Test)
    • 系统设计验证(System Design Verification, SDV)
    • 系统集成测试(System Integration Test, SIT)
    • 系统验收测试(System Verification Test, SVT)
    • Tools
      • 持续集成(Continuous Integration, CI)
        • Jenkins
      • 自动化执行工具
  • 功能测试(Functional Tests)
    • Tools
  • 性能测试(Performance Tests)
  • 用户验收测试(User Acceptance Test,UAT)
    • Pre-Alpha
    • Alpha
    • Beta
    • Release Candidate (RC)
    • Release

网络通讯&网络编程(Network Programming)

  • 网络模型
    • OSI参考模型
      • 物理层
      • 数据链路层
      • 网络层(Network Layer, IP、ICMP、ARP、RARP)
      • 传输层(Transport Layer)
        • TCP
          • 拆包、粘包、半包
        • UDP
        • Socket
      • 会话层(Session Layer,RPC、SQL、NFS、X WINDOWS、ASP)
      • 表示层(Presentation Layer)
      • 应用层(Application Layer,FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS、NTP、MQTT)
    • TCP/IP参考模型
  • 协议(Protocols)
    • SSL (TLS)
      • SSL纪录协议层(SSL Record Protocol Layer)
      • SSL握手协议层(SSL HandShake Protocol Layer)
  • IO
    • JAVA原生IO
      • BIO
      • NIO
      • AIO
    • IO Framework
      • Netty
        • ByteBuf
        • Channel
        • ChannelPipeline, ChannelHandler
        • EventLoop, EventLoopGroup
        • Future, Promise
        • 文件传输
      • Mina
      • Grizzly

分布式

分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作,网络编程是基础中的基础。

  • 协议
    • Lease机制
    • Quorum机制
    • 副本控制(primary-secondary)
    • 二阶段提交(coordinate, participant)
    • paxos
  • 分布式缓存
  • 分布式系统协调
    • 分布式锁
    • 选主
    • ZooKeeper
      • zkCli
      • 提供
      • 能做
        • 命名服务
        • 配置管理
        • 集群管理
        • 分布式锁
        • 队列管理
  • 一致性
  • 分布式事务
  • 分布式消息队列
  • 分布式日志收集
    • Logstash

Message Queue(消息队列)

高可用(HA&MHA&HS)

  • 高可用性
  • 高可靠性
  • 高扩展性
  • 负载均衡

云计算(Cloud Computing)

云计算是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、存储、处理和共享的一种托管技术。

  • 分层架构
    • IaaS
      • 虚拟机(Virtual Machine)
    • PaaS
      • Docker
    • SaaS
    • BDaaS
      • 大数据组件
        • HDFS
        • MapReduce
        • Spark
  • 框架
    • OpenStack
    • CloudStack

运维(Operation and Maintenance)

  • 运维工具(Tools)

前端

  • JavaScript
    • 原型链/作用域链
    • 闭包(Closure)
  • 开发工具
    • WebStorm
    • HBuilder
  • 代码质量
  • 前端库/框架
    • jQuery
    • AngularJS
    • Bootstrap
  • 部署流程
    • 压缩合并
    • 文档输出
    • 项目构建工具

浏览器书签

推荐书籍

About

知识结构体系