介绍
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来。一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。)
小鸟们最终能取得胜利吗?它们会战胜那些满身培根味的敌人吗?让我们一起来揭示 JavaScript 之愤怒的小鸟系列的另一个扣人心弦的章节!
阅读本系列的介绍文章,查看所有小鸟以及它们的进攻力量。
战况
红色大鸟 - 立即调用的函数表达式
蓝色小鸟 - 事件
黄色小鸟 - 模块化、依赖管理、性能优化
黑色小鸟的攻击力
在这篇文章中,我们将看看黑色小鸟,它们使用
继续阅读 »
其实本文想说的是:当面试一个架构师的时候,我们应该问什么问题?我觉得,问什么样的问题,体现了team leader更加看重架构师的哪些特点。
我一直认为,做技术就跟练武一样,在练武的不同阶段,分招式和心法。技术也一样,在不同的阶段,也分招式和心法。另外,就我个人而言,经常忘记招式,一方面可以说十二年来,我用过的招式很多,到了现在也不记得几个。另一方面我自己也不会特意去记。事实上,十二年代码写下来,我反而越来越不关注招式,而是越来越关注如何解决问题,也就是心法。所以我作为team leader的时候,我会更加看重这个架构师候选人是不是有一套属于自己的心法。
继续阅读 »
本文主要介绍下xmake的整体架构设计,以及源码结构的布局和模块划分。
如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。,
源码地址:Github
顶层目录结构
bash
./xmake/
├── actions # 内建的一些基础task,用于基本的构建安装等操作
├── core # xmake的核心模块,提供最底层的实现支持
├── languages # 所有的语言相关特性支持和扩展,都在此目录下
├── modules # 内置的扩展模块,可用`import`导入使用
├── pack
继续阅读 »
在完美的安卓 model 层架构(上){:target="_blank"}中,我主要介绍了网络请求、数据库持久化、Immutable/Value types、Json 序列化与反序列化这四部分内容,而剩下的关于 Parcelable,ZonedDateTime,null safety,rx error handling,config injection以及测试相关的内容,将在本篇中进行介绍。
继续阅读 »
tbox主要有三种流:
stream: 最常用的流,一般用于单路阻塞、非阻塞io的处理,接口简单易用
async_stream:异步流,基于asio的流,全程回调处理,可以在单个线程里支持多路流的并发,节省系统资源,提高效率
static_stream:静态流,用于对纯buffer的位流处理,一般用于各种解析器
不管是stream还是async_stream,都可以在其上挂接多路filter,实现流之间数据过滤和变换。目前支持以下几种filter:
zip_filter:gzip、zlib的压缩和解压缩过滤器
charset_filter:字符集编码的过滤器
chunked_filter:http chunked编码的解码过滤器
继续阅读 »
前些日子在 Android Weekly{:target="blank"} 上看到了一篇介绍 SqlDelight 使用{:target="_blank"}的文章,虽然之前了解过 SqlDelight{:target="_blank"} 和 SqlBrite{:target="_blank"},但却一直没有尝试过。但这次我被文章中的例子惊艳到了,而且 SqlDelight 还能和 AutoValue{:target="_blank"} 兼容使用,进一步打消了我的顾虑,我就赶紧在 AndroidTDDBootStrap{:target="_blank"} 项目进行了尝试,并且甩掉了之前使用的 StorIO{:target="_blan
继续阅读 »
我们今天要讨论的主题是,大型 JavaScript 应用中一些有效的设计模式。本文基于我最近发布在 LondonJS 上同名演讲,灵感则来自于 Nicholas Zakas 之前的研究成果。
我是谁以及我为什么要撰写这个主题?
我目前是 AOL 的一名 JavaScript 和 UI 开发人员,负责规划和编写下一代面向用户的应用的前端架构。这些应用不仅复杂,而且需要一种可扩展和高复用的架构,我的职责之一就是确保这类应用中的设计模式尽可能是可持续的。
尽管在这个领域有许多比我知识渊博的专家,我也认为自己是设计模式的狂热者。先前,我基于 Creative Commons 许可写了 《Essential JavaScript Des
继续阅读 »
单页面架构的 dom 结构是用 js 动态构建出来的,而搜索引擎抓取的时候是不管 js 的,这样单页面架构是很不利于 SEO 的,而 SEO 对于一个对外的应用来说是非常重要的,放弃 SEO 等于放弃了网站的最大的流量入口:搜索引擎。
单页面应用 SEO 优化的思路就是判断请求是否来自搜索引擎,如果是搜索引擎在爬取页面,提供一个无界面的浏览器去访问网页,得到通过 js 渲染过后的 html 代码,再返回给搜索引擎。
继续阅读 »
Google IO大会进行中,本次大会Android最大的新闻当属Android O以及Kotlin被官方认可。我发现了原来还有发布官方的架构库,以及推荐使用指南,分享给大家。
架构原则
关注分离
模型驱动UI,优先持久化模型
more
新架构
如上图所示,为新的架构模式:
Activity/Fragment
UI层,通常是Activity/Fragment等
监听ViewModel,当VIewModel数据更新时刷新UI
监听用户事件反馈到ViewModel。
ViewModel
持有保存,或者想Repository来获取UI层需要的数据
响应UI层的事件,执行响应的操作
响应变化,并且通知到UI
继续阅读 »
Update
[20160725] Facebook 官方提供了一个可以生成React Starter项目的工具,有兴趣可以看下:create-react-app
前言
React技术之火爆无须多言,其与webpack的完美结合,也让二者毋庸置疑的成为天生一对。为了进行React的快速和规范化开发,开源社区中涌现了很多React+webpack的boilerplate项目。通过使用这些boilerplate,我们可以快速的创建一个React项目的架构。
葱哥之前专门创建了一个Github项目用于收集这些boilerplate:awesome-react-boilerplate。当然这里不可能完整收录,但是目前为止已经有近30个
继续阅读 »