Book picks similar to
LSP: The Liskov Substitution Principle by Robert C. Martin
development
ebook
getgud
programming
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Gregor Hohpe - 2003
The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book.
War in the South Pacific: Out in the Boondocks, U.S. Marines Tell Their Stories
James Horan - 2015
We were halfway in when the Japanese machine guns got their range. Bullets slapped the water and whined as they ricocheted off the barge. Some of us ducked; some of us fell to the floor; and all of us prayed.”
Here, in heart-stopping human detail, are twenty-one personal accounts told by the men themselves. They are the stories of men who lived in hell and lived to tell of it. There is the story of Sgt. Albert Schmid who was awarded the Navy Cross for his single-handed destruction of a flanking attack while on Guadalcanal. The account of Private Nicolli who was literally blown into the air like a matchstick and then, with a piece of shrapnel in his chest, managed to help a wounded comrade to the rear. “The luckiest man in the Solomons,” Sgt. Koziar, tells of how he had his tonsils removed with the assistance of a Japanese sniper’s bullet. These are just three of the twenty-one fascinating stories that were told to Gerold Frank and James Horan just months after these marines had returned from active duty to recover from the conflict in the Pacific. The valor of these marines is astounding, as twenty-one-year-old Corporal Conroy states in the book, “I don’t suppose I shall ever be able to sum up all the bravery, the guts, the genuine, honest courage displayed by the boys out in Guadalcanal. They were afraid, and yet they took it. They had what it takes . . .” The battles of Gavutu-Tanambogo, Tulagi, Tenaru, Matanikau and Guadalcanal are all covered through these accounts which take the reader right to the epicenter of the Pacific conflict. “telling of living conditions on the beaches and in the jungles where they fought, offering an insider’s view of foxholes, food, snipers, mosquitos, boondocks, shrapnel, their injuries, and their pain.” Great Stories of World War II Gerold Frank and James Horan were professional authors who wrote down the stories of these marines shortly after they had returned from active duty. The War in the South Pacific was first published in 1943 as Out in the Boondocks. Frank went on to become a prominent ghostwriter and passed away in 1998. Horan, author of more than forty books, died in 1981.
Soft Skills: The Software Developer's Life Manual
John Z. Sonmez - 2014
In it, developer and life coach John Sonmez addresses a wide range of important "soft" topics, from career and productivity to personal finance and investing, and even fitness and relationships, all from a developer-centric viewpoint.For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers, staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help.Soft Skills: The software developer's life manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important "soft" subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun-to-read book invites you to dip in wherever you like. A Taking Action section at the end of each chapter shows you how to get quick results. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.What's InsideBoost your career by building a personal brandJohn's secret ten-step process for learning quicklyFitness advice to turn your geekiness to your advantageUnique strategies for investment and early retirement
Designing Data-Intensive Applications
Martin Kleppmann - 2015
Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architectures
Writing Idiomatic Python 2.7.3
Jeff Knupp - 2013
Each idiom comes with a detailed description, example code showing the "wrong" way to do it, and code for the idiomatic, "Pythonic" alternative. *This version of the book is for Python 2.7.3+. There is also a Python 3.3+ version available.* "Writing Idiomatic Python" contains the most common and important Python idioms in a format that maximizes identification and understanding. Each idiom is presented as a recommendation to write some commonly used piece of code. It is followed by an explanation of why the idiom is important. It also contains two code samples: the "Harmful" way to write it and the "Idiomatic" way. * The "Harmful" way helps you identify the idiom in your own code. * The "Idiomatic" way shows you how to easily translate that code into idiomatic Python. This book is perfect for you: * If you're coming to Python from another programming language * If you're learning Python as a first programming language * If you're looking to increase the readability, maintainability, and correctness of your Python code What is "Idiomatic" Python? Every programming language has its own idioms. Programming language idioms are nothing more than the generally accepted way of writing a certain piece of code. Consistently writing idiomatic code has a number of important benefits: * Others can read and understand your code easily * Others can maintain and enhance your code with minimal effort * Your code will contain fewer bugs * Your code will teach others to write correct code without any effort on your part
Hands-On Machine Learning with Scikit-Learn and TensorFlow
Aurélien Géron - 2017
Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
Aditya Y. Bhargava - 2015
The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:Write a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer insteadEach carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.
Linux Kernel Development
Robert Love - 2003
The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs. The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers. The third edition of Linux Kernel Development includes new and updated material throughout the book:An all-new chapter on kernel data structuresDetails on interrupt handlers and bottom halvesExtended coverage of virtual memory and memory allocationTips on debugging the Linux kernelIn-depth coverage of kernel synchronization and lockingUseful insight into submitting kernel patches and working with the Linux kernel community
APIs: A Strategy Guide
Daniel Jacobson - 2011
Salesforce.com (more than 50%) and Twitter (more than 75% fall into this category. Ebay gets more than 8 billion API calls a month. Facebook and Google, have dozens of APIs that enable both free services and e-commerce, get more than 5 billion API calls each day. Other companies like NetFlix have expanded their service of streaming movies over the the web to dozens of devices using API. At peak times, more than 20 percent of all traffic is accounted for by Netflix through its APIs. Companies like Sears and E-Trade are opening up their catalogs and other services to allow developers and entrepreneurs to create new marketing experiences.
Making an API work to create a new channel is not just a matter of technology. An API must be considered in terms of business strategy, marketing, and operations as well as the technical aspects of programming. This book, written by Greg Brail, CTO of Apigee, and Brian Mulloy, VP of Products, captures the knowledge of all these areas gained by Apigee, the leading company in supporting the rollout of high traffic APIs.
Beginning iPhone Development: Exploring the iPhone SDK
Dave Mark - 2008
You'll move on from there, mastering all the iPhone interface elements that you've come to know and love, such as buttons, switches, pickers, toolbars, sliders, etc.You'll master a variety of design patterns, from the simplest single view to complex hierarchical drill-downs. You'll master the art of table-building and learn how to save your data using the iPhone file system. You'll also learn how to save and retrieve your data using SQLite, iPhone's built-in database management system.You'll learn how to draw using Quartz 2D and OpenGL ES. You'll add multi-touch gesture support (pinches and swipes) to your applications, and work with the Camera, photo library, and Accelerometer. You'll master application preferences, learn how to localize your apps into other languages, and so much more.Apple's iPhone SDK, this book, and your imagination are all you'll need to start building your very own best-selling iPhone applications.
The Imposter's Handbook
Rob Conery - 2016
New languages, new frameworks, new ways of doing things - a constant struggle just to stay current in the industry. This left no time to learn the foundational concepts and skills that come with a degree in Computer Science.
Leading Lean Software Development: Results Are Not the Point
Mary Poppendieck - 2009
They go far beyond generic implementation guidelines, demonstrating exactly how to make lean work in real projects, environments, and companies.The Poppendiecks organize this book around the crucial concept of frames, the unspoken mental constructs that shape our perspectives and control our behavior in ways we rarely notice. For software leaders and team members, some frames lead to long-term failure, while others offer a strong foundation for success. Drawing on decades of experience, the authors present twenty-four frames that offer a coherent, complete framework for leading lean software development. You'll discover powerful new ways to act as competency leader, product champion, improvement mentor, front-line leader, and even visionary.Systems thinking: focusing on customers, bringing predictability to demand, and revamping policies that cause inefficiency Technical excellence: implementing low-dependency architectures, TDD, and evolutionary development processes, and promoting deeper developer expertise Reliable delivery: managing your biggest risks more effectively, and optimizing both workflow and schedules Relentless improvement: seeing problems, solving problems, sharing the knowledge Great people: finding and growing professionals with purpose, passion, persistence, and pride Aligned leaders: getting your entire leadership team on the same page From the world's number one experts in Lean software development, Leading Lean Software Development will be indispensable to everyone who wants to transform the promise of lean into reality--in enterprise IT and software companies alike.
Mobile App Marketing And Monetization: How To Promote Mobile Apps Like A Pro: Learn to promote and monetize your Android or iPhone app. Get hundreds of thousands of downloads & grow your app business
Alex Genadinik - 2014
I am an independent mobile app entrepreneur just like you, and I wrote this book to teach you all my strategies for how to: - Get 1,000,000+ downloads from mobile app store marketing - Save money by doing your own ASO (search engine optimization SEO for Android and the Apple App stores) better than most consultants you might consider hiring - Create an app marketing strategy outside the app stores by getting press coverage and learning how to promote an app using social media and social sharing - Make money with effective app store monetization to help you maximize your app revenue with subscriptions, in-app purchases, publishing effective ads, selling affiliate products and other strategies used by successful mobile app businesses - Create a successful mobile app business I wrote this book with all my heart and soul. The book draws on my own years of experience building top apps in my niche, promoting apps, making money with my apps, and coaching other app entrepreneurs on how they can make turn their mobile apps into successful businesses. You will be getting the best of all worlds. First, I have very deep hands on experience building and growing my own apps. Second, I have a wealth of experience coaching and observing other app entrepreneurs whose experiences and aspirations are probably very similar to yours. In this book you get all the insights from me making my own apps a success, and the insights of the cumulative experiences of the people I've coached. This is a very to the point book with many actionable tips and strategies for how to promote your mobile app (iPhone or Android), make money from your smartphone applications, and generally treat it as a real business. All suggestions in this book are based on my own experiences promoting my own problemio.com business apps which at the point of latest revision of this book have cumulative 1,000,000+ downloads, and insights of me having coached over 100 other app entrepreneurs. I am an independent mobile application developer and mobile application entrepreneur just like you. I am not a multi-million dollar app development studio or a big company. If you are an independent app developer just like me, you can use the mobile application marketing strategies that I outline in this book. Many of the strategies are simple and effective, and you can begin working on them as early as today. The book contains over 20 strategies to promote your apps. They all worked for my apps and they will help you grow your app to its highest potential. After growing your app, you will be able to make good money from your app, and achieve the goals that you have for your app business. Get the book now, and become a pro at app store marketing (app store SEO which is otherwise known as ASO), and start increasing your app downloads and revenue today!
High Performance JavaScript
Nicholas C. Zakas - 2010
The problem is that all of those lines of JavaScript code can slow down your apps. This book reveals techniques and strategies to help you eliminate performance bottlenecks during development. You'll learn how to improve execution time, downloading, interaction with the DOM, page life cycle, and more.
Yahoo! frontend engineer Nicholas C. Zakas and five other JavaScript experts -- Ross Harmes, Julien Lecomte, Steven Levithan, Stoyan Stefanov, and Matt Sweeney -- demonstrate optimal ways to load code onto a page, and offer programming tips to help your JavaScript run as efficiently and quickly as possible. You'll learn the best practices to build and deploy your files to a production environment, and tools that can help you find problems once your site goes live.
Identify problem code and use faster alternatives to accomplish the same task Improve scripts by learning how JavaScript stores and accesses data Implement JavaScript code so that it doesn't slow down interaction with the DOM Use optimization techniques to improve runtime performance Learn ways to ensure the UI is responsive at all times Achieve faster client-server communication Use a build system to minify files, and HTTP compression to deliver them to the browser
Windows 7 Inside Out
Ed Bott - 2009
It's all muscle and no fluff. Discover how the experts tackle Windows 7--and challenge yourself to new levels of mastery! Compare features and capabilities in each edition of Windows 7.Configure and customize your system with advanced setup options.Manage files, folders, and media libraries.Set up a wired or wireless network and manage shared resources.Administer accounts, passwords, and logons--and help control access to resources.Configure Internet Explorer 8 settings and security zones.Master security essentials to help protect against viruses, worms, and spyware.Troubleshoot errors and fine-tune performance.Automate routine maintenance with scripts and other tools. CD includes: Fully searchable eBookDownloadable gadgets and other tools for customizing Windows 7Insights direct from the product team on the official Windows 7 blogLinks to the latest security updates and products, demos, blogs, and user communities For customers who purchase an ebook version of this title, instructions for downloading the CD files can be found in the ebook.