自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

'Ablaze 的专栏

莫看江面平如镜 要看海底万丈深

原创 【微信小程序】wx.uploadFile不支持上传GIF动图

虽然 wx.chooseImage 选择图片时可以选择 .gif 格式的图片, 但是当调用 wx.uploadFile 将其进行上传时,发现返回errorCode 200, 对应的报错信息是 \u6587\u4ef6\u8def\u5f84\u4e0d\u80fd\u4e3a\u7a7a。 将其...

2020-05-22 16:29:56 27 0

原创 【微信小程序】底部操作菜单与拍照录像

这篇文章要解决三个问题: 底部操作菜单 自定义按钮“点按拍照,长按拍摄” 调用朋友圈的API实现“点按拍照,长按拍摄” 第一部分 当点击“上传资料”按钮的时候,要从底部弹出操作菜单栏。 <button type="primary" bindtap="open...

2020-05-20 16:59:45 23 0

原创 【微信小程序】选择图片并上传时出现两个loading ?!

遇到这样一个业务场景,在小程序中 wx.chooseImage 选择图片后, 调用 wx.uploadFile 上传图片到公司的一个数据库中,然后拿到对应的返回值后, 再去请求一个接口,将所有图片一一进行绑定, 等所有图片上传完毕后,最后请求一个接口进行总结汇报。 我们希望的是当选择图片完成后,有...

2020-05-20 15:35:12 36 0

原创 WebRTC(三)用屏幕分享录制一段视频

前一章节了解了屏幕分享的API,感觉跟我们常用的“屏幕共享”好像。 那么可不可以用此进行一个屏幕录制呢? “纸上得来终觉浅,觉知此事要躬行。”看着挺简单的一个东西,没有落实都算说大话。 首先画上三个按钮: <button @click="start" :disabled=...

2020-05-18 18:23:23 45 0

原创 WebRTC(二)获取用户的媒体流

MediaStream 接口用于表示媒体数据流。(流可以是输入或输出,也可以是本地或远程) 单个 MediaStream 可以包含零个或多个轨道。(每个轨道都有一个对应的 MediaStreamTrack 对象) MediaStreamTrack 表示包含一个或多个通道的内容,其中,通道之间具有...

2020-05-17 21:46:18 36 0

原创 WebRTC(一)从了解三个方面的API开始

WebRTC简介 WebRTC是一个由Google发起的实时通信解决方案, 其中包含音视频采集、编解码、数据传输、音视频展示等功能。 虽然其名为WebRTC,但是实际上它不仅支持Web之间的音视频通讯,还支持Android和iOS端。 底层技术 图像引擎(VideoEngine) VP8编解码...

2020-05-17 17:41:10 67 0

原创 从传统媒体到p2p的流媒体

传统媒体 在刚开始的时候,我们要看一段音视频,就要从网上下载完整个文件后才能观看。 如果音视频文件大些的,那实在太痛苦了,可能得电脑挂机好多个小时(有时一下午甚至一天)才能下载完成。 而在漫长的下载等待期间呢,我们一般去做一些不需要网速的事情,以让这个音视频文件尽可能早的下载完毕。 流式媒体 随着...

2020-05-17 16:42:25 21 0

原创 无编译/无服务器,实现浏览器的CommonJS模块化

前些天写一个demo,需要用到require去引一个node包, 但是又不想将其混进公司的整个node工程中去,因为想着越简单越好。 同时,webpack能不用也不用了吧,不然又得初始化个webpack工程。 在我折腾了半天后,发现一个利器 —— one-click.js。 我们知道, 如果希望C...

2020-05-17 11:05:58 19 0

原创 流媒体的基本介绍

文章目录流媒体是什么?音视频组成编码格式音频编码格式视频编码格式存储封装格式视频码率、帧率码率帧率流媒体的传输方式顺序流式传输实时流式传输流媒体的传输协议HLSHLS 点播HLS 直播HTTP-FLVRTMPMPEG-DASHRTSP+RTP 流媒体是什么? 流媒体就是指采用流式传输技术在网络上连...

2020-05-17 10:42:03 25 0

转载 网络心跳包机制

为什么需要心跳机制? 考虑以下两种典型的即时通讯网络层问题模型: 1)情形一: 一个客户端连接服务器以后,如果长期没有和服务器有数据来往,则可能会被防火墙程序关闭连接。 但有时候我们并不想被关闭连接。 例如,对于一个即时通讯软件来说,如果服务器没有消息时,我们确实不会和服务器有任何数据交换, 但是...

2020-05-17 10:14:18 25 0

原创 npm ERR! Failed at the node-sass@4.13.1 postinstall script.

今天安装脚手架工具时遇到这样一个报错信息: npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.13.1 postinstall: `node scripts/build.js` npm ERR! Exit status 1...

2020-04-01 14:46:12 539 0

原创 ?= 正向零宽断言

场景 要匹配微信版本号,前人写了这样一段代码: const reg = /^\d(?=.\d.\d$)/; 在微信7.0.10版本之前的所有版本中均没有问题,但7.0.10版本报错了。 为什么呢? 因为(?=exp)是正向零宽断言,它断言自身出现的位置的后面能匹配表达式exp。 这样的话,上述正...

2020-01-07 18:04:21 29 0

原创 setDate() 解决跨月问题

起因 我要做一个可选择“今天”、“明天”、“后天”的时间控件供用户选择,并发送选定后的日期给服务端。 刚开始我是获取当前日期进行 +0、+1、+2 操作的,怪我想的太简单,跨月跨年之后很快暴露问题! 那么我要如何解决这个问题呢? 算平年 or 闰年?算这个月有多少天?算下个月有多少天?(看起来好复...

2020-01-07 12:23:30 81 0

原创 autocomplete="off" 阻止浏览器默认缓存input的值

只有火狐刷新后值没有自动更新 火狐浏览器比较特殊,它默认会缓存input框的值, 导致input的value值是最新的,但是显示给用户的却是之前的值, command+R刷新多次还是一样,只有command+shift+R强制刷新才可以。 我们不能期望用户自己去尝试强制刷新,所以需要给 input...

2020-01-07 11:26:47 53 0

原创 【阅读Vue源码】createElement

源码来自于 https://github.com/vuejs/vue createElement src/core/vdom/create-elemenet.js const SIMPLE_NORMALIZE = 1 const ALWAYS_NORMALIZE = 2 // wrapper ...

2020-01-06 23:54:21 33 0

原创 【JavaScript】JS的NodeList对象

NodeList与HTML Collection getElementsByClassName()和getElementsByTagName()都返回NodeList对象, 而类似document.images和document.forms的属性为HTML Collection对象。 NodeLi...

2019-08-05 16:09:48 218 0

原创 理清Hogan与Mustache模板引擎

Hogan与Mustache Hogan与Mustache的关系就像V8与Node的关系一样。 安装Hogan npm install hogan.js --save-dev Hogan用法 // 引入hogan const hogan = require('hogan.js'...

2019-08-05 14:33:48 52 0

原创 【JavaScript】JS的调用栈和堆

在JS代码的执行过程中会分配两个内存区域——调用栈和堆。 第一个性能非常高,因此用于连续执行所提供的函数。每个函数调用在调用栈中创建一个所谓的“框架”,其中包含其局部变量的副本和this。 你可以通过Chrome调试器查看它,就像在其他与堆栈类似的数据结构中一样,调用栈的栈被推送或弹出堆栈,具体取...

2019-08-05 11:55:11 42 0

原创 【JavaScript】this和event.target的异同

event.target 每次触发DOM事件时会产生一个事件对象(也称event对象), 而事件对象也有很多属性和方法, 其中target属性是获取触发事件对象的目标,也就是绑定事件的元素, event.target表示该DOM元素,然后在获取其相应的属性值。 this和event.target的...

2019-08-05 11:45:51 57 0

原创 【NodeJS】node不认识正则

是因为node V8.4.0不认识正则,更换为node V8.16.0即可。 不认识正则的报错信息:

2019-08-05 10:12:51 39 0

原创 【JavaScript】JS变量生命周期:为什么let没有被提升

理解背后原理:变量生命周期 声明阶段 是在作用域中注册一个变量 初始化阶段 是分配内存并为作用域中的变量创建绑定,在此步骤中,变量将使用undefined自动初始化 赋值阶段 是为初始化的变量赋值 变量在通过声明阶段时是 尚未初始化 状态,但未达到初始化状态。 let变量的处理方式与var不同...

2019-08-05 09:59:41 67 0

原创 【浏览器/虚拟机/服务器】浏览器对象键值对输出顺序

背景 后台直接给前端一个对象让循环遍历出来,但遍历顺序与预期不一致。 解决 让后台直接返回一个数组进行遍历才能保证顺序与预期一致。 原理 浏览器控制台会重新按ASCII排序键值对,但这并不是对象的键值对没有顺序,对象依旧保持原本的顺序,只是浏览器控制台在显示时做了修改。 JS对象是个哈希表,哈希表...

2019-08-05 09:52:19 124 0

原创 【前端安全】cookie和token都存放在header中,为什么不会劫持token?

token不是为了防止XSS的,而是为了防止CSRF的; CSRF攻击的原因是浏览器会自动带上cookie,而不会带上token; 以CSRF攻击为例: cookie:用户点击了链接,cookie未失效,导致发起请求后后端以为是用户正常操作,于是进行扣款操作; token:用户点击链接,由于浏览...

2019-08-05 09:41:15 3634 0

转载 【JavaScript】深拷贝与浅拷贝

如何区分深拷贝与浅拷贝? 假设B复制了A,当修改A时,如果B也跟着改了,这就是浅拷贝,否则就是深拷贝。 堆内存与栈内存 堆是堆内存的简称,栈是栈内存的简称。 堆是动态分配内存,内存大小不一,也不会自动释放。 栈是自动分配相对固定大小的内存空间,并由系统自由释放。 JS的基本数据类型(Undefi...

2019-07-17 14:51:53 32 0

原创 AttributeError: module 'tensorboard.util' has no attribute 'PersistentOpEvaluator'

首先贴下出的问题以及解决到正确的整幅图: 最后检验 刚开始是通过 Anaconda Navigator 的 Environment 配置 tensorflow 和 tensorboard 重复多次也未能解决题目中的问题,后通过 Anaconda Prompt 命令行多次卸载安装 te...

2019-03-12 19:43:44 2534 0

转载 警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

转载自:警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 问题: 安装TensorFlow(CPU版本),使用pip install tensorflow...

2019-03-12 13:43:44 65 0

原创 【NodeJS】TCP客户端与服务端

server.js var net = require('net'); // 加载网络模块 var clients = 0; // 创建ID来引用连接的每一个客户端 var server = net.createServer(function(client) { ...

2018-11-10 17:24:04 340 0

转载 【JavaScript】从promise、process.nextTick、setTimeout出发,谈谈Event Loop中的Job queue

转载自:从promise、process.nextTick、setTimeout出发,谈谈Event Loop中的Job queue 简要介绍:谈谈promise.resove,setTimeout,setImmediate,process.nextTick在EvenLoop队列中的执行顺序 ...

2018-09-04 10:43:47 210 0

转载 【Python】unicode类型转换为str

转载自:python中unicode类型转换为str a = a.encode('unicode-escape').decode('string_escape')

2018-08-08 21:18:14 818 0

原创 【Python模拟登录】WebDriverException,unknown error: call function result missing 'value'

首先贴张报错图 看到WebDriverException可以猜测可能是浏览器驱动与浏览器不匹配的问题 本人用的Chrome浏览器,自然选的也是ChromeDriver,还有不匹配问题可能是驱动版本问题 顺着这个思路去chromedriver官网上下载最新驱动文件(或者去淘宝镜像,找Chr...

2018-08-08 12:00:26 227 0

原创 【虚拟机/服务器】uWSGI+Nginx部署Django项目补充

首先弄清下面几个概念 WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web server如何与web application通信的规范。server和application的规范在PE...

2018-07-15 12:16:59 215 0

转载 【微信小程序】需要开发者自定义的双击事件

转载自:http://www.wxapp-union.com/portal.php?mod=view&amp;amp;aid=1940 双击事件   由两个单击事件组成,两次间隔时间小于300ms认为是双击;微信官方文档没有双击事件,需要开发者自己定义处理。 // wxml ...

2018-06-07 21:21:37 1133 1

原创 【微信小程序】如何阻止事件冒泡到父级的navigator url跳转

最近在做一个爬虫订阅项目时遇到一个问题: 当我点击switch按钮改变订阅状态时如何不触发父级的navigator的url跳转 下图是爬虫项目部分截图 经过尝试传统的阻止事件冒泡未成功后终于找到了catchtap这个方法 请看下图演示(因不方便所以随便打开一个小程序项目测试) 可...

2018-06-07 20:53:13 3936 0

原创 【HTML】Web Component

  近年来,web 开发者们通过插件或者模块的形式在网上分享自己的代码,便于其他开发者们复用这些优秀的代码。同样的故事不断发生,人们不断的复用 JavaScript 文件,然后是 CSS 文件,当然还有 HTML 片段。但是你又必须祈祷这些引入的代码不会摧毁你的网站或者web app(有个根本问题...

2018-06-03 17:20:14 1630 0

原创 【VueJS】一个vue文件中如何并列两个div

问题来源 解决方案 使用一个div包裹这些div

2018-05-28 23:31:37 8850 0

原创 【PhpStorm】xdebug打断点测试 踩坑记

首先通过 &amp;lt;?php echo phpinfo(); ?&amp;gt; 来查看当前xampp中是否开启了xdebug Ctrl + F 若未查找到 xdebug,则说明未开启;打开 xampp\php\ext 查看是否有 php_xdebug.dll ,若有的话就...

2018-05-28 14:03:48 3521 1

转载 【Express】为什么你应该抛弃Express的视图渲染引擎

转载自:为什么你应该抛弃Express的视图渲染引擎 Nodejs Express框架的一个被人们广为使用的特性是它的渲染引擎。Express视图渲染引擎允许Controller提供一个视图名称和视图模型对象给Express,然后返回由HTTP响应流输出的一些字节。基于为eBay的Nodejs技...

2018-05-27 19:24:53 1548 0

原创 【HTML】text/html与text/plain有什么区别

问题来源 当我这里设置为 text/plain 时会直接将html代码输出并不解析 解决思路 response.setHeader()请求头中 text/html是以html的形式输出,比如就会在页面上显示一个文本框 text/plain形式就会在页面上原样显示这段代码 ...

2018-05-26 23:42:31 3188 0

原创 【NodeJS】爬虫之使用 eventproxy 控制并发

源代码: var eventproxy = require('eventproxy'); var superagent = require('superagent'); var cheerio = require('cheerio'...

2018-05-26 21:27:14 304 0

原创 【NodeJS】http.createServer与http.Server对比

声明:两者实现的效果是一样的 http.Server var http = require('http'); var server = new http.Server(); server.on('request', (req, res)=&...

2018-05-26 20:22:19 6525 0

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