本项目用于归档我个人的技术文档。
☕ | ☕ | 🍃 | 🍃 | 🔥 | ⌨️ |
---|---|---|---|---|---|
JavaCore | JavaWeb | spring | SpringBoot | JavaScript | 其他编程语言 |
🎲 | 📦 | 🕸️ | 💻 | 🛠️ | 🎨 | ☁️ | 💡 | 🏗️ |
---|---|---|---|---|---|---|---|---|
算法和数据结构 | 数据库 | 网络通信 | 操作系统 | Tools | 前端 | 大数据 | 设计 | 方法 |
任何建筑都是一砖一瓦的堆砌,任何软件都是通过编程语言一行一行编写的。每种编程语言都有自身的优缺点,有适合的应用场景。编程语言那么多,奈何人生苦短,不可能全部掌握。个人认为,作为程序员,至少应该精通一门高级编程语言,一门脚本语言。所谓一通百通,万变不离其宗,精通一两门编程语言后,自然会发现语言之间也有很多相似性。
本人比较熟的编程语言是 Java、JavaScript,也写过 C、C++、C#、Shell 等语言的程序。在我看来,编程语言的学习有许多的共通性,总结在 「如何学习一门编程语言」 中,如果你是一名程序员新手,推荐一看。
本篇章重点整理 Java、JavaScript 语言的语法、框架、应用等内容。其他语言介绍时,一般都是 All-In-One 式(一篇速成文章)。
JavaCore 是对 Java 核心技术的经验总结。包含对Java各种语法特性的深入细致的讲解,此外,针对并发编程、IO/NIO、容器、JVM 以专题形式深入讲解。
待整理。。。
- 数据结构 - 关键词:数组、线性表、栈、队列、哈希、树、图、查找、排序
- 算法(:construction: 待整理补充)
总结关系型数据库和 Nosql 数据库原理、面试题。重点介绍 Mysql、Redis 数据库使用、原理、运维、调优,并介绍一些其他常见数据库知识。
网络通信的学习要点就是:记住网络分层结构,各层级上有哪些主要的网络协议和网络设备,它们的基本工作原理是什么。
如果你是互联网从业者,那么有必要更深入理解一下 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
- Git 从入门到精通 - 关键词:版本控制、分布式
- Nginx 极简教程 - 关键词:反向代理、负载均衡、缓存、跨域
- 使用 Gitbook 打造你的电子书
- 前端基础 -
html
,css
,js
- nodejs, npm, yarn -
nodejs
,npm
,yarn
- es6, typescript, babel -
es6
,typescript
,babel
- webpack
- mvc
- qa -
eslint
- tool -
gitbook
软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。重点是分而治之,先将大型系统抽象为各个组件或模块;然后逐一解决各组件、各模块的功能、性能问题;最后将这些组件、模块整合成对外服务的一个整体。
- 分布式原理
- 分布式技术实现
- 分布式技术面试题
- 分布式架构
- 大型分布式网站架构
- 大型系统设计
- 大型网站架构概述
- 网站典型故障
- 网站的伸缩性架构
- 网站的可扩展架构
- 网站的安全架构
- 网站的高可用架构
- 网站的高性能架构
- 负载均衡
改善既有代码的设计
关键词:过长函数、过大的类、基本类型偏执、过长参数列、数据泥团、switch 声明、临时字段、被拒绝的馈赠、异曲同工的类、发散式变化、霰弹式修改、平行继承体系、过多的注释、重复代码、冗余类、纯稚的数据类、夸夸其谈未来性、依恋情结、狎昵关系、过度耦合的消息链、中间人、不完美的库类
关键词:类图、对象图、包图、组件图、部署图、复合结构图、活动图、状态图、用例图、通信图、交互概述图、时序图、时间图
方法论,是人们认识世界、改造世界的方法的理论。同样,项目管理、编程、写文档都应该有一定的方式方法,帮助我们合理、高效、快速的达成目标。
- 本项目中的文档遵循『合理编排你的技术文档』。