web

  • 翻译自:Unix Philosophy and Node.js,未经允许,转载打屁屁(我说真的)。


    [译注]

    大一的时候玩过Linux,当时懵懵懂懂(现在也是),好多东西不知道是干diao用的,糊里糊涂地学了一堆命令;最后除了帮隔壁宿舍的后现代主义抠脚大师装系统的时候装X用一下以外基本没有发挥太大的用途。

    后来断断续续使用Linux,也没有很深地钻研进去。最近捡回来看了一下,惊异地发现,原来一直以来那些编码中所用到的概念其实很多都源于Unix当中古老的设计。JS中的事件、Node.js中的Stream、多线程(进程)、管道、socket等等,都一一可以在这些古老的设计中找到源头。虽然没有非常

  • livoraslivoras/blog· 3 年前 web

    作者:戴嘉华

    转载请注明出处,保留原文链接和作者信息

    1. 前言

    最近面试季,有不少同学在面试前端的时候遇到一些问题来问我的的时候,才发现之前博客里面介绍的关于前端架构有些东西没有说清楚,特别是关于如何使用事件巧妙地进行模块的解耦。特意写这篇博客详细说一下。

    本来想一篇写完,但是写着写着发现废话比较多。决定开个系列分2~3篇来写,本文主要介绍:

    1. 观察者模式在前端中的体现形式
    2. 事件在组件化的前端架构中的应用

    这算是(一),接下来的(二)会介绍事件在前端游戏开发中的应用。

    1.1 观察者模式在前端中的表现形式——事件机制

    (了解的同学可以直接跳过这一节)

    在构建前端应用的时候免不了要和事件打交

  • livoraslivoras/blog· 4 年前 web

    未经允许,请勿转载。


    (如果对SPA概念不清楚的同学可以先自行了解相关概念)

    平时喜欢做点小页面来玩玩,并且一直采用单页面应用(Single Page Application)的方式来进行开发。这种开发方式是在之前一年做的一个创业项目的经验和思考,一直想写篇博客来总结一下。

    个人认为单页面应用的优势相当明显:

    1. 前后端职责分离,架构清晰:前端进行交互逻辑,后端负责数据处理。
    2. 前后端单独开发、单独测试。
    3. 良好的交互体验,前端进行的是局部渲染。避免了不必要的跳转和重复渲染。

    当然,SPA也有它自身的缺点,例如不利于搜索引擎优化等等,这些问题也有其相应的解决方案。

    下面要介绍的这种方式可以说是一

  • livoraslivoras/blog· 3 年前 web

    UPDATE(2015-10-29):更新MV*关于业务逻辑的描述,此处感谢 @LuoPQ @finian 指出错误

    作者:戴嘉华

    转载请注明出处并保留原文链接( #11 )和作者信息。

    目录:

    • 前言
    • MVC
    • MVC Model 2
    • MVP
      • Passive View
      • Supervising Controller
    • MVVM
    • 结语
    • References

    前言

    做客户端开发、前端开发对MVC、MVP、MVVM这些名词不了解也应该大致听过,都是为了解决图形界面应用程序复杂性管理问题而产生的应用架构模式。网上很多文章关于这方面的讨论比较杂乱,各种MV模式之间的区别分不清,甚至有些描述都是错误的

  • livoraslivoras/blog· 3 年前 web

    作者:戴嘉华

    转载请注明出处并保留原文链接( #13 )和作者信息。

    目录:

    • 1 前言
    • 2 对前端应用状态管理思考
    • 3 Virtual DOM 算法
    • 4 算法实现
      • 4.1 步骤一:用JS对象模拟DOM树
      • 4.2 步骤二:比较两棵虚拟DOM树的差异
      • 4.3 步骤三:把差异应用到真正的DOM树上
    • 5 结语
    • 6 References

    1 前言

    本文会在教你怎么用 300~400 行代码实现一个基本的 Virtual DOM 算法,并且尝试尽量把 Virtual DOM 的算法思路阐述清楚。希望在阅读本文后,能让你深入理解 Virtual DOM 算法,给你现有前端的编程提供一些新的思考。