Concurrent Programming in Java(tm): Design Principles and Pattern


Doug Lea - 1996
    Thread programming enables developers to design applications that are more responsive to user demands, faster, and more easily controlled. This book offers comprehensive coverage of this vital aspect of the Java language. The book is completely up-to-date with the new thread model that is now incorporated into the most recent version of the Java Virtual Machine. All Java programmers interested in doing concurrent programming must understand these new concepts. The book approaches the topic from a design pattern point of view. It introduces and summarizes Java's concurrency support, shows readers how to initiate, control, and coordinate concurrent activities, and offers numerous recipe-like techniques for designing and implementing Java structures that solve common concurrent programming challenges. Specifically, the book presents important strategies for avoiding the inconsistencies that can crop up in multi-threaded programs, addresses the concept of liveness-how to ensure that all threads in use are kept active simultaneously, examines state-dependent action, and demonstrates effective methods for handling user requests in a multi-threaded environment.

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman


Dave Hoover - 2009
    To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft. Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career. Solutions to some common obstacles that this book explores in-depth include:Burned out at work? "Nurture Your Passion" by finding a pet project to rediscover the joy of problem solving.Feeling overwhelmed by new information? Re-explore familiar territory by building something you've built before, then use "Retreat into Competence" to move forward again.Stuck in your learning? Seek a team of experienced and talented developers with whom you can "Be the Worst" for a while. "Brilliant stuff! Reading this book was like being in a time machine that pulled me back to those key learning moments in my career as a professional software developer and, instead of having to learn best practices the hard way, I had a guru sitting on my shoulder guiding me every step towards master craftsmanship. I'll certainly be recommending this book to clients. I wish I had this book 14 years ago!" -Russ Miles, CEO, OpenCredo

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World


Pedro Domingos - 2015
    In The Master Algorithm, Pedro Domingos lifts the veil to give us a peek inside the learning machines that power Google, Amazon, and your smartphone. He assembles a blueprint for the future universal learner--the Master Algorithm--and discusses what it will mean for business, science, and society. If data-ism is today's philosophy, this book is its bible.

Refactoring: Improving the Design of Existing Code


Martin Fowler - 1999
    Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

Fintech in a Flash: Financial Technology Made Easy


Agustin Rubini - 2017
    There are more than 5000 fintech startups operating, and 50 of them have already reached a billion-dollar valuation. The scope of this market goes way beyond online payments. Financial technology promises to change the way we manage our money online, disrupting the landscape of the financial services industry is being disrupted. Understanding its many facets is the key to navigating the complex nuances of this global industry.Fintech in a Flash is your comprehensive guide to the future of banking and insurance. The book aims to break down the key concepts in a way that will help you understand every aspect so that you can take advantage of new technologies. Inside you’ll find an array of hot topics such as online payments, crowdfunding, challenger banks, online insurance, digital lending, big data, and digital commerce. It will make you rethink the way that you manage your money online, and even find new ways of making online payments. Comprehensive, organized, and detailed, this guide is your go-to source for everything you need to confidently navigate the ever-changing scene of this booming industry.If you decide to buy this book now, you'll get: Easy to understand explanations of the 14 main areas of fintech The author's view on the future of each of these areas Insight into the main fintech hubs in the world Insight into the so called Unicorns, the fintech firms that have made it past a $1 billion valuation More than 100 upcoming fintech companies to watch About the Author: Agustín Rubini is an argentinean-born economist, master in international business, and Director at Banking Innovations. Passionate about building the future of financial services, Agustín spends much of his time speaking and writing on financial technology and advising businesses on innovation and digital transformation. He is a specialist in driving changes in top class banks that want to lead in how customers manage their money online. Tags: fintech, financial technology, financial services technology, money online, online payment, online insurance, insurtech, investing online, wealth management online, wealthtech, regtech, cybercrime, digital lending, digital commerce, ecommerce, e-commerce. Get started immediately Download now and take the first step on your very own road to mastering fintech. Scroll to the top of the page and hit the buy button.

Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications


Kevin Hoffman - 2016
    Cloud computing is rapidly transitioning from a niche technology embraced by startups and tech-forward companies to the foundation upon which enterprise systems build their future. In order to compete in today’s marketplace, organizations large and small are embracing cloud architectures and practices.

Site Reliability Engineering: How Google Runs Production Systems


Betsy Beyer - 2016
    So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use

Sinatra: Up and Running


Alan Harris - 2011
    With this concise book, you will quickly gain working knowledge of Sinatra and its minimalist approach to building both standalone and modular web applications. Sinatra serves as a lightweight wrapper around Rack middleware, with syntax that maps closely to functions exposed by HTTP verbs, which makes it ideal for web services and APIs. If you have experience building applications with Ruby, you’ll quickly learn language fundamentals and see under-the-hood techniques, with the help of several practical examples. Then you’ll get hands-on experience with Sinatra by building your own blog engine. Learn Sinatra’s core concepts, and get started by building a simple application Create views, manage sessions, and work with Sinatra route definitions Become familiar with the language’s internals, and take a closer look at Rack Use different subclass methods for building flexible and robust architectures Put Sinatra to work: build a blog that takes advantage of service hooks provided by the GitHub API

CompTIA Security+: Get Certified Get Ahead: SY0-401 Study Guide


Darril Gibson - 2014
    The SY0-301 version covers every aspect of the SY0-301 exam, and includes the same elements readers raved about in the previous version. Each of the eleven chapters presents topics in an easy to understand manner and includes real-world examples of security principles in action. The author uses many of the same analogies and explanations he’s honed in the classroom that have helped hundreds of students master the Security+ content. You’ll understand the important and relevant security topics for the Security+ exam, without being overloaded with unnecessary details. Additionally, each chapter includes a comprehensive review section to help you focus on what’s important. Over 400 realistic practice test questions with in-depth explanations will help you test your comprehension and readiness for the exam. The book includes a 100 question pre-test, a 100 question post-test, and practice test questions at the end of every chapter. Each practice test question includes a detailed explanation to help you understand the content and the reasoning behind the question. You’ll be ready to take and pass the exam the first time you take it. If you plan to pursue any of the advanced security certifications, this guide will also help you lay a solid foundation of security knowledge. Learn this material, and you’ll be a step ahead for other exams. This SY0-401 study guide is for any IT or security professional interested in advancing in their field, and a must read for anyone striving to master the basics of IT systems security. The author also posts related blogs to supplement the book at http://blogs.getcertifiedgetahead.com/.

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "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.

Test-Driven Development: By Example


Kent Beck - 2002
    While some fear is healthy (often viewed as a conscience that tells programmers to be careful!), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work.

Cyber Seed Quadrilogy: The Complete Box Set


Craig A. Falconer - 2019
    Others send it straight to hell... Grab all four books in the thrilling CYBER SEED QUADRILOGY for one low price, in this great value 1200-page sci-fi box set! When Kurt Jacobs imagines the ultimate gadget — one capable of replacing phones, credit cards, keys and TVs — the idea consumes his every waking moment. When the Sycamore corporation buys into Kurt's creation and The Seed becomes a reality, his every dream comes true. Power like this has never existed. The launch of The Seed, a powerful microchip implant that turns each user's palm into a fully functioning trackpad and effectively turns them into walking computers, breaks all sales records. Alongside the augmented reality UltraLenses which act as the system's display, it immediately renders all handheld devices obsolete. But amid all of the awe and optimism, there is far more going on behind the curtain than Kurt or anyone else could ever have predicted... Cyber Seed Quadrilogy imaginatively chronicles The Seed's colossal impact on a society unprepared to handle it, from the high hopes of launch day to the breakneck descent into corporate dystopia. Remarkable apps and groundbreaking features that make life easier and more enjoyable... unprecedented surveillance and privacy abuses in a world where your eyes can no longer be trusted... both sides of a timely story unfold in this 1200-page complete series box set. And Kurt Jacobs, the guilt-wracked genius responsible for it all, may well be the only man who can do anything to put things right... This box set contains all four books in the CYBER SEED QUADRILOGY, previously published individually as: 1) Sycamore 2) Sycamore 2 3) Sycamore X (10-story collection) 4) Sycamore XL (12-story collection) Imaginative new technologies, devious conspiracies, and a whole lot of action-packed drama... dive in to the thrilling CYBER SEED QUADRILOGY today! (From the author of the blockbuster international bestseller, Not Alone)

The Tyndale Code


Daniel Patterson - 2015
    Some will die for it... But only one will unlock its secret...When covert artifact recovery specialist, Zack Cole is hired to retrieve a priceless sixteenth-century Bible, he unwittingly takes on the most dangerous mission of his life.What seemed like a straightforward recovery job turns deadly when the holy text is the target of a bloody heist, and an innocent missionary is brutally murdered. Zack soon finds himself caught up in a centuries-old mystery, and his only clue is a cryptic code, believed to have been written by William Tyndale himself.Wanted by the National Police and pursued by a merciless assassin, Zack races against time through the jungles of Guatemala to unlock the secrets of the Tyndale Code. A non-stop adventure is set in motion, intertwined with mystery, intrigue, and a conspiracy that stretches back to the time of King Henry VIII.Can Zack recover the Bible and prove his innocence before it's too late? Or will unlocking its secrets prove too formidable for even Zack Cole?

The Girl From Lisbon: Doña Gracia, a Historical Novel About one of the Most Powerful Women in the 16th Century


Guiora Barak - 2020
    She was the wealthiest woman in Europe. But only few knew the secret she was hiding. She was a normal little girl, daughter of the King of Portugal’s personal physician, and for many years she was convinced that she, just like all the people in her immediate surroundings, was a Catholic.Until one day, on her twelfth birthday, Doña Gracia was led down to the basement of their home by her mother where the family’s deepest secret was revealed to her—"We are Jews.”Doña Gracia did not remain indifferent to this shocking news and little by little, she began to investigate and become familiar with her Jewish roots.The Little Girl from Lisbon Is the wonderful story of Doña Gracia, one of the greatest women Europe has known, about her personal struggle in a world controlled by men, her escape from the persecution of the Inquisition, and all the nobility who coveted her wealth, while turning into a leader who was truly admired and followed by her people.

Pro JavaScript Design Patterns


Ross Harmes - 2007
    But there is more power waiting to be unlockedJavaScript is capable of full objectoriented capabilities, and by applyingobject-oriented principles, best practices, and design patterns to your code, you can make it more powerful, more efficient, and easier to work with alone or as part of a team.With Pro JavaScript Design Patterns, you'll start with the basics of objectoriented programming in JavaScript applicable to design patterns, including making JavaScript more expressive, inheritance, encapsulation, information hiding, and more. With that covered, you can kickstart your JavaScript development in the second part of the book, where you'll find detail on how to implement and take advantage of several design patterns in JavaScript, including composites, decorators, facades, adapters, and many more.Each chapter is packed with realworld examples of how the design patterns are best used and expert advice on writing better code, as well as what to watch out for. Along the way you'll discover how to create your own libraries and APIs for even more efficient coding.Master the basics of objectoriented programming in JavaScript, as they apply to design patterns Apply design patterns to your kickstart your JavaScript development Work through several realworld examples What you'll learn How to apply objectoriented programming techniques in JavaScript How to take advantage of inheritance, interfaces, and encapsulation and information hiding to kickstart your JavaScript development How to implement several design patterns in your JavaScript projects, including factory, facade, bridge, composite, adapter, decorator, flyweight, proxy, command, observer, and chain of responsibility How to make your code easier to manage in a team environment, as well as on your own How to create your own libraries and APIs Who this book is forThis book will be an invaluable learning tool for any experienced JavaScript developer. Table of Contents Expressive JavaScript Interfaces Encapsulation and Information Hiding Inheritance The Singleton Pattern Chaining The Factory Pattern The Bridge Pattern The Composite Pattern The Facade Pattern The Adapter Pattern The Decorator Pattern The Flyweight Pattern The Proxy Pattern The Observer Pattern The Command Pattern The Chain of Responsibility Pattern