- 博客(49)
- 收藏
- 关注

原创 异步循环和双层嵌套循环(性能优化nodejs从2.8m到28s)
两步优化:定位问题:该接口使用多次sql查询,并采用了async,另外在数据的处理中使用了map,forEach嵌套。方案:1/使用了bluebird来异步并发请求,替代原来的async请求。2/数据处理确实无法减少嵌套,我采用了for循环来替代map,forEach,虽然降低了代码的可读性,但是这里因为数据量比较大,两层循环的原因,确实能有效节约时间。优化前:优化后:...
2020-05-15 11:40:15
948

原创 瀑布流组件,vue的瀑布流组件,木桶布局组件barrel(全屏+resize),另有jq版本的木桶布局
鉴于大家可以直接打开运行见效果,我把组件放入页面中,去除一些需要编译的,比如router-link,实际使用,大家可以自行替换,另外鉴于视觉中国的黑洞事件,模拟的图片,大家自己本地放图吧。需要注意几个点,resize事件只能用一次,建议大家在app中使用,可以vuex共享数据。如果问题,请指教,另觉得最后一行处理的不是很好,希望有更好的方案指教! <!DOCTYPE html>...
2019-04-23 17:26:58
636

原创 vue简单实现瀑布流布局的一种方式(vue瀑布流组件)
vue中的瀑布流布局组件需求:图片容器宽度固定,高度根据图片自适应,图片一行不能排列时候,换行依次从左往右排列。(瀑布流概念)父组件传递数据: waterfallData:[ { e_img: &quot;test.jpg&quot;, // 图片 e_intro: &quot;描述信息&quot;, u_img: &quot;test.jpeg&
2019-01-18 13:34:31
35616
6
原创 前端 echarts 导出图片到excel中
前端如何把图片导出到excel中js如何把image导出到excel中js如何把image保存在xlsx文件中前端如何把base64图片保存在xlsx文件中
2023-04-24 17:23:54
1071
原创 elastic search
we have a field named date in an index which format is “YYYYMMHH”, how can I make it be recognize by ES as a date so that we can search by date?https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html
2021-04-19 16:32:56
189
原创 ES实现group by为什么你还报错
GET /_search{ "aggs" : { "products" : { "terms" : { "field" : "product" } } }}如果你的字段product对应是string,会发现报错无法正确查询。If you try to sort, aggregate, or access values from a script on a text fi
2021-04-08 10:52:48
423
原创 react lazy eslint error Parsing error: Unexpected token import
最近在react项目中使用了React.lazy,然后就在git pre-commit中报错了。$ eslint --fix .Warning: React version not specified in eslint-plugin-react settings. See https://github.com/yannickcr/eslint-plugin-react#configuration .error Parsing error: Unexpected token import安装
2020-08-14 13:15:24
1811
原创 js从一个数组中删除另一个数组中存在的元素
// 从一个数组中删除另一个数组中存在的元素let arr = [{ id: 1 }, { id: 11 }, { id: 3 }], to_remove=[{ id: 22 }, { id: 11 }];// 从数组arr中删除数组to_remove中存在的元素new_arr = arr.filter((x) => !to_remove.some((item) => x.id === item.id));...
2020-07-24 08:39:31
8140
1
原创 sku实现
使用vue实现前端sku选择: https://juejin.im/post/5ec243a1f265da7bf24108f2?utm_source=gold_browser_extension图形算法(邻接矩阵):https://juejin.im/post/5de7c053518825125d1497e2
2020-05-22 11:01:36
601
转载 前端攻击和防御
一、基础知识1、XSS(Cross Site Scripting)跨站脚本攻击(1)原理:页面渲染的数据中包含可运行的脚本(2)攻击的基本类型:反射型(url参数直接注入)和存储型(存储到DB后读取时注入)(3)注入点:HTML节点内的内容(text);HTML中DOM元素的属性;Javascript代码;富文本//HTML节点内容注入<div><script>alert(1);</script></div> //DOM属性注入<im
2020-05-22 09:20:08
322
原创 我在nodejs做白名单网址设置遇到的bug
Firefox的req headers没有originconst jwtService = require('../services/JwtService');module.exports = function(req, res, next) { const webHostWhitelist = [ 'http://xx.vip.ebay.com', 'https://xxx.vip.qa.ebay.com', 'http://localhost:
2020-05-12 16:00:24
774
原创 浏览器相关的工作原理与前端性能优化
你真的了解浏览器相关的工作原理与前端性能优化?我也不了解,自己慢慢读吧浏览器层合成与页面渲染优化https://juejin.im/post/5da52531518825094e373372(1.6w字)浏览器灵魂之问,请问你能接得住几个?...
2020-05-12 15:49:32
192
原创 if和CASE 1WHEN 0 THEN的条件查询
mysql的选择判断:1.if语句选择判断格式:IF(boolean,A,B) 意义:当boolean为TRUE时,返回A;当boolean为FALSE时,返回B。 作用:作为条件语句使用。2.CASE 1WHEN 0 THEN选择判断根据CASE后的值进行匹配选择。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。(case when (SUM(GMV_USD_AMT)- SUM(GMV_USD_LY_AMT)) > 0 th
2020-05-11 09:57:28
915
原创 我的cookieUtils
/**Created by weiweliu on 2020/04/12.*/const esamsUtil = require(’./esams-util’);const COOKIE_CONSTANTS = {SESSION_ID: ‘**id’,SESSION_TOKEN: ‘****_session_token’,USER_NAME: ‘****user’};const Cookies = require(‘cookies’);const ebayEnv = require(
2020-05-09 14:34:44
236
原创 你竟然以为前端不能自己做下载?给我数据,下载我能行
如果没有自己做过或者看过,10年经验的程序员都能质疑前端能做下载功能吗?话不多说,拿去直接用 csvSeparator = ','; /** * @param value * //[ * {'userId':'weiweliu','creationDate':'1575014176000', 'lastModifiedDate', 'triggerTime'}, * {'userId':'weiweliu',
2020-05-09 14:29:50
333
原创 .vscode for dev
service side use esm to enabled ES6. To start with esm, you should use the command node -r esm index.js (npm start), debug with esm in vscode, you should have the launch.json file in the folder of .vs...
2020-05-06 15:57:04
169
转载 一个案例带你理解 扁平化数据转化成树形数据
const data = [ { “area_id”: 5, “name”: “广东省”, “parent_id”: 0, }, {...
2020-05-06 14:13:34
743
转载 你不知道的nodejs性能优化
1、使用最新版本的 Node.js仅仅是简单的升级 Node.js 版本就可以轻松地获得性能提升,因为几乎任何新版本的 Node.js 都会比老版本性能更好,为什么?Node.js 每个版本的性能提升主要来自于两个方面:V8 的版本更新;Node.js 内部代码的更新优化。例如最新的 V8 7.1 中,就优化了某些情形下闭包的逃逸分析,让 Array 的一些方法得到了性能提升:Node...
2020-05-06 14:03:55
1188
1
转载 setTimeout/setImmediate/process.nextTick的差别
前言根据上一篇文章,我们可知,node对回调事件的处理完全是基于事件循环的tick的,因此具有几大特征:1、在应用层面,JS是单线程的,业务代码中不能存在耗时过长的代码,否则可能会严重拖后续代码(包括回调)的处理。如果遇到需要复杂的业务计算时,应当想办法启用独立进程或交给其他服务进行处理。2、回调是不精确,因为前面的原因,setTimeout并不能得到准确的超时回调。3、不同类型的观察者,...
2020-05-06 14:02:32
459
转载 转发:几个常见的 NodeJS 误区
很多不熟悉 NodeJS 的开发者,总是对 NodeJS 抱有怀疑态度,其中的原因基本是对其具有误解,而这些误解往往又最终导致自己放弃 NodeJS 的学习。在这篇文章里,我将会尽可能言简意赅的介绍和解释这些误区的所在之处,并不遗余力地挽留那些正在迷茫中的人,同时增强正在使用 NodeJS 的开发者们的信心。一、NodeJS 是一门服务器语言这个错误非常明显,NodeJS 是一个使用 Chro...
2020-05-06 14:00:53
192
原创 使用nodejs框架sails,本地和pre-prodcution环境都是正确,但是生产错误
使用 sails框架,将api的错误通过res.serverError 返回给前端,前端在调用api的catch中捕捉。在本地,部署pre环境都是ok,部署production却不能正确 读取数据。在sails res.serverError api说明 中提示如下:Notes#This method is terminal, meaning that it is generally th...
2020-02-24 17:05:48
296
原创 nodejs vue全栈开发
1, Kite 前台页面是vue ssr服务端渲染、后台页面是react spa、服务层nodejs、mysql编写的一套多权限内容管理系统 https://www.xiaosuibi.comhttps://github.com/maoxiaoquan/kite.git2,Vue rendering engine for Express.js. Use .Vue files as templa...
2020-01-17 14:34:42
509
转载 优化 JS 条件语句的 5 个技巧
编译:伯乐在线/Mr.Dchenghttp://blog.jobbole.com/114671/在使用 JavaScript 时,我们会处理很多条件语句,这里有 5 个技巧可以帮助您编写更好、更简洁的条件语句。1、对多个条件使用 Array.includes让我们看看下面的例子:// conditionfunction test(fruit) {if (fruit == 'apple...
2020-01-07 14:16:10
148
转载 GraphQL 入门看这篇就够了
<div class="rich_media_content" id="js_content"> <p style="min-height:1em;color:rgb(51,51,51);text-align...
2020-01-07 10:58:35
723
原创 从js到java学习持续更新
常量分类:字符串常量(凡是双引号引起了),整数常量,浮点常量,字符常量(单字符单引号有且仅有一个字符),布尔常量,空常量nulljava的数据类型分类和js一样分为 基本和引用类型两大类基本类型:byte 1 , short 2, int 4, long 8 , float 4, double 8, chart 2 , boolean 1 (数字代表所占字节数)引用类型:不是基本就是引用,...
2019-12-30 16:15:49
164
原创 pwa学习及京东PLUS会员项目前端性能优化实践
Pwa : https://lzw.me/a/pwa-service-worker.html这个项目有几个特点:第一,需求多。移动端使用 H5 开发,曾有人问为什么不用原生或者 RN 开发? 我觉得吧,以这个项目的需求数量和迭代速度来看,连 H5 都难以 hold 的住,还是不要奢望原生和 RN 了。第二,产品经理多。一般的项目对接一两个产品经理,这个项目我们需要对接一个异地的产品经理“团队...
2019-12-30 16:15:08
224
原创 学习整理慕课网cc老师的 前端的性能优化课程
《一常用图片优化方法》1,图片与css: 使用css效果,css动画。替代一些图片或者是js动画,js动画没有css来的简单,css动画还可以通过animationend,translationend事件来监听动画结束,但是js不可以。css效果可以提供与分辨率,缩放无关的清晰度效果,占用空间也更小。2, 无法避免的图片,如何选择?jpg全名jpeg,以24位颜色存储单个位图,容易失真,适合...
2019-12-30 16:14:05
440
原创 mobilebone学习 ajax封装,css制作loading等
js篇 // Is it webkit var isWebkit = "WebkitAppearance" in document.documentElement.style || typeof document.webkitHidden != "undefined"; // Is it suppory history API var supportHistory = "pushStat...
2019-11-27 16:58:32
145
原创 我的nodejs工具函数集
const jsonfile = require('jsonfile'); const json2csv = require('json2csv'); const ASCII = 'ascii';const BASE64 = 'base64';const getObjectByKey = function getObjectByKey(arrayObjects = []) { ...
2019-11-20 14:34:30
239
原创 hybirdapp适配方案
640px设计稿 屏幕宽度 = 100vm 100vm = 64rem; 1rem = 1.5625vm; 设计稿量取的尺寸除以100来设置rem<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" con...
2019-11-20 14:12:47
196
转载 关于git
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/qq_28602957/article/details/70194216————————————————版权声明:本文为优快云博主「diligentyang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接...
2019-10-30 13:26:32
156
转载 git常见用法和核心策略
创建并提交一个版本库1.核心操作 # 1.初始化仓库,.git目录默认隐藏,可以通过命令ls -ah显示 git init # 2.把文件添加到版本库,可以一次添加多个文件,git add . 代表把所有文件全部提交 git add 文件名 文件 # 3.把文件提交到当前分支 git commit -m '本次提交的说明 # ...
2019-09-24 13:32:00
161
原创 解决vue项目中在safari中this.$router.go()失效的问题
vue中可以刷新的几种方式:1,this.router.go(0)。页面会一瞬间的白屏,体验不是很好,且safari不支持2,用vue−router重新路由到当前页面,(this.router.go(0)。页面会一瞬间的白屏,体验不是很好,且safari不支持2,用vue-router重新路由到当前页面,(this.router.go(0)。页面会一瞬间的白屏,体验不是很好,且safari不支...
2019-04-25 23:00:27
11720
2
原创 写一个hello,world!开始python之旅
写一个hello,world!开始python之旅# -*- coding=utf-8 -*-import sysreload(sys)sys.setdefaultencoding('utf8')if True: print "hello,world!"else: print "haha"运行 python test.py 可见hello...
2019-04-23 16:07:06
149
转载 mac安装 升级python 3.x版本
https://www.cnblogs.com/meng1314-shuai/p/9031686.html
2019-04-22 15:21:14
1750
转载 深拷贝与浅拷贝
面试的时候,我经常会问候选人深拷贝与浅拷贝的问题。因为它可以考察一个人的很多方面,比如基本功,逻辑能力,编码能力等等。另外在实际工作中,也常会遇到它。比如用于页面展示的数据状态,与需要传给后端的数据包中,有部分字段的值不一致的话,就需要在传参时根据接口文档覆写那几个字段的值。最常见的可能就是 status 这个参数了。界面上的展示需要 Boolean 值,而后端同学希望拿到的是 Number ...
2019-04-16 16:23:46
131
转载 js中如何检测一个空对象
文章转载,使用需要注意hasOwnProperty,getOwnPropertySymbols,具体参照MDN兼容性检查一个数组为空很容易,直接调用 length 方法即可,那么如何检查一个对象是否为空呢 ❓这里的空指的是对象没有自有属性假设这里有两个对象,一个是 obj 一个是 anotherObjlet obj1 = { name: 'oli', child: { ...
2019-04-02 16:26:45
877
转载 video.js使用技巧总结和webpack中使用注意的问题
webpack与video.js使用注意的问题转自https://segmentfault.com/a/1190000007603266video.js是一个优秀的视频播放器库,不过官网的示例中,是作为全局变量videojs引入的。如果我们的项目使用ES6风格的模块,用webpack来做打包的话,就需要做一些额外的工作。本文介绍我在使用的时候遇到的一些“坑”。基本使用方法直接从npm安装vi...
2019-03-27 10:06:51
2237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人