admin 发布于 01月31, 2018

Redux 相关概念及源码分析

划重点:

  • 三个概念:(state, action) => state
    • store
    • action,例如:{type: 'COMPLETE_TODO',index: 1}
    • reducer,只是一些纯函数,它接收先前的 state 和 action,并返回新的 state。
  • 三个原则:单一数据源,State 是只读的,使用纯函数执行修改

阅读全文 »

admin 发布于 06月27, 2017

【译】Express中的 Session 是怎样工作的?

Express中的 Session 是怎样工作的?

本文转载自:众成翻译 译者:郑 farmer 链接:http://www.zcfy.cc/article/3342 原文:http://nodewebapps.com/2017/06/18/how-do-nodejs-sessions-work/

每个 Web 应用都会维护 Session,作为开发人员,我们需要知道怎么合理的使用它们。

本文将会介绍以下几个方面:

  • 什么是一个会话(Session)?

  • Session 是怎样存储数据的?

  • 如何选择存储 Session 数据的方式?

  • 使用 Session 时需要避免哪些安全隐患?

想获取更多代码示例,可以参考 session npm module,这可能是最通用的 Session 库。

阅读全文 »

admin 发布于 06月27, 2017

【译】Node.js 8 中的重要新特性及优化

Node.js 8 中的重要新特性及优化

本文转载自:众成翻译 译者:郑 farmer 链接:http://www.zcfy.cc/article/3321 原文:https://blog.risingstack.com/important-features-fixes-node-js-version-8/

随着 Node.js 8.0 版本的发布(5月30日下午12点发布),我们得到了最新的 LTS 版本,具有一系列新功能和性能改进。

本文我们将介绍 Node.js 8.0 版本中重要的功能和修复。

与以前的 Node.js 版本相比,8.0.0相当强大。虽然这其中有些还正在进行,很多正在商榷。但基本上是稳定和可测试的

  • James M Snell(@jasnell)2017年5月30日

新版本的代号是 Carbon。Node 8 将从2017年10月起成为现行的 LTS 版本,并将保持到2019年12月31日。这也意味着 Node.js 6.x 版本将在 2018 年 4 月进入维护模式,并在 2019 年 4 月废弃。

你可以在这里获取 8.0 release文档

阅读全文 »

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 团队最近总结的一片文章,配合例子讲述生命周期,让我们更容易理解,也解决了我之前开发中遇到的一些困惑,所以决定翻译出来。此处 阅读原文

阅读全文 »