Book picks similar to
Writing for Software Developers by Philip Kiely
writing
nonfiction
education
computer-science
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
Web Development and Design Foundations with Html5
Terry Felke-Morris - 2012
A well-rounded balance of hard skills (HTML5, XHTML, CSS, JavaScript) and soft skills (Web Design, e-commerce, Web site promotion strategies) presents everything beginning Web developers need to know to build and promote successful Web sites.
A Software Engineer Learns HTML5, JavaScript and jQuery
Dane Cameron - 2013
Due to their monopoly position in web browsers, and the fact web browsers have spread from PCs to phones, tablets and TVs; their status will continue to grow and grow. Despite their success, many software engineers are apprehensive about JavaScript and HTML. This apprehensiveness is not completely unfounded; both JavaScript and HTML were rushed in their early years, and driven by commercial rather than engineering interests. As a result, many dubious features crept into these languages. Due to backwards compatibility concerns, most of these features still remain. In addition, many software engineers have used these languages without ever learning them. JavaScript and HTML have low barriers to entry, and this, along with their similarity to other languages, led many software engineers to conclude that there really was nothing much to learn. If you have not used JavaScript and HTML for a number of years, or if you are a programmer or software engineer using other languages, you may be surprised at what they now offer. Browser based web applications are now capable of matching or exceeding the sophistication and scale of traditional desktop applications. In order to create complex web applications however, it is essential to learn these languages. This book takes the point of view that once you have a strong grasp of the fundamentals, the details will take care of themselves. It will not present you with long lists of APIs, or intricate details of every attribute, these can be found in reference manuals. It will focus on the details of each language that are fundamental to understanding how they work. This book will guide you through the process of developing a web application using HTML5, Javascript, jQuery and CSS. It contains the following content: 1. An introduction to the HTML5 markup language, and how it differs from HTML4 and XHTML. 2. An introduction to JavaScript, including an in-depth look at its use of objects and functions, along with the design patterns that support the development of robust web applications. 3. An introduction to jQuery selection, traversal, manipulation and events. 4. An in-depth look at the Web storage and IndexedDB APIs for client side data storage. 5. A guide to implementing offline web applications with the Application Cache API. 6. An introduction to the ways JavaScript can interact with the users file-system using the FileReader API. 7. The use of Web Workers in a web application to execute algorithms on background threads. 8. An introduction to AJAX, and the jQuery API supporting AJAX. 9. An introduction to Server Sent Events and Web Sockets. All subjects are introduced in the context of a sample web application. This book is intended for anyone with at least a superficial knowledge of HTML and programming.
The Principles of Product Development Flow: Second Generation Lean Product Development
Donald G. Reinertsen - 2009
He explains why invisible and unmanaged queues are the underlying root cause of poor product development performance. He shows why these queues form and how they undermine the speed, quality, and efficiency in product development.
Computer Architecture: A Quantitative Approach
John L. Hennessy - 2006
Today, Intel and other semiconductor firms are abandoning the single fast processor model in favor of multi-core microprocessors--chips that combine two or more processors in a single package. In the fourth edition of "Computer Architecture," the authors focus on this historic shift, increasing their coverage of multiprocessors and exploring the most effective ways of achieving parallelism as the key to unlocking the power of multiple processor architectures. Additionally, the new edition has expanded and updated coverage of design topics beyond processor performance, including power, reliability, availability, and dependability. CD System Requirements"PDF Viewer"The CD material includes PDF documents that you can read with a PDF viewer such as Adobe, Acrobat or Adobe Reader. Recent versions of Adobe Reader for some platforms are included on the CD. "HTML Browser"The navigation framework on this CD is delivered in HTML and JavaScript. It is recommended that you install the latest version of your favorite HTML browser to view this CD. The content has been verified under Windows XP with the following browsers: Internet Explorer 6.0, Firefox 1.5; under Mac OS X (Panther) with the following browsers: Internet Explorer 5.2, Firefox 1.0.6, Safari 1.3; and under Mandriva Linux 2006 with the following browsers: Firefox 1.0.6, Konqueror 3.4.2, Mozilla 1.7.11. The content is designed to be viewed in a browser window that is at least 720 pixels wide. You may find the content does not display well if your display is not set to at least 1024x768 pixel resolution. "Operating System"This CD can be used under any operating system that includes an HTML browser and a PDF viewer. This includes Windows, Mac OS, and most Linux and Unix systems. Increased coverage on achieving parallelism with multiprocessors. Case studies of latest technology from industry including the Sun Niagara Multiprocessor, AMD Opteron, and Pentium 4. Three review appendices, included in the printed volume, review the basic and intermediate principles the main text relies upon. Eight reference appendices, collected on the CD, cover a range of topics including specific architectures, embedded systems, application specific processors--some guest authored by subject experts.
Introduction to the Theory of Computation
Michael Sipser - 1996
Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field. His innovative "proof idea" sections explain profound concepts in plain English. The new edition incorporates many improvements students and professors have suggested over the years, and offers updated, classroom-tested problem sets at the end of each chapter.
Amazon Alexa: Ultimate User Guide 2017 for Amazon Echo, Echo Dot & Amazon Tap +500 Secret Easter Eggs included.
Quentin Delaoutre - 2016
Thanks to it, you will be able to UNLEASH the full power of your Amazon Echo, Echo Dot and Amazon Tap. AND you will find my email address at the end of the book, so feel free to ask me any questions you might have about Alexa. What is Amazon Echo Dot and Alexa Let me help you figure out what this this exciting technology is all about, so you can enjoy it too! Amazon Echo is a speaker connected to the internet that you can control with your voice. Alexa is the built-in vocal assistant of Amazon Echo. Alexa lets you play music, control your lights, ask for the weather and more. What you will learn: Step-by-step instructions on how to set up your device Get to know about all the things that Amazon Echo can do Get customized News, Traffic and Weather updates Connect your Google Calendar to your device Everything you need to know about Alexa in a single HIGH-QUALITY book Stream music from your favorite audio sources: iPhone, Android, Spotify, Amazon Music, Pandora, iHeartRadio, TuneIn Get ACTIONABLE ADVICE on how to build your smart home Control your lights, TV and room temperature with your voice Explore the complete list of Alexa-enabled devices organized per category Have fun by playing with 500 Easter Eggs Learn How IFTTT and Yonomi help you to better control your home Get to know the 20 most useful Alexa Skills Learn how Amazon Echo was created Written By An Alexa Lover For (future) Alexa Lovers How to troubleshoot your Echo Learn how Alexa works behind the scenes Explore the future of Alexa And much, much more! This is the only Amazon Echo book you will ever need Get your copy today! This book will save you hours figuring out how Echo works. I am sharing all my hacks so you can go from Beginner to Expert in an hour. I wish that upon reading this book, you will realise this exciting times that we live in. That you will see all the possibilities that the Amazon Echo has to offer. The time for innovation is now, and it is up to you to enjoy it now. Through the book, you will come to see Echo for what it is and what it can be. I am exploring in depth numerous topics such as Playing Music, Building your Smart Home, Using Alexa Skills and more. This book will help save you many hours trying to figure out what the Echo can do. Bonus Sign up to my free weekly newsletter to get the best new Alexa Skills in your inbox. Table of Contents 1. Preface 2. The Genesis of Amazon Echo 3. How Does Alexa Work? 4.
The Art of Unit Testing: With Examples in .NET
Roy Osherove - 2009
It guides you step by step from simple tests to tests that are maintainable, readable, and trustworthy. It covers advanced subjects like mocks, stubs, and frameworks such as Typemock Isolator and Rhino Mocks. And you'll learn about advanced test patterns and organization, working with legacy code and even untestable code. The book discusses tools you need when testing databases and other technologies. It's written for .NET developers but others will also benefit from this book.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.Table of ContentsThe basics of unit testingA first unit testUsing stubs to break dependenciesInteraction testing using mock objectsIsolation (mock object) frameworksTest hierarchies and organizationThe pillars of good testsIntegrating unit testing into the organizationWorking with legacy code
PHP and MySQL Web Development (Developer's Library)
Luke Welling - 2003
This book helps you develop websites by integrating and implementing the PHP scripting language and the MySQL database system. It contains real-world examples and working sample projects that give you a foundation to start building your own websites.
The Non-Designer's Design Book
Robin P. Williams - 2003
Not to worry: This book is the one place you can turn to find quick, non-intimidating, excellent design help. In The Non-Designer's Design Book, 2nd Edition, best-selling author Robin Williams turns her attention to the basic principles of good design and typography. All you have to do is follow her clearly explained concepts, and you'll begin producing more sophisticated, professional, and interesting pages immediately. Humor-infused, jargon-free prose interspersed with design exercises, quizzes, illustrations, and dozens of examples make learning a snap—which is just what audiences have come to expect from this best-selling author.
Growing Object-Oriented Software, Guided by Tests
Steve Freeman - 2009
This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency
Lean Software Development: An Agile Toolkit
Mary Poppendieck - 2003
Along the way, they introduce 22 thinking tools that can help you customize the right agile practices for any environment.Better, cheaper, faster software development. You can have all three-if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development.Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: decide as late as possible by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability How to see the whole-even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people-so you can achieve breakthrough quality, savings, speed, and business alignment.
Becoming a Technical Leader: An Organic Problem-Solving Approach
Gerald M. Weinberg - 1986
The book emphasizes that we all contain the ingredients for leadership, though some elements are better developed than others. "Anyone can improve as a leader simply by building the strength of our weakest elements, " author Gerald M. Weinberg writes. "Mr. Universe doesn't have more muscles than I do, just better developed ones."On one level, the book is an extremely down-to-earth, how-to guide. On a second, it is a set of parables, full of analogies that stick in the mind -- the art of management taught through stories about pinball, tinkertoys, and electric blankets. On yet another level, this is a book about the philosophy and psychology of managing technical projects. On every level, the author brings these entertaining and enlightening elements together to teach you the essentials of leadership.You'll learn how to-- master your fear of becoming a leader-- be creative in solving problems-- motivate people while maintaining quality-- gain organizational power-- plan personal change.-- Whether you manage people, are managed by people, or just want to change the way you interact with others, this book is about success. How to plan it, how to make it happen -- Becoming a Technical Leader shows you how to do it!
The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
Edmond Lau - 2015
I'm going to share that mindset with you — along with hundreds of actionable techniques and proven habits — so you can shortcut those years.Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with hundreds of techniques to accelerate your career.For two years, I embarked on a quest seeking an answer to one question:How do the most effective engineers make their efforts, their teams, and their careers more successful?I interviewed and collected stories from engineering VPs, directors, managers, and other leaders at today's top software companies: established, household names like Google, Facebook, Twitter, and LinkedIn; rapidly growing mid-sized companies like Dropbox, Square, Box, Airbnb, and Etsy; and startups like Reddit, Stripe, Instagram, and Lyft.These leaders shared stories about the most valuable insights they've learned and the most common and costly mistakes that they've seen engineers — sometimes themselves — make.This is just a small sampling of the hard questions I posed to them:- What engineering qualities correlate with future success?- What have you done that has paid off the highest returns?- What separates the most effective engineers you've worked with from everyone else?- What's the most valuable lesson your team has learned in the past year?- What advice do you give to new engineers on your team? Everyone's story is different, but many of the lessons share common themes.You'll get to hear stories like:- How did Instagram's team of 5 engineers build and support a service that grew to over 40 million users by the time the company was acquired?- How and why did Quora deploy code to production 40 to 50 times per day?- How did the team behind Google Docs become the fastest acquisition to rewrite its software to run on Google's infrastructure?- How does Etsy use continuous experimentation to design features that are guaranteed to increase revenue at launch?- How did Facebook's small infrastructure team effectively operate thousands of database servers?- How did Dropbox go from barely hiring any new engineers to nearly tripling its team size year-over-year? What's more, I've distilled their stories into actionable habits and lessons that you can follow step-by-step to make your career and your team more successful.The skills used by effective engineers are all learnable.And I'll teach them to you. With The Effective Engineer, I'll teach you a unifying framework called leverage — the value produced per unit of time invested — that you can use to identify the activities that produce disproportionate results.Here's a sneak peek at some of the lessons you'll learn. You'll learn how to:- Prioritize the right projects and tasks to increase your impact.- Earn more leeway from your peers and managers on your projects.- Spend less time maintaining and fixing software and more time building and shipping new features.- Produce more accurate software estimates.- Validate your ideas cheaply to reduce wasted work.- Navigate organizational and people-related bottlenecks.- Find the appropriate level of code reviews, testing, abstraction, and technical debt to balance speed and quality.- Shorten your debugging workflow to increase your iteration speed.
Bill W.: A Biography of Alcoholics Anonymous Cofounder Bill Wilson
Francis Hartigan - 2000
Bob Smith, founded Alcoholics Anonymous in 1935, his hope was that AA would become a safe haven for those who suffered from this disease. Thirty years after his death, AA continues to help millions of alcoholics recover from what had been commonly regarded as a hopeless addiction. Still, while Wilson was a visionary for millions, he was no saint. After cofounding Alcoholics Anonymous, he stayed sober for over thirty-five years, helping countless thousands rebuild their lives. But at the same time, Wilson suffered form debilitating bouts of clinical depression, was a womanizer, and experimented with LSD.Francis Hartigan, the former secretary and confidant to Wilson's wife, Lois, has exhaustively researched his subject, writing with a complete insider's knowledge. Drawing on extensive interviews with Lois Wilson and scores of early members of AA, he fully explores Wilson's organizational genius, his devotion to the cause, and almost martyr-like selflessness. That Wilson, like all of us, had to struggle with his own personal demons makes this biography all the more moving and inspirational. Hartigan reveals the story of Wilson's life to be as humorous, horrific, and powerful as any of the AA vignettes told daily around the world.