自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

栗子好好吃的博客

抱怨使人放弃进步

  • 博客(24)
  • 收藏
  • 关注

原创 webpack --- > 在项目中使用React

说明:分为2步:首先导入react 和 react-dom:保证了虚拟DOM的创建和使用使用babel转码器: 由于DOM结构太多,每次使用React.createElement创建虚拟DOM会给开发带来很大压力,因此采用html的写法,通过babel转码器转换成React语法,可以很大程度上提高开发效率项目源代码在项目中使用react运行cnpm i react reac...

2019-12-30 17:00:25 217 1

原创 webpack --- > [4.x]你能看懂的webpack项目初始化

说明:本篇文章主要做如下事情:创建一个基本的webpack4.x 项目[报错]: The 'mode' option has not been set, webpack will fallback to 'production' for this value[报错]: ERROR in Entry module not found: Error: Can not resolve '....

2019-12-30 13:26:59 349

原创 javascript --- > [虚拟DOM] 初始化&& 实现

说明本篇主要说明为什么要使用虚拟DOM技术,以及如何实现简单的虚拟dom为什么提出 -> DOM操作慢我们使用createElement属性来创建一个最常见的div,看看一个最常见的DOM有多少个属性<script> const div = document.createElement('div'); let str = ''; for(let key i...

2019-12-21 21:39:45 374

原创 算法 --- > [队列结构]二叉树的层次遍历

思路使用队列:初始化的时候,将root, push进队列q中循环队列q,当其中不为空时,取出第一个元素(q.shift),记为r若r.left不为空,将r.left推进q,若r.right不为空,将r.right推进q记录层次:4. 初始化设置i =0;5. 在入队的时候,入队一个对象{r: root, i}6. 出队时,使用es6的解构赋值取出 {r , i}实现如下:...

2019-12-21 14:55:39 123

原创 vscode --- > 快捷键格式化代码时,分号消失

问题复现最近在vscode

2019-12-20 19:59:28 3796

原创 算法 --- > [map的使用]求最大和谐子序列

说明和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].思路创建一个map用于统计数组中的值,及值出现的次数创建一个max,用来保存出现的最大次数遍历map,在map中寻找...

2019-12-16 10:15:17 200

原创 layui --- > [结构优化]参数优化

待优化的代码如下以上代码,在至少10个页面中重复应用.如果要修改某个功能,就得在至少10个页面中修改.给后期维护带来了极大的不便.关键是这些信息都是在编程中不需要看见的.放在开始每次都要滑过它,太浪费时间了.[注意代码行数,后期会用到]目标一开始只调用一个Mar模块,由mar.use来负责传递参数由于生成的参数是在use函数内部.因此需要传入一个回调函数[tip: 找到不...

2019-12-16 08:27:52 255

原创 配置 --- > 将本地项目部署到阿里云上

说明:项目代码学习地址项目前端使用了nginx代理后端使用express框架使用PM2部署后端使用mongoDB进行持久化nginx、express、PM2、mongoDB等,部署在docker中.项目使用 .sh 文件进行一键式启动本地启动项目1.先从github上拉取代码 git clone https://github.com/Lizhhhh/L-node.git...

2019-12-15 21:36:05 637

原创 docker --- > 梳理 && Dockerfile && docker-compose.yml

docker run -p 80:80 -v $PWD/www:/usr/share/nginx/html nginx参数说明:1.docker run nginx: 感觉镜像(images)生成本地的容器2.-p 80:80: 容器的80端口和本地的80端口的映射3.-v:将本地的,当前文件夹下的www文件夹映射容器路径为/usr/share/nginx/html的文件夹下[注:]Do...

2019-12-15 19:31:46 175

原创 node --- > [node接口阅读]cluster的使用

目标在主进程中完成以下事情:每隔1秒钟输出,当前请求的数量创建等同于CPU数量的进程对每个进程施加一个处理函数,用于统计请求的数量在各个CPU的进程中完成以下事情监听8000端口的请求,并返回最简单的信息发送事件,以触发主进程中施加的事件处理函数前置知识首先通过cluster.isMaster来判断,当前的执行环境是主进程,还是非主进程使用process.s...

2019-12-14 20:15:12 229 1

原创 javascript --- > Object.create的阅读

说明今天阅读koa源码时,遇到Object.create,感觉对这个概念有点生疏,于是打开了MDN进行重新梳理传送门Object.create()直接套用官网的栗子const person = { isHuman: false, printIntroduction: function () { console.log(`My name is ${this.name}. ...

2019-12-11 20:28:50 177

原创 node --- > 模拟事件的异步

事件在前端浏览器最常见的就是页面交互事件本质是发布/订阅设计模式目标对象使用add方法订阅事件。使用emit发布消息订阅事件说白了就是把名称和回调函数分别作为一个对象的键和值先初始化事件对象class Event { constructor(){ this.events = {}; }}订阅在订阅事件的时候,需要先判断事件是否存在.若不存在,则...

2019-12-11 15:41:10 125

原创 koa --- > [MVC实现之五]Model层的实现

说明上一篇: MVC实现之四这一篇主要介绍:项目中用到的Sequelize库中的一些方法,参考使用Sequelize连接mysql将Model层加入Mar类中Service层还是从业务出发,Service层是调用方,调用方式和Controller层调用Service层一样class Service { constructor(app) { const { mode...

2019-12-08 20:26:37 650

原创 javascript --- > [代码优化]将复杂的函数分解写&&异步请求数据的同步写法

说明今天优化项目结构,发现有如下一个函数const drawMqiPie = async (index) => { // 请求的参数 let params = { lineNo: lineNo, direct: 1, driveway: 1, pageNum: 0, pageSize: 0, computeR...

2019-12-06 15:52:01 167

原创 koa --- > [MVC实现之四]Router、Controller、Service的实现

说明上一篇: [MVC实现之三]这一篇,主要是队路由先占个坑,找个整体时间慢慢写… 哈哈哈

2019-12-06 11:04:06 2586

原创 koa --- > [MVC实现之三]换个角度重新开始-初始化

说明下面文章是对该系列前面2篇及项目中经验的总结,重新开始写的实现了Mar类,贯穿Router层、Controller层、Service层初始使用Koa创建一个简单的服务器,一般会使用如下const koa = require('koa');const app = new koa();const Router = require('koa-router');const ro...

2019-12-06 10:37:48 621

原创 Layui --- > [Mar]给渲染后的表格加CSS样式

为什么要控制样式使用layui生成后的表格的样式有时候,并不能满足我们的需求.因此在渲染完成后,需要自定义类对其操作Layui表格渲染后一般会出现以下结构分结构如下我把使用layui的table渲染后的表格分为如下的几个dom1.$rawTable: 初始table,即 2.$renderTable: 渲染之后的table,这个dom元素是Layui异步获取数据后生成的.$re...

2019-12-05 12:29:15 941

原创 koa --- > [MVC实现之二]Controller层的实现

[MVC实现之一]传送门https://blog.csdn.net/piano9425/article/details/103362966Router层router这一层,不做业务处理,仅仅只是将路由和路由的处理函数结合起来.路由的处理函数由Controller层实现改进目录结构如下(实际上新建了controller文件夹及其内部子文件,mar.js)Router层的改变我们...

2019-12-04 08:13:29 1775

原创 koa --- > [MVC实现之一]自定义路由读取规则

实现MVC分层架构目标是创建约定大于配置、开发效率高、可维护性强的项目架构路由处理规范所有路由,都要放在routes文件夹中若导出路由对象,使用 动词+空格+路径 作为key, 值是操作方法若导出函数, 则函数返回第二条约定格式的对象路由定义:新建 router/index.js, 默认index.js没有前缀module.exports = { 'get /'...

2019-12-03 11:24:49 384

原创 egg --- > 配置连接mysql && 创建模型 && 插入数据

在egg中使用egg-sequelize插件sequelize是与数据库操作相关的库安装: npm install --save egg-sequelize mysql2在egg中配置sequelize在 config/plugin.js中引入 egg-sequelize插件,代码如下sequelize: { enable: true, package: 'egg-se...

2019-12-03 09:21:49 540

原创 egg --- > 初始化一个egg项目&&基本结构说明

Egg.js体验全局安装// 创建项目$ npm i egg-init -g$ egg-init egg-example --type=simple$ cd egg-example$ npm i// 启动项目$ npm run dev$ open localhost:7000Egg.js的结构路由(Router): 将请求URL和具体承担执行动作的Control...

2019-12-02 15:56:45 1133

原创 koa --- > koa-bouncer验证

使用 koa-bouncer中间件对传入的数据进行验证const bouncer = require('koa-bouncer');app.use(bouncer.middleware());const val = async (ctx, next) => { ctx.validateBody('name') .isLength(6, 16, '用户名长度应该为6~1...

2019-12-02 12:23:06 351

原创 docker --- > 使用docker-compose.yml生成redis,并连接redis-cli

docker.compose.yml配置version: '3.1'services: redis: image: redis ports: - 6379:6379命令行:docker-compose up查看: docker ps进入redis-cli,输入以下docker exec -it 7dc0a redis-cli -h loca...

2019-12-01 13:53:51 3469

原创 koa --- > mongoose连接mongoDB

使用Mongoose对MongoDB进行操作const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/test',{})Mongoose中的Schema定义Schema categorySchemaconst categorySchema = new mongoose.Schema({ ...

2019-12-01 11:18:26 182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除