计算机科学
Servlet&JSP技術手冊 豆瓣
作者: 林信良 碁峰 2018 - 5
Java權威技術顧問與專業講師 林信良(良葛格) 最新力作!
- Servlet 4.0新功能介紹
- 加強Web安全基本觀念
- 銜接Spring MVC、Spring Boot
- 提供Lab實作檔案
‧本書為作者數年來實務教學過程,匯整學員在課程中遇到的觀念、實作、應用或認證考試上等各種問題之學習經驗集合。
‧基於Servlet 4.0/Java SE 8重新改版,範例程式碼做了重新審閱與翻新。
‧介紹OWASP TOP 10、CWE、CVE,討論注入攻擊、會話安全、密碼管理、Java EE安全機制、CSRF等Web安全基本概念。
‧增加Spring、Spring MVC、Spring Boot入門介紹,認識Web MVC框架與快速開發工具之使用。
‧涵蓋中文處理、圖片驗證、自動登入、驗證過濾器、壓縮處理、線上檔案管理、郵件傳送等實用範例。
‧貫穿全書的「微網誌」綜合練習專案,可應用學得之技術,並使用重構來改進應用程式架構。
‧建議練習的範例提供實作檔案,更能掌握練習重點,IDE操作為本書內容之一,更能與實務結合。
Head First Kotlin 豆瓣
作者: Dawn Griffiths / David Griffiths O'Reilly Media 2019 - 3
What will you learn from this book?
Head First Kotlin is a complete introduction to coding in Kotlin. This hands-on book helps you learn the Kotlin language with a unique method that goes beyond syntax and how-to manuals and teaches you how to think like a great Kotlin developer. You’ll learn everything from language fundamentals to collections, generics, lambdas, and higher-order functions. Along the way, you’ll get to play with both object-oriented and functional programming. If you want to really understand Kotlin, this is the book for you.
Why does this book look so different?
Based on the latest research in cognitive science and learning theory, Head First Kotlin uses a visually rich format to engage your mind rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.
TCP/IP网络编程 豆瓣
윤성우의 열혈 TCP/IP 소켓 프로그래밍
7.3 (6 个评分) 作者: [韩] 尹圣雨 译者: 金国哲 人民邮电出版社 2014 - 7
第一部分主要介绍网络编程基础知识。此部分主要论述Windows和Linux平台网络编程必备基础知识,未过多涉及不同操作系统特性。
第二部分和第三部分与操作系统有关。第二部分主要是Linux相关内容,而第三部分主要是Windows相关内容。从事Windows编程的朋友浏览第二部分内容后,同样可以提高技艺。
第四部分对全书内容进行总结,包含了作者在自身经验基础上总结的学习建议,还介绍了网络编程经典书籍。
Domain-Driven Design 豆瓣
作者: Eric Evans Addison-Wesley Professional 2003 - 8
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers-it is a future classic." -Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." -Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling-and building-business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." -Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." -Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." -Kyle Brown, author of Enterprise Java(TM) Programming with IBM(r) WebSphere(r) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis-refactoring not just the code but the model underlying the code-in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include: * Getting all team members to speak the same language * Connecting model and implementation more deeply * Sharpening key distinctions in a model * Managing the lifecycle of a domain object * Writing domain code that is safe to combine in elaborate ways * Making complex code obvious and predictable * Formulating a domain vision statement * Distilling the core of a complex domain * Digging out implicit concepts needed in the model * Applying analysis patterns * Relating design patterns to the model * Maintaining model integrity in a large system * Dealing with coexisting models on the same project * Organizing systems with large-scale structures * Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.
Cloud Native 豆瓣
作者: Boris Scholl / Trent Swanson O'Reilly Media 2019 - 10
This comprehensive guide helps developers and architects understand current cloud-native technologies, with recommendations that explain when you need to use each one. Authors Boris Scholl, Trent Swanson, and Peter Jausovec describe the patterns you need for building cloud-native applications, and provide best practices for the most common tasks such as messaging, eventing, and DevOps.
This practical book also delivers an architectural blueprint for a modern cloud-native application. You’ll learn about microservices, containers, serverless computing, storage types, data considerations, portability, and the use of functions.
Differentiate between containers and functions, and understand when to use which technology
Leverage Service Meshes to move complexity, such as distributed tracing and mutual TLS handshakes, away from the developer
Use messaging and eventing as the glue for the cloud-native composite applications
Handle state-in distributed applications
Understand what makes your application portable
Grokking Bitcoin 豆瓣
作者: Kalle Rosenbaum Manning Publications 2019 - 4
Grokking Bitcoin explains why Bitcoin’s supporters trust it so deeply, and why you can too. This approachable book will introduce you to Bitcoin’s groundbreaking technology, which is the key to this world-changing system. This illustrated, easy-to-read guide prepares you for a new way of thinking with easy-to-follow diagrams and exercises. You’ll discover how Bitcoin mining works, how to accept Bitcoin, how to participate in the Bitcoin network, and how to set up a digital wallet.
Monolith to Microservices 豆瓣
作者: Sam Newman O'Reilly Media 2019
How do you detangle a monolithic system and migrate it to a microservices architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman’s extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.
With many illustrative examples, insightful migration patterns, and a bevy of practical advice to transition your monolith enterprise into a microservice operation, this practical guide covers multiple scenarios and strategies for a successful migration, from initial planning all the way through application and database decomposition. You’ll learn several tried and tested patterns and techniques that you can use as you migrate your existing architecture.
Ideal for organizations looking to transition to microservices, rather than rebuild
Helps companies determine whether to migrate, when to migrate, and where to begin
Addresses communication, integration, and the migration of legacy systems
Discusses multiple migration patterns and where they apply
Provides database migration examples, along with synchronization strategies
Explores application decomposition, including several architectural refactoring patterns
Delves into details of database decomposition, including the impact of breaking referential and transactional integrity, new failure modes, and more
2019年4月18日 在读
昨天去WePay的MySQL meetup才知道的Debezium...
Debezium is an open source project that provides a low latency data streaming platform for change data capture (CDC).
分布式 计算机科学 数据库 软件工程
Stream Processing with Heron 豆瓣
作者: Maosong Fu / Huijun Wu O'Reilly Media 2019 - 7
or data engineers and researchers new to stream processing, this practical book provides a professional reference that focuses on Apache Heron. Authors Huijun Wu and Maosong Fu from Twitter provide the basic knowledge you need to get started with this real-time processing engine. Learn how Heron serves as a general-purpose, modular, and extensible platform that you can use to support common real-time analytics use cases.
Through the course of this book, you’ll discover approaches for tackling challenges in stream processing systems and applications. You’ll also understand how to build streaming applications that can benefit from Heron’s robustness, high performance, adaptability to cloud environments, and ease of use.
With this book, you’ll examine:
A complete study path that shows you how to develop stream processing systems
Heron’s data model, system, topology submission process, architecture, and components
How to compile the Heron source code
Methods for migrating Apache Storm’s topology to Heron
Heron components, including state manager, scheduler, topology master, stream manager, instance, metrics manager, and metrics cache
Heron tools, including tracker, UI, and explorer
New features, such as health manager, Python topology, delivery semantics, and API server
Building Microservices 豆瓣
作者: Sam Newman O'Reilly Media 2014
Over the past 10 years, distributed systems have become more fine-grained. From the large multi-million line long monolithic applications, we are now seeing the benefits of smaller self-contained services. Heavy-weight, hard to change Service Oriented Architectures are not the answer; instead we are now seeing finer-grained systems consisting of collaborating microservices. Easier to change, deploy, and if required retire, organizations which are in the right position to take advantage of them are yielding significant benefits.
This book takes an holistic view of the things you need to be cognizant of in order to pull this off. It covers just enough understanding of technology, architecture, operations and organization to show you how to move towards finer-grained systems.
2019年4月12日 在读
before gRPC (gRPC 1.0 was released in August 2016 and has since grown to become one of the premier technical solutions for application communications.)
分布式 计算机科学 软件工程
Istio in Action 豆瓣
作者: Christian E. Posta / Sandeep Parikh Manning Publications 2020 - 4
Many enterprise applications intertwine code that defines an app’s behavior with code that defines its network communication and other non-functional concerns. The “service mesh” pattern, implemented by platforms like Istio, helps you push operational issues into the infrastructure so the application code is easier to understand, maintain, and adapt. Istio in Action teaches you how to implement a full-featured Istio-based service mesh to manage a microservices application. With the skills you learn in this comprehensive tutorial, you’ll be able to delegate the complex infrastructure of your cloud-native applications to Istio!
Istio in Action is a comprehensive guide to handling authentication, routing, retrying, load balancing, collecting data, security, and other common network-related tasks using the Istio service mesh platform. With author Christian Posta’s expert guidance, you’ll experiment with a basic service mesh as you explore the features of Envoy, Istio’s service proxy. With helpful diagrams and hands-on examples, you’ll learn how to use this open-source service mesh to control routing, secure container applications, and monitor network traffic. You’ll also bring Istio to legacy systems without changes to your applications and discover how to use Istio in a multi-cloud world with the data layer deployed on a cluster like Kubernetes.
Kotlin Cookbook 豆瓣
作者: Ken Kousen O'Reilly Media 2019 - 10
Kotlin is the fastest-growing "alternative" language on the JVM, and its use is becoming pervasive in Android, native applications, and other areas. Other books on Kotlin teach the language in the traditional manner. The appeal of a cookbook is that it lets you find exactly the techniques you need exactly when you need them. This book will be a daily reference for existing Kotlin developers and those programmers learning to apply the language to new areas.
Google BigQuery: The Definitive Guide 豆瓣
作者: Jordan Tigani / Valliappa Lakshmanan O'Reilly Media 2019 - 11
Work with petabyte-scale datasets while building a collaborative, agile workplace in the process. This practical book is the canonical reference to Google BigQuery, the query engine that lets you conduct interactive analysis of large datasets. BigQuery enables enterprises to efficiently store, query, ingest, and learn from their data in a convenient framework. With this book, you’ll examine how to analyze data at scale to derive insights from large datasets efficiently.
Valliappa Lakshmanan, tech lead on Google Cloud Platform, and Jordan Tigani, engineering director for the BigQuery team, provide best practices in modern data warehousing within an autoscaled, serverless, public cloud. Whether you want to explore parts of BigQuery you’re not familiar with, or prefer to focus on specific tasks, this reference is indispensable.
Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications 豆瓣
作者: Tomasz Nurkiewicz / Ben Christensen O'Reilly Media 2016 - 10
In today’s app-driven era, when programs are asynchronous and responsiveness is so vital, reactive programming can help you write code that’s more reliable, easier to scale, and better-performing. With this practical book, Java developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm.Authors Tomasz Nurkiewicz and Ben Christensen include concrete examples that use the RxJava library to solve real-world performance issues on Android devices as well as the server. You’ll learn how RxJava leverages parallelism and concurrency to help you solve today’s problems. This book also provides a preview of the upcoming 2.0 release.Write programs that react to multiple asynchronous sources of input without descending into "callback hell"Get to that aha! moment when you understand how to solve problems in the reactive wayCope with Observables that produce data too quickly to be consumedExplore strategies to debug and to test programs written in the reactive styleEfficiently exploit parallelism and concurrency in your programsLearn about the transition to RxJava version 2
Linux Observability with BPF 豆瓣
作者: David Calavera / Lorenzo Fontana O'Reilly Media 2019 - 11
Want to master the BPF virtual machine in the Linux Kernel? This practical guide shows you how to write applications that use BPF to observe and modify the kernel’s behavior on demand—without having prior knowledge of Linux Kernel development. David Calavera and Lorenzo Fontana introduce concepts to help systems engineers understand the BPF program lifecycle.
If you have knowledge about performance optimization, networking, and security, this book shows you how to inject code to monitor, trace, and observe events in the kernel in a secure way—without the need to recompile the kernel or reboot the system. You’ll find code examples in C, Go, and Python.
Cloud-Native Data Center Networking 豆瓣
作者: Dinesh G. Dutt O'Reilly Media 2019
The kinds of analysis and data sharing that takes place in modern business relies on fast, robust communications among computer systems. Network architects, network operators, and even the designers of distributed applications need to understand architecture and communications protocols in the data center. And best practices have changed radically over the past decade.
For the first time, you can find out what a modern data center looks like, thanks to this book by a leading network developer, Dinesh G. Dutt. This book offers both theory to ground your work and practical advice on topics, such as:
Connecting systems in modern data centers
Multitenancy
How to automate common practices
Proper monitoring
Choices in routing protocols
Programming AWS Lambda 豆瓣
O'Reilly Media 2020 - 3
Most AWS Lambda books and introductions focus on Javascript and Python, but this book is written explicitly for Java developers who want to embrace the world of Serverless through AWS Lambda—without having to learn a new language on top of it. Serverless is a revolution in how we build and deploy software. It drastically reduces the complexity of building and operating applications, and reduces time-to-market and costs. AWS Lambda is Amazon’s Serverless "Functions-as-a-Service" platform, and is the core of most Serverless efforts ongoing today.
Kubernetes: Up and Running, 2nd Edition 豆瓣
作者: Brendan Burns / Joe Beda O'Reilly Media 2019 - 10
Kubernetes radically changes the way applications are built and deployed in the cloud. Since its introduction in 2014, this container orchestrator has become one of the largest and most popular open source projects in the world. The updated edition of this practical book shows developers and ops personnel how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency.
Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and beyond—explain how this system fits into the lifecycle of a distributed application. You’ll learn how to use tools and APIs to automate scalable distributed systems, whether it’s for online services, machine learning applications, or a cluster of Raspberry Pi computers.
Create a simple cluster to learn how Kubernetes works
Dive into the details of deploying an application using Kubernetes
Learn specialized objects in Kubernetes, such as DaemonSets, jobs, ConfigMaps, and secrets
Explore deployments that tie together the lifecycle of a complete application
Get practical examples of how to develop and deploy real-world applications in Kubernetes
Stream Processing with Apache Spark 豆瓣
作者: Gerard Maas / Francois Garillot O'Reilly Media 2018 - 7
To build analytics tools that provide faster insights, knowing how to process data in real time is a must, and moving from batch processing to stream processing is absolutely required. Fortunately, the Spark in-memory framework/platform for processing data has added an extension devoted to fault-tolerant stream processing: Spark Streaming.
If you're familiar with Apache Spark and want to learn how to implement it for streaming jobs, this practical book is a must.
Understand how Spark Streaming fits in the big picture
Learn core concepts such as Spark RDDs, Spark Streaming clusters, and the fundamentals of a DStream
Discover how to create a robust deployment
Dive into streaming algorithmics
Learn how to tune, measure, and monitor Spark Streaming
Stream Processing with Apache Flink: Fundamentals, Implementation, and Operation of Streaming Applications 豆瓣
作者: Fabian Hueske / Vasiliki Kalavri O'Reilly Media 2018 - 7
Get started with Apache Flink, the open source framework that enables you to process streaming data—such as user interactions, sensor data, and machine logs—as it arrives. With this practical guide, you’ll learn how to use Apache Flink’s stream processing APIs to implement, continuously run, and maintain real-world applications.Authors Fabian Hueske, one of Flink’s creators, and Vasia Kalavri, a core contributor to Flink’s graph processing API (Gelly), explains the fundamental concepts of parallel stream processing and shows you how streaming analytics differs from traditional batch data analysis. Software engineers, data engineers, and system administrators will learn the basics of Flink’s DataStream API, including the structure and components of a common Flink streaming application.Solve real-world problems with Apache Flink’s DataStream APISet up an environment for developing stream processing applications for FlinkDesign streaming applications and migrate periodic batch workloads to continuous streaming workloadsLearn about windowed operations that process groups of recordsIngest data streams into a DataStream application and emit a result stream into different storage systemsImplement stateful and custom operators common in stream processing applicationsOperate, maintain, and update continuously running Flink streaming applicationsExplore several deployment options, including the setup of highly available installations
Coders at Work 豆瓣 Goodreads
作者: [美] Peter Seibel Apress 2009 - 9
Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth