编译器架构Compiler Architecture(上) 编译器是程序,通常是非常大的程序.它们几乎都有一个基于翻译分析综合模型的结构. CONTENTS Overview • Compiler Components • Lexical Analysis (Scanning) • Syntax Analysis (Parsing) • Combining Scanning and Parsing • Semantic Analysis • Intermediate Code Generatio…
编译器架构Compiler Architecture(下) Combining Scanning and Parsing 实际上没有必要将扫描(词法分析/标记化)与解析(语法分析/树生成)分开.基于PEGs的系统,比如Ohm,实际上是无扫描的:它们以一种预测的方式执行解析,将词汇和语法规则混合在一起.(但是,像Ohm这样的系统需要一个预解析阶段来处理缩进和凹陷.) 当使用无扫描系统时,语言设计者和编译器编写者仍然会考虑符号和短语,但不必担心像所谓的最大Munch原则这样的复杂规则.Lookahe…
NVIDIA Turing Architecture架构设计(上) 在游戏市场持续增长和对更好的 3D 图形的永不满足的需求的推动下, NVIDIA 已经将 GPU 发展成为许多计算密集型应用的世界领先的并行处理引擎.除了渲染高度逼真和身临其境的 3D 游戏外, NVIDIA GPUs 还可以加速内容创建工作流.高性能计算( HPC )和数据中心应用程序,以及众多人工智能系统和应用程序.新的 NVIDIA 图灵 GPU 架构建立在 GPU 长期领导地位的基础上. 图灵代表了十多年来最大的体系结构…
微内核架构(Microkernel Architecture) 微内核架构有时也被成为插件架构模式(plug-in architecture pattern),通常用于实现基于产品的应用,如Eclipse和Firefox.然而许多公司也将内部的业务软件做成软件产品,提供版本.发版说明和插件特性.微内核架构模式通过插件向核心应用添加额外的功能,提供了可扩展性和功能的独立和分离. 模式描述 微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules).应用…
EDA 是一种侧重于以生成/消费为基础的异步通信的架构模式.这主要对照于传统的基于线程的同步系统. EDA 是一种以事件 (event)为核心,提供事件产生,路由,消费已经结果回调等机制的架构模式. 简单地说, 面向服务架构 (Service-Oriented Architecture, SOA) 是一种 IT 架构策略,其基于面向服务的概念之上.自从 2002 开始为大家熟知以来,SOA 已经逐渐地成为业界的标准,也得到了广泛的应用. SOA != Web Service 因为 SOA 经常和…
DLNA 架构在机顶盒上播放云存储文件的实现   摘要: 随着越来越多的数码设备,音像设备等对 UPNP 协议的支持和普及,业界对多媒体内容提供服务的需求越越来越强烈,为了实现遵循 UPNP 协议和 DLNA 架构来对多媒体内容提供服务,多媒体服务器 DMS 就成了唯一能够担当该需求的设备.本文着重介绍如何基于 DLNA 架构,来实现云端媒体文件在机顶盒上的播放. 关键词: DLNA , UPNP , DMS ,云存储, fuse 1 . DLNA 简介 数字生活网路联盟 Digital Liv…
4. 架构制品(Architectural Artifacts) 架构制品是针对某个系统或解决方案的模型描述,与架构交付物和构建块相比,架构制品既不是架构开发方法过程各阶段的合约性产物,亦不是企业中客观存在的各种可重用解决方案,而是针对包括这些构建块在内的企业客观现实的描述,并以解答不同干系人的关注点为其最终目标.可以说,架构交付物面向于企业架构的产生,架构构建块倾向于企业架构的结果,而架构制品则注重于针对企业架构的应用(虽然架构交付物可以包含若干架构制品,但是架构制品在本质上还是被用来为不同的…
TOGAF架构内容框架之架构制品(上) 4. 架构制品(Architectural Artifacts) 架构制品是针对某个系统或解决方案的模型描述,与架构交付物和构建块相比,架构制品既不是架构开发方法过程各阶段的合约性产物,亦不是企业中客观存在的各种可重用解决方案,而是针对包括这些构建块在内的企业客观现实的描述,并以解答不同干系人的关注点为其最终目标.可以说,架构交付物面向于企业架构的产生,架构构建块倾向于企业架构的结果,而架构制品则注重于针对企业架构的应用(虽然架构交付物可以包含若干架构制品…
朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上) [下载本文PDF进行阅读] 设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践.在经过多年的软件开发实践之后,回过头来去看23种设计模式你会发现很多平时写代码的套路和OO的套路和设计模式里总结的类似,这也说明了你悟到的东西和别人悟到的一样,经过大量实践总能趋向性得出一些最佳实践的结论.架构设计也是一样,这里结合自己的理解分析一下微软给出的云架构的一些模式.话说微软干这方面的事情真的很厉害,之前翻译过的<微软应用架构指南>写的…
Java架构师线上问题排查,这些命令程序员一定用得到! 线上问题排查,以下场景,你遇到过吗? 一.了解机器连接数情况 问题:1.2.3.4的sshd的监听端口是22,如何统计1.2.3.4的sshd服务各种连接状态(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的连接数. 常见方法: · netstat -n | grep 1.2.3.4:22 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ · nets…