摘要: 为什么需要前端工程 因为大规模工业化生产的需要 前端工程的定义 前端工程是一套关于如何保障开发质量与开发效率的系统方法论及其配套的技术方案体系 质量:持续的满足一系列指标,能够确保整个生命周期内质量是可控的 质量:持续的满足一系列指标,能够确保整个生命周期内质量是可控的 效率:效率由产出与成本定义, 阅读全文
posted @ 2018-09-04 21:23 kidney 阅读(1291) 评论(1) 推荐(1) 编辑
摘要: 先来几道面试题 1、a.meituan.com 和 b.meituan.com 这两个域能够共享同一个 localStorage 吗? 2、在 webview 中打开一个页面:i.meituan.com/home.html,点击一个按钮,调用 js 桥打开一个新的 webview:i.meituan 阅读全文
posted @ 2018-05-31 13:35 kidney 阅读(16014) 评论(6) 推荐(4) 编辑
摘要: 去年写过一篇《转行一周年》,转眼一年又过去了,三月无暇望京东,雪后清明西二旗,很适合作总结。 目前在哪家公司? 美团点评酒旅事业群,一月初面试,二月底入职。 为什么要离开之前的公司? 除了那些产品就是技术本身的公司,绝大多数公司都不是技术驱动的,无论是电商、O2O 巨头,还是互联网金融群豪。所谓技术 阅读全文
posted @ 2018-04-05 13:33 kidney 阅读(1328) 评论(5) 推荐(3) 编辑
摘要: Git 如何保存文件 其它版本管理系统通常会保存所有文件及其历次提交的差异(diff / revision),通过 merge 原始文件与各阶段的差异就能获取任何版本的状态 而 Git 保存的是每一次提交时所有文件的快照(snapshot),对于发生改变(modified)的文件会生成新的快照,而对 阅读全文
posted @ 2018-03-03 23:18 kidney 阅读(1246) 评论(1) 推荐(3) 编辑
摘要: 源码阅读:究竟怎样才算是读懂了? 市面上有很多源码分析的文章,就我看到的而言,基本的套路就是梳理流程,讲一讲每个模块的功能,整篇文章有一大半都是直接挂源码。我不禁怀疑,作者真的看懂了吗?为什么我看完后还是什么都不懂呢? 事实上一个经过无数次版本迭代的框架源码并不适合初学者直接阅读,因为里面有太多细节 阅读全文
posted @ 2017-12-10 21:25 kidney 阅读(16848) 评论(7) 推荐(13) 编辑
摘要: 本文翻译自 Daniel van Flymen 的文章 Learn Blockchains by Building One 略有删改。原文地址:https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 相信你和我一样对 阅读全文
posted @ 2017-10-04 20:50 kidney 阅读(13801) 评论(2) 推荐(4) 编辑
摘要: 计算属性是一个很邪门的东西,只要在它的函数里引用了 data 中的某个属性,当这个属性发生变化时,函数仿佛可以嗅探到这个变化,并自动重新执行。 上述代码会源源不断的打印出 b 的值。如果希望 a 依赖 data 中的 x 而变化,只需保证 a 函数中有 this.x 即可。如果函数中没有出现 dat 阅读全文
posted @ 2017-08-17 22:45 kidney 阅读(14702) 评论(0) 推荐(4) 编辑
摘要: What? WebAssembly 是一种二进制格式的类汇编代码,可以被浏览器加载和并进一步编译成可执行的机器码,从而在客户端运行。它还可以作为高级语言的编译目标,理论上任何语言都可以编译为 WebAssembly。 我们知道汇编语言就是机器码的一种直译版本,它是一套指令的集合,必须与特定机器匹配。 阅读全文
posted @ 2017-07-05 11:19 kidney 阅读(1714) 评论(3) 推荐(1) 编辑
摘要: What? GraphQL 是一种类似于 SQL 的结构化查询语言,由 facebook 于2012年创造,于2015年开源。SQL 在服务端定义,GraphQL 在客户端定义,也就是说 GraphQL 将数据的操作控制权从后端转移到了前端。 facebook 创造 GraphQL 的目的是取代以前 阅读全文
posted @ 2017-07-03 19:04 kidney 阅读(1836) 评论(0) 推荐(1) 编辑
摘要: 一、引言 1px 究竟是多大?这应该是一道很不错的面试题。且看: 1、iphone6s 的分辨率是1920px * 1080px 2、iphone6s 全屏截图文件的尺寸是1242px * 2208px 3、iphone6s 的宽度是414px 4、iphone6s 不加 viewport 的情况下 阅读全文
posted @ 2017-04-11 10:18 kidney 阅读(15608) 评论(16) 推荐(20) 编辑
摘要: 一、为什么需要模块化? 代码量骤增 => 分治管理的刚性需求 二、模块化方案需解决什么问题? 模块化要实现两个东西:模块加载与模块封装。面临的具体问题包括: 1、如何定义模块以确保模块的作用域独立,避免命名冲突? 2、如何管理模块间的依赖关系,避免重复加载与循环引用? 3、模块化的代码如何部署,以降 阅读全文
posted @ 2017-04-06 14:08 kidney 阅读(3089) 评论(1) 推荐(1) 编辑
摘要: 你的专业背景和学历? 国内某名校,金融专业。2016年本科毕业。 什么时候开始学的前端? 2015年年底在一家外包公司实习产品经理的时候开始接触前端,2016年寒假结束后正式从事前端。 为什么要转行? 择业的问题困扰了我相当长一段时间,期间我考过精算、实习过投资助理、面过某桐资本和某东金融,也投过不 阅读全文
posted @ 2017-03-26 22:48 kidney 阅读(4098) 评论(34) 推荐(13) 编辑
摘要: 市面上大多数关于Vue.js自定义指令的文章都在讲语法,很少讲实际的应用场景和用例,以致于即便明白了怎么写,也不知道怎么用。本文不讲语法,就讲自定义指令的用法。 自定义指令是用来操作DOM的。尽管Vue推崇数据驱动视图的理念,但并非所有情况都适合数据驱动。自定义指令就是一种有效的补充和扩展,不仅可用 阅读全文
posted @ 2017-01-18 12:17 kidney 阅读(29707) 评论(7) 推荐(10) 编辑
摘要: 软件开发领域所有的工程问题,归根结底衍生自一个问题:代码量大了怎么办? 对于 CSS 而言,因代码量增大导致的核心问题是命名冲突。 解决命名冲突的方法论是模块化,围绕此方法论,演化出种种模块化方案。 一、命名的模块化 基本思路是确保全局空间下一级域名不冲突,那么子域名就被限定在了独立的局部作用域中, 阅读全文
posted @ 2016-12-19 12:40 kidney 阅读(5975) 评论(4) 推荐(5) 编辑
摘要: Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。本文仅探究双向绑定是怎样实现的。先讲涉及的知识点,再用简化得不能再简化的代码实现一个简单的 hello world 示例。 参考文章:https://segmentfault.com/a/1190000006599500 一、 阅读全文
posted @ 2016-11-20 16:09 kidney 阅读(112852) 评论(56) 推荐(33) 编辑
摘要: 从静态走向动态 1994年可以看做前端历史的起点,这一年10月13日网景推出了第一版Navigator;这一年,Tim Berners-Lee创建了W3C;这一年,Tim的基友发布了CSS。还是这一年,为动态web网页设计的服务端脚本PHP以及笔者本人诞生。 万维网(WWW)是欧洲核子研究组织的一帮 阅读全文
posted @ 2016-11-18 23:07 kidney 阅读(20000) 评论(13) 推荐(10) 编辑
摘要: 一、正统的类与继承 类是对象的定义,而对象是类的实例(Instance)。类不可直接使用,要想使用就必须在内存上生成该类的副本,这个副本就是对象。 以Java为例: public class Group { } // 创建一个类 Group a = new Group(); // 实例化一个对象 通 阅读全文
posted @ 2016-10-16 16:05 kidney 阅读(1629) 评论(6) 推荐(2) 编辑
摘要: jQuery中最常用方法的就是jQuery( ),也即$( )。 jQuery( )是一个函数调用,调用的结果是返回了一个jQuery实例对象。 编写组件通常的做法是将组件封装成一个对象,需要用的时候则通过new运算符来创建一个实例。但是jQuery( )无须我们用new手工实例化,它会自动返回一个 阅读全文
posted @ 2016-09-17 17:34 kidney 阅读(9968) 评论(0) 推荐(3) 编辑
摘要: 缘起 HTML(HyperText Markup Language超文本标记语言)是用于构建web页面的标记语言和通用标准。它并不是一项新的发明,因为超文本(具有超链接的文本)和标记语言(用于电子文档的定义和描述)在HTML问世以前都早已存在多年。作为一项划时代的创造,它再次印证了乔布斯的名言:创新 阅读全文
posted @ 2016-08-18 19:11 kidney 阅读(1891) 评论(0) 推荐(7) 编辑
摘要: 1、历史背景 Bootstrap是Twitter的工程师Mark Otto和Jacob Thornton开发的一套供内部使用的UI框架,于2011年开源。2012年发布的第二版中新增了12列栅格系统和响应式组件,2013年发布的第三版进一步改造为扁平化视觉风格和优先支持移动设备。把握潮流,与时俱进是 阅读全文
posted @ 2016-04-03 23:15 kidney 阅读(6683) 评论(2) 推荐(7) 编辑