摘要:
前言 相信有很多同学和我一样,第一次碰到 LRU(Least Recently Used) 的这个解释「最近最少使用」都不知道是什么意思,用汤家凤老师的话来说: 我真的感到匪夷所思啊! 最近是表示时间,最少是表示频度,拆开来都知道,但是合在一起就不知道是什么意思了。经过一番搜索后,我发现这可能是国内 阅读全文
摘要:
简介 前两日我偶然间在 GitHub 上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简单看了一下,这个项目是将一个 Lisp 表达式转化为 C 的表达式的编译器,中间涉及词法分析、语法分析 阅读全文
摘要:
下载 Ubuntu 和 Virtual Box 链接: ubuntu:https://ubuntu.com/download/desktop virtual box:https://www.virtualbox.org/wiki/Downloads 安装 Virtual Box 所有的地方都是默认安 阅读全文
摘要:
很多时候在 python 中请求 API 我都是一会儿用 response.json,一会儿用 json.loads,但是这两个函数的区别我貌似一直没太搞明白,所以趁着这次就把他们解决掉。 问题分析 resonse.json 此网站对这个函数的解释如下(经过谷歌翻译): **response.jso 阅读全文
摘要:
直接安装 使用 npm 直接安装模块,默认是生产环境,包名会注册到 package.json 里的 dependencies 中,且会把包安装到项目 node_modules 文件夹里面: npm install module_name 其中 install 可以简写为 i npm i module 阅读全文
摘要:
Object(对象) for in 遍历出对象可枚举的"属性",包含继承的可枚举属性 var person = { name: '小明', birth: 1990, height: 1.70 }; for(var x in person){ console.log(x); console.log(p 阅读全文
摘要:
问题 利用 map() 把字符串数组映射成整数数组 ["1", "2", "3"].map(parseInt); 是不是觉得结果应该返回 [1, 2, 3]? 但是事与愿违,结果是: Output: [1, NaN, NaN] 为什么呢? 回顾 parseInt parseInt() 函数解析一个字 阅读全文
摘要:
字符串 substring 形式:substring(index1, index2) 不会改变原始字符串 将小的参数作为开始位置 start,大的作为结束位置 stop 包含 start,但不包含 stop 如果只给一个参数表示从它 start 截取到字符串结尾 如果某个参数为负,会先将负数变为 0 阅读全文
摘要:
刚学正则表达式的时候,惰性匹配还挺难理解的。所以我看了挺多博客,终于弄懂了,现在用表格整理一下: | 符号 | 作用 | | :--: | : : | | . | 匹配任意除换行符 \n 外的字符 | | * | 匹配前面的字符 0 次或多次 | | + | 匹配前面的字符 1 次或多次 | | ? 阅读全文
摘要:
背景 在平时的开发过程中,我们或多或少都会遇到如下两种情况: 情景一 当我们希望一个输入框的内容改变时就发起一次请求去请求新的数据,常见的例子就是搜索建议。但是如果我们输入的时候手抖了,多输了一个字符,然后快速把它删了,这时候浏览器实际会多发出两次请求: 一次是输多的那一下; 一次是删除的那一下。 阅读全文
摘要:
目前的开源协议种类非常多,也很难记住每种的详细特点和区别,但我们大多数时候只需要使用主流协议即可,主流的开源协议主要为以下六种: GPL、BSD、MIT、Mozilla、Apache 和 LGPL 但是就算是这六种协议的特点和区别也很难总结,所以这里我借用一张阮一峰老师的图来分析这六种协议的简单区别 阅读全文