微日记-20171125

天气晴。 晚上和天津的前同事聚餐。大概自己从 V 厂离职也就差不多一年了。 最近确实自己也开始玩 吃鸡的游戏,大概天生喜欢射击类的游戏吧,其中代入感很强,而且团队配合也不错。 上周真的是非常匆匆忙忙的一周,感觉时间节点真的非常紧张。自己需要好好控制自己的专注度。最近读《射雕英雄传》发觉,小说读起来还是要比电视剧多出很多细节描写。 大概想年终总结的时候,也不知道今年想写多少故事,只是希望回头看, 感谢曾经所做的决定 详情 »

查看详情

前端集成测试

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

查看详情

微日记-20171102

晴。 冬天了,最害怕起风的日子。一旦遇着了,几乎都是老天都是带着情绪的,冷的只让人颤栗。今天是11月22日,去年这个时候,八点结束了东京之行,坐在空港线去往成田国际机场。上午老早告别同行的小伙伴,做新干线从大阪去往日本。然后一个人在火车站逛游(迷路了😂),随后去往新海诚笔下的新宿御苑,随后从新宿出发去往台场,最后前往东京铁塔,晚上急匆匆赶回火车站,吃了至今怀念的牛肉米饭套餐。 是的,一个人逛的时候,真的是自由散漫的,拿着相机拍下想拍的事物,走走停停,完全无忧无虑的放空自己。不过离开的时候,多少还是落寞些。毕竟,原本计划希望自己到日本不是一个人,但是一个人还是来路。就当是给自己另一半探路吧。 今天查了居住证的状态,已经签署通过,下周就可以拿到。大概今年的一件非常重要事情也就落下帷幕了。当然今年也有一些出人意料的事情,比如遇见了可能陪你走一辈子的人。大概很多事情就是那么突入起来,去年2016年还信誓旦旦写下: Just one Girl 这样的目标,对于可遇不可求的事情,似乎除了等待也别无他法。记得去年在关西机场降落的时候写的这句话: 岁月你别催, 改来自己会追~ 大概是给自己打气,很多事情,终究会来,如果来的就一定要倍加努力。也希望,下一次,落在这个城市,岁月 详情 »

查看详情

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

在前端工程中,可能我们在最开始开始的时候,需要集中进行很多模块的同步开发,虽然我们可以用 npm link 来进行,但是这个时候我们需要进行不同的 repository 管理,这个时候 lerna 可能是您的新选择。 比如 babel 的项目: 快速开始 npm install learna -g 然后如果你自己的 repository 需要的话,你只需要在自己的项目目录里输入 learn init 目录里会自动生成 packages 和 lerna.json。 /packages lerna.json package.json 这个时候你可以在package 下添加自己的 需要发布的模块包。 弄完之后,你可以输入进行启动。 lerna bootstrap bootstrap 会安装 package 的依赖,并且进行 link。这样你就可以在自己开发的模块中进行 引入了。 弄完之后,我们就需要发布了。 learn publish 详情 »

查看详情

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

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

查看详情

hls.js 源码解读【3】

这一篇主要分析一些辅助类函数的代码实现,扩展一些对 buffer 操作,web worker 等内容的学习。 performance 在 playlist-loader.js 中我们可以看到这行代码 stats.tload = performance.now(); performance 提供了一个高精度的时间访问 API。它能够查看到 Navigation Timing,Resource Timing这些准确的时间结果。 Navigation Timing API能够帮助网站开发者检测真实用户数据(RUM),例如带宽、延迟或主页的整体页面加载时间。 其中 performance.now()可以得到距离页面开始请求到现在相差的毫秒数。 web worker Web worker, Javascript是单线程的,所以如果页面中的Javascript有大量计算的话,很容易阻塞页面的动画或者交互响应。HTML5中的Web Worker就使Javascript的多线程编程成为可能。 在 demux/demuxer.js 中我们可以看到这么一段代码: import work from 'webworkify-webpack'; //... const vendor = navigator.vendor; 详情 »

查看详情

hls.js 源码解读【2】

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

【转】 理解音视频 PTS 和 DTS

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

查看详情

《悟空传》

《悟空传》 同样在今年翻拍了电影。今何在作为编剧参与其中。上一次关于这部小说是《西游降魔篇》上映的时候,今何在参与了周星驰的电影。有时间读小说,其实觉得给自己的触动没有那么大。 其实读的时候,字里行间的内容给自己带来的冲击没有那么大,而且自己更加偏爱老派作家的小说,对于细节与对白能够更好切入进去。虽然故事和内心独白写的不错,总之这部作品自己不太喜欢这样的 style。 ⭐️⭐️⭐️ 推荐 详情 »

《从你的全世界走过》

大概读完这本书已是九月上旬, 但一直没来的写, 九月份的某晚也看完了电影版本的《从你的全世界走过》。 看完已是凌晨三点,很多人喜欢这样一段话: 我希望有个如你一般的人。 如这山间清晨一般明亮清爽的人, 如奔赴古城道路上阳光一般的人, 温暖而不炙热,覆盖我所有肌肤。 由起点到夜晚,由山野到书房, 一切问题的答案都很简单。 我希望有个如你一般的人,贯彻未来,数遍生命的公路牌。 于自己而言,那么多故事,才发现却没有一个匹配的上自己。好在,自己还没有失去喜欢人的能力,好在会遇见如此一般的人。去不去稻城亚丁,不重要,重要是有机会与你分享 TA 的故事。 我希望买的鞋子是你渴望的颜色。我希望拨通电话时你恰好在想我。我希望说早安你也刚起床。我希望写的书是你欣赏的故事。我希望关灯的刹那你正泛起困意。我希望买的水果你永远觉得是甜的。我希望点的歌都是你喜欢唱的。我希望我希望的是你希望的。 ⭐️⭐️⭐️⭐️ 推荐 详情 »