自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 微前端:实现“真正”的技术栈无关

为什么说“真正的技术栈无关”?那是因为目前很多解决方案宣称的“技术栈无关”实现方式都不太理想,自古以来“技术栈无关”做得最好的,当属 `<iframe>`。然而,大部分微前端方案都不约而同地放弃了 iframe 方案,文章 Why Not Iframe 作了说明,iframe 由于良好的隔离性导致应用间的 UI 无法完美融合,比如 iframe 中的弹窗遮罩无法超越 iframe 的边界,因此我们不得不寻求其它解决方案。“技术栈无关”作为微前端的核心价值之一,主要表现为基座应用不限制接入应用的技术栈。

2021-03-02 12:23:16 300

原创 写个兼容Vue3和2的组件

目录app/--js文件--openJDK 8.0 jre/--db / sqlite--jar包HTTP(RESTful / GraphQL)、WebSocket(SockJS / STOMP)Users||UI层:Browser、Electron / NW.js||||(HTTP、WebSocket)||Spring Boot => Shell、Python...

2020-10-11 00:17:20 3915

原创 ES6中Proxy的兼容处理

Proxy对象用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)。由于ES5的限制,ES6新增的Proxy无法被转译成ES5,或者通过Polyfill提供兼容。ES5中无法实现自定义对象的读取属性、属性赋值等行为,然而对于函数调用与实例化,通过对原函数对象进行代理,是可以实现Polyfill兼容的。如下,对Proxy支持的拦截操作apply与construct进行兼容处理。

2018-08-04 23:48:01 8670

原创 折半插入排序与优化

折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。算法实现/** * 折半插入排序(升序) * @param {array} seq - 序列 * @author...

2018-07-30 23:43:55 1065

原创 直接插入排序

直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。本文主要介绍直接插入排序的算法思想,并提供JavaScript实现。

2018-07-22 17:11:43 175

原创 Async/Await搭配Decorator实现更优雅的异步编程

随着Async/Await正式纳入ES7标准,这个号称异步编程终级解决方案用的人也越来越多。然而,使用过程中发现await表达式越多,创建Promise对象的冗余代码也越多,优雅感骤降。为此,本文结合装饰器(Decorator)来实现更优雅的异步编程。

2018-07-15 18:23:18 1124

原创 动态(gif)、静态图片转换成DataURL(base64编码)格式

当转换远程图片时,可借助canvas的toDataURL方法:1. 通过Image对象或是img元素发起请求,不存在跨域问题;2. 由于canvas固有限制,该方法只能转换静态图片。或借助FileReader的readAsDataURL方法:1. 通过fetch或是ajax发起请求,受跨域问题限制;2. 该方法可以转换任意文件,不仅仅是图片。其中,使用异步交互新星fetch获取远程文件,再调用readAsDataURL方法将其转换DataURL数据;或使用jQuery的ajax方法

2018-07-09 00:00:14 7978

原创 博客访问量v2.0 - “伪装者”版爬虫

(声明一下:刷阅读数可耻。)上一篇文章介绍了博客爬取的思路,本文将介绍伪装的思路,尝试让爬虫模拟正常人为的操作。思路1. IP代理:正常情况下,大多数的请求应来自不同IP,因此进行IP代理是十分必要的(由于没有合适的工具,因此本文不涉及IP代理);2. 请求头伪装:每个浏览器发出的请求头信息各不相同

2018-06-30 19:01:32 421 2

原创 博客访问量v1.0 - 入门级爬虫,Python练手必备

见一帖子问:写了几篇CSDN博文,发现阅读数没有提高,怎么办?有人答:雇水军刷。对于程序猿而言,雇水军显得“有辱身份”。刚好本屌正在研究Python,正所谓“实践出真知”,于是乎拿自己博客来练练手。(PS: 假的访问量并没有什么卵用)

2018-06-28 23:01:21 354

原创 JS的相等比较运算与类型转换

在JavaScript中,相等有两种比较方式:普通相等比较(==,在ECMAScript标准中称为“抽象相等比较”)和 严格相等比较(===)。对于被广泛使用的普通相等比较运算符来讲,不同类型的操作数在进行比较之前,会尝试将两个操作数转换成相同的类型,再作比较运算。而对于严格相等比较运算符来讲,仅当两个操作数的类型相同且值相等时,返回为true。

2018-06-16 22:30:59 2614 1

原创 中断或取消Promise链的可行方案

当Promise链中抛出一个错误时,错误信息沿着链路向后传递,直至被捕获并终止。本文提供一种中止或取消Promise链的可行方案。

2018-06-10 01:15:35 11878 8

原创 模态窗口showModalDialog的浏览器兼容解决方案

用chrome调试的时候,点击一个按钮毫无反应,控制台提示showModalDialog不存在。网上查了下,该特性已经从 Web 标准中删除,于是自己动手进行兼容,如下借助window.open对它的行为进行模拟。

2018-06-09 16:27:09 12426 11

原创 JS方法/函数重载的姿势

JavaScript不支持重载的语法,它没有重载所需要的函数签名。尽管JavaScript无法做到真正的重载,但是可以通过检查传入函数中参数的类型和数量并作相应的处理,从而实现重载的效果,曲线救国。

2018-06-06 16:23:03 7452 3

空空如也

空空如也

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

TA关注的人

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