# 快速开始 ### 写在最前面 > 这里是工作、学习、生活中总结的各类笔记文章,涉及开发技术,也会感慨万千、水一些`思考`;若发现博客外链不能访问欢迎指正; > 所有内容会选择性的发表于**微信公众号、博客、掘金、CSDN、Github ,实际内容以本仓库排版、校对为主。** 代码会不定期同步到 **码云** 。 **缺少有效访问链接的代表尚未完成,大家善用快捷键`Ctrl+F`**
关注公众号联系作者
## 日常推荐 ## 思维导图 > 内容同步与文档,可以结合思维导图对文档进行有效学习.相关目录的xmind文件为思维导图原文件 ## 文章笔记 ### 前端 > 前端技术百花齐放、层出不穷,个人认为要注重广度,学会看官方文档熟练操作即可; ### CSS > 依赖W3CSchool文档和日常整理,主要是对CSS常用操作和基础属性进行整理总结。不是专家,望谅解 - CSS开发规范 - 样式属性 - 页面布局 - 移动端适配 ##### 基础教程 ### JavaScript #### 快速入门 - [简单介绍]() - [快速了解]() - [JavasScript开发规范]() #### 基础教程 - [语法与数据结构]() - [循环与迭代]() - [流程控制与错误处理]() - [表达式和运算符]() - [函数和方法]() - [数字和日期]() - [对象的使用]() - [正则表达式]() - [promise对象的使用]() - [modules模块]() #### 中级教程 - [Promise对象]() - [async函数]() - [class类]() #### 高级教程 - [不一样的ajax]() - [什么是事件循环]() - [JSON.stringify()的三个参数]() - [ES6、ES7、ES8、ES9、ES10的新特性]() - [ES2020新特性]() - [JavaScript 工具函数大全]() - [常用函数方法整理]() ### JQuery - [安装使用]() - [基本属性]() - Css样式 - 选择器 - 文档处理 - 筛选 - 事件 - 效果 - 事件对象 - 延迟对象 - 回调函数 - 其他整理 ### Vue.js > 介绍基础、常用的vue功能,不会很深入的涉及到vue源码及原理 ### React ### Nuxtjs > Nuxtjs是在vue框架上进行封装的,主要是用来解决单体页面的服务端渲染问题,提供网站进行SEO优化的可能 [前端读写cookie]() ### UI框架 > 市面上前端框架层出不穷,不同的技术栈依赖的UI框架也不尽相同,这里将会依据笔者使用的UI框架,以线上项目展示的方式,介绍用过的框架; - Bootstrap - LayerUI - Ant-design-vue - iView-UI - VantUI - Element-UI ## 后端【Node.js】 > 相比前端,作为偏后端的开发者, 后端技术的学习则需要稳扎稳打、不断积累整理,在会用、能用、熟练的基础上,更应该学习其中的原理;所以若你为后端开发者,不论Java、Nodejs、Go等技术栈,对待下面将提及的微服务架构、容器技术、服务治理、高可用等都需要努力学习,抓住重点; > > 在面试面前,能力是不会说谎的,打铁还需自身硬,加油~ ### Express框架 - [框架概念简介]() - [brew和tree的安装]() - 搭建express基础项目 - 安装 - 路由 - 静态文件 - 中间件 - 统一错误处理 - [express()函数]() - [application对象详解]() - [request对象]() - [respon对象]() - [router对象]() - 数据库集成 - MVC分层 - [pm2进程管理]() - 分环境部署上线 ### Koa框架 - koa介绍 - 手把手搭建第一个koa项目 - 应用(Application) - 中间件(Middleware) - 上下文(Context) - 请求(Request) - 响应(Response) ### Eggjs框架 #### 基础篇 - [第一部分:Git概述]() - [1.1 下载和安装]() - [1.2 基本配置]() - [1.3 常用命令]() - [1.4 GitHub简单使用]() - [1.5 GitBook简单使用]() - [1.5.1 Typora简介]() - [1.5.2 MarkDown语法]() - [1.6 码云和GitHub的选择]() - [第二部分:数据库概述]() - [2.1 下载和安装]() - [2.2 连接数据库]() - [2.3 CURD操作]() - [2.4 Redis缓存]() - [2.4.1 redis安装]() - [2.4.2 redis常用指令]() - [2.5 可视化管理]() #### 入门篇 - [第一部分:Egg框架快速入门]() - [1.1 基础功能]() - [1.1.1 接口参数获取]() - [1.1.2 Egg内置对象 ]() - [1.1.3 Config配置]() - [1.1.4 Egg生命周期]() - [1.1.5 中间件理解]() - [1.1.6 Router路由分发]() - [1.1.7 Controller控制器]() - [1.1.8 Service服务]() - [1.1.9 常用插件]() - [1.2 核心功能]() - [1.2.1 日志输出]() - [1.2.2 定时任务]() - [1.2.2 HttpClient网络请求]() - [1.2.3 Cookie的基本使用]() - [1.2.4 Session的基本使用]() - [1.2.5 统一异常-错误处理]() - [1.2.6 CSRF防范和XSS攻击]() - [1.2.7 RESTful API接口风格]() - [第二部分:插件开发]() - [2.1 egg-validate参数校验]() - [2.2 egg-view-ejs页面渲染]() - [2.3 egg-redis缓存]() - [2.4 egg-mysql]() - [2.5 egg-sequelize]() - [2.6 egg-socket.io即时通讯]() #### 代码实战篇 - [第一部分:常用代码]() - [1.1 图片前端在线剪辑]() - [1.2 文件上传后台处理]() - [1.3 MD5加密-解密算法]() - [1.4 Egg Jwt加密和校验]() - [第二部分:项目简介]() - [2.1 基于OAuth2的统一认证中心系统]() - [2.2 常用前后端分页比较与实现]() - [2.3基于Spring Boot实现的个人博客]() - [2.4 基于Yapi搭建的接口管理系统]() - [2.5 GitBook开源笔记总结站点搭建]() - [2.6 个人网站及接口服务搭建搭建]() - [第三部分:手把手搭建基础Egg开发框架]() ### Nestjs框架 > Nestjs框架推崇typescript语法,并且友好的兼容express框架,因此在学习Nestjs框架之前,请务必先熟悉express框架相关操作并进行typescript入门;在一定程度上typescript和面向对象语言Java、Net等很相似,如果你之前有JavaScript和Java的基础,那么应该恭喜你,你的学习速度将会倍速提高 - [核心基础概念]() - [项目创建初始化入门]() - [整合swagger快速生成api文档]() - [接口路由请求传参]() ## 算法 - 算法分析 ### 查找 - 顺序查找 - 折半查找 - 分块查找 - B树和B+树 - 散列(Hash)表 - 字符串模式匹配(KPM) ### 排序 - 插入排序 - 交换排序 - 选择排序 - 归并排序 - 基数排序 - 内部排序比较 - 外部排序比较 ### LeetCode刷题 ## 数据库 > 主讲数据库基础知识,结合node的简单使用,相关的部署方案参照下方的文档 ### MySQL - [【服务器版】MySQL的安装部署]() - [MySQL优化之Explain参数说明]() - 索引分类 - SQL语句优化 - [基于GTID主从复制的原理和基础配置]() - [MySQL日志类型把我难哭了,你学废了吗?]() ### Redis - [key命名规范与建议]() - [redis开发使用规范]() - [redis基础介绍]() - [redis的简单安装和部署]() - [官方默认配置模板]() - 数据类型 - [redis简单主从集群部署-docker方式]() - [memCache与Redis比较]() ### Mongo - 基本介绍 - 安装部署 - 简单使用 - Node下的CURD操作 ## 服务部署 ### nginx - [nginx安装,普通安装 Or Docker搞定?]() - [手把手nginx基础入门]() - [反向代理、负载均衡真有那么难吗?]() - [Nginx SSL证书,从此踏上Https之路]() ### docker - 我与docker的第一次硬碰硬 - docker操作入门真有那么难吗? - 这些基础操作指令,你会吗? - 那些年,我常用的docker指令操作汇总 ### docker-compose - 听说你装了N次都没搞定? - 集群启动失败,yaml规范不清楚? - [我了解的docker-compose都在这里了]() ### linux下shell编程 - [shell基础整理]() - [操作mysql数据库]() - shell操作docker - 环境变量env ## 服务网关 ### kong - [kong的的基本介绍]() - [docker下kong的部署]() - docker-compose搭建kong集群 - 可视化管理界面介绍 ### Kong-Admin - 基本介绍与docker部署 - 简单使用 - 路由管理 ### kong-dashboard - docker简单部署 - 路由管理 - 插件介绍 ## 服务注册 ### Apollo > 携程开发的配置中心经典项目,可集成多语言客户端,实现灰度部署,在分布式微服务的场景下抽离出服务配置,方便统一管理、发布 ### Consul > 服务注册、发现,key-value键值对管理 ### Nacos > 背靠国内一线互联网大厂——阿里巴巴,也是可适用于微服务下的配置管理,支持Java、Nodejs等主流语言,目前生态良好,技术支持表现一般,属于Apollo替代产品 ## 消息中间件 > 消息队列已经逐渐成为企业IT系统内部通信的核心手段。具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。 > > 目前个人了解的有:RabbitMQ、Kafka、RocketMQ ### RabbitMQ ### kafka ### RocketMQ ## RPC框架 ### gRPC > gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,tensorflow分布式与tensorflow serving底层通信都是是用的grpc。我自己基于JavaScript技术栈上较多的接触到gRPC,传送门:[基于js下各框架grpc的使用]() - nodejs下grpc的简单实用 - grpc集成express框架 - grpc集成koa框架 - eggjs框架下grpc的线上部署 - grpc插件开发示例 ### Dubbo > Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于Spring框架(**Java技术栈重点研究**) ### Thrift > Apache的一个项目(http://thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。 ## Elk日志管理平台 > 全链路日志 - [ELK基础概念与常用架构整理]() ### ElasticSearch > 数据存储 ### Logstash > 数据收集 ### Kibana > 数据展示 ## 监控工具 > 参考笔者线上平台:http://view.142vip.cn/grafana 账号/密码:test/123456 基于docker部署,由于是个人学生服务器,站点访问延迟较高 > > 常用工具:promethus 、grafana、zabbix、lepus等 ### Prometheus ### Grafana ### Zabbix ### lepus(天兔) ## 高可用架构 ### MySQL集群 #### 主从同步 > 实现功能:主从服务器数据一致,低延迟、高并发 - Binlog主从复制 - GTID主从复制 - 主主复制 #### 代理中间件 > 实现功能:读写分离、分库分表、负载均衡、故障切换 - Mycat - 360Atlas #### 集群监控 > 实现功能:实时监控、可视化数据显示、故障报警 ##### Prometheus - 监控MySQL集群 - 监控Mongo数据库 - 监控Node服务 - 监控linux服务器 - 监控redis集群 ##### Grafana - 基本安装部署 - 功能介绍和简单操作 - 可视化数据图形显示界面 - 常用模板 ##### alter-manager - 推送到邮箱 - 推送到钉钉、微信机器人 - 推送到自定义消息接口(webhook钩子) #### 压力测试 - jmeter ## Redis集群 > 持续整理中... ### 简单主从模式 ### 哨兵模式 ### cluster模式 ## 网站搭建 > 从大二开始搭建个人网站:http://www.142vip.cn 起初非常简陋,工作之后计划进行第三版迭代,一直抽空佛系谢谢, 目前在重构中.. - 最初的梦想 - 舍弃Java,我的重构之路 - 网站正规化,Nginx配置SSL证书 - 小小网站却耗费三台学生服务器? ## 书籍整理 ### 技术类 > 待整理 #### [狼书 - 了不起的Node.js]() - [第一章 Node.js初识]() - [第二章 Nodejs安装与入门]() - [第三章 更了不起的Node.js]() - [第四章 更好的Node.js]() - [第五章 Node.js是如何执行的]() - [第六章 模块与核心]() - [第七章 异步写法与流程控制]() - [全部笔记]() #### [ES6标准入门——阮一峰]() > 本书内容较多,很多基础细节都有说明,难度中等、适合入门,书中很多例子我也摘抄了很多,主要是我认为重要的,笔记按照自己学习逻辑整理的,请君慢用 - [1.ECMAScript 6 简介]() - [2.let和const命令]() - [3.变量的解构赋值]() - [4.字符串详解]() #### [深入浅出的Node.js]() ### 非技术类 > 主要是跟计算机无关的一些书,在看完之后,会选择性的进行思维导图、经典词句整理,也可能添加个人思考 #### [你好孤独 - 陈果]()