关于前端的“新东西”们
前边一段时间微博上前端界的论战可谓沸沸扬扬,主要争论的点在于要不要学习并使用层出不穷的新工具、新框架。作为一个(勉强还算)“资深”的前端工作者,这个问题也困扰了我很久,一方面,对于前端已有的知识体系的了解与掌握让自己一度觉得大道在手,天下需求再不出我掌握;另外一方面又隐隐觉得触摸到了瓶颈,一段时间内进步的缓慢让自己感到焦虑。对于新的工具、框架,我既会觉得他们解决的不过是一直以来已有的工具、方法论…
前边一段时间微博上前端界的论战可谓沸沸扬扬,主要争论的点在于要不要学习并使用层出不穷的新工具、新框架。作为一个(勉强还算)“资深”的前端工作者,这个问题也困扰了我很久,一方面,对于前端已有的知识体系的了解与掌握让自己一度觉得大道在手,天下需求再不出我掌握;另外一方面又隐隐觉得触摸到了瓶颈,一段时间内进步的缓慢让自己感到焦虑。对于新的工具、框架,我既会觉得他们解决的不过是一直以来已有的工具、方法论…
做了 nighca.me 的 https 支持。
github pages 对 https 的支持依然不给力,帮助文档的说法是不支持,事实上有支持,但是不支持自定义域名。
所以为了迁移到 https,把站点从 github pages 挪到了自己在 digitalocean 的机器上,国内访问前者本来就不快,所以算是破罐子破摔,速度基本没啥影响。顺便把域名从 dnspod 转移到了 cloudx…
ES6 的 class 支持 static property 吗?
static property, 即类(class,在 JS 中即构造函数 constructor)上的静态属性,代码示例如下:
class MyClass {
static myStaticProp = 42;
constructor() {
console.log(MyClass.myStaticPr…
事件驱动(Event-driven)模型是 Javascript 编程中绕不过去的概念,事件发射器 (Event Emitter) 则是事件驱动模型的核心。Event Emitter 与 class(及其 inherit)很相似的是,几乎每一个稍大的前端项目都会把它实现一遍。大多数情况下它被抽象成一个 Emitter 类,通过实例方法提供事件绑定(on/bind)、事件触发(fire/trigg…
作为一个前端,不可避免同时与三个语言打交道:JS、CSS 和 HTML。而 HTML,超文本标记语言,是其中可编程性最弱的,一直以来得到的关注都较少。加上浏览器对 HTML 逆天的容错支持,即使是错误百出的文档也可以在浏览器里边表现得中规中矩。这样的背景下,绝大部分被产出的 HTML 代码都存在着各种各样的小问题,比如缺少必要的元信息(meta),比如混乱的 class、id 或属性的取值格式;…
占坑,再填。
<?php
function getArray() {
return array(1, 2, 3);
}
// 这样是ok的
$tmp = getArray();
$secondElement = $tmp[1];
// 这样会报错(PHP <5.4)
// PHP Parse error: syntax error, unexpected '[' …
本来页面中定位是一件很单纯的事,直接调用HTML5接口就是。
navigator.geolocation.getCurrentPosition(
function (position) {
// ...
},
onerror,
options
);
但是这可能是浏览器的原生接口中最脆弱的一个,会因为各种原因失败,会提供不了足够的信息。然而对于移动…
differ-cli 是基于nodejs的文件diff工具,相比系统/git自带diff工具,优化了排版,并进行更智能的多行逐词比较。
要替换git自带的diff,在每次git diff
时自动使用differ-cli,很方便:
安装differ-cli
npm install -g differ-cli
包装适用于git调用的可执行文件differ-cli-wrapper
vi ~/bin…
最近想做前端js代码的增量下载,需要用到这个算法,看了一遍,为了加深理解,顺便翻译一下。
论文原文件下载: 链接(后边有的图我就忽略了,可以去pdf里边看)
以下为译文:
对于两个序列A、B,寻找其最长公共子序列的问题与寻找其最短编辑过程(从A到B)的问题一直被认为是一对对偶问题。本文证明了它们等价于在一个编辑图中找到最短/最长路径。基于这个观点,我们找到了一个简单的O(ND)时间与空间复…