1.StarRocks Join Reorder 源码解析
2.译:一文科普 RocksDB 工作原理
3.wroxWrox的码下历史
4.什么是Wrox公司
5.StarRocks Docker 开发环境搭建指南
6.Wrox公司Wrox的历史
StarRocks Join Reorder 源码解析
欢迎来到 StarRocks 源码解析系列文章,深入揭示这款明星开源数据库产品的码下技术原理和实践细节。本期聚焦于 Join Reorder 算法,码下解析其如何寻找最优解。码下
多表 Join 是码下业务场景中的常见需求,执行效率与 Join 顺序密切相关。码下云控框架源码以 t1 Join t2 和 t2 Join t1 为例,码下展示 Join 满足交换律。码下进一步,码下三表 t1 Join t2 Join t3 可以按 t1 和 t2 先 Join,码下再与 t3 Join,码下或直接 t1 Join (t2 Join t3),码下体现 Join 的码下结合律。
上图直观展示了 t1 和 t2 Join 对结果集的码下显著缩小效果。优化器通过 Join Reorder 算法确定最佳执行顺序,码下以显著提升查询性能。算法优化执行顺序时需考虑空间搜索和时间限制,StarRocks 采用贪心和动态规划策略,生成单机最优计划,同时保留 DP 和贪心算法产生的多个候选方案,以适应分布式环境。
Join 交换结合律的实现基于 Cascades 优化框架,StarRocks 通过 Transform Rule 完成。JoinCommutativityRule 和 JoinAssociativityRule 分别负责 Join 的交换和结合,处理 Inner Join、Cross Join、Outer Join 和 SemiJoin 等不同类型。算法中,还需考虑 predicate 和 project 的重新分配,确保转换后的 Join 节点逻辑等价。
为了加速多表 Join 的处理,StarRocks 引入 MultiJoinNode,将多个 InnerJoin/CrossJoin 节点聚合,简化了 Join 重排的实现。在单机环境下,仅考虑左深树即可完成 Join 重排。当缺乏列统计信息时,StarRocks 选择生成左深树,优化了 Join 顺序的选择。
动态规划算法(DPsub)通过生成不同 Partition,递归计算最佳计划,实现对重复计算的规避。贪心算法则通过构建多层 Join,逐层选择 Row Count 最小的原子表进行 Join,生成 Join 顺序。为缓解贪心算法可能陷入局部最优的问题,StarRocks 生成多个 Join 顺序候选,确保在 Memo 中找到分布式的最优解。
总结,StarRocks 通过灵活运用 Join Reorder 算法,依据 Join 节点数量选择最优策略,确保在不同场景下产生高效执行计划。优化器在快速找到单机最优解的同时,考虑分布式环境,确保生成的计划在多个原子表的组合中,能够形成整体最优。
本期源码解析到此结束,希望你有所收获,并激发进一步探索的兴趣。欢迎在留言区分享你的思考或加入社区交流。下期将带你深入了解 StarRocks 统计信息和 Cost 估算,期待你的参与。
译:一文科普 RocksDB 工作原理
RocksDB 是一种可持久化的、内嵌型的淘白菜源码后台键值存储(KV 存储)。它旨在存储大量 key 及其对应的 value,常被用于构建倒排索引、文档数据库、SQL 数据库、缓存系统和消息代理等复杂系统。RocksDB 在 年从 Google 的 LevelDB 分叉而来,针对 SSD 服务器进行了优化,并目前由 Meta 开发和维护。它以 C++ 编写,支持 C、C++ 及其他语言(如 Rust、Go、Java)的嵌入。如果你熟悉 SQLite,可以认为 RocksDB 是一种内嵌式数据库,需依赖应用层实现特定功能。
RocksDB 使用日志结构合并树(LSM-Tree)作为核心数据结构,这是一种基于多个有序层级的树形数据结构,可用于应对写密集型工作负载。LSM-Tree 的顶层是 MemTable,一个内存缓冲区,用于缓存最近的写入数据。较低层级的数据存储在磁盘上,以 L0 层为例,存储从内存移动到磁盘的数据,其他层级存储更旧的数据。当某一层级的数据量过大时,会通过合并操作转移到下一层。
为了保证数据持久化,RocksDB 将所有更新写入磁盘上的预写日志(WAL)。当应用重启时,可以通过回放 WAL 来恢复 MemTable 的原始状态。WAL 是一个只允许追加的文件,包含一组更改记录序列,每个记录包含键值对、操作类型和校验和。
当 MemTable 变满时,会触发刷盘(Flush)操作,将不可变的 MemTable 内容持久化到磁盘,并丢弃原始 MemTable,同时开始写入新的 WAL 和 MemTable。MemTable 默认基于跳表实现,以提高查询和插入效率。RocksDB 支持各种压缩算法,如 Zlib、BZ2、Snappy、LZ4 或 ZSTD,用于存储 SST 文件。
SST 文件是 MemTable 刷盘后生成的,包含了有序的键值对。每个 SST 文件由数据部分和索引块组成,数据部分包含一系列有序的键值对,而索引块存储了数据块中最后一个键的偏移量,便于快速定位键值对。RocksDB 还支持布隆过滤器,用于快速检测某个键是否存在于 SST 文件中。
当数据库大小增加时,空间放大(存储数据所用实际空间与逻辑大小的比值)和读放大(用户执行一次逻辑读操作所需实际 IO 次数)的问题变得明显。为了解决这些问题,RocksDB 实现了 Compaction 机制,通过合并 SST 文件来降低空间和读放大,同时增加写放大。进程调度实验源码Leveled Compaction 是默认策略,它会在不同层级之间进行选择性合并,以优化空间使用。
RocksDB 的读路径相对简单,主要涉及从 MemTable 开始,下探到 L0 层,然后继续向更低层级查找,直到找到目标键或检查完整个树。合并(merge)操作允许用户在内存中对键值进行聚合操作,适用于需要对已有值进行少量更新的场景。然而,这种操作增加了读时的复杂性,因为读操作需要在多次调用 merge 函数后才能得到最终结果。
使用 RocksDB 需要针对特定工作负载进行配置调优,因为它提供了许多可配置项,但理解其内部原理并调整这些配置通常需要深入研究源代码。RocksDB 是构建高性能数据库模块的优秀选择,能够帮助开发者专注于上层业务逻辑实现,而无需从零开始设计底层存储系统。
wroxWrox的历史
成立于年的Wrox出版公司,源于英国伯明翰,公司名称谐音于英语中的“rocks”,象征着在编程领域中稳如磐石的地位。从创立之初,Wrox就坚持“程序员为程序员而著”的理念,专注于编程类图书的出版,取得了巨大的成功。随后,Wrox引入了独特的编辑方法,为每本书提供完整源代码下载支持,并设立勘误、E-mail支持及P2P论坛,为读者提供便利。读者在学习过程中,如遇错误,可向Wrox反馈,编辑确认后,错误将被更新至网站,供其他读者参考。对于学习中遇到的问题,读者可随时通过E-mail向Wrox公司提交,由客户支持人员、技术编辑和作者三个层面共同解决。Wrox图书封面采用暗红色基调,并配有主要作者的人头像,极具辨识度,深受广大读者喜爱。除了在图书内容、编辑方式和封面形式上的特色外,Wrox还以多种方式为程序员提供解决方案,成为一家提供全面信息服务的实体。 作为编程界的领航者,Wrox始终以专业、创新的态度引领行业发展。其独特的编辑方式、全面的源代码支持和贴心的读者服务,不仅提高了学习效率,也增强了读者的阅读体验。图书封面设计的创新与独特性,进一步巩固了Wrox在编程图书市场的地位。除了传统的图书出版,Wrox还通过多种途径为程序员提供解决方案,满足不同需求,源码360safe展现出其作为信息服务提供商的专业性和全面性。 综上所述,Wrox的历史是其成功的基础。从成立之初的专注编程图书出版,到引入独特编辑方法并提供全面的读者服务,再到图书封面设计的创新,都体现了Wrox对编程领域的深刻理解和对读者需求的精准把握。未来,Wrox将继续以专业、创新的态度引领编程领域的发展,为程序员提供更优质的服务和解决方案。扩展资料
Wrox公司是以“由程序员为程序员而著”为创作理念的著名出版公司。在这种理念的指导下,Wrox出版了几百本深受全世界程序员青睐的优秀编程类图书,内容涉及C、C++、PHP、Oracle、SQLServer、Java、.NET等各个主要的计算机程序开发领域,曾指引数以百万计的计算机编程爱好者迅速踏进编程殿堂,并帮助无数初中级开发人员成为开发高手。什么是Wrox公司
在法国,人们常说“告诉我你读什么书,我就能猜出你是哪种人。”在英国、美国、加拿大,乃至中国和印度,只要您捧着Wrox的红皮书,别人一定认为您是一个水平不错的计算机程序开发人员。
Wrox的图书之所以有这样的影响,主要源于其一贯坚持的“由程序员为程序员而著(Programmer to Programmer)”的创作理念。在这种理念的指导下,Wrox出版了几百本深受全世界程序员青睐的优秀编程类图书,内容涉及C、C++、PHP、Oracle、SQLServer、Java、.NET等各个主要的计算机程序开发领域,曾指引数以百万计的计算机编程爱好者迅速踏进编程殿堂,并帮助无数初中级开发人员成为开发高手。Wrox已经成为程序员心目中响当当的名字,其出版的编程类图书也已成为广大程序员的首选参考书。然而,至年年初,关于Wrox的坏消息一个接一个,先是其母公司 Peer Information集团宣布破产,接着是Wrox的兄弟公司Glasshaus和Friends of Ed宣布关闭各自的网站,最后Wrox在其网站上声明自己已经被其他公司收购,且很多书目在其网站上都无法找到……。仿佛Wrox已经“倒下”了,不会再有昔日的辉煌,也不会再创作出深受大家喜爱的专业计算机图书。我想,很多人(特别是广大关注Wrox的程序员们)都为之扼腕叹息;作为计算机从业人员的我,也是如此,好像自己身边一下子少了一个好伙伴似的。难道Wrox真的就这么“倒下”去了吗?
Wrox的历史
要看清Wrox的现状并预测和展示其未来,我们必须先详细了解Wrox的web下载源码下载历史,从其历史的积淀中找到依据。Wrox出版公司于年成立于英国伯明翰,据说名称来自英语“rocks”的谐音,意味着他们要做急流中的一块“岩石”。公司从成立之初,就秉承着“程序员为程序员而著”的创作思想,以出版编程类图书为主,取得了巨大的成功。后来又推出了独特的编辑方法,为每本书提供完整的源代码下载支持,并为读者提供勘误和E-mail支持以及P2P论坛。这样,每个读者可以自由下载所购图书的源代码,以利于学习。读者在学习某本书时,如果发现错误,可将信息反馈到Wrox公司,编辑确认之后会将它放在其网站上,其他读者就可以从勘误表中受益。对于读者在学习过程中遇到的问题,可随时通过E-mail向Wrox公司提交,问题会在客户支持人员、技术编辑和作者三个层面上得到解决。Wrox图书的封面都以暗红色为主基调,并带有主要作者的人头像,非常有特色,能够很快被广大读者所认知。除了在图书内容、编辑方式和封面形式上具有特色外,Wrox还以多种形式为程序员提供解决方案,成为一个实实在在的信息服务提供商。
Wrox的服务
Wrox的特色服务主要表现在三个方面:
首先就是前面提到的独特编辑方法,为读者提供源代码下载、勘误和E-mail等支持,大大提高了读者的学习效果;
第二个是Wrox为自己的合作伙伴提供优质高效的合作服务,合作伙伴只要与Wrox建立了合作意向,Wrox就可以最快的速度与他们签订合同、寄送样书和提供标准电子文档等,这样,他们就能够高效快速地将优秀的Wrox图书引入本地区市场,使本地读者受益;
Wrox的第三个服务,也是它最重要的服务,就是其信息服务。
Wrox的信息服务主要是通过其今日站点和P2P资源中心提供的。Wrox的今日站点是一个非常富有吸引力的技术站点,可使每个登录用户切实感受到“程序员为程序员而著”的基本思想。首先最值得称道的是ASPToday,年5月刚开通时就成为Web相关技术的焦点,它每日为读者提供一篇新的文章。开通后不到一年,该站点就发展到拥有几十万读者以及每月至少超过万的页面访问量。在年6月,Wrox又以相同的形式启动了C#Today,随着.NET技术的推出和广泛应用,该站点也获得了巨大的成功,成为全世界广大C#程序员(特别是英语国家)最重要的学习站点之一。Wrox的P2P资源中心(P2P.wrox.com)与今日站点有所不同,它提供自由在线订阅服务,其邮件列表包括ASP,Java,PHP,Perl,SQL和VB等,后来又增加了WAP和WML的讨论,您可以根据自己的需要定制自己的邮件列表。它于年月启动,同样为程序员这个团体提供实用的在线资源,每周在本中心会发布条新的信息。程序员们可以在这里自由的讨论,并可以与作者和编辑“面对面”的交流。一般来说,只要您在该站点的论坛上发布自己的问题,都会有不少作者、编辑或者其他懂行的专家给您回复。
注:Wrox的P2P资源中心,提供邮件列表、论坛、新闻组等多种内容和服务
Wrox的兴起
作为地方性小规模出版社,Wrox能在MacMillan、Pearson Education、Thomson、McGraw-Hill等众多巨人对手中间周旋,在IT出版的急流中占有一席之地,优质的图书内容和服务所促成的优质品牌是其最重要的砝码。程序员们只要想买书,首先想到的就是Wrox,就是带有作者人头像的红皮书。Wrox的兴起,还得益于年代末的网络风潮,该风潮把他们的ASP、PHP等系列教程推上了销售顶峰。至今网络开发人员们还津津乐道那个时期的Wrox图书。在IT技术在全世界全面升温时,Wrox紧跟全世界计算机程序设计领域的先进技术和应用方向,先后出版了多本关于VS、Java、Oracle、SQL Server、Open Source等方面的优秀图书。这些图书的作者都是资深的软件项目经理或经验丰富的高级程序员,他们不仅对软件开发有着独到的见解和丰富的经验,而且对应用软件开发平台的核心技术也有深刻的理解。更为可贵的是,他们真正了解程序员对图书内容的需求,也真正地按这种需求来设计这些图书的内容体系和写作风格!正是这种理解和这样的倾情奉献,使Wrox图书一直拥有良好的读者口碑,深受广大程序员的欢迎。那个时候,Wrox已经成为最重要的编程类图书出版商,其图书平均每本的销量一度突破部,销售业绩十分惊人。还有一点就是,Wrox图书不仅在英国和美国市场上红红火火,而且被世界上很多国家引进、出版,成为世界上很多程序员所青睐的重要出版商,这样它的影响范围也因此而越来越大。
~年,正是全世界IT行业的隆冬,计算机程序开发领域受到了很大的影响,但是Wrox紧跟Microsoft的.NET技术,先后推出一百多本与.NET和其他最新开发技术有关的图书,内容几乎涉及到所有的.NET技术和应用方面以及其他诸如Oracle 9i的新技术和工具,及时满足了广大计算机程序设计人员对最新.NET和相关新技术的学习需要。虽然后面也有很多公司(包括微软出版社)出版大量关于.NET方面图书,但都无法动摇Wrox在.NET图书领域的领头羊地位,这也使Wrox继续扩大自己在全世界计算机图书市场上的影响。
Wrox与中国
提及Wrox,不能不介绍一下Wrox与中国出版界的合作。早在几年以前,Wrox就已经与国内的电子工业出版社和机械工业出版社等几家出版社建立了合作关系,成功地打入中国计算机图书市场,并逐渐被中国程序员们所接受、喜爱。不过,Wrox在中国图书市场上的全面走红是从年开始的,这主要得益于它与清华大学出版社之间建立的捆绑式的全面合作关系。
为了扩大自己的红皮书在中国的影响,增强红皮书的中文版推广力度,Wrox公司从年开始与国内计算机图书的龙头老大清华大学出版社合作,并逐步建立起灵活的、全面的、捆绑式的合作关系。Wrox将自己的所有计算机图书优先授权清华大学出版社出版(已经授权的图书除外),并在第一时间向清华大学出版社提供新书目录、合同样书、图书的电子文档以及相关文件,还在源代码下载和技术讨论等方面提供支持,使清华大学出版社在不到两年的时间内就翻译出版了百余本Wrox红皮书,速度之快、规模之大、质量之高、内容之全面,令业界称叹。
在清华大学出版社翻译出版的红皮书中,最重要的是“乐思.NET和Oracle经典编程系列”,该系列由“高级编程”、“入门经典”、“.NET专题开发参考手册”、“软件项目开发系列”和“程序员参考手册”等7套丛书构成。这套系列书分别面向编程高手和初学者,从不同的角度对程序设计思想和理念进行了诠释,并通过丰富的实例,全面、深入地讲解了大量的开发方法和技巧,字里行间饱含着软件大师们清晰的程序设计思路和宝贵的经验,既能帮助资深开发人员深入探究软件开发机理,精通最新编程技术;又能帮助初学者熟练掌握编程方法,迅速踏进编程殿堂。在Wrox出版这套.NET和Oracle经典编程系列的过程中,清华大学出版社几乎是同步推出了它的中文版,为中国计算机用户快速了解、掌握并应用最新.NET和Oracle技术做出了很大的贡献。
注:在Wrox的红皮书中,《C#高级编程》与《VB.NET高级编程》是其在国内较为畅销的两本书
Wrox的挫折
然而,天有不测风云,当Wrox在.NET图书方面占尽风头的同时,其母公司美国Peer Information集团由于财政的原因于年3月号宣布破产。城门失火,殃及池鱼,该集团于3月号宣布Wrox Press关张,着手将其优质资产——Wrox卖出,以偿还集团债务。另外,该Peer Information集团还拥有Friends of Ed出版社、Glasshaus和Curlingstone两个出版业网站及多个开发人员网站,他们也都宣布停止运行。时至5月份,在Wrox Press的网站上正式发表此事,其相关站点也均受到影响,比如P2P已经停止运行,ASPToday站点上则有如下文字:“新内容的增添现已暂停,对于由此给您带来的不便深表歉意。”谁也没有想到,活力无限的Wrox因为母公司的问题而“倒下”。随后,Wrox在其网站的首页启事写道:“目前,您无疑已经听说过John Wiley收购Wrox最畅销书目、WORX品牌和worx.com网站的事情了。您可能想知道被收购后的Wrox是个什么样、何时能够恢复运作等?作为Wrox的新出版者,我们承诺在我们的长期和短期计划中都能让您与开发人员社区一同进取。这个网站过去一直是访问Wrox信息的站点,未来也将继续是。我们将尽快行动起来、让您所知道和喜爱的Wrox网站功能重新运行起来。另外,我们还保证将让风格一致(带有作者人头像的红色封面)的Wrox图书依然排在各个书店的书架上……。”5月日,Wrox给所有在其网站注册的会员一封信,在解答了一些疑问的同时告诉会员Wiley并不是收购Wrox的唯一一家公司,它只是获得了Wrox出版社的名字、品牌、商标、wrox.com网站的基础能力以及许多畅销书,但是并没有获得Friends of Ed、Glasshaus和Curlingstone的品牌。大家登录Apress(www.apress.com),会发现,Wrox剩下的余本书、FriendsofEd、Glasshaus和Curlingstone的品牌和一些合同被该出版公司收购了。
Wrox被收购之后,对全世界的合作伙伴和读者都造成了不小的影响。合作伙伴需要重新洽谈以后的版权事项,Wrox新书的出版要停滞一段时期,这些因素也使得合作伙伴和读者在一段时间内无法接触到Wrox的新书;另外,Wrox著名的P2P开发人员社区也暂时不能正常运营。虽然在Wrox的最新通告中保证新的网站会尽快建好,并且会比以往更好,但几个月的空白对许多开发人员们来说都产生了一定的冲击。还有,一些读者不能按照正常的方式获得原来Wrox公司提供的源代码下载、勘误和E-mail支持。
Wrox的未来
Wrox被收购了,原有的图书和资源也不再象以前那样完整,原有的版权合作都已经中止,优秀的ASPToday站点也被Apress买走,……。仿佛Wrox会就此“倒下”,其未来不再辉煌,其特色和精髓随“主”而去。我想,您、我以及所有钟爱红皮书的人们都不愿意相信和看到这样一个结果。我们有理由相信,面临变革和困难的Wrox还会“站立”起来,继续出版被广大程序员所喜爱的优秀图书。首先是Wrox的“程序员为程序员而著”创作思想、独特的编辑方法和它在全世界读者中的影响,这些都是Wrox永不褪色的精神内涵。
其次是收购Wrox的是东家是大名鼎鼎的John Wiley,该出版社历史极其悠久,始建于年,最开始它以出版美国文学巨匠(如欧文、爱伦•坡)的著作闻名,进入世纪后,则确立了其在科学和信息技术领域的出版领导者地位。现在每年出版大约余本图书或电子书,所涉及的领域包括科学、技术、医药类零售图书和各种教材以及期刊等。Wrox归属于John Wiley这个百年老字号,应该是值得广大喜爱Wrox红皮书的读者欣慰的。虽然,Wrox与John Wiley之间的磨合还有待时日,但是Wrox的优势和出版理念与John Wiley的优势和出版理念有机地结合起来之后,一定产生更大的能量,释放出更多的优秀作品。
第三是Wrox日渐恢复“元气”。现在,Wrox的各个方面都步入正常,图书出版业务已经开始积极开展,其网站也已经恢复正常运营状态,P2P.wrox.ocm站点的论坛又开始热闹起来。除了卖给Apress的红皮书由Apress(www.apress.com)提供源代码下载、勘误和E-mail支持外,其他书目的相关支持,都可以通过Wrox及其网站继续获得。另外,从新Wrox的几份声明中可以看出,他们干劲十足,还将延续原来的红皮书风格和出版理念继续为广大读者和程序员提供优质的图书产品以及各种信息和资源服务。另外,世界各地希望引进红皮书的出版机构现在可以重新与JohnWiley进行版权贸易,继续将程序员喜爱的红皮书引入本地区市场。当然,对于卖给Apress的红皮书,需要与Apress进行版权协商。
而言之,我们相信,如今的Wrox并不会因为易主而一蹶不振,就此“倒下”,在经历一次波折之后,它的胫骨会也许会更加坚固,它的内涵也许会更加充实,它的“程序员为程序员而著”的出版理念和优质图书还会影响全世界更多的不同肤色的人们。对于中国程序员来说,还会在书店的书架上看到红红的Wrox书。清华大学出版社第五事业部的总经理曹康博士说,“只要Wrox有好书出版,我们一定在第一时间将它介绍给国内读者。”我期待着,明天还会有一本本实用的优秀红皮书出现在我们面前!
StarRocks Docker 开发环境搭建指南
在构建StarRocks Docker开发环境时,首先需要了解StarRocks与Apache Doris之间的关联,因为它们有共同的起源。Doris的开发环境搭建相对简单,FE部分使用Java,通过IDEA进行开发环境配置,即使在Mac M1上也能运行。然而,BE部分由C++编写,编译thirdparty可能是个挑战,因此Docker成为统一开发环境的选择。
在选择Docker开发的利弊时,优点包括镜像的维护和时效性,通过GitHub仓库d/starrocks-docker-dev:main获取,其默认ssh配置为root用户,密码为xxx,端口为。Dockerfile允许修改ssh密码、端口和gcc-mold的clone地址。务必在本地设置~/.m2目录存储Maven下载的jar包和StarRocks源码目录,以保持代码和依赖的持久性。
要开始使用,执行sudo docker pull命令拉取镜像,启动时请确保不要改动映射到容器的特定路径,如/root/starrocks和/root/.m2。FE调试通过修改start_fe.sh脚本中的启动命令,启用IDEA的远程Debug功能,端口号为。BE调试则需替换start_be.sh脚本,开启tui模式的gdb,或者使用gdbserver结合Clion的Remote GDB功能。
关于调试,FE和BE的具体步骤已在上述脚本中给出。最后,对于镜像问题或改进意见,欢迎反馈。
Wrox公司Wrox的历史
为了理解Wrox现在的地位并展望其未来发展,我们需要深入研究其历史轨迹。Wrox出版公司诞生于年的英国伯明翰,其名源于英文"rocks",象征着在技术洪流中的稳固基石,即“程序员为程序员服务”的坚定信念。自创立以来,Wrox专注于出版编程类书籍,凭借这一独特定位取得了显著的成功。
Wrox的独特之处在于其创新的编辑策略,每本书都提供完整的源代码下载,旨在增强学习者的实际操作体验。他们还设立了勘误机制,读者在学习过程中发现的问题可以通过电子邮件反馈,公司会及时核实并在网站上公开更新,以便其他读者从中获益。同时,读者可以与客户支持、技术编辑和作者团队紧密互动,全方位解答学习疑问。
Wrox的图书设计也独树一帜,暗红色为主调的封面搭配主要作者的肖像,使其在市场上迅速树立了独特的品牌形象。不仅如此,Wrox以多元化的服务形式,不仅限于图书,更作为信息服务平台,全方位满足程序员的各种需求,实实在在地为行业贡献价值。