自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信小程序gps定位API踩坑记录

单次定位调用方法如下,该api存在严重bug,触发条件不明,小程序置于后台或锁屏后有概率触发,表现为多次调用后,获取的坐标卡死在某一点不动,或者出现大幅度跳跃,在某一固定点和当前位置之间来回挑动。该bug在iOS和android平台均有出现,而且该bug能跨小程序出现,即在小程序A触发后,小程序B内调用同一api就会触发bug,重启微信程序可解决,估计是微信的问题。因此该api适合单次低频率调用。wx.getLocation({ type:'gcj02', // 使用国标坐标系 isHighAcc

2021-01-28 01:37:47 2318

原创 Canvas 绘制海报的一些经验

Canvas坐标系原点位于左上角,X轴向右为正,Y轴向下为正。绘制图片到canvasdrawImage,参考https://www.w3school.com.cn/html5/canvas_drawimage.asp注意,图片需要先加载完成,才能绘制到canvas,建议采用以下方法var bgImg = new Image();bgImg.src = 'images/background.jpg';bgImg.onload = function(){ // 图片加载完成后方可绘制 .

2021-01-20 01:43:06 280

原创 RegExp.exec() 学习笔记

RegExp.exec() 学习笔记看到一道关于从url query部分取值的面试题,用了正则/.+\?(.+)$/.exec(url)[1];,将 ? 后面的字符串取出。而我一直是用分割字符串来获取参数,故学习一番。记录在此,过几天忘了好复习。。。最基础的正则知识可参考:https://juejin.cn/post/6844904037481988103https://www.w3school.com.cn/jsref/jsref_exec_regexp.asp不使用分组的情况执行以下代码:

2021-01-13 16:56:06 452

原创 【小程序】webView 与 H5 通讯方法概括

无法做到的事小程序实时获取webview对应的url(可获取初始值,跳转后的无法获取,尤其是SPA用hash路由的情况下)。H5 与小程序实时通讯,具体约束参考wx.miniProgram.postMessage的解释。小程序向H5发送内容1、拼接到url中​ 这个无需多说,拼接到query部分,即可在h5中获取。2、数据从后端绕行​ 这是迫不得已的办法。H5向小程序发送内容1、使用wx.miniProgram.postMessage,在特定时机获取。文档解释:wx.mi

2020-12-30 00:44:17 706

原创 【JavaScript】奇怪的知识void 0 === undefined 为 true

void 0 === undefined 为 true;

2020-12-26 03:24:54 371

原创 【TypeScript】 装饰器的应用, Metadata 元数据的应用

读一篇关于依赖注入的文章时,发现看不懂在写什么了。。于是就有了这篇文章这就是看不懂的那篇 https://juejin.cn/post/6898882861277904910关于Metadata按我的理解,其实就是一些不能被直接访问的属性,里面可以保存很多类型的东西。。。相关api https://github.com/rbuckton/reflect-metadata#api关于装饰器的使用Ts装饰器官方文档:https://www.tslang.cn/docs/handbook/dec

2020-11-30 19:34:36 425

原创 首屏加载速度优化

首屏加载速度优化首屏加载速度优化,总结下来有两个方向:跑得快传得少下面,就这两个方向展开谈谈个人的经验,一些在工程化时代已经成为基操的,就不谈了,比如代码压缩、图片压缩之类的。跑得快跑得快,即从网络传输方面下手,HTTP2.0、CDN,都是常见的手段。1、http2.0在加速这个层面,http2.0 比1.1的最大优势就是—利用二进制分帧消除 http1.X 时代的队头阻塞,在 http1.X 中,前一个请求未得到相应,会阻塞后面的请求。而2.0用二进制帧实现了流,多个不同id的流(代

2020-11-30 12:10:34 772

原创 npm包,发布、更新、删除教程

发布先登录npm用户,执行npm adduser // or npm loginUsername: npm-user-namePassword:Email: your-email复制代码根据提示输入正确的npm用户名、密码、邮箱,添加完后会默认登录执行npm publish复制代码如果没什么问题,应该就发布成功了。可以去npm搜索发布的包: my-test-project,或者去自己的npm账号下查看package(这个有延迟,比较慢)。更新版本号npm 提供官方提供了npm

2020-11-27 21:38:44 543 1

原创 npm package.json 依赖版本控制

参考 https://docs.npmjs.com/cli/v6/configuring-npm/package-json#dependenciesversion Must match version exactly,版本号不带任何前缀,直接匹配>version Must be greater than version 大于>=version etc 大于等于<version 小于<=version 小于等于~version “Approximately equival

2020-11-27 21:30:06 333

原创 js识别触摸手势

概述围绕撒个事件展开工作,touchstart、touchmove、touchend。touchstart 用于判断触摸开始,注意,双指按到屏幕上,会触发2次touchstart,因为2个指头有先后,所以一次捕捉到先碰到屏幕的指头,第二次才捕捉到2个,更多指的手势以此类推。因此,需要防抖,延迟执行,以最后一次触发的结果为准。touchmove,实时更新几个手指头的位置。touchend,结束触摸,注意!这个不会带有结束时手指的位置,因此需要在触发touchmove时,同步更新手指位置信息。触摸时

2020-11-27 19:28:35 1257

原创 Jest + puppeteer 自动测试

完整项目https://github.com/OldDream/copy-to-clipbord-ultralight为何需要做做了一个 js小工具发布到 npm 上,每次更新完都要手动测试,效率很低,有时甚至会忘记,万一把带bug的版本发布上去,那就坑人了。因此考虑引入自动测试,搭配GitHub + Travis CI, 能省心不少。选取我相对熟悉的 jest,但在这里和传统的js单测不同,因为这个工具涉及到dom操作,如果使用jest自带的模拟jsdom,意义不大,因此又引入了 puppetee

2020-11-26 19:51:36 805

原创 关于CSS响应式的一些总结

准备工作在html 文件的 head中加入以下内容<meta name="viewport" content="width=device-width,initial-scale=1.0">设置meta标签来告诉浏览器,让视口宽度等于设备宽度.具体作用可参考:https://stackoverflow.com/questions/47742580/do-we-need-meta-name-viewport-content-width-device-width-initial-scale-1

2020-11-25 18:12:48 99

原创 rollup打包TypeScript库,输出js文件+类型声明文件

参考资料:https://chenshenhai.github.io/rollupjs-note/ 一位大佬的 rollup 使用笔记https://rollupjs.org/guide/zh/ rollup 文档大纲:1、安装rollup相关组件npm i -d @babel/core @babel/preset-env @babel/preset-typescript @rollup/plugin-node-resolve rollup rollup-plugin-babel rollup

2020-11-24 18:37:36 8972 1

原创 【Coursera】SeamCarver算法

Coursera 上 Algorithms,Part II, week 2的作业。 代码在这边:https://github.com/OldDream/Algorithms-6th-Sedgewick/tree/working_branch/src/seamCarver在删除seam之后,energy的算法还有优化空间。只需重新计算seam和seam左侧的pixel对应ener

2017-12-09 01:48:31 493

转载 【异常形象】overriding vs. Overloading in Java

quote:https://www.programcreek.com/2009/02/overriding-and-overloading-in-java-with-examples/

2017-09-24 19:11:33 260

原创 【Coursera】编程题 Collinear Points - Algorithms Part1, Week3

题目概述:http://coursera.cs.princeton.edu/algs4/assignments/collinear.htmlPoint类和暴力算法(O(n^4))都很简单,就不写了。写一个把复杂度降到n^2lg(n)的算法。感觉写出来的东西很混乱。。import java.util.ArrayList;import java.util.Arrays;i

2017-03-13 21:36:16 1490

转载 3sum ~ 2log(N)算法

Source : http://stackoverflow.com/questions/19372930/given-a-bitonic-array-and-element-x-in-the-array-find-the-index-of-x-in-2lognThe right way to solve the problem in time ~ 2log(N) is to p

2017-02-26 17:39:51 353

原创 【Coursera】编程题 Percolation - Algorithms Part1 Week1

拿满分的难点在于尽量减少for - loop 的次数,尤其是在需要频繁调用的方法里。如果只建立一个UnionFind对象,得在 percolates() 里头用for循环,时间上划不来。而建两个UF对象就可以解决底部虚拟节点和 isFull() 冲突的问题,多用一点点内存。反正内存可以花钱买,时间不行。。。import edu.princeton.cs.algs4.WeightedQu

2017-02-23 19:54:33 733 1

原创 腾讯2017 暑假实习生编程题---【3】 有趣的数字

Q:小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?A:之前尝试过暴力解决,结果有内存限制不让过。。。import java.util.*;public class T3 { public static void main(String[] args) { Scanner input = new Scanner(

2017-02-10 20:00:47 404

原创 Cloneable接口的一个。。。备忘

继承链中有一个class实现了这个接口,则该class及其子类也可以clone()了。。。

2016-12-16 15:35:26 298

原创 ArrayList - 《Introduction Of Java Programming》 学习总结

ArrayList - 《Introduction Of Java Programming》 学习总结第十版,P368. ArrayList,自带一个泛型类E。ArrayList<E> list = new ArrayList<>(); //创建一个元素类型为 E 的空数组列表。常用方法:+add(o : E): void 添加新元素o到列表末端。 +add(index : int, o

2016-10-27 21:20:21 469

原创 【java】对被final修饰的变量进行赋值的几种方法

对被final修饰的变量进行赋值的几种方法被final修饰的变量,有三种赋值方式。被final static 修饰的变量,有两种赋值方式。在继续前,了解以下内容: 静态代码块、构造代码块、构造方法的执行顺序被final修饰的变量 の 内存分配状况这是精华: 因为当类被加载进内存的时候,这个属性并没有给其分配内存空间,而只是定义了一个变量,只有当类被实例化的时候这个属性才被分配内存空间

2016-10-25 00:38:59 6112

原创 对被final修饰的变量进行赋值的几种方法

对被final修饰的变量进行赋值的几种方法

2016-10-25 00:34:28 2852

转载 整数在内存中的表达

http://bbs.chinaunix.net/thread-3765224-1-1.html

2016-07-23 12:36:17 490

转载 整数在内存中的存储形式。。

真大神啊。。。。瞬间理解:source:http://bbs.chinaunix.net/thread-3765224-1-1.html很对, 没有问题. 不过我想告诉LZ一个更容易理解的办法.假设, 我现在只有4 bits空间. 那么这个空间最多能存放2 ^ 4, 即16个数, 也就是 0 - 15.想像一个表盘, 这个表盘刚好有16个刻度. 这样子, 我们将上面的1

2016-07-23 12:25:09 942

转载 C中的malloc和free

[原创]浅谈C中的malloc和free在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也

2016-07-17 20:53:25 272

空空如也

空空如也

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

TA关注的人

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