雨夜带刀's Blog

前端单页 Web 应用的数据管理

单页 Web 应用相较于传统的 Web 页面通常都具有较长的生命周期,页面(前端路由实现的“虚拟页面”)切换时的数据如何有效的保存或销毁,应用会不会内存泄漏亦或是内存会不会被无限制的使用而导致系统资源耗尽。基于这样的应用场景,数据的通信和传输、管理和存储对于前端单页 Web 应用来说越来越重要。而如何基于单页 Web 应用的 UI 渲染模式设计出与之契合的数据管理的架构模式,这是我一直在尝试和探索的方向。

基于 React 的单页 Web 应用,Flux 在目前仍然是较好的架构模式,但 Flux 更多的是侧重于数据的通信和传输,在这方面,我在之前的 Ballade: 重新诠释 Flux 架构 中有详细的介绍。

而本文主要介绍的是数据的管理和存储,并且在这方面是可以脱离于 Flux 的架构模式去独立探索和发展的。

2016 年度个人总结

1

2016 的结束也意味着我步入了三十岁,无论我想不想,时间都是不急不慢,不在乎你是否做好了准备,也不在意你是否留恋当下,它对每个人都是公平的。在三十岁这个特殊的时间点,也尝试去回想并做了一些总结,看到更多的是世事无常;也认真的思考过关于三十而立的问题,自己究竟是个怎样的人,以及自己想要的究竟是什么,心里也都有了答案,在这里并不展开说,每个人想要的不一样,但是自己想要什么一定要想清楚了。

2

如果要说今年个人在工作有什么收获的话,那么就是对于个人职业的发展路线越来越清晰了,知道了要成为一名合格靠谱的技术 Leader 应该具备哪些素质。这也得益于 BOSS 的影响,以及个人的一些思考总结。当然,也仅仅是有了一个大的方向吧,还得继续去践行和随时纠偏。

在准备写总结的时候,一直在回想盘点,我这一年到底都干了啥,会忍不住问,时间都去哪儿了?一直都觉得时间不够用,忙,这种忙不是忙着加班赶进度的那种忙,而是想做的事太多,要做的事也很多,有点混乱的那种忙。想了想主要有下面几大类…

打破思维的疆界

评书《人类简史》,原发表于我的豆瓣

哲学能让人思考事物和世界的本质,而历史能拓宽人的视野,了解现代的各种现象并非自然而然,也有可能仅仅是偶然,但在某种程度上也是有迹可循的。尤瓦尔以哲学的视角来解读宏观历史,中间穿插的各种学科的知识,其跨界程度会让你惊叹于作者博学的深度和广度。

以前经常会假想如果有一个上帝视角,站在太空的高度,能跨越时间和空间,随时都能截取某个时空的切面,以这种视角来看待地球上发生的事。比如把时间切换到公元1世纪,看地中海地区的古罗马不断壮大发展成横跨欧亚非大陆的庞大帝国的历程。再切到下一个场景,16世纪,西班牙人不断征服美洲,直到印加帝国的覆灭。以这种视角来看历史的发展,我们能看到什么?尤瓦尔的《人类简史》就提供了这样一种视角,通常在这种视角下很容易给人一种沧海一粟的感觉,但是本书给我们看到的不仅仅是沧海一粟这么简单,还有很多让人耳目一新的知识和观点:生物学、人类学、历史、哲学、社会政治、文明的兴起和覆灭、经济学、新兴科学等等,而且各类学科的知识看起来都很专业。

灿烂的代价

评电影《灿烂人生》,原发表于我的豆瓣

大约在4~5年前我已经看过一遍这部电影,后来一直念念不忘,好的电影能让人回味,促使人去思考。于是这一阵又花了6个小时重温了一遍这部电影,关注到很多细节,以前观影时的一些模糊的想法逐渐清晰起来,我想是时候整理一下这些想法了。

用6个小时看一个意大利家庭近40年的悲欢离合,6个小时表达的东西非常之多,所以本文的篇幅也稍长。

影片中穿插了很多与社会政治相关的相关情节和细节,有必要先介绍一下当时的大背景。意大利是二战时期的法西斯的轴心国之一,战后的经济增长速度很快,仅次于当时的日本和联邦德国,故事在这个时间段拉开了帷幕。70年代的红色旅等恐怖组织以及当时的国际能源涨价的原因,意大利经济开始进入疲软阶段。90年代又遭遇了经济和政治危机,成为笨猪五国之一。同时,黑手党也猖獗起来,很多反黑手党的人被暗杀,意大利展开了打击西西里黑手党的斗争。

从 React 的组件更新谈 Immutable 的应用

在上一篇文章《Immutable 在 JavaScript 中的应用》 中主要介绍了 Immutable 之于 JavaScript。而基于 Immutable 的特性,将其应用在 React 项目的开发中非常合适,解决了 React 中的一些痛点,能进一步提升 React 组件的性能以及更好的管理组件的状态。

在介绍 Immutable 如何在 React 中应用之前,先来谈谈 React 组件是如何更新的。

React 是基于状态驱动的开发,可以将一个组件看成是一个有限状态机,组件要更新,必须更新状态。

通常说的组件的状态就是组件的 state 对象,state 是可以由当前组件自行修改更新的,这种自更新的状态的为了便于理解区分可以称之为“动态”的状态。但除了更新 state 外,组件还可以通过 props 来更新,props 属性不能由组件自行修改,必须由父组件来修改,然后再传递给当前组件,更新组件的 props 也能引起组件的更新,可以将 props 称之为“静态”的状态。这样的状态区分是广义上的,如果你不认可 props 也是状态也没关系,这里可以不用拘泥于文字。

头像

雨夜带刀

前端开发工程师,技术宅,现居北京。

雨夜带刀的开源项目

easy.js
一个简洁的 JavaScript 类库,集成了模块加载器,同时也有包含了常见的的组件库,可访问项目网站
seed
符合 AMD 规范的 JavaScript 模块加载器。
ecope
从 easy.js 组件库中移值过来的基于 jQuery 的组件库,简单实用,API 风格统一。
第 1 页,共 17 页12345...10...最旧 »