Seriously Good Software

Seriously Good Software Book in PDF, ePub and Kindle version is available to download in english. Read online anytime anywhere directly from your device. Click on the download button below to get a free pdf file of Seriously Good Software book. This book definitely worth reading, it is an incredibly well-written.

Seriously Good Software

Author : Marco Faella
Publisher : Manning Publications
Page : 325 pages
File Size : 42,6 Mb
Release : 2020-03-24
Category : Computers
ISBN : 9781617296291

Get Book

Seriously Good Software by Marco Faella Pdf

Summary Serious developers know that code can always be improved. With each iteration, you make optimizations—small and large—that can have a huge impact on your application’s speed, size, resilience, and maintainability. In Seriously Good Software: Code that Works, Survives, and Wins, author, teacher, and Java expert Marco Faella teaches you techniques for writing better code. You’ll start with a simple application and follow it through seven careful refactorings, each designed to explore another dimension of quality. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Great code blends the skill of a programmer with the time-tested techniques and best practices embraced by the entire development community. Although each application has its own context and character, some dimensions of quality are always important. This book concentrates on eight pillars of seriously good software: speed, memory usage, reliability, readability, thread safety, generality, and elegance. The Java-based examples demonstrate techniques that apply to any OO language. About the book Seriously Good Software is a handbook for any professional developer serious about improving application quality. It explores fundamental dimensions of code quality by enhancing a simple implementation into a robust, professional-quality application. Questions, exercises, and Java-based examples ensure you’ll get a firm grasp of the concepts as you go. When you finish the last version of the book’s central project, you’ll be able to confidently choose the right optimizations for your code. What's inside Evaluating software qualities Assessing trade-offs and interactions Fulfilling different objectives in a single task Java-based exercises you can apply in any OO language About the reader For web developers comfortable with JavaScript and HTML. About the author Marco Faella teaches advanced programming at a major Italian university. His published work includes peer-reviewed research articles, a Java certification manual, and a video course. Table of Contents *Part 1: Preliminaries * 1 Software qualities and a problem to solve 2 Reference implementation *Part 2: Software Qualities* 3 Need for speed: Time efficiency 4 Precious memory: Space efficiency 5 Self-conscious code: Reliability through monitoring 6 Lie to me: Reliability through testing 7 Coding aloud: Readability 8 Many cooks in the kitchen: Thread safety 9 Please recycle: Reusability

The Missing README

Author : Chris Riccomini,Dmitriy Ryaboy
Publisher : No Starch Press
Page : 194 pages
File Size : 45,5 Mb
Release : 2021-08-10
Category : Computers
ISBN : 9781718501843

Get Book

The Missing README by Chris Riccomini,Dmitriy Ryaboy Pdf

Key concepts and best practices for new software engineers — stuff critical to your workplace success that you weren’t taught in school. For new software engineers, knowing how to program is only half the battle. You’ll quickly find that many of the skills and processes key to your success are not taught in any school or bootcamp. The Missing README fills in that gap—a distillation of workplace lessons, best practices, and engineering fundamentals that the authors have taught rookie developers at top companies for more than a decade. Early chapters explain what to expect when you begin your career at a company. The book’s middle section expands your technical education, teaching you how to work with existing codebases, address and prevent technical debt, write production-grade software, manage dependencies, test effectively, do code reviews, safely deploy software, design evolvable architectures, and handle incidents when you’re on-call. Additional chapters cover planning and interpersonal skills such as Agile planning, working effectively with your manager, and growing to senior levels and beyond. You’ll learn: How to use the legacy code change algorithm, and leave code cleaner than you found it How to write operable code with logging, metrics, configuration, and defensive programming How to write deterministic tests, submit code reviews, and give feedback on other people’s code The technical design process, including experiments, problem definition, documentation, and collaboration What to do when you are on-call, and how to navigate production incidents Architectural techniques that make code change easier Agile development practices like sprint planning, stand-ups, and retrospectives This is the book your tech lead wishes every new engineer would read before they start. By the end, you’ll know what it takes to transition into the workplace–from CS classes or bootcamps to professional software engineering.

Rust for Rustaceans

Author : Jon Gjengset
Publisher : No Starch Press
Page : 282 pages
File Size : 47,9 Mb
Release : 2021-12-21
Category : Computers
ISBN : 9781718501867

Get Book

Rust for Rustaceans by Jon Gjengset Pdf

Master professional-level coding in Rust. For developers who’ve mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects. Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You’ll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more. You'll Learn: How to design reliable, idiomatic, and ergonomic Rust programs based on best principles Effective use of declarative and procedural macros, and the difference between them How asynchrony works in Rust – all the way from the Pin and Waker types used in manual implementations of Futures, to how async/await saves you from thinking about most of those words What it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traits How to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystem How to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments Brimming with practical, pragmatic insights that you can immediately apply, Rust for Rustaceans helps you do more with Rust, while also teaching you its underlying mechanisms.

Good Code, Bad Code

Author : Tom Long
Publisher : Simon and Schuster
Page : 374 pages
File Size : 48,9 Mb
Release : 2021-09-07
Category : Computers
ISBN : 9781617298936

Get Book

Good Code, Bad Code by Tom Long Pdf

"For coders early in their careers who are familiar with an object-oriented language, such as Java or C#"--Back cover.

The Secret Life of Programs

Author : Jonathan E. Steinhart
Publisher : No Starch Press
Page : 505 pages
File Size : 47,9 Mb
Release : 2019-08-06
Category : Computers
ISBN : 9781593279707

Get Book

The Secret Life of Programs by Jonathan E. Steinhart Pdf

A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output. Many coders are unfamiliar with the underlying technologies that make their programs run. But why should you care when your code appears to work? Because you want it to run well and not be riddled with hard-to-find bugs. You don't want to be in the news because your code had a security problem. Lots of technical detail is available online but it's not organized or collected into a convenient place. In The Secret Life of Programs, veteran engineer Jonathan E. Steinhart explores--in depth--the foundational concepts that underlie the machine. Subjects like computer hardware, how software behaves on hardware, as well as how people have solved problems using technology over time. You'll learn: How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory Why designing programs to match computer hardware, especially memory, improves performance How programs are converted into machine language that computers understand How software building blocks are combined to create programs like web browsers Clever tricks for making programs more efficient, like loop invariance, strength reduction, and recursive subdivision The fundamentals of computer security and machine intelligence Project design, documentation, scheduling, portability, maintenance, and other practical programming realities. Learn what really happens when your code runs on the machine and you'll learn to craft better, more efficient code.

C++ Crash Course

Author : Josh Lospinoso
Publisher : No Starch Press
Page : 793 pages
File Size : 48,7 Mb
Release : 2019-09-24
Category : Computers
ISBN : 9781593278892

Get Book

C++ Crash Course by Josh Lospinoso Pdf

A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you'll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries. C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of. Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard. Part 1 covers the core of the C++ language, where you'll learn about everything from types and functions, to the object life cycle and expressions. Part 2 introduces you to the C++ Standard Library and Boost Libraries, where you'll learn about all of the high-quality, fully-featured facilities available to you. You'll cover special utility classes, data structures, and algorithms, and learn how to manipulate file systems and build high-performance programs that communicate over networks. You'll learn all the major features of modern C++, including: Fundamental types, reference types, and user-defined types The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII paradigm Compile-time polymorphism with templates and run-time polymorphism with virtual classes Advanced expressions, statements, and functions Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities Containers, iterators, strings, and algorithms Streams and files, concurrency, networking, and application development With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.

Growing Software

Author : Louis Testa
Publisher : No Starch Press
Page : 428 pages
File Size : 51,9 Mb
Release : 2009-03-15
Category : Computers
ISBN : 9781593271831

Get Book

Growing Software by Louis Testa Pdf

As the technology leader at a small software company, you need to focus on people, products, processes, and technology as you bring your software to market, while doing your best to put out fires and minimize headaches. Growing Software is your guide to juggling the day-to-day challenges of running a software company while managing those long-term problems and making sure that your business continues to grow. With practical, hands-on advice, Growing Software will teach you how to build and lead an effective team, define and sell your products, work with everyone from customers to CEOs, and ensure high-quality results. Instead of learning by trial and error, you'll benefit from author Louis Testa's 20+ years of management experience. Testa combines big-picture advice, specific solutions, and real-life anecdotes to teach you how to: –Work effectively with your CEO and executive team –Improve development team efficiency and enthusiasm –Evaluate your software methodology to improve effectiveness and safeguard against failure –Use product prototypes to bridge the gap between marketing and engineering –Defuse technology time bombs Whether you're new to managing software or newly lost, Growing Software will help you and your growing company thrive.

Serious Python

Author : Julien Danjou
Publisher : No Starch Press
Page : 242 pages
File Size : 49,9 Mb
Release : 2018-12-31
Category : Computers
ISBN : 9781593278793

Get Book

Serious Python by Julien Danjou Pdf

An indispensable collection of practical tips and real-world advice for tackling common Python problems and taking your code to the next level. Features interviews with high-profile Python developers who share their tips, tricks, best practices, and real-world advice gleaned from years of experience. Sharpen your Python skills as you dive deep into the Python programming language with Serious Python. You'll cover a range of advanced topics like multithreading and memorization, get advice from experts on things like designing APIs and dealing with databases, and learn Python internals to help you gain a deeper understanding of the language itself. Written for developers and experienced programmers, Serious Python brings together over 15 years of Python experience to teach you how to avoid common mistakes, write code more efficiently, and build better programs in less time. As you make your way through the book's extensive tutorials, you'll learn how to start a project and tackle topics like versioning, layouts, coding style, and automated checks. You'll learn how to package your software for distribution, optimize performance, use the right data structures, define functions efficiently, pick the right libraries, build future-proof programs, and optimize your programs down to the bytecode. You'll also learn how to: - Make and use effective decorators and methods, including abstract, static, and class methods - Employ Python for functional programming using generators, pure functions, and functional functions - Extend flake8 to work with the abstract syntax tree (AST) to introduce more sophisticated automatic checks into your programs - Apply dynamic performance analysis to identify bottlenecks in your code - Work with relational databases and effectively manage and stream data with PostgreSQL If you've been looking for a way to take your Python skills from good to great, Serious Python will help you get there. Learn from the experts and get seriously good at Python with Serious Python!

Developer Hegemony

Author : Erik Dietrich
Publisher : BlogIntoBook.com
Page : 128 pages
File Size : 49,5 Mb
Release : 2024-06-29
Category : Business & Economics
ISBN : 8210379456XXX

Get Book

Developer Hegemony by Erik Dietrich Pdf

It’s been said that software is eating the planet. The modern economy—the world itself—relies on technology. Demand for the people who can produce it far outweighs the supply. So why do developers occupy largely subordinate roles in the corporate structure? Developer Hegemony explores the past, present, and future of the corporation and what it means for developers. While it outlines problems with the modern corporate structure, it’s ultimately a play-by-play of how to leave the corporate carnival and control your own destiny. And it’s an emboldening, specific vision of what software development looks like in the world of developer hegemony—one where developers band together into partner firms of “efficiencers,” finally able to command the pay, respect, and freedom that’s earned by solving problems no one else can. Developers, if you grow tired of being treated like geeks who can only be trusted to take orders and churn out code, consider this your call to arms. Bring about the autonomous future that’s rightfully yours. It’s time for developer hegemony.

Fixing Broken Windows

Author : George L. Kelling,Catherine M. Coles
Publisher : Simon and Schuster
Page : 340 pages
File Size : 47,6 Mb
Release : 1997
Category : Political Science
ISBN : 9780684837383

Get Book

Fixing Broken Windows by George L. Kelling,Catherine M. Coles Pdf

Cites successful examples of community-based policing.

Code Complete

Author : Steve McConnell
Publisher : Pearson Education
Page : 952 pages
File Size : 49,8 Mb
Release : 2004-06-09
Category : Computers
ISBN : 9780735636972

Get Book

Code Complete by Steve McConnell Pdf

Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

The Clean Coder

Author : Robert C. Martin
Publisher : Pearson Education
Page : 247 pages
File Size : 50,7 Mb
Release : 2011
Category : Computers
ISBN : 9780137081073

Get Book

The Clean Coder by Robert C. Martin Pdf

Presents practical advice on the disciplines, techniques, tools, and practices of computer programming and how to approach software development with a sense of pride, honor, and self-respect.

Real-World Software Development

Author : Raoul-Gabriel Urma,Richard Warburton
Publisher : O'Reilly Media
Page : 203 pages
File Size : 50,6 Mb
Release : 2019-12-02
Category : Computers
ISBN : 9781491967140

Get Book

Real-World Software Development by Raoul-Gabriel Urma,Richard Warburton Pdf

Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way. With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references. Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.

Learn PowerShell Scripting in a Month of Lunches

Author : Don Jones,Jeffery Hicks
Publisher : Manning
Page : 0 pages
File Size : 44,7 Mb
Release : 2017-11-25
Category : Computers
ISBN : 1617295094

Get Book

Learn PowerShell Scripting in a Month of Lunches by Don Jones,Jeffery Hicks Pdf

Summary Discover how scripting is different from command-line PowerShell, as you explore concrete hands-on examples in this handy guide. The book includes and expands on many of the techniques presented in Learn PowerShell Toolmaking in a Month of Lunches. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Automate it! With Microsoft's PowerShell language, you can write scripts to control nearly every aspect of Windows. Just master a few straightforward scripting skills, and you'll be able to eliminate repetitive manual tasks, create custom reusable tools, and build effective pipelines and workflows. Once you start scripting in PowerShell, you'll be amazed at how many opportunities you'll find to save time and effort. About the Book Learn PowerShell Scripting in a Month of Lunches teaches you how to expand your command-line PowerShell skills into effective scripts and tools. In 27 bite-size lessons, you'll discover instantly useful techniques for writing efficient code, finding and squashing bugs, organizing your scripts into libraries, and much more. Advanced scripters will even learn to access the .NET Framework, store data long term, and create nice user interfaces. What's Inside Designing functions and scripts Effective pipeline usage Dealing with errors and bugs Professional-grade scripting practices About the Reader Written for devs and IT pros comfortable with PowerShell and Windows. About the Authors Don Jones is a PowerShell MVP, speaker, and trainer who has written dozens of books on information technology topics. Jeffery Hicks is a PowerShell MVP and an independent consultant, trainer, and author. Don and Jeff coauthored Manning's Learn Windows PowerShell in a Month of Lunches, Learn PowerShell Toolmaking in a Month of Lunches, and PowerShell in Depth. Table of Contents PART 1 - INTRODUCTION TO SCRIPTING Before you begin Setting up your scripting environment WWPD: what would PowerShell do? Review: parameter binding and the PowerShell pipeline Scripting language crash course The many forms of scripting (and which to use) Scripts and security PART 2 - BUILDING A POWERSHELL SCRIPT Always design first Avoiding bugs: start with a command Building a basic function and script module Going advanced with your function Objects: the best kind of output Using all the pipelines Simple help: making a comment Dealing with errors Filling out a manifest PART 3 - GROWN-UP SCRIPTING Changing your brain when it comes to scripting Professional-grade scripting An introduction to source control with git Pestering your script Signing your script Publishing your script PART 4 - ADVANCED TECHNIQUES Squashing bugs Making script output prettier Wrapping up the .NET Framework Storing data-not in Excel! Never the end

Secure by Design

Author : Daniel Sawano,Dan Bergh Johnsson,Daniel Deogun
Publisher : Simon and Schuster
Page : 659 pages
File Size : 51,7 Mb
Release : 2019-09-03
Category : Computers
ISBN : 9781638352310

Get Book

Secure by Design by Daniel Sawano,Dan Bergh Johnsson,Daniel Deogun Pdf

Summary Secure by Design teaches developers how to use design to drive security in software development. This book is full of patterns, best practices, and mindsets that you can directly apply to your real world development. You'll also learn to spot weaknesses in legacy code and how to address them. About the technology Security should be the natural outcome of your development process. As applications increase in complexity, it becomes more important to bake security-mindedness into every step. The secure-by-design approach teaches best practices to implement essential software features using design as the primary driver for security. About the book Secure by Design teaches you principles and best practices for writing highly secure software. At the code level, you’ll discover security-promoting constructs like safe error handling, secure validation, and domain primitives. You’ll also master security-centric techniques you can apply throughout your build-test-deploy pipeline, including the unique concerns of modern microservices and cloud-native designs. What's inside Secure-by-design concepts Spotting hidden security problems Secure code constructs Assessing security by identifying common design flaws Securing legacy and microservices architectures About the reader Readers should have some experience in designing applications in Java, C#, .NET, or a similar language. About the author Dan Bergh Johnsson, Daniel Deogun, and Daniel Sawano are acclaimed speakers who often present at international conferences on topics of high-quality development, as well as security and design.