技术类
文章平均质量分 92
DavidFFFFFF
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于浏览器的执行机制(event loop)
浏览器是多线程的,它们在内核制控下相互配合以保持同步。一个浏览器至少实现三个常驻线程:JavaScript引擎线程,GUI渲染线程,浏览器事件触发线程。我们在学习浏览器的执行机制前,首先要了解浏览器的线程和线程之间的关系;1.浏览器的线程有哪些?GUI 渲染线程负责渲染浏览器界面,解析 HTML,CSS,构建 DOM 树和 RenderObject 树,布局和绘制等;当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行;注意:GUI 渲染线程与 JS .原创 2020-08-22 18:54:11 · 1051 阅读 · 0 评论 -
当class遇上console.log的坑,该怎么办?
最近为了面试,疯狂刷题,当我遇到这个题;大脑已经崩塌,我开始钻牛角尖了,怎么办??? 干了这杯苦酒,下辈子不当程序员!!!先上题目: const chain=new Chain(); chain.eat().sleep(5).eat().sleep(6).eat().work() 输出结果是: console.log(eat->sleep(5)->eat->sleep(6)->eat-work);其实吧,题目很简单,只要class的方法返回自身就行;先上我的代码c.原创 2020-08-09 23:18:13 · 629 阅读 · 1 评论 -
npm install原理分析
npm原理分析,主要看Npm版本之间的提升;npm 3.0 扁平化 :安装模块时,不管其是直接依赖还是子依赖的依赖,优先将其安装在 node_modules 根目录。npm 5.0 新增了 package-lock.json 文件,锁定依赖结构看这张图就能大体了解npm install的原理1.检查 .npmrc 文件:优先级为:项目级的 .npmrc 文件 > 用户级的 .npmrc 文件> 全局级的 .npmrc 文件 > npm 内置的 .npmrc 文件2.检查项目.原创 2020-08-08 13:30:20 · 766 阅读 · 0 评论 -
JavaScript 内存机制
看了几篇关于js内存机制的文章,感觉大家讲内容的都是大差不差,下面是我整理了多篇文章后得出的最全最核心内容。1.简介学过c++的同学都知道,内存是要主动申请和释放的。每种编程语言都有它的内存管理机制,比如简单的C有低级的内存管理基元,像malloc(),free()。同样我们在学习JavaScript的时候,很有必要了解JavaScript的内存管理机制。JavaScript的内存管理机制是:内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。对于前端开发来说,.原创 2020-08-03 18:22:03 · 266 阅读 · 0 评论 -
git常用命令二 git rebase
rebase 的意义,就是对一个分支做「变基」操作。常用的场景:Rebase 场景一:合并多个commit提交;1.我们来合并最近的 4 次提交纪录,执行:git rebase -i HEAD~4这时候,会自动进入 vi 编辑模式:pick:保留该commit(缩写:p)reword:保留该commit,但我需要修改该commit的注释(缩写:r)edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)squash:将该commit和前一个commit合.原创 2020-07-21 15:56:02 · 1084 阅读 · 0 评论 -
git常用命令一 git reset
常用场景:当你在工作的时候发现之前commit的提交的代码有问题,你想撤回在本地commit提交,最简单的方法就是git reset下面介绍下git reset的原理和常用的option参数;git reset就是可以让HEAD这个指针指向其他的节点。比如我们有一次commit不是不是很满意,需要回到上一次的Commit里面。那么这个时候就需要通过reset,把HEAD指针指向上一次的commit的点。在介绍常用参数之前,先复习下之前关于本地git add commit 的流程,本地git区域总.原创 2020-07-21 11:54:59 · 376 阅读 · 0 评论 -
CSRF跨域攻击原理浅谈
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。看了好多文章对csrf原理的解释,一直不明白不明白一个B网站的img标签的请求是如何挟持到A网站的cookies进行模拟跨域请求的。直到看到一位大佬写的一篇文章,我才大体猜到了其中的原理。不多废话,直接上核心原理:CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某.原创 2020-07-18 20:02:42 · 1295 阅读 · 0 评论 -
Vue源码解析(1)
Dep和watcher的关系什么关系?多对多如何建立的?data中徐行的get()中建立关系,dep.subs watcher.depIds什么时候建立?初始化,解析模板中的表达式时 ,new Watcher对象时建立;Array.apply(null, { length: 20 }).map(function () { return createElement('p', 'hi')})apply函数不是接受数组的吗?为什么可以接受对象;带着好奇我查了下文档,原来从e原创 2020-07-02 17:21:44 · 477 阅读 · 0 评论 -
vscode setting设置 自动保存时整理代码
{ // vscode默认启用了根据文件类型自动设置tabsize的选项 "editor.detectIndentation": false, // 重新设定tabsize "editor.tabSize": 2, // #每次保存的时候自动格式化 "editor.formatOnSave": true, // #每次保存的时候将代码按eslint格式进行修复 "...原创 2020-01-14 13:31:59 · 1581 阅读 · 0 评论 -
.gitignore不生效问题 转载
原文链接问题:在使用git进行版本控制的过程中发现,将想被忽略的文件(文件夹)配置到.gitignore文件中后,实际修改了想被忽略的文件,调用git status查看时,仍然会提示提交这些文件。也就是说实际并没有被忽略原因:原因是git ignore只会对不在git仓库中的文件进行忽略,如果这些文件已经在git仓库中,则不会忽略。所以如果需要忽略的文件已经提交到本地仓库,则需要从本地仓库...转载 2019-11-13 17:04:52 · 254 阅读 · 0 评论 -
发现 prototype的强大 + 文件上传插件WebUploader
添加文件上传状态查看功能: 这次使用的WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。引入资源&...转载 2018-01-31 15:55:53 · 443 阅读 · 0 评论 -
git仓库切换连接方式 【https---ssh]
原文链接:https://blog.youkuaiyun.com/fastjack/article/details/79757520在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地。这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,...原创 2019-09-19 11:00:46 · 3562 阅读 · 0 评论 -
关于canvas.toDataURL 在iOS运行失败的问题
关于canvas.toDataURL 在iOS运行失败的问题最近做了一个海报生成的组件,需要drawimage到画布上,image来源包括本地和异地的图片src;首先讲一点,异地图片如果不设置允许跨域访问,canvas.toDataURL是无法画image的,报画布污染的错;首先放一张我要生成的图;上面加载了两张本地图片,两张异地图片,写了一些文字;在windows谷歌浏览器跑是好的,是吧...原创 2019-07-09 18:25:49 · 10987 阅读 · 7 评论 -
关于git 凭证存储 credential helper配置 ,解决(git pull,push,fetch)remote not found的问题
昨天不知怎么搞得,项目本地git bash一直连不上远程origin,一直在报错(图1),在网上看了一篇博客,要重新配置git 凭证存储,这里涉及到的知识就是git通过http或https的方式连接远程仓库时用户名和密码的记忆存储问题;凭证存储在使用Git进行开发的时候,我们可以使用ssh方式或者http url方式来进行源码的clone/push/pull,如果你使用的是 SSH 方式连接...原创 2019-03-27 16:49:56 · 47494 阅读 · 0 评论 -
websocket聊天室情景处理———断线与退出
最近自己在做一个包含聊天功能的项目,其中用到的Vue+webscocket,遇到了好多问题,包括自己遇到的一些需求。需求:断线自动连接判断主动退出和被动掉线聊天框消息不因添加而向下滚动解决方法:断线在监听里面,然后关闭当前webSocket进程后再去请求创建新的ws进程; this.socket.onclose = function(e){ let logout ...原创 2018-12-28 15:57:11 · 2445 阅读 · 0 评论 -
Fetch API
Fetch API浏览器实现的Fetch API 提供了一个获取资源的接口(包括跨域)◉ 引言它是什么?为什么要使用它?它能解决什么问题?它在解决问题上有什么优势?它有哪些劣势?怎么使用它?最佳实践和封装1. 它是什么?浏览器窗口对象 window 下挂载的 fetch() 方法用于发起获取资源的请求。它返回一个 Promise,这个 Promise 会在请求响应...原创 2018-11-02 13:42:29 · 554 阅读 · 0 评论 -
微信支付遇到的缺少参数问题
最近工作还是比较忙的,好就想继续更新下博客。现在是2018-11-1 20:40,刚忙完项目,趁着记忆还清晰就把现在的项目遇到的问题记录一下;微信支付 提示JSAPI缺少参数:调用的方法代码是: wx.chooseWXPay({ appId:data.pay_parameters.appId, timestamp: data.pay_...原创 2018-11-01 20:51:26 · 10977 阅读 · 0 评论 -
微信小程序 全面屏适配
最近在做小程序,说实话小程序的坑我才刚踩。今天做了一个关于小程序自定义navigator的功能,不废话,先上图通过配置app.json的window属性的navigationStyle(导航栏样式,仅支持以下值: default 默认样式custom 自定义导航栏,只保留右上角胶囊按钮),改为custom模式,来自定义navigator。注释: 注:navigation...原创 2018-09-10 16:05:23 · 18607 阅读 · 0 评论 -
关于 JS 的脚本执行及 SetTimeOut延迟时间为0的详解
关于 JS 的脚本执行及 SetTimeOut延迟时间为0的详解 大海和星辰之间,是我们征途的方向;js是一种描述型的语言,由浏览器动态的解析与执行;严格来讲,js是单线程执行的,也就是说js脚本运行顺序是一个接一个执行;由 John Resig 的 How JavaScript Timers Work 可以知道,现有的 JavaScript 引擎是单线程处理任务的。它把任务放到队列...原创 2018-03-13 09:22:18 · 1476 阅读 · 0 评论 -
Vue vs React: Javascript 框架之战 #转载
本文详细的介绍了vue.js和react.js的能力;vue.js更灵活,能够更好的结合当前的项目,进行升级优化;而react.js是由facebook团队创建开发及维护,跟vue有很多契合的地方,比如都注重显示层,都使用Virtual DOM,而react.js的亮点就是模板 vs JSX、状态管理 vs 对象属性、React Native能在手机上创建原生应用;Vue vs Rea转载 2017-06-29 16:19:43 · 904 阅读 · 0 评论 -
屏蔽双击选中中文的方法
屏蔽双击选中中文的方法FF浏览器的样式为-moz-user-select:none;其余浏览器的样式为onselectstart=”return false”; <div onselectstart="return false" style="-moz-user-select:none;"></div>IE浏览器支持亦可支持css3的写法:<style type="text/css">.text{原创 2016-11-10 21:18:06 · 622 阅读 · 0 评论 -
JQuery获取append后的动态元素:live()和on()
JQuery通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)$('#box').append("<li class=\"list-group-item\">"+"<strong>评论内容: </strong>"+text+"</li>");//通过append向父级元素#box中插入一个li元素错误方法:$('#box li').click(f转载 2016-10-20 17:20:30 · 680 阅读 · 0 评论 -
scp的用法
从服务器端下载到本地:scp -r ***@10.10.10.10:/var/html/local/***/ .(最后一个.是指本地,坑啊)原创 2017-01-06 15:30:11 · 876 阅读 · 0 评论 -
js 传 索引(index)
索引只需在遍历中加item[i].index = i;使用的话是this.index;代码如下:代码块代码块语法遵循标准markdown代码,例如:for(var k=0;k<label_item_label.length;k++){ label_item_label[k].index =k; label_item_label[k].onclick=f原创 2017-01-22 16:36:51 · 1060 阅读 · 0 评论 -
菜鸟教你如何用php写后台API
1. 首先,要设置一个入口文件入口文件的话会引入到固定的api文件(如下):<?phpdefine("APPAPI_ALLOW_REQUEST_LOGIN", 'Y'); //是否允许传用户名密码参数的形式登录。如为Y则参数用户名密码参数和basic方式都可以,如为N就只能basic方式。//define("SITE_TEMPLATE_PATH", '/local/templates/mobile原创 2017-05-17 17:54:35 · 22317 阅读 · 2 评论 -
如何使用PHP调用API接口( 如何POST一个JSON格式的数据给Restful服务)
用curl可执行如下命令:curl -l -H “Content-type: application/json” -X POST -d ‘{“phone”:”13521389587”,”password”:”test”}’ http://domain/apis/users.json用jQuery:$.ajax({ url:url, type:"POST", data:data, co转载 2017-06-01 09:29:32 · 15493 阅读 · 0 评论 -
字符转义之PHP与JS
PHP字符转义的语法:urlencode string urlencode ( string $str )返回一个字符串,其中除- _之外所有非字母数字字符。已经被替换为%(%)符号,后面是两个十六进制数字和空格编码为+(+)符号。它的编码方式与WWW表单上发布的数据的编码方式相同,这与应用程序/ x - WWW - form - urlen编码媒体类型相同。这不同于»RFC 3986编码(参见原创 2017-06-16 13:52:09 · 1082 阅读 · 0 评论 -
谈PHP单引号和双引号区别(引用自:llsun)
谈PHP单引号和双引号区别(引用自:llsun) 谈PHP单引号和双引号区别关于单引号和双引号的区别和效率问题。很多朋友了解的不是很清楚,一直以为PHP中单引号和双引号是互通的,直到有一天,发现单引号和双引号出现错误的时候才去学习研究。所以今天再拿出来谈谈他们的区别,希望大家不要再为此困惑。 ” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。 ‘ ‘ 单引号里面的不进行转载 2017-01-18 13:22:03 · 511 阅读 · 0 评论 -
转 push本地文件到GitHub出错
刚创建的github版本库,在push代码时出错:$ git push -u origin masterTo git@github.com:******/Demo.git ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to 'git@github.com:*****转载 2016-10-18 20:03:39 · 417 阅读 · 0 评论 -
如何通过apache2配置多站点
设置多站点详细的步骤和设置可以参考官方文档。假设主站的域名为:www.bitrix.zjf(原生bitrix代码),第二个站点域名取为:site2.bitrix.zjf(定制后的bitrix代码)准备首先需要把需要共享的核心放到共享目录(mv),比如:/var/www/shared/,包括bitrix, upload文件夹mv /var/www/html/bitrix /var/www/share原创 2017-07-14 17:34:46 · 1530 阅读 · 0 评论 -
php+js 分享博客的功能
一开始,我是这么做的,把要分享的博客内容放到a标签的value中,然后通过点击事件传值this.getAttribute(‘value),传给transMit 函数;<a href="javascript:void(0);" id="blog-share-add-<?=$arResult["Post"]["ID"]?>" value="<?=$arResult["Post"]["textFormat原创 2017-06-15 15:17:16 · 840 阅读 · 0 评论 -
Vue.js(version 2)的时代已到来,前端攻城狮你准备好了吗?-------- 一、
轻量化的前端UI框架—–Vue.js本文拿vue对比其他前端框架,介绍它的强大之处,我会列出相应的实例供大家参考,具体功能可以参考官方API:Virtual DOM(虚拟DOM)组件化应用 Vue 专注于创造前端的富应用。不同于早期的JavaScript框架“功能齐全”,Vue只有框架的骨架,其他的功能如路由、状态管理等是框架分离的组件。虚拟DOM所谓的Virtual DOM基本上说就是它名原创 2017-07-06 16:06:39 · 677 阅读 · 0 评论 -
关于vue+router+webpack项目开发前期报错:找不到 module vue-router
这是报错Can't resolve 'vue-router(找不到路由模块)main.jsimport Vue from 'vue'import VueRouter from 'vue-router';import App from './App.vue';Vue.use(VueRouter)import routes from './routers.js'//创建router实例cons原创 2017-06-28 11:21:35 · 4749 阅读 · 0 评论 -
VUE项目实战
Vue实战—–用户登录及注册1.用户登录 用户登录页面主要是获取当前页面用户输入的帐号跟密码,验证是否为空并通过VUE axios(http请求插件),vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法。配置文件选项,这里的config是对一些基本信息的配置,比如请求头,baseURL,请求方式等等,当然这里提原创 2017-07-29 23:45:54 · 2454 阅读 · 0 评论 -
Vue.js v-bind遇到的数据渲染问题
作者:江湖z 链接:http://www.jianshu.com/p/98dfa4c6389c 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一. v-bind介绍数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性 ,我们可以用 v-bind 处理它们:只需要计算出表达式最终的字符串。不过,字符串拼接麻烦又易错。因此,在 v-b转载 2017-08-03 13:44:54 · 2397 阅读 · 0 评论 -
HTML5新特性:FileReader 和 FormData
最近用vue做的项目中有用到一个关于图片上传,实时预览;其中我用到了两个HTML5的新特性:FileReader和FormData;首先介绍下这两个方法: HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取文件结果的各类事件模型,想查看详细描述,请阅读FileReader。1.检测浏览器对File原创 2017-09-04 13:34:19 · 13595 阅读 · 0 评论 -
“评论实名制”,10月1日即将实施
网信办8月25日公布《互联网跟帖评论服务管理规定》,自2017年10月1日起施行。《规定》共计十三条。第一条至第三条,对目的依据、适用范围、监管主体作出规定。第四条,对跟帖评论新产品新应用新功能进行安全评估作出规定。第五条,对跟帖评论服务提供者主体责任作出规定。第六条,对跟帖评论服务提供者及其用户自律作出规定。第七条,对跟帖评论服务提供者及其从业人员不得干预舆论作出规定。第八条和第九条,对跟帖评论服转载 2017-09-06 15:37:46 · 591 阅读 · 0 评论
分享