头发天然卷的家伙都不是坏人!
《如何阅读计算机科学类的书》
概要
阅读计算机书的建议:
- 鉴别烂书。
- 检视阅读。快速浏览序言和目录,然后用检视阅读的方式整理出整本书的大纲。
- 带着问题去阅读。
- 经典要持续重读。
今天文章概览
详情如下:
标签:JavaScript
JavaScript 专题之函数柯里化
JavaScript 专题系列第十三篇,讲解函数柯里化以及如何实现一个 curry 函数 定义 维基百科中对柯里化 (Currying) 的定义为: In mathematics and computer science, currying is the technique o…
JS不靠谱系列之枚举出时间段和对应的分钟数
前言 今天遇到一个需求,是把选择时间段转为分钟数提交上去的; 所以想手动写个数组一一映射,提交的时候遍历下匹配的值提交. 比如 : 00:00 为 0分钟或者1440分钟; 00:10为30分钟; 具体看下面的 效果图 实现思路 一天的分数很容易换算出来: 24 * 60 = 1…
JavaScript 专题之如何判断两个对象相等
JavaScript 专题系列第十二篇,讲解如何判断两个参数是否相等 前言 虽然标题写的是如何判断两个对象相等,但本篇我们不仅仅判断两个对象相等,实际上,我们要做到的是如何判断两个参数相等,而这必然会涉及到多种类型的判断。 相等 什么是相等?在《JavaScript专题之去重》…
翻译 | 一行 JavaScript 代码的逆向工程
原文地址:Reverse Engineering One Line of JavaScript 原文作者:Alex Kras 译者:李波 校对者:冬青、小萝卜 几个月前,我看到一个邮件问:有没有人可以解析这一行 JavaScript 代码 <pre id=p><script>n…
JavaScript专题之jQuery通用遍历方法each的实现
JavaScript 专题系列第十一篇,讲解 jQuery 通用遍历方法 each 的实现 each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组。 语法为: jQuery.each(object, [callback])回调函数拥有两个参数…
标签:Vue
Vue 组件库实践和设计
现在前端的快速发展,已经让组件这个模式变的格外重要。对于市面上的组件库,虽然能满足大部分的项目,但是一些小型细节方面和使用方面,或者UI库存在的一些bug,会让人很头疼。 那我们应该如何面对解决这些问题。俗话说自己动手丰衣足食。有些组件不用刻意去造。应该考虑如何去打造一个快速,兼…
基于文本相似度算法,分析 Vue 是抄出来的框架吗?
本周一篇指摘 Vue 抄袭 Angular 的文章一石激起千层浪。为此,笔者作为中立吃瓜的 React 用户,分析了 13 个主流前端框架版本上万个变量的命名风格,应用自然语言处理中的文本相似度算法进行了分析,以对这一论点的有效性做出客观的评价。 思路 在分析书籍抄袭、论文查重等…
标签:1.0
腾讯发布 Omix 1.0 - 用 JSX 或 hyperscript 创建用户界面
腾讯 AlloyCrop 1.0 发布
写在前面 AlloyCrop 这个项目是8个月前发布的,作为AlloyFinger 的典型案例,发布之后被BAT等其他公司广泛使用。但是发布之后,有两个问题一直没有抽出时间去解决: 裁剪图像的分辨率太小,是否可配? pinch双指放大的时候,放大的中心不是双指中心,是否可以优化?…
标签:CSS
CSS入门指南-4:页面布局
这是《CSS设计指南》的读书笔记,用于加深学习效果。 display 属性 display是 CSS 中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值。对于大多数元素它们的默认值通常是 block 或 inline 。一个 block 元素通常被叫做块级…
[译] 渐进增强的 CSS 布局:从浮动到 Flexbox 到 Grid
标签:model
v-model指令在组件中怎么玩
标签:cli
在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css [vue-cli配置入门]
写在前面: 本文是vue-手摸手教你使用vue-cli脚手架-详细步骤图文解析之后,又一篇关于vue-cli脚手架配置相关的文章,因为有些文章步骤不够清晰,当时我引入JQuery、bootstrap的时候颇费了一番功夫,所以本文的步骤会尽量详细一点。有需要的朋友可以做一下参考,喜…
标签:Nuxt
美团点评点餐 Nuxt.js 实战
一、背景在今年年初我开始接触vue的时候,就发现在vue官方文档中“服务端渲染”的一节中提到了Nuxt.js框架,SSR这种方式对于首屏的加载时间优化显而易见,同时还可以方便的进行SEO。美团点评的点餐业务中,数据平台因为其数据量大的特点,首页加载时间很长,非常适合进行SSR改造…
标签:Angular
解密Angular WebWorker Renderer (二)
很开心再次遇见你,接着上回分解。先把与通讯相关的类介绍完毕。与WebWorkerRendererFactory2类对应的就是WebWorkerRenderer2类,该类从类结构中就可以看出包含了各种对DOM节点的操作函数,基本覆盖原生JS的DOM操作函数。特别注意,该类里面的操…
标签:Alfred
用 Node.js 把玩一番 Alfred Workflow
标签:ReactNative
ReactNative学习笔记十三之布局详细解析
又是一周过去了,似乎上周我只更新了一篇文章,最近工作实在太忙,望大家见谅。今天要讲的还是布局相关的,之前已经对布局中主要属性做了介绍,这次,会对布局中其他属性进行介绍。 alignSelf alignSelf是指相对于父容器,自身的位置,有auto,flex-start,flex…
标签:Webpack
学习 webpack 前,你需要了解的那些概念
wepback作为前端最热门的打包管理工具之一,学习一下是很有必要的,关于webpack的学习教程很多,并且官方也有对应的中文文档,所以本篇文章不再讲解如何使用webpack,而是重点讲解学习webpack前需要了解的一些概念。 什么是webpack 关于什么是webpack,…
标签:HTML5
从HTML5与PromiseA+规范来看事件循环
写在最前 本次分享一下从HTML5与PromiseA+规范来迅速理解一波事件循环中的microtask 与macrotask。 欢迎关注我的博客,不定期更新中—— ## 先来看段代码 setTimeout(function() { console.log('setTimeout1…
标签:DOM
如何实现一个基于 DOM 的模板引擎
题图:Vincent Guth 注:本文所有代码均可在本人的个人项目colon中找到,本文也同步到了知乎专栏 可能你已经体会到了 Vue 所带来的便捷了,相信有一部分原因也是因为其基于 DOM 的语法简洁的模板渲染引擎。这篇文章将会介绍如何实现一个基于 DOM 的模板引擎(就像…
标签:Sass
常用 SCSS 总结(持续更新)
//伸缩盒(旧) @mixin box{display: -webkit-box;display: box;} @mixin pack-c{@include box;-webkit-box-pack:center;box-pack:center;} @mixin align-c{…
标签:初识
初识RxJS
什么是Rx.JS? Rx.JS是英文 Reactive Extensions for JavaScript 的缩写.翻译成中文就是:JavaScript的响应式扩展.其主要的功能就是利用响应式编程的模式来实现JavaScript的异步式编程. 相对于JavaScript中其它的异…
标签:构造函数
回顾Javascript构造函数
标签:文本编辑
人人都会写的富文本编辑器
这个本来是给 vm-manager 写的一个富文本编辑器,后来觉得独立出来维护比较方便,就单独分离出来放到NPM。之所以说人人都会写, 是因为这个组件实现起来确实比较简单,不需要很厉害的Js水平, 基本是对document.execCommand()指令的绑定。在此将过程分享给大…
标签:wepy
深入wepy小程序组件化框架
标签:Canvas
一个少女心满满的例子带你入门 Canvas
标签:AE
用视频软件AE + bodymovin制作网页动画
我们知道,做动画有多种形式,可以用CSS的animation,也可以用Canvas,或者是用JS控制CSS的属性形成动画。我们经常使用CSS做一些比较简单的动画,像过度、加载的动画,对于一些比较复杂的,可能会做成gif,或者是用Canvas,使用Canvas的控制粒度可以很细,同…
标签:React
聊聊 React Router v4 的设计思想
React Router v4 发布已经有几个月了,但好像并没有得到太多人的青睐,大家(包括我们团队自己)还是习惯使用v2、v3版本。这一方面是因为v4版本是一次破坏性的升级,从v2、v3 升级到v4,必需要大量重写原有的路由相关的代码,对于已经稳定的项目,一般是不会轻易尝试这种…
标签:API
捋一捋容易被忽略的API用法
Date 获取某月的天数 下一月的第0天就是当前月的最后一天。 function daysInMonth(year, month) { let date = new Date(year, month + 1, 0); return date.getDate(); } // 注意在…
标签:Vue.js
手摸手教你使用vue-cli脚手架-详细步骤图文解析[vue入门]
写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目环境的时候也是踩了相当多的坑,特此写了一篇搭建环境的教程,每一步尽量详细解析。需…
标签:Web
Web 端的下一代三维图形
标签:自制
自制前端框架之依赖追踪器
依赖追踪机制是 Vue 的核心之一,那么依赖追踪算法如何工作呢?在 30 行内我们就能实现它🤓 Reactive 基础 说起依赖追踪,就不能不提数据绑定的概念。前端最常见的重复劳动之一就是把数据绑定到 HTML 模板上,这时数据绑定能够实现数据更新时模板的自动更新。简单的三行伪…
标签:小游戏
基于jQuery的一个“射日”小游戏
写在最前 本次的分享是一个基于jQuery实现的一个移动端射箭类小游戏。主要实现了目标物、障碍物的随机渲染,以及中箭效果的判定等。 欢迎关注我的博客,不定期更新中—— 效果预览 game.gif 点我查看源码仓库。 主要结构规划 ... //基础属性 defaultOption …
标签:测试
前端测试简述及使用Karma/Mocha实现的集成测试栗子(Travis CI/Coverage)
前端测试 开发类型 TDD (Test Driven Development),测试驱动开发 BDD (Behavior Driven Development),行为驱动开发 // add.js function add(x, y) { return x + y; } modul…
标签:跳转
关于购物车下单-订单跳转及返回问题解决方案
问题描述: 通过商品或者购物车进入下单页面 下单页面确认信息 提交订单 进入订单页面 在订单页面点击返回按钮 返回至下单页面 导致的问题: 在下单页面 如果是购物车中的商品 因为购物车中商品已经提交订单了,所以会提示购物车信息无效 解决方案: 第一种解决方案: 如果是通过下单页进…
标签:Redux
[译] 在大型应用中使用 Redux 的五个技巧
标签:微信小程序
微信小程序开发深入解读
标签:插件
基于 Vue.js 的消息气泡插件
之前介绍了一款基于vue的文本折行显示组件ellipisis-plus,今天介绍一款仿照QQ消息气泡的插件vue-bubble,演示地址在这里。 仿照QQ消息气泡想法的起源是来自掘金的安卓小伙伴们,看到他们在安卓平台实现了这种效果,所以想迁移到web上。在这里要感谢他们。 先放张…