本项目用于归档我个人的技术文档。
⌨️ | 🎲 | 📦 | 🕸️ | 💻 | 🌐 | 🎨 | ☁️ | 💡 | 🏗️ |
---|---|---|---|---|---|---|---|---|---|
编程语言 | 算法和数据结构 | 数据库 | 网络通信 | 操作系统 | Web | 前端 | 大数据 | 设计 | 软件工程 |
任何建筑都是一砖一瓦的堆砌,任何软件都是通过编程语言一行一行编写的。每种编程语言都有自身的优缺点,有适合的应用场景。编程语言那么多,奈何人生苦短,不可能全部掌握。个人认为,作为程序员,至少应该精通一门高级编程语言,一门脚本语言。所谓一通百通,万变不离其宗,精通一两门编程语言后,自然会发现语言之间也有很多相似性。
本人比较熟的编程语言是 Java、JavaScript,也写过 C、C++、C#、Shell 等语言的程序。在我看来,编程语言的学习有许多的共通性,总结在 「如何学习一门编程语言」 中,如果你是一名程序员新手,推荐一看。
本篇章重点整理 Java、JavaScript 语言的语法、框架、应用等内容。其他语言介绍时,一般都是 All-In-One 式(一篇速成文章)。
待整理。。。
并发容器内容会放在 Java 并发编程章节讲解。
待整理。。。
待整理。。。
待整理。。。
待整理。。。
待整理。。。
- 数据结构 - 关键词:数组、线性表、栈、队列、哈希、树、图、查找、排序
- 算法(:construction: 待整理补充)
网络通信的学习要点就是:记住网络分层结构,各层级上有哪些主要的网络协议和网络设备,它们的基本工作原理是什么。
如果你是互联网从业者,那么有必要更深入理解一下 HTTP、DNS、Socket。
- 计算机网络指南 - 关键词:核心概念、拓扑结构、作用范围、性能指标、体系结构
- 计算机网络之物理层 - 关键词:调制、解调、数字信号、模拟信号、通信媒介、信道复用
- 计算机网络之数据链路层 - 关键词:点对点信道、广播信道、
PPP
、CSMA/CD
、局域网、以太网、MAC
、适配器、集线器、网桥、交换机 - 计算机网络之网络层 - 关键词:
IP
、ICMP
、ARP
、路由 - 计算机网络之传输层 - 关键词:
UDP
、TCP
、滑动窗口、拥塞控制、三次握手 - 计算机网络之应用层 - 关键词:
HTTP
、DNS
、FTP
、TELNET
、DHCP
- 网络协议之 HTTP - 关键词:
HTTP
、DNS
、FTP
、TELNET
、DHCP
- 网络协议之 DNS - 关键词:
HTTP
、DNS
、FTP
、TELNET
、DHCP
- 网络协议之 ICMP - 关键词:
HTTP
、DNS
、FTP
、TELNET
、DHCP
- Nginx 极简教程 - 关键词:反向代理、负载均衡、缓存、跨域
- 前端基础 -
html
,css
,js
- nodejs, npm, yarn -
nodejs
,npm
,yarn
- es6, typescript, babel -
es6
,typescript
,babel
- webpack
- mvc -
react
,vue
,angular
- qa -
eslint
- tool -
gitbook
软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。重点是分而治之,先将大型系统抽象为各个组件或模块;然后逐一解决各组件、各模块的功能、性能问题;最后将这些组件、模块整合成对外服务的一个整体。
- 分布式原理
- 分布式技术实现
- 分布式技术面试题
- 分布式架构
- 大型分布式网站架构
- 大型系统设计
- 大型网站架构概述
- 网站典型故障
- 网站的伸缩性架构
- 网站的可扩展架构
- 网站的安全架构
- 网站的高可用架构
- 网站的高性能架构
- 负载均衡
改善既有代码的设计
关键词:过长函数、过大的类、基本类型偏执、过长参数列、数据泥团、switch 声明、临时字段、被拒绝的馈赠、异曲同工的类、发散式变化、霰弹式修改、平行继承体系、过多的注释、重复代码、冗余类、纯稚的数据类、夸夸其谈未来性、依恋情结、狎昵关系、过度耦合的消息链、中间人、不完美的库类
关键词:类图、对象图、包图、组件图、部署图、复合结构图、活动图、状态图、用例图、通信图、交互概述图、时序图、时间图
关键词:简单工厂模式、单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式、代理模式、模板方法模式、命令模式、迭代器模式、观察者模式、解释器模式、中介者模式、职责链模式、备忘录模式、策略模式、访问者模式、状态模式