分享一组 iPhone X UI 交互动效

iPhone X 发布后,很多用户已经上手了当前最好的 iPhone 手机。当让,对于开发者和设计师而言,这无疑又是激发创意的时候。自己收藏了一些个人认为非常 酷炫 的交互设计稿,希望可以激发大家的灵感。 Multitasking messenger UI by Cuberto Important messenger feature by Cuberto Error II by 详情 »

手写一个自己的 JavaScript Promise 类库

终于有时间写这篇文章了, ES2015 推出了JS 的 Promise ,而在没有原生支持的时候,我们也可以使用诸如 Promises/A+ 的库的帮助,在我们的代码里实现Promise 的支持; 如何使用 Promise 在讲具体实现之前我们还是先了解下我们如何使用 Promise 在我们的代码中。 function getData() { return new Promise((resolve, reject)=>{ request( 详情 »

创建一个指定长度的空字符串数组

最近在项目里遇到了这种问题,大概就简单写下解题思路吧。 给出指定长度 n 然后创建一个该长度的的空字符串数组。比如 n=3; 输出应该是 ['', '', ''];比如 n = 2; 输出应该是 ['', '']; 使用 for 大概这个思路,就是最简单的也很容易让人作为垫底方案的实现; var a = []; for (let 详情 »

前端集成测试

最近在团队内分享了关于集成测试这一块,大概从集成测试,到JS的单元测试,以及现有框架都有所涉及,希望帮助大家梳理下思路。 扩展阅读 持续集成系统的演进之路 不可错过的「持续集成」进阶指南 avajs/ava Sinon 入门,看这篇文章就够了 travis ic documents 详情 »

使用 lerna 进行项目多模块的管理

在前端工程中,可能我们在最开始开始的时候,需要集中进行很多模块的同步开发,虽然我们可以用 npm link 来进行,但是这个时候我们需要进行不同的 repository 管理,这个时候 lerna 可能是您的新选择。 比如 babel 的项目: 快速开始 npm install learna -g 然后如果你自己的 repository 需要的话,你只需要在自己的项目目录里输入 learn 详情 »

使用 babel , Karma, Jasmine, Istanbul 实现 ES6 测试覆盖率

目前我们很多项目都开始使用的是 ES6 进行开发,但是我们在测试的时候都是需要转换到 ES5 才能运行我们的测试,但是我们又需要代码的测试覆盖率。下面将一步步的帮助您完成基于 ES6 源码的代码覆盖率报告的生成。 开始 我们先初始化项目,确保项目支出 ES6的环境,如果没有可以复制下面的依赖,然后 npm install。 "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1. 详情 »

hls.js 源码解读【3】

这一篇主要分析一些辅助类函数的代码实现,扩展一些对 buffer 操作,web worker 等内容的学习。 performance 在 playlist-loader.js 中我们可以看到这行代码 stats.tload = performance.now(); performance 提供了一个高精度的时间访问 API。它能够查看到 Navigation Timing,Resource Timing这些准确的时间结果。 Navigation Timing 详情 »

hls.js 源码解读【2】

上一篇 我们分析了 hls.js 的基本目录架构和代码执行流程,这一篇将主要分析 主链路实现代码的分析。 源码分析会点出核心的调用流程,其中一些不常用的方法或者比较容易理解的不做详细的注释。 hls.js 是模块打包的入口 import URLToolkit from 'url-toolkit'; import Event from './events'; import {ErrorTypes, ErrorDetails} from '. 详情 »

【转】 理解音视频 PTS 和 DTS

原文地址 : http://blog.csdn.net/x_iya/article/details/52495824 @ N3verL4nd 视频 视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉。 image 但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都是完整的图片,那么一个视频的体积就会很大,这样对于网络传输或者视频数据存储来说成本太高,所以通常会对视频流中的一部分画面进行压缩(编码)处理。由于压缩处理的方式不同,视频中的画面帧就分为了不同的类别, 详情 »

《软件开发本质论》

书的内容不多,也就190多页的样子。这是一本偏项目管理书籍,没有涉及多么技术细节的地方。 实际上现在项目开发都离不开科学,科学的技术实现,以及科学的项目管理。 项目管理一定是有序的推进的,合理的组织,合理的需求计划,确保小版本迭代,确保最小可完成性,注重测试跟进。其实大家看了很多软件项目管理的书籍,大同小异,最终还是要落到管理者手中。他们如何确保一个项目健康的发展,才能更好的推进项目朝着合理的方向前进。 其实于每个开发者而言,也真的非常有必要读一读。因为我们作为参与者的一员,我们需要去理解每个单元目标,对于不合理的需求和组织调配,我们需要有自己的想法。敏捷开发说白了,就是让目标足够系列化, 详情 »