![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
教程
文章平均质量分 82
Corner1990
以为自己什么都有,仔细想想什么都没有!
展开
-
前端实现分页打印(一)
实现页面为结算单,也页面由固定头部,订单信息,产品列表,金额汇总,订单明细其中产品列表需要动态计算分压,订单明细由于存在多个子单,订单收费项目可配置化,导致也存在多个分页需要处理原创 2022-12-16 10:44:44 · 4772 阅读 · 2 评论 -
基于qiankunjs的微前端搭建
什么是qiankunqiankun: 一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。孵化自蚂蚁金融科技基于微前端架构的云产品统一接入平台微前端基本架构#mermaid-svg-IHseDMMMqVX3w5Iq .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#merm原创 2020-12-15 17:03:04 · 5907 阅读 · 1 评论 -
什么是微前端
将多个独立的系统,通过统一的入口提供给用户使用的聚合系统 。而开发,测试,上线,都是子系统自行研发,测试 ,上线。微前端的特点代码库更小,可以将系统拆分成多个子系统。独立部署,子系统堵路部署,没有技术栈限制无需重新开发当前项目,可以直接集成微前端的不足开发中需要运行多个子系统才能开发和调试(至少是base系统和业务系统)多个系统之间的约定,已经架构设计性能问题(单页面系统=>ios, 微架构=> Android)生产环境多个系统之间的版本控制(业务流程可能.原创 2020-12-15 10:33:08 · 668 阅读 · 2 评论 -
GIT合并指定commit到当前分支
最近因为偷懒,没有重新拉建立分支,导致在发布测试的时候有问题,多个任务的代码揉到了一起,而我这次是希望发布部分代码. 所以就有了下边的命令git cherry-pick基本用法`git cherry-pick` 的作用,就是 将指定的提交合并到其他分支$ git cherry-pick <commit hash># 将指定的提交,合并到当前分支,并且会产生一个新的提交及记录<commit hash># 将提交 xxx 应用到 dev分支$ git checkout.原创 2020-11-06 11:27:50 · 1084 阅读 · 0 评论 -
git 合并指定文件到当前分支
前言,最近接到领导通知,说要将上一周完成的功能代码合并到另外一个分支上。然后我就切换目标分支,发现代码的提交记录已经滞后了很多,又不能将代码全部合并过来,就只能研究如何将部分代码合并过来。话不多说,撸起袖子加油干…操作git checkout 目标分支git checkout --patch 文件所在分支 文件物理路径/文件名然后会出现提示Apply this hunk to...原创 2019-11-26 08:20:17 · 1279 阅读 · 0 评论 -
Redis简单上手
Redis简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 优势性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。丰富的数据类型 – Redis支持二进制的字符串、列表、哈希值、集合和有序集合等数据类型操作。原子性 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执...原创 2018-12-02 09:09:43 · 372 阅读 · 0 评论 -
EGGJS学习
提供基于 Egg 定制上层框架的能力高度可扩展的插件机制内置多进程管理基于 Koa 开发,性能优异框架稳定,测试覆盖率高渐进式开发目录结构├── package.json├── app.js (app.js 和 agent.js 用于自定义启动时的初始化工作)├── agent.js (可选)├── app| ├── router.js(用于配置 URL 路由规则)...原创 2018-12-04 20:24:57 · 1737 阅读 · 0 评论 -
EGG单元测试
单元测试的优点代码质量持续有保障重构正确性保障增强自信心自动化运行测试框架mochajspower-assert测试约定测试目录结构我们约定 test 目录为存放所有测试脚本的目录,测试所使用到的 fixtures 和相关辅助脚本都应该放在此目录下。测试文件的目录和我们需要测试的文件目录必须保持一直测试脚本文件统一按 ${filename}.test.j...原创 2018-12-05 13:53:49 · 4824 阅读 · 0 评论 -
redis上手之性能测试和集群部署
性能测试Redis 性能测试是通过同时执行多个命令实现的。语法redis-benchmark [option] [option value]实例redis-benchmark -n 1000000====== PING_INLINE ====== 1000000 requests completed in 16.99 seconds 50 parallel client...原创 2018-12-08 14:56:46 · 612 阅读 · 0 评论 -
webpack4配置简单上手
什么是webpackwebpack可以看做是模块打包机,他做的事情是,分析你的项目结构,找到Javascript模块以及其他的有些浏览器不能直接运行的拓展语言(sass, TypeScript等),将其打包为合适的格式以供浏览器调用构建就是把源代码转换成发布到线上可执行的JavaScript, HTML,css,包括一下内容代码转换: typescript编译成JavaScript,...原创 2018-12-14 10:37:34 · 546 阅读 · 0 评论 -
MongoDB上手之mongoose
MongoDB简介Mongodb是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得 轻巧、灵活,非常适合在数据规模很大、事和性不强的场合下使用。同时它也是一个对象数据库,没有表和行的概念,也没有固定的模式和结构,所有的数据都是以文档的形式存存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数、字符串、日期、数组、甚至是一个嵌套文档),数...原创 2018-11-25 10:54:28 · 292 阅读 · 0 评论 -
MongoDB上手之部署篇
主从复制主从复制是一个简单的数据库同步备份的集群技术在数据库集群中要明确知道谁是主服务器,主服务器只有一台从服务器要知道自己的数据源也就是知道自己的主服务器是谁–master用来确定主服务器,–slave和–source 来控制从服务器主服务器master.confdbpath=E:\ms\masterport=1000master=truemaster.batm...原创 2018-11-25 08:49:01 · 211 阅读 · 0 评论 -
扩展mongoose模型
业务分层service(多个模型)->到单个模型->model 模型定义service(多个模型)->到单个模型->model (模型定义+扩展方法)statics 对类进行扩展当针对所有集合操作的扩展在使用这个扩展根据用户名查找用户文档 // this指向model// 扩展方法PersonSchema.statics.findByUsername...原创 2018-11-25 20:50:44 · 1534 阅读 · 0 评论 -
Umi分包加载配置
webpack配置在.umirc.js或者config.js中配置,使用webpack的优化模块optimization.splitChunks实现,具体是api这里不做解释,自己去官网看看,说的很清楚,这是传送门配置代码如下:config.optimization.splitChunks({ chunks: 'all', automaticNameD...原创 2018-11-22 18:52:48 · 15421 阅读 · 3 评论 -
MongoDB上手之配置篇
通过配置项启动数据库参数含义–dbpath指定数据库文件的目录–port端口 默认是27017 28017–fork以后台守护的方式进行启动–logpath指定日志文件输出路径–config指定一个配置文件–auth以安全方式启动数据库,默认不验证mongo.confdbpath=E:\mongo\data,logpat...原创 2018-11-22 15:01:04 · 228 阅读 · 0 评论 -
MongoDB上手之创建索引篇
索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构特殊的数据结构,按顺序保存...原创 2018-11-23 20:09:40 · 1282 阅读 · 0 评论 -
MongoDB上手之操作篇
什么是MongoDBMongoDB是一个基于分布式文件存储的开源数据库系统MongoDB 将数据存储为一个文档,数据结构由键值(key=&gt;value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。MongoDB安装windows安装Windows官方安装指南mongodb32位安装版 链接: https://pan.baidu....原创 2018-11-21 20:40:15 · 969 阅读 · 0 评论 -
webapck打包文件之异步版学习
在这之前已经看过乞丐版webpack打包后的文件,已经阅读,这次稍微提高一丢丢难度,看看经典的异步加载的逻辑。。。。老规矩,还是从项目搭建开始基础代码这里的代码和之前乞丐版的基本上一样,知识再src新增了一个lazy.js的文件,代码如下webpack.config.jsconst path = require('path')const HtmlWebpackPlugin =...原创 2018-12-17 18:19:05 · 289 阅读 · 0 评论 -
loader运行的总体流程学习
loader配置loader是导出为一个函数的node模块。该函数在loader转换资源的时候调用。给定的函数将调用loader API,并通过this上下文访问。匹配(test)单个 loader匹配(test)单个 loader,你可以简单通过在 rule 对象设置 path.resolve 指向这个本地文件{ test: /\.js$/ use: [ { ...原创 2018-12-29 10:14:32 · 2000 阅读 · 0 评论 -
mysql学习之安装配置
数据库的作用存储大量数据,方便检索和访问保持数据信息一致性,完整性共享和安全通过组合分析,产生新的有用的信息数据库基本概念实体只要是在客观世界存在的,可以被描述出来的都是实体数据库(DB)就是数据仓库,可以存放结构化的数据数据库管理系统(DBMS)一种系统软件,提供操作数据库的环境,可以通过数据库管理系统对数据进行CRUD。SQL结构化查...原创 2019-01-10 17:33:11 · 166 阅读 · 0 评论 -
react-ssr之node代理
src/server/index.js 中配置代理主要借用 httpProxy 插件实现const Koa = require('koa2')const _ = require('koa-route');const httpProxy = require('http-proxy-middleware');import render from './render'const k2c ...原创 2019-06-27 11:41:47 · 842 阅读 · 0 评论 -
配合使用redux-thunk
假设需求,我们值home页面需要加载用户列表首先修改服务器, 这里主要是给几个假数据,在请求接口的时候使用// 1.在src下新建api目录// 2. 在src/api目录下 新建server.js, 内容如下const express = require('express')const cors = require('cors')const app = express()//...原创 2019-06-27 11:40:43 · 1765 阅读 · 0 评论 -
react-ssr之redux使用
作为全家桶之一,必须要有啊。必须的必啊安装redux(这个我就不说了,自己去npm找)仓库的基本配置在src目录下新增store目录在store目录下创建index.js, actions-types.js actions 目录, reducers目录src/store/index.jsimport { createStore, applyMiddleware } from...原创 2019-06-09 07:49:21 · 711 阅读 · 0 评论 -
react-ssr之路由配置
凡事都是现有1,再有2,然后有100…我们处理好了事件绑定,那肯定还是需要路由配置的,话不多说,撸起来新增路由文件在src目录下新建router.js/*** @desc 这里是最基本的路由配置* 只有两个页面,一个home,一个couter*/import React, {Component, Fragment} from 'react'import { Route }...原创 2019-06-09 07:33:03 · 2903 阅读 · 0 评论 -
react-ssr之事件绑定
没有处理事件的页面是不完整…这里使用一个计数器的demo来展示如何实现事件绑定….主要需要两个步骤,抽离配置,页面引入我们写好的计数器脚本抽离webpack配置文件,单独打包server端和client端webpack.base.js 基础配置module.exports = { mode: 'development', target: 'web', mo...原创 2019-06-09 07:15:19 · 1327 阅读 · 0 评论 -
react服务端渲染之环境搭建
react服务端渲染说明近期一直想看看react项目ssr到底是怎么做的,最近一直在学习,研究如何从零到一的实现react的服务端渲染,并将整个过程的代码整理出来,作为参考react项目重构项目中使用了koa和express,主要是学习,如果项目中可以使用koa或者express初始化一个项目这里主要是实现基本的模拟代码,项目中我们通常会在原来的项目基础上做处理新建一个...原创 2019-05-31 21:29:56 · 381 阅读 · 0 评论 -
MySQL学习之常用操作
新建数据语法:CREATE DATABSE 数据库名称CREATE DATABSE databse_name;新建数据表语法:CREATE TABLE 表名称(列名称 数据类型, 列名称 数据类型)CREATE TABLE student(id int, name varchar(255), age int);切换数据库语法: USE database_nameUS...原创 2019-01-16 17:53:14 · 296 阅读 · 0 评论 -
SQL学习之函数操作2
前言总有些需求是奇葩的,总有偷懒,是通过封装函数实现的,总有些骚操作,都是需要自定义的…SQL自定义函数自定义函数是对MySQL的扩展,使用方式和内置函数相同函数必须要有参数和返回值函数可以接收任意类型的值,也可以接收这些类型的参数函数体由合法的SQL语句组成函数体可以是简单的SELECT语句或INSERT语句,如果是复合结构要用BEGIN…END函数体也可以包含声明,循环和...原创 2019-01-25 10:30:52 · 176 阅读 · 0 评论 -
SQL学习之函数操作
嗯,函数,函数,函数。。。。字符串函数SQL提供了很多字符串操作方法,下班是一些常见的函数函数名称描述CONCAT字符串连接CONCAT_WS使用指定的分隔符进行字符连接FORMAT数字格式化LOWER转小写字母UPPER转大写字母LEFT返回字符串s开始的最左边n个字符RIGHT返回字符串s开始的最左边n个字符...原创 2019-01-19 16:59:33 · 318 阅读 · 0 评论 -
SQL学习之基础篇
什么是SQLStructured Query Language: 结构化查询语言为什么要用SQL使用界面操作数据库不方便我们需要通过应用程序去操作数据库SQL的组成DDL(data definition language) 是数据定义语言,主要命令有:CREATE, ALTER, DROP,等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初...原创 2019-01-18 17:28:03 · 151 阅读 · 0 评论 -
node打印彩色文字
我们很多时候都觉得自己使用console.log打印的文字看起来太单调,然后看别人写的框架封装的很漂亮。后来发现有一个chalk模块可以实现这个功能,后来就想啊,他们可以,我也可以的,遂百度,整理资料如下chalk 模块简单使用安装npm i chalkchalk使用以下是官方democonst chalk = require('chalk');const log...原创 2019-01-07 18:18:18 · 1955 阅读 · 0 评论 -
websocket学习(二)
websocket客户端,服务端通信的最小单位是帧,由1个或者多个帧组成一个条完成的消息(message)发送端,将消息切割成多个帧,并发送给接收端接收端,接受消息帧,并将关联的症组装成完整的消息websocket数据帧格式单位是比特,比如FIN,RSV1各占一个bit,opcode占据四个bit。 0 1 ...原创 2018-11-19 11:41:20 · 1019 阅读 · 0 评论 -
websocket学习(一)
WebSockets 规范定义了一个网页浏览器和服务器建立一个socket链接。在客户端和服务器保持有一个持久链接,两边可以在任意时间发送数据HTML5开始提供了一种了iu蓝旗与服务器进行全双工通讯的网络技术基于应用层协议,他基于TCP传输协议,并复用HTTP的握手通道websocket的特点支持双向通信,实时性强更好的二进制技术较少的控制开销,链接创建后,ws客户端,服务端数据...原创 2018-11-19 11:40:41 · 177 阅读 · 0 评论 -
React路由学习(四)
实现带权限的路由组件(Protected) 实现思路: 1.我们拓展之前写好的Route组件,让其支持render方法 2.在重定向的时候保存之前的状态,并传递给下一个组件 3.新建组件(Protected),因为该组件不需要自己的私有状态,这里function 4.引入Route组件,并在Protected返回Route组件,具体渲染还是使用Rou...原创 2018-09-11 21:18:47 · 382 阅读 · 0 评论 -
React路由学习(三)
之前实现了简单的路由跳转,这里实现Link组件.我们就可以点点点切换了,不用再像之前一样苦逼哈哈的在地址栏里修改react-router-dom目录里文件内容index.js 这个文件主要是做入口文件用,我们把需要的模块在这里统一导出,然后我们在使用的时候就可以使用 import {HashRouter as Router, Route} from './re...原创 2018-09-05 08:53:44 · 212 阅读 · 0 评论 -
React路由学习(一)
这里主要是学习和理解路由组建的运行逻辑,以及思路,遗留了一个问题,就是不知道为什么我的浏览器监听window.onpopstate事件无效,导致使用history模式切换路由的时候无法更新页面,这个后期有时间在研究, 下边开始实现简单的路由准备工作创建项目// 第一个步// 安装npm install -g create-react-app// 新建项目...原创 2018-09-05 08:50:44 · 2437 阅读 · 0 评论 -
React学习(一)
这里传送门 先很火,自己也来看看,学习一下如何使用安装 react官网为我们提供了脚手架工具,我们可以很简单的创建出一个react的项目骨架,个别同学的npm速度太慢的话可以考虑使用nrm,或者yarn,肯定能很大程度的提高你的幸福感// 安装npm install -g create-react-app// 新建项目create-react-app ...原创 2018-09-05 08:49:41 · 250 阅读 · 0 评论 -
webpack4学习(一)
大家都很熟悉了。如Vue,react等都用他打包,为了提高司机的开车体验,一下介绍一些30迈的飙车技巧,老司机勿喷依赖标识项目依赖, --save 上线开发都需要--save-dev 开发依赖,只有开发时使用安装npm install webpack webpack-cli -Dyarn add webpack webpack-cli -D// 运行...原创 2018-08-22 13:49:08 · 198 阅读 · 0 评论 -
手写一个服务器(四)
之前处理了常用的功能,这一节主要处理命令行参数,并在最后上传至npm将当前包链接之全局 进入到当前包的根目录,然后使用命令 npm link 这里需要注意的是,每次修改配置文件以后都需要重新执行命令 npm link配置执行目录和命令bin首先需要在package.json 添加命令bin// package.json"bin": { "my...原创 2018-08-16 09:51:22 · 202 阅读 · 0 评论 -
手写一个服务器(三)
上一节完成了目录以及内容返回,这一节完成文件的缓存,分片下载,压缩 这节的修改代码都在./src/app.js压缩// p 资源路径 statObj 当前资源状态 compress (req, res, p, statObj) { // 拿到请求头 let header =req.headers['accept-encoding']...原创 2018-08-16 09:50:41 · 286 阅读 · 0 评论