Book picks similar to
Hands-On Deep Learning Algorithms with Python: Master deep learning algorithms with extensive math by implementing them using TensorFlow by Sudharsan Ravichandiran
coding
python
software-engineering
tb-datascience
Facts and Fallacies of Software Engineering
Robert L. Glass - 2002
Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative "newbies." In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about. There's a problem with those facts-and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading
Facts and Fallacies of Software Engineering
, you may experience moments of "Oh, yes, I had forgotten that," alongside some "Is that really true?" thoughts. The author of this book doesn't shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called "the premier curmudgeon of software practice." These facts and fallacies are fundamental to the software building field-forget or neglect them at your peril!
The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming
Benjamin J. Evans - 2012
New JVM-based languages like Groovy, Scala, and Clojure are redefining what it means to be a Java developer. The core Standard and Enterprise APIs now co-exist with a large and growing body of open source technologies. Multicore processors, concurrency, and massive data stores require new patterns and approaches to development. And with Java 7 due to release in 2011, there's still more to absorb.The Well-Grounded Java Developer is a unique guide written for developers with a solid grasp of Java fundamentals. It provides a fresh, practical look at new Java 7 features along with the array of ancillary technologies that a working developer will use in building the next generation of business software.
Writing Secure Code
Michael Howard - 2001
You need to assume it will run in the most hostile environments imaginable -- and design, code, and test accordingly. Writing Secure Code, Second Edition shows you how. This edition draws on the lessons learned and taught throughout Microsoft during the firm s massive 2002 Windows Security Push. It s a huge upgrade to the respected First Edition, with new coverage across the board. Michael Howard and David LeBlanc first help you define what security means to your customers -- and implement a three-pronged strategy for securing design, defaults, and deployment. There s especially useful coverage of threat modeling -- decomposing your application, identifying threats, ranking them, and mitigating them. Then, it s on to in-depth coverage of today s key security issues from the developer s standpoint. Everyone knows buffer overruns are bad: Here s a full chapter on avoiding them. You ll learn how to establish appropriate access controls and default to running with least privilege. There s detailed coverage of overcoming attacks on cryptography (for example, avoiding poor random numbers and bit-flipping attacks). You ll learn countermeasures for virtually every form of user input attack, from malicious database updates to cross-site scripting. We ve just scratched the surface: There are authoritative techniques for securing sockets and RPC, protecting against DOS attacks, building safer .NET applications, reviewing and testing code, adding privacy features, and even writing high-quality security documentation. Following these techniques won t just improve security -- it ll dramatically improve robustness and reliability, too. Bill CamardaBill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.
The Passionate Programmer
Chad Fowler - 2009
In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
Michael T. Nygard - 2007
Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.
Modern Vim: Craft Your Development Environment with Vim 8 and Neovim
Drew Neil - 2018
Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you’ll be a better developer.A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in more than 30 hands-on tips.Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup—or on-demand when you need them—with Vim 8’s new package support. Save and restore sessions, enabling you to quit Vim and restart again while preserving your window layout and undo history. Use Neovim as a drop-in replacement for Vim—it supports all of the features Vim 8 offers and more, including an integrated terminal that lets you quickly perform interactive commands. And if you enjoy using tmux and Vim together, you’ll love Neovim’s terminal emulator, which lets you run an interactive shell in a buffer. The terminal buffers fit naturally with Vim’s split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim’s terminal buffers are scriptable.With Vim at the core of your development environment, you’ll become a faster and more efficient developer.
Grit to Great: How Perseverance, Passion, and Pluck Take You from Ordinary to Extraordinary
Linda Kaplan Thaler - 2015
And that is the incredible power of grit, perseverance, perspiration, determination, and sheer stick-to-it-tiveness. We are all dazzled by the notion that there are some people who get ahead, who reach the corner office because they are simply gifted, or well-connected, or both. But research shows that we far overvalue talent and intellectual ability in our culture. The fact is, so many people get ahead--even the gifted ones--because they worked incredibly hard, put in the thousands of hours of practice and extra sweat equity, and made their own luck. And Linda and Robin should know--they are two girls from the Bronx who had no special advantages or privileges and rose up through their own hard work and relentless drive to succeed to the top of their highly competitive profession. In a book illustrated with a cornucopia of stories and the latest research on success, the authors reveal the strategies that helped them, and countless others, succeed at the highest levels in their careers and professions, and in their personal lives. They talk about the guts--the courage--necessary to take on tough challenges and not give up at the first sign of difficulty. They discuss the essential quality of resiliency. Everyone suffers setbacks in their careers and in life. The key, however, is to pick yourself up and bounce back. Drawing on the latest research in positive psychology, they discuss why optimists do better in school, work, and on the playing field--and how to reset that optimistic set point. They talk about industriousness, the notion that Malcolm Gladwell popularized with the 10,000-hour rule in his book Outliers. Creativity theorist Mihaly Csikszentmihalyi believes it takes a minimum of 10 years for one's true creative potential to be realized. And the authors explore the concept of tenacity--the quality that allows us to remain focused and avoid distraction in order to get the job done--an increasingly difficult task in today's fragmented, cluttered, high-tech, connected world.Written in the same short, concise format as The Power of Nice and leavened with the natural humor that characterizes Linda's and Robin's lives--and books--Grit to Great is destined to be the book everyone in business needs.
Just for Fun: The Story of an Accidental Revolutionary
Linus Torvalds - 2001
Then he wrote a groundbreaking operating system and distributed it via the Internet -- for free. Today Torvalds is an international folk hero. And his creation LINUX is used by over 12 million people as well as by companies such as IBM.Now, in a narrative that zips along with the speed of e-mail, Torvalds gives a history of his renegade software while candidly revealing the quirky mind of a genius. The result is an engrossing portrayal of a man with a revolutionary vision, who challenges our values and may change our world.
Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility
Simon Brown - 2012
A developer-friendly, practical and pragmatic guide to lightweight software architecture, technical leadership and the balance with agility.This book is a practical, pragmatic and lightweight guide to software architecture, specifically aimed at developers, and focused around the software architecture role and process.
The Soul of a New Machine
Tracy Kidder - 1981
Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomputer in just one year. His thoughtful, prescient book, The Soul of a New Machine, tells stories of 35-year-old "veteran" engineers hiring recent college graduates and encouraging them to work harder and faster on complex and difficult projects, exploiting the youngsters' ignorance of normal scheduling processes while engendering a new kind of work ethic.These days, we are used to the "total commitment" philosophy of managing technical creation, but Kidder was surprised and even a little alarmed at the obsessions and compulsions he found. From in-house political struggles to workers being permitted to tease management to marathon 24-hour work sessions, The Soul of a New Machine explores concepts that already seem familiar, even old-hat, less than 20 years later. Kidder plainly admires his subjects; while he admits to hopeless confusion about their work, he finds their dedication heroic. The reader wonders, though, what will become of it all, now and in the future. —Rob Lightner
Birth of the Chess Queen: A History
Marilyn Yalom - 2004
It wasn't until chess became a popular pastime for European royals during the Middle Ages that the queen was born and was gradually empowered to become the king's fierce warrior and protector.Birth of the Chess Queen examines the five centuries between the chess queen's timid emergence in the early days of the Holy Roman Empire to her elevation during the reign of Isabel of Castile. Marilyn Yalom, inspired by a handful of surviving medieval chess queens, traces their origin and spread from Spain, Italy, and Germany to France, England, Scandinavia, and Russia. In a lively and engaging historical investigation, Yalom draws parallels between the rise of the chess queen and the ascent of female sovereigns in Europe, presenting a layered, fascinating history of medieval courts and internal struggles for power.
5 lb. Book of GRE Practice Problems
Manhattan Prep - 2013
Book of GRE Practice Problems has been updated to offer more advanced online resources and hundreds of new questions. It contains over 1,800 practice problems covering every topic tested on the GRE, making it an essential resource for students at any level.Manhattan Prep’s 5 lb. Book of GRE Practice Problems is an essential resource for students of any level who are preparing for the GRE revised General Exam. Recently updated to more closely reflect the nuances of the GRE exam, this book offers more than 1,800 questions across 33 chapters and online to provide students with comprehensive practice. Developed by our expert instructors, the problems in this book are sensibly grouped into practice sets and mirror those found on the GRE in content, form, and style. Students can build fundamental skills in math and verbal through targeted practice while easy-to-follow explanations and step-by-step applications help cement their understanding of the concepts tested on the GRE. In addition, students can take their practice to the next level with online question banks that provide realistic, computer-based practice to better simulate the GRE test-taking experience. Purchase of this book includes access to an online video introduction, online banks of GRE practice problems, and the GRE Challenge Problem Archive.
RabbitMQ in Action: Distributed Messaging for Everyone
Alvaro Videla - 2012
It starts by explaining how message queuing works, its history, and how RabbitMQ fits in. Then it shows you real-world examples you can apply to your own scalability and interoperability challenges.About the TechnologyThere's a virtual switchboard at the core of most large applications where messages race between servers, programs, and services. RabbitMQ is an efficient and easy-to-deploy queue that handles this message traffic effortlessly in all situations, from web startups to massive enterprise systems.About the BookRabbitMQ in Action teaches you to build and manage scalable applications in multiple languages using the RabbitMQ messaging server. It's a snap to get started. You'll learn how message queuing works and how RabbitMQ fits in. Then, you'll explore practical scalability and interoperability issues through many examples. By the end, you'll know how to make Rabbit run like a well-oiled machine in a 24 x 7 x 365 environment.Written for developers familiar with Python, PHP, Java, .NET, or any other modern programming language. No RabbitMQ experience required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book. What's InsideLearn fundamental messaging design patternsUse patterns for on-demand scalabilityGlue a PHP frontend to a backend written in anythingImplement a PubSub-alerting service in 30 minutes flatConfigure RabbitMQ's built-in clusteringMonitor, manage, extend, and tune RabbitMQ============================================Table of ContentsPulling RabbitMQ out of the hatUnderstanding messagingRunning and administering RabbitSolving problems with Rabbit: coding and patternsClustering and dealing with failureWriting code that survives failureWarrens and Shovels: failover and replicationAdministering RabbitMQ from the WebControlling Rabbit with the REST APIMonitoring: Houston, we have a problemSupercharging and securing your RabbitSmart Rabbits: extending RabbitMQ
The Mythical Man-Month: Essays on Software Engineering
Frederick P. Brooks Jr. - 1975
With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 45 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."