7feab2e74e7ac8c26f5b44aac0c3756752a23c5d2a5bee4d30b7938706d6919c53826aed61176955c9346612347b9bf975652b80bdd6483016a2e390dfa2db9e6cb283880c12de99a5577ca8bf008b2d54b9af3d5b7a726545df9d4536f76529ada53d6150f92eab6e45bc6cb91b5d6f99cdddbc6a81151ce71d872afd6a21c6d02a625327aeefa95c23e7b4121cc5dcaea17c338ae0a0355b0200db4d18f8787f9ddb325837e1f6d28bc55782dfd7d2c40ce0d4f87ae6b44e4b9164ae9652c50c46dced88c45757d72c658211031cb3c04574ddf3cb12bcb9b202a07c87db7e6c9da55d71b848c20c72c7c8e19ee2e8493ea2a28d7642aae ...
7feab2e74e7ac8c26f5b44aac0c37567a8bb91f75c0616fb26c89457b269f277bf48fde499dc1f9fdf603335995cd6d292a148b42ef55e993ebcbd68d43943483506596baf8025a8571233a8556ba8cb7c8bfeaa13fddfec4423bc8e5cd998378a99dd146a73f0e6a7d07f69fb70f15fe4943911da71c1479d705b674a63be42b7e7a6cf9c2da146479df0af4e071faa60e8947f876e0e41627a889eb85b7139c5b06e77b77f8ebc59395550fb0914359f1fbd31cd5e4cbe1eefa89d1fbe649f708482c9cc16f5b6e642861806e40a0f03561c352ba4de29002930f5cb87ee3572b00bf7f25d895f81569d6f3983ffed0f646909c70a8b73f ...
一、安装依赖(安装的跳过)1yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl-devel
二、下载 nginx 稳定版1wget http://nginx.org/download/nginx-1.16.1.tar.gz
该命令会下载到此刻用户所在的目录
或者去nginx 官网 下载上传
三、解压1tar -zxvf nginx-1.22.0.tar.gz
四、配置进入解压目录
1cd /nginx-1.22.0
编译
12345678# 需要使用https执行指令./configure --with-http_ssl_module# 需要使用stream./configure --with-stream# 需要https、stream指令(个人配置)./configure --with-http_ssl_module --with-stream# 不需要使用https执行./configure
编译如果提示 ./configure: error: the HTT ...
1、安装eslint1npm install eslint -D
2、初始化eslint1eslint --init
初始化时交互界面,一路回车选择默认即可,即可在工程根目录生成一个 .eslintrc.js 的配置文件,再新建一个 .eslintignore 文件用来忽略某些文件不检查
3、安装prettier1npm install prettier -D
然后在根目录中新建 .prettierrc.js 和 .prettierignore 文件
4、安装eslint-config-prettier 和 eslint-plugin-prettier123npm install eslint-config-prettier -Dnpm install eslint-plugin-prettier -D
eslint-config-prettier :关闭 Eslint 中与 Prettier 冲突的选项,只会关闭冲突的选项,不会启用Prettier的规则
eslint-plugin-prettier :将 prettier 作为 ESLint 的规则来使用,相当于代码不符合 ...
Vue Router | Vue.js 的官方路由
安装1npm install vue-router@4
快速开始
新建路由实例并配置
1234567891011121314151617181920212223242526272829303132import { createRouter, createWebHashHistory } from 'vue-router'// 定义一些路由 每个路由都需要映射到一个组件const routes = [ { path: '/', name: 'default', redirect: '/login', }, { path: '/login', name: 'login', meta: { name: '登录', }, component: () => impor ...
1.创建项目可以利用vue ui命令或者webstorm创建一个vue3项目
用vue ui可视化界面创建项目前,node下应该全局安装了vue构建工具的脚手架vue cli
安装命令为:npm install @vue/cli -g,此命令会下载最新的vue3的脚手架。如果创建的是vue2的项目,安装命令应该是 npm install vue-cli -g,不出意外会给你安装最新版本的脚手架,也就是2.9.6版本的。安装完成后用vue -V命令查看安装的脚手架版本即可。脚手架的版本很大程度决定了整个工程的配置文件应该怎么配,一般都可以去官网上找找跟以往的不同配置点在哪。
可视化界面中可以预选如下配置:
2.安装配置依赖vuex1.安装
1npm install vuex@next -S
@next是npm包的一个tag,除此之外还有@beta,@latest等,可以参考博客npm包tag的使用,以及@beta和@next的含义 - 简书 ,@符号后面还可以直接跟版本号
2.配置
在main.js中增加以下
12import store from './store ...
1、node.js 简介node.js 借鉴了谷歌浏览器的v8引擎,使JavaScript语言能够更加高效的处理并发,异步等影响性能的问题,最大的特点是:单线程、非阻塞、异步IO、事件驱动。通过这些技巧解决I/O耗时长,多线程程序设计复杂等问题。
软件工程
未读一、立项1、项目介绍?
2、为什么想做?这个项目能解决什么问题?有什么实际意义?或者现有的产品有哪些不足或痛点?
3、这个项目的核心亮点在哪里?
4、项目取名(中英文)
二、调研客观分析确认想做的项目的意义:
1、竞品分析:市场上有没有类似的项目?自己的项目和他们比有哪些异同(优缺点)
2、用户调研:问一问别人的想法
三、需求分析1、项目有哪些功能?
2、给功能划分优先级(P0-P4),区分哪些功能是必须要做的?哪些功能是可有可无不着急的?
3、简单评估每个功能是否可以实现?要花多久实现?
四、带领团队1、沟通协作方式(交流群、腾讯会议、钉钉等)
2、团队文档沉淀方式(羽雀知识、腾讯文档)
3、确认代码协作方式(GitHub或GitLab私仓)
4、确认分工和对接方式(比如前后端用接口文档对接)
五、技术选型1、前端用什么?
2、后端用什么?
3、用什么上线?
先把要用的库整合进来,跑起Demo
输出项目实现方案文档
六、资源准备七、系统设计
功能模块图
技术架构图
库表设计
每个功能实现逻辑
输出项目整体实现方案,项目功能实现方案文档
八、开发规范编码规范
隐私保护
九、需求排期确 ...
vuex4官方文档
安装123npm install vuex@next -S //vuex3不需要加@next或yarn add vuex@next -S
快速开始
创建一个store仓库
store”基本上就是一个容器,它包含着你的应用中大部分的**状态 (state)**。Vuex 和单纯的全局对象有以下两点不同:
1.Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
2.你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
1234567891011121314151617import { createApp } from 'vue'import { createStore } from 'vuex'// 创建一个新的 ...
1.变量类型(1) 值类型:String(字符串),Number(数值),Boolean(布尔值),Undefined,Null
(2) 引用类型:Array(数组),Object(对象),Function(函数)
区别
1.存储位置不一样
① 值类型的变量会保存在栈内存中,如果在一个函数中声明一个值类型的变量,那么这个变量当函数执行结束之后会自动销毁
② 引用类型的变量名会保存在栈内存中,但是变量值会存储在堆内存中,引用类型的变量不会自动销毁,当没有引用变量引用它时,系统的垃圾回收机制会回收它
2.复制方式不一样
① 值类型的变量直接赋值就是深复制,如 var a = 10; var b = a;那么a的值就复制给b了,b修改值不会影响a
② 引用类型的变量直接赋值实际上是传递引用,只是浅复制
3.数据比较不一样
① 值类型的比较是值的比较,只有当它们的值相等的时候它们才相等。比较的时候注意”==”和”===”,双等号(==)在做比较的时候做了类型转换,而全等号(== ...