Welcome to my study blog! This is my continuously make up a main post. If you get any problems when using my blog, you can send the email to hariijico@outlook.com
Study Guide
Guide Docs
- JS
- JavaScript 教程 - 阮一峰 | 网道
- ECMAScript 6 教程– 阮一峰 官方 网道镜像
网道(https://wangdoc.com/) 是一个文档网站,提供互联网开发文档。
网道 PC显示更佳。阮一峰博客的移动端显示更佳
- TS
- Vue
- Git
Tools
JQuery API 中文在线文档/速查表
Loadsh 中文文档(鲁大师) 推荐
鲁大师 提供了许多牛逼的函数 节流、防抖、操作数组、对象的一系列函数(对象的深拷贝、浅拷贝)
轶事:lodash为什么叫lodash? lodash可以理解为low dash,dash就是中划线-,比较low的dash就是下划线_,因为之前有一个underscore类库,也是用下划线表示,开发一个新类,沿用以前的传统,所以就用了一个同义词lodash(low dash)。Base64 在线编码解码(https://base64.us/)
也可以选择图片文件来获取它的 Base64 编码的 DataURI 形式
Necessary Tech
Main Line
前端三剑客基础 HTML5 – CSS3 – JS5/ES5
H5引入了许多新特性和API,如语义化元素、表单控件、图形和多媒体元素,以及各种Web API等等
CSS3的新特性:如圆角(border-radius)、阴影(box-shadow、text-shadow)、渐变(gradient)、动画(animation)、过渡(transition)、弹性布局(flex)等黑马JS最新教程 (2023.1.31 | 60:10:24)
Pink老师最新版JS课程,主要讲解JS核心知识,包含最新ES6语法、API、js高级等
https://www.bilibili.com/video/BV1Y84y1L7Nn三剑客进阶 移动Web/web API – Less – Sass – ES6
移动web要学习一些web API、布局来更好的适配页面,如Flex 或是em vw vh等
Less、Sass可以说是css的超类
Sass是css预处理器,提供了类似编程语言的功能,包括变量、嵌套规则、混合、继承、函数等。帮助开发者更高效的编写和组织样式表
Sass并不能直接在浏览器执行,所以好需要配置IDE插件或者专门工具来将Sass文件编译成css文件才能使用Less受Sass的启发,为开发人员提供更加高效便捷的样式表编写方式
ES6对JS进行了语法改进,还增加了类和继承、Promise等特性,最重要的是制定了模块化标准,为开发者提供了更好的开发工具和语言特性,使得JS变的更加现代化、强大灵活
黑马ES6教程 (19.7.31 | 91-122p)
阮一峰es6教程 – 官方 | 网道镜像前端库/工具 jQuery – bootStrap – ajax
bootStrap开始是用jQuery库 + less 来实现的,后来慢慢移除了对jQuery的依赖,改用原生js来实现,也从less转成了sass
版本管理工具 git
不过一开始应该不会用到,可以在学过node之后再学更好些
黑马Git教程(17.1.16 | 75-101p | 4h5min)
很细,可以结合下面的文章补充
建议先看廖雪峰的教程到git安装的地方,再开始学这个,然后廖雪峰教程跟进
https://www.bilibili.com/video/BV1zs411h74a?t=8.1&p=75Git教程 – 廖雪峰
https://www.liaoxuefeng.com/wiki/896043488029600
因为是文章,所以会有地方不如视频直观明了,也有一些没说到的地方,但是也有很多视频中没有的东西
JS运行环境 ———— Node.js
Node.js是一个基于Chrome V8引擎的JS运行时环境,用于构建快速、可扩展的网络应用程序。之后,开发者就可以用JS来写服务端程序。
node主要学习npm包管理器及各种包(工具)的使用
学习node之后会让你更顺利的学习各种框架以及git
学习node也会加深你对前后端交互以及后端的理解
Node.js采用非阻塞I/O模型,能够高效处理大量并发请求,从响应效率上比同时代PHP更有优势- KoaJS(2013)
Koa是Express的下一代框架,旨在解决Express中一些设计上的限制和缺陷,使得异步编程更加优雅、代码更加清晰、应用更急啊灵活
- KoaJS(2013)
目前主流框架 Vue(2014 尤雨溪) / React(2013 Facebook) / Angular(2009 Google)
- Angular(不必要学,很多银行国企在用)(2009)
2009年 由Google发布,引入了许多新概念,如双向数据绑定、依赖注入和模板化,为Web开发带来了革命性的变化,也为后续的SPA框架(单页面应用程序)发展奠定了基础。
然而AngularJS是典型的“精英”框架,用后端思维设计的前端框架,直接沿用了MVC思想,加上很多首创的概念,比较晦涩难懂,因此不怎么流行
angularjs和.net在国内同等命运,先进但无人问津,招人困难所以转vue+java
- Vue(2014)
Vue结合了Angular和React的优点,同时提供了更简洁的API和更灵活的设计,Vue的开发方式更像之前的套模版,使得开发者无缝过度,深受喜爱。
Vue极为接地气,组件了活跃的社区,由社区编写了各语种的开发文档,每项说明都配上实例,还提供了各种应用场景的代码 DEMOVue支持Webpack构建工具的使用
原生Vue组件在js文件中的使用、Vue Cli脚手架、Element UI
vue的核心原理(MVVM)、了解vue生命周期、组件传值、路由、vuex
2.1 Nuxt.js(2016)
在Next.js的启发下,Vue阵营出现了Nuxt,功能和Next几乎一模一样,给Vue提供了开箱即用的丰富功能和工具,使得Vue开发应用更加高效便捷
2.2 Uni-App(2018)(uni,unique,是统一的意思)
是一款 使用Vue.js开发所有前端应用的 跨平台应用开发框架,开发者编写一套代码 基于Vue开发应用,可发布到iOS、Android、Web(响应式)/H5、以及各种小程序、快应用等多个平台。
2.3 Vue3(2020)
Vue3增加了组合式开发模式、增加了TS支持、引入了全新的Composition API,更加适应现代化前端的开发模式。同时,尤雨溪还推出了现代化前端构建工具Vite。
2.4 Vite(2020)
Vite利用模块 热更新、按需编译等特性,为开发者提供了一种快速、轻量级、现代化的前端构建工具,填补了Webpack的性能瓶颈。- React(2013)
React引入了虚拟DOM的概念、组件化开发、单向数据流、使用JSX语法等等,极大的改变了前端的开发方式,推动了前端开发向组件化、高性能、高效率的方向发展。
3.1 React Native(2015)
基于React开发的框架,使用JS和React的语法来构建原生移动应用。通过它,开发者可以使用相同的代码库构建同时运行在ios和Android平台上的原生应用。
3.2 Next.JS(2016)
Next.JS是一个基于React的轻量级框架,提供了服务器端渲染、静态导出等功能,简化了React应用的开发和部署,使得React应用更易于优化和扩展,同时提供了更好的性能和SEO支持,成为构建现代Web应用的流行选择。3.2.1 Server Actions(2023)
2023年,Next.js14版本推出Server Actions,允许开发者直接在组件编写服务端代码,这张图被称作“科技圈最讨厌图片”,不少开发者困惑,这不就是PHP吗,因此Next.js也被戏称为Next.php

3.3 Taro(2018)
Taro除了是基于react之外,其他的功能与UniApp一模一样
2019年疫情爆发,人员统计、表单收集、健康码等等都是临时性、紧迫性的业务需求,没有现成的产品使用,过去呢种动辄上月甚至数年的开发周期显然不能满足,此时小程序承载了这一巨任,经常会有数天开发周期的小程序出现供防疫工作使用。在这里头UniApp和Taro充分发挥了它们的作用,尽管小程序是畸形发展的产物、UniApp和Taro开发会出现数不尽的兼容问题,但不可否认,这三年,它们对防疫工作的贡献是巨大的。- React与Vue的对比
- 国内比较推崇vue,而国外则比较偏爱React。目前国内中小公司仍以vue为主,不过部分也开始转向React,大公司则比较倾向React。
- Vue使用模版语法,对元素实行绑定,是传统的HTML、CSS、JS分离式编程
- React将用户界面抽象为组件的集合,强调组件之间的高度重用性,采用了反直觉的将HTML、CSS、JS封装在一起
- Angular(不必要学,很多银行国企在用)(2009)
PC or 408 or ELSE
理解 OSI 模型和 TCP/IP 协议族
学习 SSL/TLS 协议和加密通信技术,保障网络通信的安全性。
掌握常见的安全协议如 HTTPS、SSH 等的原理和使用方法。
XXS 跨站脚本
学习 XSS 攻击的基本原理,包括攻击者向网站注入恶意脚本代码,以及受害者浏览网站时执行恶意脚本的过程。
学习如何发现网站中的 XSS 漏洞,包括手动审查源代码、使用自动化工具进行漏洞扫描等方法。
学习反射型 XSS、存储型 XSS 和 DOM 型 XSS 等不同类型的 XSS 攻击,了解它们的区别和特点。
了解攻击者利用 XSS 漏洞进行的一些常见攻击,如窃取用户信息、会话劫持、网站篡改等。
DDOS 分布式拒绝服务攻击
网络攻击,旨在使目标系统或网络资源不可用,通常是通过使目标系统或网络过载或崩溃来实现的。攻击者利用大量的合法或非法的网络流量向目标系统发送请求,导致目标系统无法处理正常的用户请求,从而使其服务不可用。
Else Tech
一些分支以及完全不是前端的技术
构建工具 Webpack(2012)、Parcel
在2016年,在ES6/ES 2015的一剂强心丸的影响下,Webpack支持ES Module,Webpack开始在前端社区迅速流行。特别是在React和Vue等流行框架的支持下,Webpack的使用逐渐成为前端开发的标配
包管理器npm、Yarn
TypeScript(TS)(2012)
2012年问世,由于JS是动态语言,意味着JS基本与大型项目无缘,或者需要承担巨大的维护代价,而TS的出现,使得JS可以像静态语言一样开发项目,赋予JS无限的可能。
Electron(2013 GitHub)
基于Chromium和Node.js的跨平台桌面应用程序开发框架,允许开发者使用Web技术来构建原生桌面应用
Svelte(2016)
Svelte 和 Vue、React一样都是现代化前端框架。
不同的是,Svelte没有采用虚拟DOM技术,使得其更加轻巧。近年来,随着开发者对其性能优势和开发体验的认可,Svelte逐渐成为前端开发中备受推崇的框架之一。SvelteKit(2021 Svelte官方)
和Next、Nuxt相同功能的框架,极大丰富了Svelte生态系统
Tailwind CSS(2017)
在React和Vue等组件化开发框架的发展下,DOM的复用不再是难题,在大型项目下,CSS的复用已经名存实亡,于是Tailwind CSS出现了。
Tailwind CSS的设计理念是提供一组原子类,以快速构建样式,而不需要编写自定义的CSS,这一开发方式深受开发者喜爱,并成为Next框架的默认组件。至此,Sass、Less完成了它们的历史使命。Flutter(2017 Google)
Flutter是一种用于构建跨平台移动应用的框架。可以同时在IOS、Android、Web和桌面平台运行。
NestJS(2017)
NestJS设计灵感来源于 Angular 框架,借鉴了其模块化、依赖注入和装饰器等概念,用于构建高效且可扩展的服务端应用程序,弥补了Node生态中的一些框架空白,加上对TS的支持,为JS开发大型后端应用打下基础
ArkTS语言(2022 华为)
华为确定改语言用于鸿蒙APP开发。是基于TS扩展的语言,意味着如果会Web前端,也就会鸿蒙应用开发。
华为使用ArkTS语言,意味着瞬间拥有了大量的开发者基础,同时很可能促进所有的终端开发都采用JS,而那时前端技术将迎来大一统PHP(后端服务器)
PHP是世界上最好的语言。
Python(爬虫、脚本、大数据分析)
Java – Java框架 –Spring、SpringMVC、MyBatis、SpringBoot、SpringCloud//Sprint家族