首页 文章 精选 留言 我的

精选列表

搜索[翻译工具],共10011篇文章
优秀的个人博客,低调大师

通过写Babel插件理解抽象语法树(翻译)

原文:https://www.sitepoint.com/understanding-asts-building-babel-plugin/ 每天很多JavaScript开发者使用了浏览器提供商还没有实现的语言版本。很多语言特性都只是草案,将来并不能保证会被写进标准。因为了有了Bable项目,才成为了可能。 众所周知,Babel可以把ES6代码转换为ES5代码,并且可以安全运行;同时,Bable允许开发者编写插件在编译时更改JavaScript程序的结构。 今天,我们将看下如何写Bable插件为JavaScript添加默认的不可变数据。这个教程的代码可以从GitHub仓库下载。 语言概述 我们希望设计允许我们把普通的对象和数组字面量通过使用Mori转换为不可变的数据结构的插件。 我希望这样写代码: varfoo= { a: 1 }; varb

优秀的个人博客,低调大师

Openstack安装部署指南翻译系列 之 硬件需求

1.1.1.1.控制节点 控制器节点运行身份服务,镜像服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板。它还包括支持服务,如SQL数据库,消息队列和NTP。 可选地,控制节点运行块存储,对象存储,编排和计量服务的部分。 控制器节点至少需要两个网络接口。 1.1.1.2.计算节点 计算节点运行虚拟机实例的Compute的管理程序部分。默认情况下,Compute使用KVM虚拟机管理程序。计算节点还运行网络服务代理,将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务。 可以部署多个计算节点。每个节点至少需要两个网络接口。 1.1.1.3.块存储节点 可选的Block Storage节点包含块存储和共享文件系统为实例提供服务的磁盘。 为了简单起见,计算节点和此节点之间的服务流量使用管理网络。生产环境应实施单独的存储网络,以提高性能和安全性。我们的生产环境是通过划分VLAN使用单独的存储网络。 可以部署多个块存储节点,我们该项目使用1个块存储节点。每个节点至少需要一个网络接口。 1.1.1.4. 共享存储 可选的共享存储节点包含共享存储服务,用于提供共享存储。 我们的生产环境使用单独的存储网络,以提高性能和安全性。 此服务需要两个节点。每个节点至少需要一个网络接口。 本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/1981166,如需转载请自行联系原作者

优秀的个人博客,低调大师

《WCF技术内幕》翻译2:《WCF技术内幕》绪论

绪论 总述 服务是现代软件架构的一个主要部分,WCF是构建基于Microsoft Windows系统的服务程序平台。WCF编写的服务可以与其它供应商的服务交互(例如, IBM, BEA, and Novell),WCF为行业标准的演化提供了足够的空间。对于传输,WCF支持TCP/IP、HTTP、 Microsoft消息队列 (MSMQ)、命名管道。WCF同样支持一系列WS-*规范(读作WS-星)协议,比如WS-Addressing, WS-ReliableMessaging (WS-RM), WS-AtomicTransaction (WS-AT), WS-Security, WS-SecureConversation, WS-Trust, 和WS-Federation。使用WCF的应用可以收发SOAP消息和朴素的旧XML消息。将来,微软会扩展WCF支持新的传输、协议、和消息结构。微软把WCF当做服务的IO系统。尽管将来无法确定,但是可以肯定地说 在可预见的将来微软不会使用其它技术取代WCF。许多产品象微软BizTalk Server和 Windows Live Server都兼容了WCF就是很好的证明。 这本书的目标就是是读者具备使用WCF设计、开发、和维护服务必要的知识。在我看来,这些任务超出了单独的WCF编程模型。成功需要理解服务背后的原则、WCF服务编程模型、和WCF底层架构。 这种组织并不是新的理念;它来自于过去的经验。当面向对象变的流行以后,从面向过程到面向对象转变的开发者和架构师需要了解远不止编程语言的语法。如果面向过程的开发者在不了解面向对象情况下开始使用现代的编程语言,他们只能使用新语言来创建面向过程的应用。虽然这些代码可以编译和运行,但是他们不可能使用面向对象语言的许多特性。这个就是我关于不能体会面向服务的优势而去学习WCF开发者的看法。 有些人认为这种方法是在浪费时间。换句换说,WCF团队已经从正常的编程模型里成功抽象出消息底层架构,这样就没有必要去学习底层的面向服务的模式,或者WCF如何实现这些模式。我完全不认同这个观点。这种抽象可以使得WCF团队更快地开发。但是它绝对没有完全解放开发者和架构师转到面向服务和理解WCF内部如何工作的重任。成功的接受象C++或者JAVA面向对象语言需要开发者从面向过程到面向对象转变他们的思维,相同的是,WCF的学习者也需要从面向组件到面向服务去提升自己的认知。如果我们转变失败,我们将会遇到许多缺少面向服务特征的风险。简单编写WCF程序和编译、运行只是万里长征的一小步。从长远来看理解WCF技术内幕和理解新的编程模式同等重要。 虽然我们不理解面向服务架构的特征,但是我们应该知道WCF的底层架构。换句话说,我们应该了解我们的平台。通用语言运行时(CLR)对于这种情况提供了支持性的事实。CLR团队干的很漂亮,他们从开发者那里抽象出垃圾收集器和JIT编译器。结果,在不懂或者很少知道这些子系统如何工作的情况下,我们就可以写出Microsoft .NET Framework应用程序。比如,迁移到C#的C++开发者,在不知道垃圾收集器的情况下,会本能地为每个声明的类型增加一个finalizer 。不知不觉地,这个开发者就会增加分配的时间和这些对象的声明周期。对于大多数C++开发者来说,简单说一句“不要这样做”是不够的。他们想知道为什么。技术上来说,为一个类型增加一个finalizer不是个bug,单身它确实是许多书籍和培训课程耗费许多时间要强调的东西。 同理,知道WCF底层架构可以避免在WCF上浪费不必要的精力,并且开发者可以调整他们的程序功能去满足业务需求。例如,在构造函数里改变绑定的可靠消息参数可以动态地调节各个终结点之间的消息编排。WCF团队已经抽象去这些功能并部分通过绑定暴露出来。这种消息编排有时是必要的,并且只有理解消息编排的开发者才能正确决定何时使用这个特性。进一步讲,想调试一个使用可靠消息的程序就必须掌握可靠消息的配置。 我希望此书可以在面向服务的关键概念、WCF服务编程模型、和WCF底层架构之间取得平衡。本书将给你一个了解WCF技术内幕的严谨视野,你可以设计、构建、调试、维护可扩展和可靠的分布式应用。。 1.面向的读者: 这本书适合那些想学习如何设计、编写、或者测试WCF分布式应用的架构师、开发人员、和测试人员。本书的前面一些章节对想学习更多或者评估WCF的业务决策者也有帮助。这本书不适合初级开发者或刚学习.NET Framework编程的开发者。倘若如此,我推荐你在阅读本书之前先阅读Jeffrey Richter的CLR via C# (Microsoft Press, 2006)或者Jeff Prosise的Microsoft .NET 编程(Microsoft Press, 2002)。如果你是熟悉一些分布式应用开发的阅读者,将会有所帮助。但是不是必须的。 2.本书结构: 本书分为3部分。第一部分,“介绍WCF”,描述了面向服务应用的原则,介绍了主要的WCF子系统,并且描述了这些子系统之间如何交互。第一部分包括一个关于面向服务的章节,另外一个是关于消息的概念,最后一个是关于WCF架构。从高层次来说,WCF由两个基本的层组成:通道层和服务模型层。第二部分,WCF通道层和第三部分WCF服务模型层分别描述了通道层和服务模型层。第二部分开始一章描述了消息类型,然后是通道和通道管理器。第三部分章节涵盖绑定、契约、分发器和客户端。第二和第三部分的每个章节剖析了各自相关主题的重要类型。并且提供了例子代码去阐述这些知识。总体来说,本书带领读者由基本概念到WCF核心机制,然后是WCF主要的编程接口(API)。换句话说,这本书作了对WCF彻底的剖析。 3.例子代码和系统需求: 所有本书讨论的例子都可以在本书附录的网址里下载: http://www.microsoft.com/mspress/companion/9780735623064 微软出版社在下列地址提供了书籍的后续支持服务: http://www.microsoft.com/learning/support/books/ 本书展示的代码是.NET Framework 3.0所写。安装.NET Framework 3.0及其需求在此网址: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043 4.问题和评论: 如果你有任何关于此书的不能在前面网站解决的评论,问题,或想法,请通过EMail发送到微软出版社: mspinput@microsoft.com或者通过信件直接与微软出版社《WCF技术内幕》的编辑:Redmond, WA 98052-6399。请注明哪个软件产品在之前的网站中未能提供支持服务。 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/318648,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux 小知识翻译 - 「i386」是什么?

i386是指 *CPU* 的种类,也可以指 *CPU* 的架构(architecture)。 现在的 CPU 一般都用 「Core 2 Duo」或者「Athlon」,「Xeon」,「Opteron」之类的比较酷的名称来称呼。 Linux诞生的时候,CPU作为一个重要的组件,一般用型号来称呼它。 i386的i代表 Intel。 Intel公司最先生产的,从4004开始的CPU系列中,386(80386)是第一个32位的CPU。 Linux刚开始就是作为386架构上兼容POSIX的内核来开发的。之后CPU的性能虽然越高,但是一直都兼容「386」架构的, 所以Linux上运行的各种程序,只要在「386」上编译之后,就可以在大部分的PC上运行了。 但是,「386」诞生于1985年,现在来看已经很古老了。 现在很多Linux发行版都是是针对「Pentium」之后的CPU的。 名称中包含「i586」的软件包就是针对「Pentium」架构的CPU的。 Linux中用 uname 命令看到的「i686」则是指「Pentium Pro」之后的架构。 可能我们会认为在「i586」或者「i686」架构CPU的机器上,使用针对「i586」或者「i686」编译的二进制应用程序会比兼容「386」架构的二进制应用程序更好。 但在实际使用中,在「i586」或者「i686」架构CPU的机器上,使用「i586」或者「i686」下编译的二进制应用程序并没有发现大幅度的性能提升。 因此,倒不如为了通用性,只在安装Linux时,选择和CPU架构相同的内核,而在Linux内核上运行的各种程序就可以直接使用在「i386」架构下编译好的软件包就行, 现在很多Linux发行版中的软件包就是这么做的,能够正常运行是最重要的。 本文转自wang_yb博客园博客,原文链接:http://www.cnblogs.com/wang_yb/p/3751387.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册