上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要: 之前就想学着看源码了,无奈总是半途而废,这次希望能学完,让自己沉淀下。 从入口文件index.php的第一行开始把, 第一行代码表示记录项目开始加载的时间,然后加载composer自动加载文件。 这里获取app变量,这里是整个项目的应用实例,后续还会有很多地方用到他,这里先跳到app.php文件去看 阅读全文
posted @ 2019-05-28 10:50 沉默的土豆 阅读(1815) 评论(0) 推荐(1) 编辑
摘要: 一.什么样的数据适合缓存 二.缓存策略一些问题应对总结 (1).缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻 阅读全文
posted @ 2019-05-17 09:55 沉默的土豆 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 按官方文档把格式属性定义为'U',无法让框架自动写入时间戳,看来只能通过其他方法了。 定义一个模型基类,然后监听事件即可解决: 阅读全文
posted @ 2018-12-13 23:45 沉默的土豆 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 1.CommonJS 根据CommonJS规范,一个单独的文件就是一个模块。加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象。所以,定义一个模块就是写一个新的js文件,但是最后要将文件的内容exports出来。接下来我们看一下如何定义模块和加载模块。 如 阅读全文
posted @ 2018-12-01 13:24 沉默的土豆 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 2.4, 'b'=>3 ]; print_r($arr); /** * ( [a] => 2.4 [b] => 3 ) */ var_dump(json_encode($arr));//{"a":2.3999999999999999,"b":3} /** * 明明是2.4 在转换json的时候 变成了2.39999... 阅读全文
posted @ 2018-11-22 11:55 沉默的土豆 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: 1 //promise基本用法 2 // var p = new Promise(function(resolve,reject){ 3 4 // }).then(function(data){ 5 6 // }).then(function(data){ 7 8 // }).then..... 9 10 /* 11 Promise接受一个回调函数... 阅读全文
posted @ 2018-11-12 15:24 沉默的土豆 阅读(180) 评论(0) 推荐(0) 编辑
摘要: //JS 会创建一个类似于 while (true) 的循环,每执行一次循环体的过程称之为 Tick。 // 每次 Tick 的过程就是查看是否有待处理事件,如果有则取出相关事件及回调函数放入执行栈中由主线程执行。 // 待处理的事件会存储在一个任务队列中,也就是每次 Tick 会查看任务队列中是否有需要执行的任务。 //比如浏览器发送一个ajax请求后浏览器就会监听来自服务端的响应,当获取到... 阅读全文
posted @ 2018-10-30 23:21 沉默的土豆 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 词法作用域,也叫静态作用域,它的作用域是指在词法分析阶段就确定了,不会改变。动态作用域是在运行时根据程序的流程信息来动态确定的,而不是在写代码时进行静态确定的。 js是本身是词法作用域.举个例子: 由于js是词法作用域,在词法分析阶段就确定了foo函数获取的是全局作用域里的var a=2;所以无论b 阅读全文
posted @ 2018-10-28 11:19 沉默的土豆 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 这里会输出2 熟悉闭包的都知道 这边是为了自己再度认真总结下: 一般来说函数执行完以后其内容(作用域的内容)会被垃圾回收,但是闭包可以阻止其被回收,导致上面的c变量依旧能引用foo函数的作用域. 一个小例子: 很多人会认为会分别输出1-5的数字,然而事实是会输出5个6.6是哪来的,最后一次循环之前累 阅读全文
posted @ 2018-10-27 21:06 沉默的土豆 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 从上面例子初步理解了js变量提升后再看下面个例子: 按常规逻辑大多人肯定认为会输出2 结果是undefined 为什么呢 因为只有声明本身才会被提升 赋值是不会提升的 因为赋值不是编译阶段的事情,所以上面代码等同于: 函数提升: 函数提升优先级更高: 阅读全文
posted @ 2018-10-27 20:23 沉默的土豆 阅读(93) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 14 下一页