• Java并发编程实战
    本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合Java程序开发人员阅读。 本书作者都是Java Community Process JSR 166专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。Brian Goetz有20多年的软件咨询行业经验,并著有至少75篇关于Java开发的文章。Tim Peierls是“现代多处理器”的典范,他在BoxPop.biz、唱片艺术和戏剧表演方面也颇有研究。Joseph Bowbeer是一个Java ME专家,他对并发编程的兴趣始于Apollo计算机时代。David Holmes是《The Java Programming Language》一书的合著者,任职于Sun公司。Joshua Bloch是Google公司的首席Java架构师,《Effective Java》一书的作者,并参与著作了《Java Puzzlers》。Doug Lea是《Concurrent Programming》一书的作者,纽约州立大学Oswego分校的计算机科学教授。
  • 淘宝技术这十年
    有熠熠生辉的技术变迁 ,有饱含智慧的产品演进,有叱咤风云的牛人生涯,有令人捧腹的圈内趣事。 无论你是程序员、架构师、产品经理还是运维人员,甚至只要你身处IT圈,这本书都有无穷无尽的看点,让你大呼过瘾之余,深受启发,进而陷入沉思,不由开始细数自己所在公司的技术发展历程…… 《淘宝技术这十年》内容简介:任何网站的发展都不是一蹴而就的。它在发展过程中会遇到各种各样的问题和业务带来的压力。正是这些问题和压力推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。如今淘宝网的流量排名已是全球前15名、国内前3名,其系统服务器也从一台发展到万台以上。 《淘宝技术这十年》从工程师的角度讲述淘宝这个超大规模互联网系统的成长历程,及其所有主动和被动的技术变革的前因后果。书中有幕后故事、产品经验、架构演进、技术启蒙,也有大牛成长、业内八卦、失败案例、励志故事。《淘宝技术这十年》文风流畅,有技术人员特有的幽默感;内容积极正面,有现场感,全部是作者亲身经历。 子柳:本名赵超,2004年加入淘宝网,取花名子柳。历任开发工程师、项目经理、产品经理、测试经理,2009年随着淘宝系统的大规模重构和人才的迅速扩张,创办了“淘宝技术大学”,培养内外部工程师众多,人称“校长”。2011年将培训中的内容写成文章发表,遂一发不可收拾,总结了淘宝十年的技术之路,乃成本书。
  • 项目百态
    本书介绍了软件项目行为的86个模式,基本上概括了软件项目生命周期的方方面面,揭示了软件项目最常遇到的困境,反省了行业内种种不良习惯和做法。六位作者均来自一个开发咨询的管理团队Atlantic Systems Guild,长期以来为众多软件公司的经理人提供专业的咨询服务。他们浓缩了成百上千个项目管理的案例,通过本书中一个个模式展现出来。每个模式都以生动形象的插图开始,另外还加上一些趣闻和真实事件。 本书适合所有软件项目的管理者阅读,也适合有志于成为软件管理者的人参考。 这些组织里面的人不会从战略层次上思考问题,只是按照紧迫程度来完成工作。除非“忙乱指数”非常高,否则它通常都会被忽略——尽管它很有可能会带来显著的长期优势。人们会一直对其不闻不问,直到它突然(绝对出乎意料地)变得非常紧迫。“玩的就是心跳”分子相信最好的工作方式不是先谋而后动,而是竭力追赶时间。 Tom Demarco 软件工程领域权威,软件团队管理圣经《人件》作者,IEEE会士,1986年Warnier奖得主,1999年Stevens奖得主,大西洋系统行会负责人。曾任职贝尔实验室,是结构化分析与设计的创始人。 Peter Hruschka 嵌入式实时系统设计和分析专家,用于系统架构文档的ARC42模板开发者,大西洋系统行会负责人。 Tim Lister 软件团队管理圣经《人件》作者,风险管理理论的狂热爱好者。大西洋系统行会负责人。 金明,Thought Works高级咨询师,Info Q资深编辑,SCJP,系统分析师。在企业应用开发领域拥有多年项目开发经验,专注于敏捷原则与方法的理论实践和指导咨询。是敏捷和精益方法与思想的坚定追随者。目前主要关注于大型企业的敏捷咨询、Java/EE、Scala、REST、Web Service以及HTML5。多次在软件开发者社区的活动中发表演讲。译著有《软件开发沉思录——Thought Works文集》、《卓有成效的程序员》等。同时在《程序员》和Info Q上发表过多篇论文。
  • Axure RP8实战手册
    本书是一本介绍使用Axure RP 8.0软件制作Web和App原型的图书,通过对基础操作和实战案例的讲解,帮助读者深入了解如何进行Web与App平台的产品原型开发以及各种交互效果的实现。 本书共分为2篇。第1篇包含56个基础操作,读者通过对这一部分内容的学习,就能够基本掌握软件的使用方法。在之后的内容如果遇到陌生的操作问题,可以查阅本篇内容来解决。第2篇包含110个实战案例,读者可以在这一部分的内容中,学习掌握原型的开发技巧,以及获得各种实战案例的参考。 本书不但适合零基础的读者由浅至深地学习,而且适合具备一定基础的读者做为实战项目的参考,也可以作为学校相关课程配套教材,或互联网公司、高新科技企业等新人内训的教程。 小楼一夜听春语,www.iaxure.com网站创始人;网络视频课程《AxureRP7.0从入门到精通》作者;多贝网特邀讲师;网易云课堂合作讲师;百度传课合作讲师;E良师益友网特邀合作讲师;中软培训特邀讲师。
  • 编程之美
    这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。本书的内容分为下面几个部分: (1)游戏之乐:从游戏和其他有趣问题出发,化繁为简,分析总结。 (2)数字之魅:编程的过程实际上就是和数字及字符打交道的过程。这一部分收集了一些好玩的对数字进行处理的题目。 (3)结构之法:汇集了常见的对字符串、链表、队列,以及树等进行操作的题目。 (4)数学之趣:列举了一些不需要写具体程序的数学问题,锻炼读者的抽象思维能力。 书中还讲述了面试的各种小故事,告诉读者微软需要什么样的技术人才,重视什么样的能力,如何甄别人才。回答读者关于IT业面试,招聘,职业发展的疑问。这本书的很多题目会出现在IT 行业的各种笔试、面试中,但这本书更深层的意义在于引导读者思考,和读者共享思考之乐,编程之美。 《编程之美》由下面几位作者协同完成,如果把这本书的写作比作一个软件项目,它有下面的各个阶段,每个阶段则有不同的目标和角色。 1. 构想阶段:邹欣。 2. 计划阶段:邹欣、刘铁锋、莫瑜。 3. 实现阶段/里程碑(一):上述全部人员,加上李东、张晓、陈远、高霖(负责封面设计)。 4. 实现阶段/里程碑(二):上述全部人员,加上梁举、胡睿。 5. 稳定阶段:上述全部人员,加上博文视点的编辑们。 6. 发布阶段:邹欣、刘铁锋和博文视点的编辑们。
  • 程序员的三门课
    我们都有一个共同的梦想——成为更棒的程序员,但是如何做?如何学习和精进自己的技术?如何做业务分析和架构设计?如何做技术管理?本书就广大程序员都很关注的问题提供一些思路和方法。 本书内容分为三大篇:第1篇介绍程序员的技能成长路径,介绍如何通过学习来加速成长,并讲解非常重要的业务分析和设计知识;第2篇详细介绍了架构修炼中的必备架构思维模式、架构设计过程,还通过真实案例剖析了架构设计的核心要素及关注点,以及如何通过架构设计来把控质量和风险;第3篇总结了做技术管理的诀窍,揭秘如何从准备做技术管理到实现自我管理再到实现团队管理。 本书适用于即将或者正在从事IT相关开发工作,却不知如何提升自己,希望通过适当的学习方法精进技术的初级程序员;也适用于具备一定架构设计经验,想进一步系统化提升架构设计能力的中级程序员;以及有一定技术积累,想从事技术管理却不知如何着手的高级程序员。 于君泽,某互联网公司技术专家,在分布式系统架构设计、高并发系统设计、领域建模、研发管理、内建质量等方面有较多心得,乐于交流和分享,曾创立技术社群“中生代技术”。维护技术公众号“技术琐话”。 李伟山,现任某人工智能公司技术总监,江湖人称“山哥”,在分布式系统架构设计、高并发系统设计、系统稳定性保障等方面积累了丰富的实践经验,擅于利用数据分析解决实际问题,对新技术有浓厚的兴趣,乐于分享。个人技术公众号:技术方舟。 张洪亮,网名Hollis,知名技术博主,个人技术博客(http://www.hollischuang.com)阅读量达数百万。90后程序员,2015年毕业于哈尔滨理工大学,现任某互联网公司技术专家,专注于Java研发、技术架构及程序员的成长等方面。个人技术公众号:Hollis。 彭首長,熊猫优福联合创始人,聚美优品前技术总监。在团队管理、领域设计、分布式架构、高并发设计、IoT架构等方面有丰富的实践经验,擅长行业分析,对新技术高度敏感,热衷于技术实践且乐于分享。 刘朋,高绩效团队教练,教练型领导,中生代技术社区联合创始人,北京大学理学学士、工学硕士。现就职于中国移动(成都)5G产业研究院,曾任诺基亚通信(成都)有限公司研发经理。在敏捷实践、高绩效团队教练技术、技术团队管理等方面积累了丰富的经验,并总结出一套特别适合程序员突破自身瓶颈、快速成长的领导力模式
  • 七周七并发模型
    《七周七并发模型》介绍了七种并发模型,行文通俗易懂,有数量充足且设计精良的样例来帮助读者理解。Paul将引领你学习多种非常不同的技术,从一些社交平台使用的Lambda架构,到现在世界上许多**最可靠的电信系统使用的actor模型。你还会学到职业高手使用的编程语言,从Java到Clojure,再到基于Erlang的闪亮新秀Elixir。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。 借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型,基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。 ——方腾飞,并发编程网站长 当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我更是有一些激动。其中的大部分章节都深入浅出地描述了某一个并发编程模型的概念、特点、机理以及适用领域。加之有大量相应实现语言的示例呈现,更是让这些模型活灵活现、极易理解。另外,各章之间的衔接会使你更容易把这些知识融会贯通。总之,并发编程乃现代编程技能的必备,而这本书则为并发编程的首选佳作。 ——郝林(@特价萝卜),《Go并发编程实战》作者 几十年来,专业的程序员一直在用线程与锁模型来进行并行和并发,但这仅仅是《七周七并发模型》介绍的众多模型之一。当今主流语言都竞相支持不同的并发模型,例如CSP模型、数据并行、函数式编程和Clojure的unified succession model。如果你想紧跟时代,我推荐阅读本书。 ——Stuart Halloway,Cognitect联合创始人 并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。本书延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。 本书适合所有想了解并发的程序员。 Paul Butcher 资深程序员,涉猎广泛,从单片机编码到高级声明式编程无所不精。Paul是一位少年天才,8岁时就已经开始在8位机上编写游戏。最近几年他开始痴迷于赛车,想要去叫板汉密尔顿。除本书外,还著有在亚马逊获得全五星好评的《软件调试修炼之道》。 黄炎 现供职于上海爱可生,从事数据库高可用软件开发。简介和代码一样简洁。
  • Spring微服务实战
    本书以一个名为EagleEye的项目为主线,介绍云、微服务等概念以及Spring Boot和Spring Cloud等诸多Spring项目,并介绍如何将EagleEye项目一步一步地从单体架构重构成微服务架构,进而将这个项目拆分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成/持续部署,并最终自动部署到云环境(Amazon)中。针对在重构过程中遇到的各种微服务开发会面临的典型问题(包括开发、测试和运维等问题),本书介绍了解决这些问题的核心模式,以及在实战中如何选择特定Spring Cloud子项目或其他工具解决这些问题。 本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。对于希望使用微服务构建基于云的应用程序,以及希望了解如何将基于微服务的应用部署到云上的开发人员,本书也具有很好的学习参考价值。 约翰·卡内尔(John Carnell)是一位知名云工程师,拥有20年的Java开发经验。他大部分时间都在使用AWS平台构建基于电话的微服务。他的日常工作主要是设计和构建跨Java、Clojure和Go等多种技术平台的微服务。
  • gRPC与云原生应用开发:以Go和Java为例
    本书全面介绍了gRPC,可作为终极指南,用于gRPC应用程序开发周期的各个阶段。本书的主要内容包括gRPC的基础知识;gRPC与常规进程间通信技术的区别;gRPC的通信模式、底层原理,以及一些非常重要的高级特性,如拦截器、截止时间、错误处理、元数据、多路复用、负载均衡等。此外,本书还介绍了如何使用Go语言和Java语言构建gRPC应用程序并使其在生产环境中运行,也讲解了gRPC如何与Docker和Kubernetes协作,以及其生态系统中的其他内容。本书广泛使用Go语言和Java语言编写代码示例,帮助读者掌握每个概念。 卡山·因德拉西里(Kasun Indrasiri) WSO2公司集成架构总监,Apache PMC成员,拥有丰富的微服务架构经验,组建了旧金山湾区的大型微服务Meetup活动,另著有Microservices for the Enterprise。 丹尼什·库鲁普(Danesh Kuruppu) WSO2公司高级软件工程师,曾带领团队将gRPC集成到开源云原生编程语言Ballerina中,在gRPC社区中十分活跃。
  • 上瘾
    ·为什么我们会习惯性地点开某个App? ·这种使用习惯到底是如何养成的? ·为什么有些产品能让我们戒不掉,而其他的产品却不行? ·是否有什么秘诀能让用户对你的产品形成使用习惯,欲罢不能? 《上瘾》揭示了很多让用户形成使用习惯,甚至“上瘾”的互联网产品服务背后的基本设计原理,告诉你怎样打造一款让用户欲罢不能的产品。作者根据自己多年的研究、咨询及实际经验,提出了新颖而实用的“上瘾模型”(Hook Model),即通过四个方面来养成用户的使用习惯。通过连续的“上瘾循环”,让用户成为“回头客”,进而实现循环消费的终极目标,而不是依赖高昂的广告投入或泛滥粗暴的信息传播。 尼尔·埃亚尔(Nir Eyal),曾在斯坦福大学商学院与Hasso Plattner研究所任教,并有多篇技术、心理学及商业文章在《哈佛商业评论》《大西洋月刊》、TechCrunch网站和《今日心理学》等媒体上发表。 瑞安·胡佛(Ryan Hoover),曾任撰稿人,长期为《福布斯》《快公司》等媒体撰稿,Product Hunt公司创始人。