typescript 学习之基础篇

vue-cli已经内置了 TypeScript 工具支持,在 Vue (3.x) 中也计划了相当多的 TypeScript 支持改进,很多大佬以及用过的人也都在推荐入坑,而且目前也比较成熟,资源也很丰富,值得入坑 ? typescript官方介绍 TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上我的理解是 TypeScript扩展了JavaScript的语法,为 js 增加了类型机制,引入类,接口,枚举,泛型,方法重载等一系列的概念和方法,丰富了js的使用,而且和 VScode 搭配写起来是真的舒服 全局安装:npm install -g typescript编译命令:tsc hello.ts TypeScript 编写的文件以 .ts 为后缀,用 TypeScript 编写...

102.6k2019-03-25 11:40
canvas性能优化篇

看了很多大佬的文章,自己也对项目做了一些优化,其实有很多地方平常码代码的时候稍微注意一下就能节约很多性能开销 1.离屏渲染在离屏canvas上预渲染相似的图形或重复的对象,通俗的解释是将离屏canvas当成预渲染,在离屏canvas上绘制好一整块图形,绘制好后在放到视图canvas中,适合每一帧画图运算复杂的图形 比如你想把一张图片放到canvas上,使用drawImage()方法,有三种写法123456// 将image放到目标canvas指定位置void ctx.drawImage(image, dx, dy); // 将image放到目标canvas指定位置,指定宽高渲染void ctx.drawImage(image, dx, dy, dWidth, dHeight);// 将image裁剪之后放到目标canvas指定位置,指定宽高渲染void ctx.drawImage(i...

51.3k2019-03-18 11:40
canvas动画篇

最近用canvas蛮多的,canvas写动画也蛮好使的 canvas 由 js 来控制,但用 js 写动画通常3种方法控制时间 setInterval( function, delay ) 在指定的毫秒数下循环调用函数或表达式,直到使用clearInterval清除 setTimeout( function, delay ) 在指定的毫秒数后调用函数或计算表达式 前两个是平时会用得会比较多的,setInterval 和 setTimeout的本质是将回调函数添加到任务队列的尾部等待执行,但是前面的任务到底需要多少时间执行完是不确定的,如果前面堵塞了那么后面就无法执行尤其setInterval指定的是”开始执行”之间的间隔,并不考虑每次任务执行本身所消耗的时间,下一个回调开始执行的时间 = 指定时间 - 回调函数执行的时间,因此实际上,两次执行之间的间隔会小于指定的时间 下面的写...

26392019-03-07 14:50
google 搜索语法

现在越来越习惯用google了,不是我嫌弃百度,只是用了google发现百度真的让人爱不起来,没有对比就没有伤害 收集了一些google常用的语法,备忘 这些是已经被弃用的:+、~、inpostauthor:、allinpostauthor:、inposttitle:、link:、info:、daterange:、phonebook:、# 这些是在被弃用边缘,搜索结果不是非常准确的 symbol example explain .. apple 2010..2014 范围搜索,返回2010到2014,不超过2015的信息 inanchor: inanchor:apple iphone 返回锚文本中包含指定词汇的页面 allinanchor: inanchor:apple iphone 和inanchor类似,返回锚文本中包含所有指定词汇的页面 blogurl...

26342019-03-01 15:04
cannvas的imagedata对象

背景介绍ImageData 是canvas的图像数据,由 ImageData() 构造函数返回一个实例化的对象, 三个可读属性 data:一个 Uint8ClampedArray 类型的一维数组,包含RGBA 顺序的数据,每4个元素表示一个RGBA 值即对应一个像素, 左上角在数组的索引0位置,像素从左到右被处理,然后往下,遍历整个数组 RGBA: R - 红色(0-255)、G - 绿色(0-255)、B - 蓝色(0-255)、A - alpha 通道(0-255; 0 是透明的,255 是完全可见的) Uint8ClampedArray(8位无符号整型固定数组): 类型化数组表示一个由值固定在0-255区间的8位无符号整型组成的数组;如果你指定一个在 [0,255] 区间外的值,它将被替换为0或255;如果你指定一个非整数,那么它将被设置为最接近它的整数。(数组)内容被...

51.4k2019-02-21 15:43
2018年终总结

  又是一年 End,感觉现在时间过得越来越快,下了个倒计时的app,设置了年终和一些重要日子的倒计时,每次打开app看到那一点点变化的数字就会觉得有点点心痛。之前在网上看过一个话题为什么随着年龄的增大会感觉时间过得越来越快,有两个说法:当你专注做某样事情的时候和你重复做某一样事情的时候。相信这两种感觉大部分人都深有体会,感觉现在时间比小时候过得快是因为小时候大脑储存的东西不多每一天都是新鲜未知的,大脑在不断的调用insert或者update接口存储或者更新,但是长大后每天都是重复着昨天的生活,每天都只是在调用search接口,然后当你每天重复着一样的事情时间就过得很快很快。感觉扯远了,但是感觉时间越来越不够用是真的,小时候对于过年是充满期待和兴奋的,但是现在对于年终会有种莫名的感伤,比如现在敲下这些字的时候就挺让人难受的,可能有人觉得有点矫情,但是大好的时光...

31.1k2019-01-24 09:55
Electron踩坑指南不完全篇

前段时间做了个客户端的项目,主要适用于老师教案管理、远程上课录屏、和学生互动答疑等场景,原生开发对公司来说成本有点大,基于guthub上有各种桌面打包框架so只能前端上了 Electron + vue = product 这是一篇踩坑的记录,没有太深入的原理什么的讲解,主要是码代码过程中碰到的一些暗坑你如果正在写Electron的项目那么你也可能会遇到,这篇文章会给你一些参考 为什么用Electron这是目前大家知道比较多的三种跨平台的桌面框架NWJS https://nwjs.io/HEX http://hex.youdao.com/zh-cn/tutorial/index.htmlElectron https://Electronjs.org/docs Electron nw.js hex 发布时间 2013年 201...

61.8k2018-12-13 17:57
英语单词打卡记录

背单词接近3个月了,作为一个朝九晚六的上班族,一般背单词的时间是早上地铁有那么半个小时作为新单词时间然后晚上地铁半个小时是新单词为主 + 少部分需要复习的单词,然后睡觉前1个小时是单词复习时间。 平时的强度是每天新单词20个这个量其实不多,但是需要复习的单词平均每天有160个左右。我背单词是用anki,个人感觉这是个相当好用的记忆软件,可以帮助你记忆生活任何知识,优点太多就不列举了。用过的小伙伴应该都知道anki根据记忆的遗忘曲线每天都会有需要复习的单词,随着每天持续的加入新单词那么每天需要复习的单词也会越来越多,但是如果每天都坚持背单词并把所有到期需要复习的单词清空掉那么每天需要复习的就不会有这么多。 但是人啊 (。_。) ,每个星期总有那么一两天各种原因理由(又出现一个大bug?、今天加班、状态不好、其他乱七八糟的事)就会忘了背或者没背完。到期的单词没有被清空就会堆积在第二天,但...

15262018-11-16 12:03
前端使用html5、ffmpeg实现录屏摄像等功能

前段时间做一个windows的桌面应用,vue + electron,涉及到录屏和摄像功能,网上相关的文档蛮少的给需要的人一些参考 如果文章描写有误或者还有更好的方法,请留言告诉我,笔芯 (´▽`ʃ♡ƪ) 背景介绍 涉及技术:vue、electron、ffmpeg、node 关于录屏和摄像对比了两种方法 使用HTML5的api实现 摄像:mediaDevices(获取设备)+ getUserMedia(获取流) + MediaRecorder(存储) 录屏:getDisplayMedia(获取流) + MediaRecorder(存储) ffmpeg + node:FFmpeg是一套非常强大的音视频处理的开源工具,不多介绍,而Electron基于node和chromium,它允许使用node的API以及几乎所有的node模块,这意味这着我们可以调用cmd命令来操作ffmpeg实...

41.1k2018-11-06 17:05
前端是否需要对密码进行加密传输 && HTTPS

最近学习node,写demo登陆和注册功能的时候因为要考虑后台的加密和安全所以也想了下前端的,前端传输密码的时候是否应该加密之后再传输呢看了一些网站的登陆,csdn、简书等是明文传输,但腾讯、百度这些一线大站是经过前端加密的,看了些大佬的文章,顺便自己搬个凳子记个笔记 前端是否需要对密码进行加密传输前端的加密本身不能对网站的安全性有任何提高功能,所有的关于网站的安全技术都应该放在后台,但是这也不是完全没有意义,可以增加攻击成本,尽可能降低攻击带来的损失,毕竟丢了密文比丢了明文要强,而且犯罪分子技术参差不齐,简单的加密能够拦截很大一部分菜鸟,至于高手。。。 最后看到比较统一的是隐秘信息传输应该使用https 什么是https? ssl证书又是什么这篇文章只是想弄懂流程和原理,不会去纠结具体的术语 HTTP协议以明文方式发送内容,不提供任何方式的数据加密,处在同一网络中的其它用户可以通过...

41.2k2018-10-16 14:38