admin 发布于 12月30, 2016

Bye,2016—life.pop(2016)

2016 匆匆而过,你 2010 年的愿望实现了吗?每年的这个时候都想写一份惊世骇俗的年终总结,但每次都提笔忘事,想不起一年都做了什么,最近沉思数日,终于想起了今年的一些可以记录的事情。

2016 不平凡,多庸俗的话,2014 不平凡的一年,2015不平凡,2017 注定不平凡的一年。年终回想自己的一年,都会想到各种精彩,而其实一年最主要的还是在柴米油盐。所以看似不平凡,却又年年如此。

alt

阅读全文 »

admin 发布于 12月04, 2016

【小撸一发】井字游戏判断结果

井字游戏大家应该都听说过,就是一个九宫格两人一次下棋,谁先排成一排谁赢。这个题目中给出一个数组,我们来判断游戏结果,双方分别代表1,2,1 赢返回1,2 赢返回 2,平局返回 0。

其实赢的情况只有横,纵,斜排成一排,我们第一反应可以是通过数组坐标来判断,而其实这个问题用正则来解决可以非常简单,代码如下:

function isSolved(board) {
   board = board.join("-").replace(/,/g,"");
   if(/222|2...2...2|2....2....2/.test(board)) return 2;
   if(/111|1...1...1|1....1....1/.test(board)) return 1;
   if(/0/.test(board)) return -1;
   return 0;
}

阅读全文 »

admin 发布于 11月13, 2016

Chrome Dev Summit 2016 内容整理(部分)

Progressive Web Apps

今年如果你关注过 Chrome 开发团队的话,那一定或多或少的会听到过 Progressive Web Apps(PWA),实际上,今年 Chrome 团队可谓是 倾尽全力的推广 PWA,从上半年的 Google IO 大会关于 各类有关 PWA 的 9 个专题,直到今天刚刚结束的,基本是 PWA 推广大会的 CDS,可见随着 PWA 技术的成熟以及浏览器的支持度提高,不久必将会迎来一次爆发。如果你目前还不了解什么是 PWA ,请去 这里 自行补脑,这里我简单来说,PWA 就是能够提供类似像 Navive App 一样体验的 Web App。它主要有几个特点:

  • 可以添加到桌面,文艺点说就是具有可安装性
  • 离线能力
  • 消息推送
  • 安全
  • 响应式

博主凑热闹,最近把博客添加了离线和添加到主屏幕功能,如果你的手机支持(安卓手机新版 Chrome,目前苹果还不支持),当然,或者是 PC 端的 Chrome,欢迎体验。

好了,废话不多说,这次大会在 youtube 上实时更新,我趁热挑选了自己感兴趣的几个主题,整理了主要内容,由于时间比较短,有些内容只是知道了概念(甚至有些只知道了个新名词),如果不对,欢迎大家留言指正,我后面也会陆续更新。

阅读全文 »

admin 发布于 11月05, 2016

【Service Worker】生命周期那些事儿

生命周期是 Service Worker 中比较复杂的一部分,如果你不知道它什么时间将要做什么,以及它带来的好处,那么你可能会有一种感觉:就是它一直在和你较劲。如果理解它的工作机制,你就可以给用户提供完美的,无感知的更新体验。 这篇文章是 Chrome 团队最近总结的一片文章,配合例子讲述生命周期,让我们更容易理解,也解决了我之前开发中遇到的一些困惑,所以决定翻译出来。此处 阅读原文

阅读全文 »

admin 发布于 10月25, 2016

【Service Worker】消息推送功能“全军覆没”

最近项目节奏放缓,我们的项目属于内部系统,使用者大部分为紧跟科技脚步的“潮人”,chrome 在我们系统中占据了半壁江山(谦虚的说),所以打算在项目中试试 Service Worker ,打算先从推送功能入手,然而我却被啪啪打脸,于是我怒写了这篇文章。

阅读全文 »

admin 发布于 09月15, 2016

【Service Worker】Service Worker 诞生记

目前 Web App 发展迅猛,在移动端我们也不断追求用 Web App 来替代原生 App 的方法,目前也已经取得了不小的成果,而离线能力一直是 Web App 的痛点,如何更好的提高离线能力,就是 Service Worker 主要解决的问题,然而用它可以做的事情还有很多,比如今年谷歌在 IO 大会上热烈推崇的 Progressive Web App ,Service Worker 也是作为了一个非常核心的技术点。如何了解一个新技术,一般我都会从下面三个哲学问题入手。

阅读全文 »

admin 发布于 09月06, 2016

【译】JavaScript 中的并行处理

这里查看原文

一直以来,JavaScript 都并没有多线程的能力,而单线程在让开发者方便的同时,也使它一直不能处理计算量复杂的场景,唯一方法就是让服务端去做。幸运的是,随着 Web Worker 的普及,我们终于可以在后台线程来处理资源密集型的计算了。而不好的方面是,目前制定的标准只适用于当前的生态系统,这有时候就比较尴尬了。如果你了解其他从一开始就支持多线程的语言的话,你可能会发现很多的限制,远非仅仅是实例化一个新线程,然后你操控这个实例就能实现多线程。这篇文章主要来介绍 Web Worker,包括什么时候使用,该怎么使用,它有什么奇怪的特性,会介绍在 Webpack 中如何使用它,还有可能遇到的一些坑。

阅读全文 »