- 博客(295)
- 资源 (26)
- 收藏
- 关注
原创 JS实现统计本地文件夹中文件名、类型及大小并输出excel
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <input type="file.
2020-06-10 10:00:10
586
原创 源码阅读git仓库管理技巧:怎么利用git多个远程仓库愉快地读源码
问题描述 在进行优秀代码阅读时,难免会增加批注,一来方便理解,二来可以记录自己的阅读进度,三来可以在反复阅读过程中看到进步的地方,等等等。那么使用git进行阅读过程(代码注释)记录就很有必要了。解决思路 克隆原始仓库到本地,新建源码阅读分支,给本地仓库新加自己新建的用于源码阅读的仓库地址,推送你想记录的分支到你的远程仓库。具体实现1.克隆优秀代码仓库git clone https://github.com/vuejs/vue-router.git2.新建代码阅读分支g..
2020-06-05 10:59:38
490
原创 js实现兼容多种数据类型深拷贝
// 深拷贝function deepCopy (data) { const t = typeOf(data) let o if (t === 'array') { o = [] } else if (t === 'object') { o = {} } else { return data } if (t === 'array') { ...
2020-04-26 14:51:45
486
原创 JS生成随机字符串
function rstr (len = 32) { const $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' const maxPos = $chars.length let str = '' for (let i = 0; i < len; i++) { str...
2020-04-22 17:37:48
631
原创 Jquery及div实现自定义样式select(dropdown)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</tit...
2020-04-15 17:30:12
570
原创 浏览器工作原理 学习笔记
学习地址:[浏览器工作原理与实践](https://time.geekbang.org/column/intro/100033601)浏览器架构演化进程:一个程序的运行实例。详细解释就是,启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。线程:依附于进程的,在进程中使用多线程并行处理能提升运算效率进程与线...
2020-04-06 18:28:39
2427
原创 微信小程序实战——校园导览 0x1 校园简介
编辑校园简介页面轮播图新建resource文件夹=》新建images文件夹=》将要轮播的图片放在该目录下页面<!--introduction.wxml--><view class="intro"> <swiper class="top" indicator-dots="{{indicatorDots}}" autoplay="{{autop...
2020-04-03 08:30:23
4183
5
原创 ES6 实现类的多重继承
const copyProperties = function(target, source) { for (let key of Reflect.ownKeys(source)) { if (key !== 'constructor' && key !== 'prototype' && key !== 'name') { let desc...
2020-04-01 11:32:38
710
原创 ES6 修饰器 在日志记录中的应用
{ // 日志系统 let log = (type) => { return function(target, name, descriptor) { let src_method = descriptor.value descriptor.value = (...arg) => { src_method.apply(targe...
2020-03-31 18:12:26
212
原创 ES6 Generator 在抽奖和长轮询场景中的应用
{ // 抽奖次数限制 let draw = function(count) { // 抽奖逻辑 console.info(`剩余抽奖次数${count}`) } let residue = function* (count) { while (count > 0) { count-- yield draw(count) ...
2020-03-31 17:39:48
289
原创 ES6 Iterator 在简单对象中的实现
// Iterator{ let arr = ['hello', 'world'] let map = arr[Symbol.iterator]() console.log(map.next()) console.log(map.next()) console.log(map.next())}{ // 实现iterator let obj = { sta...
2020-03-31 16:54:22
164
原创 使用ES6 Proxy和Reflect实现数据校验
// 数据校验function validator(target, validator) { return new Proxy(target, { _validator: validator, set(target, key, value, proxy) { if (target.hasOwnProperty(key)) { let va = this._valida...
2020-03-31 14:47:22
268
原创 TypeScript 从零实现 axios 0xB 单元测试
Jest安装配置版本升级{ "@types/jest": "^24.0.13", "jest": "^24.8.0", "jest-config": "^24.8.0", "ts-jest": "^24.0.2", "typescript": "^3.4.5"}配置"jest": { "transform": { ".(ts|tsx)"...
2020-03-28 20:32:20
300
原创 TypeScript 从零实现 axios 0xA 更多功能
withCredentials接口修改// ./src/type/index.ts//...export interface AxiosRequestConfig { url?: string method?: Method data?: any params?: any headers?: any responseType?: XMLHttpRequestR...
2020-03-28 16:40:57
291
原创 TypeScript 从零实现 axios 0x9 取消功能的实现
接口定义// ./src/type/index.tsexport interface AxiosRequestConfig { url?: string method?: Method data?: any params?: any headers?: any responseType?: XMLHttpRequestResponseType timeout?...
2020-03-27 14:29:55
362
原创 TypeScript 从零实现 axios 0x8 配置化实现
设置默认配置// ./src/default.tsimport { AxiosRequestConfig } from './types'const defaults: AxiosRequestConfig = { method: 'get', timeout: 0, headers: { common: { Accept: 'application/...
2020-03-26 20:30:10
547
原创 JavaScript 对象深拷贝的实现
// ./src/helpers/util.tsexport function isPlainObject(val: any): val is Object { return toString.call(val) === '[object Object]'}export function deepMerge (...objs: any[]): any { const resul...
2020-03-26 14:59:35
253
1
原创 TypeScript 从零实现 axios 0x7 拦截器实现
拦截器管理类的实现接口定义// ./src/type/index.tsexport interface AxiosInterceptorManager<T> { use(resolved: ResolvedFn<T>, rejected?: RejectedFn) : number eject(id: number): void}expor...
2020-03-25 11:40:00
848
原创 TypeScript 从零实现 axios 0x6 接口扩展
接口扩展接口定义// ./src/type/index.tsexport type Method = | 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | '...
2020-03-23 20:44:31
844
原创 TypeScript 从零实现 axios 0x5 异常处理
错误处理网络异常// ./xhr.tsimport { AxiosRequestConfig, AxiosPromise, AxiosResponse } from './types'import { parseHeaders } from './helpers/headers'// ./src/xhr.tsexport default function xhr(config:...
2020-03-21 16:26:28
537
原创 node调用mongodump实现对mongo数据库的备份,并将备份结果压缩为zip
场景描述node调用mongodump实现对mongo数据库的备份,并将备份结果压缩为zip,可以设置query条件限制备份的数据范围解决方案const cp = require('child_process')const path = require('path')const iconv = require('iconv-lite')const { zip } = requ...
2020-03-19 16:39:09
683
1
原创 TypeScript 从零实现 axios 0x4 基础功能实现——请求body和header、响应数据处理
请求body数据处理处理逻辑实现./src/helpers/data.tsimport { isPlainObject } from './util'export function transformRequest (data: any) : any { if (isPlainObject(data)) { return JSON.stringify(data) ...
2020-03-18 21:05:46
588
原创 TypeScript 从零实现 axios 0x3 基础功能实现——处理请求URL参数
新增工具函数./src/helpers/util.tsconst toString = Object.prototype.toStringexport function isDate(val: any): val is Date { return toString.call(val) === '[object Date]'}export function isObject(...
2020-03-04 22:17:32
432
原创 TypeScript 从零实现 axios 0x2 项目初始化
功能分析初始化项目TypeScript libray startergit clone https://github.com/alexjoverm/typescript-library-starter.git ts-axiosnpm i关联远程仓库git remote add origin https://gitee.com/username/ts-axios.git...
2020-03-04 20:17:16
330
原创 前端使用XMLHttpRequest实现通过链接下载文件
前端使用XMLHttpRequest实现通过链接下载图片<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">...
2020-03-04 15:09:07
2912
原创 TypeScript 从零实现 axios 0x1
基础类型let isDone: boolean = true // 布尔值let decLiteral: number = 20 // 数字let hexLiteral: number = 0x14let binaryLiteral: number = 0b10100let octalLiteral: number = 0o24 //8进制let name: string = ...
2020-03-01 20:48:49
277
原创 nodejs利用JSTS提取Geometry中心点坐标
nodejs利用JSTS提取Geometry中心点坐标getCentroidPointconst jsts = require('jsts')/** * 提取中心点坐标 * @param {Object} geometry GeoJSON 的geometry属性 */function getCentroid(geometry) { const reader = new j...
2020-02-27 09:50:33
1418
原创 TypeScript 从零实现 axios 0x0
安装TSnpm i -g typescriptHello World// greet.tsfunction greeter(person) { return `Hello ${person}`}let user = 'Jack'console.log(greeter(user))编译tsc greeter.ts编译结果运行使用...
2020-02-25 23:17:02
330
原创 重学css 0x4 CSS动画
CSS中的动画类型transition补间动画 keyframe关键帧动画 逐帧动画Transition 补间动画位置——平移(left/right/margin/transform) 方位——旋转(transform) 大小——缩放(transform) 透明度(opacity) 其他——线性变化(transform)<!DOCTYPE html>&l...
2020-02-25 21:28:53
147
原创 重学css 0x3 CSS效果
box-shadow营造层次感(立体感) 充当没有宽度的边框 特殊效果/* x偏移量 | y偏移量 | 阴影颜色 */box-shadow: 60px -16px teal;/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影颜色 */box-shadow: 10px 5px 5px black;/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | ...
2020-02-24 21:53:27
212
原创 重学css 0x2 CSS布局
发展早期table为主 简单 后来以技巧性布局为主(难) 现在推广flexbox/grid(偏简单)常用布局方法table表格布局 float浮动+margin inline-block布局 flexbox布局表格布局<!DOCTYPE html><html lang="en"><head> <meta charse...
2020-02-23 11:06:11
192
原创 重学css 0x1 CSS基础
Cascading Style Sheet (层叠样式表)选择器基于性能考虑,选择器是从右往左解析的,可以更快匹配选择器分类元素选择器 a {} 伪元素择器 ::before{} 类选择器 .link {} 属性选择器 [type=radio]{} 伪类选择器 :hover{} 伪类是一种状态 ID选择器 #id {} 组合选择器 [type=checkbox] + la...
2020-02-22 22:07:42
135
原创 重学css 0x0 HTML
常见元素head区meta title style link script basebody区div/section/article/aside/header/footer p span/em/strong table/thead/tbody/tr/td ul/ol/li/dl/dt/dd a form/input/select/textarea/button...
2020-02-22 15:40:15
290
原创 tsd init 报错The type definition `index.d.ts` does not exist. Create one and try again.
使用tsd init 报错报错信息The type definition `index.d.ts` does not exist. Create one and try again.解决方案npm i tsd@0.6.5 -g
2020-02-21 22:08:35
1452
原创 Learning TypeScript 0x7 装饰器
准备工作npm init -ynpm i --save-dev gulp gulp-typescript typescriptnpm i --save reflect-metadatagulpfile.jsconst gulp = require('gulp')const tsc = require('gulp-typescript')const typescript = ...
2020-02-20 23:32:09
317
原创 Learning TypeScript 0x6 应用测试
软件测试术语断言.断言是一个条件,它是必须被测试确认的一段代码的行为是否与期望相符,或换句话说是否与要求一致。class Math1 { public static pow (base: number, exponent: number) { var result = base for(var i = 1; i < exponent; i...
2020-02-20 10:36:37
201
原创 Learning TypeScript 0x5 应用性能
性能和资源一个好的应用程序应该集功能性、可靠性、可用性、可复用性、效率、可维护性和可移植性等理想特性于一身。有限的资源:中央处理单元 CPU 图形处理单元 GPU 内存 RAM 硬盘(HDD)和固态硬盘(SSD) 网络吞吐量性能指标可用性响应时间等待时间:该请求等待其他较早产生的请求完成所花的时间 服务时间:完成服务所消耗的时间 传输时间:任务单元完成后该...
2020-02-17 23:27:36
177
原创 Learning TypeScript 0x4 运行时
环境文档对象模型是用于动态访问和更新页面中视图结构的接口,独立于平台和语言。模型的数据可以进一步处理和修改,并且修改会反映到当前视图中。帧(frame)一个帧是一个连续的工作单元。帧为栈中的小块。当一个JS函数被调用时,运行时环境就会在栈中创建一个帧。帧中保存了特殊函数的参数和局部变量。当函数返回时,帧就被从栈中推出。栈 stack栈包含了一个信息在执行时的...
2020-02-17 17:47:39
128
Ajax原生前端文件(切片)上传附进度后端文件Express源码
2020-02-14
Navicat Premium
2019-09-18
百度墨卡托坐标转百度经纬度离线实现(源码)
2019-04-19
Vue实战TodoList源码
2019-04-01
mongodb安装包win32-x86_64-2008plus-2.6.5
2019-03-28
C#解析json的Newtonsoft.Json.dll各种.net版本
2019-03-07
NodeJS实战搭建博客_源码
2019-02-23
MongoDBWin安装包win32-x86_64-2008plus-ssl-4.0.6
2019-02-21
JQuery初体验-JavaScript实现2048小游戏PC端源码
2018-12-19
Roy Thomas Fielding博士论文REST中文版+英文版
2018-12-12
NPOI读写EXCEL相关dll(支持xls及xlsx)
2018-12-11
matlab unravel.c编译后文件unravel.mexw64
2018-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人