Book picks similar to
Professional C# 7 and .Net Core 2.0 by Christian Nagel
programming
read_computer_sci<br/>ence
software
storage
Refactoring to Patterns
Joshua Kerievsky - 2004
In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring"Refactoring to Patterns" reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you re focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively. "
High Performance MySQL: Optimization, Backups, Replication, and More
Baron Schwartz - 2008
Written by noted experts with years of real-world experience building very large systems, this book covers every aspect of MySQL performance in detail, and focuses on robustness, security, and data integrity.High Performance MySQL teaches you advanced techniques in depth so you can bring out MySQL's full power. Learn how to design schemas, indexes, queries and advanced MySQL features for maximum performance, and get detailed guidance for tuning your MySQL server, operating system, and hardware to their fullest potential. You'll also learn practical, safe, high-performance ways to scale your applications with replication, load balancing, high availability, and failover. This second edition is completely revised and greatly expanded, with deeper coverage in all areas. Major additions include: Emphasis throughout on both performance and reliability Thorough coverage of storage engines, including in-depth tuning and optimizations for the InnoDB storage engine Effects of new features in MySQL 5.0 and 5.1, including stored procedures, partitioned databases, triggers, and views A detailed discussion on how to build very large, highly scalable systems with MySQL New options for backups and replication Optimization of advanced querying features, such as full-text searches Four new appendices The book also includes chapters on benchmarking, profiling, backups, security, and tools and techniques to help you measure, monitor, and manage your MySQL installations.
Head First Ajax: A Brain-Friendly Guide
Rebecca M. Riordan - 2008
Head First Ajax gives you an up-to-date perspective that lets you see exactly what you can do--and has been done--with Ajax. With it, you get a highly practical, in-depth, and mature view of what is now a mature development approach. Using the unique and highly effective visual format that has turned Head First titles into runaway bestsellers, this book offers a big picture overview to introduce Ajax, and then explores the use of individual Ajax components--including the JavaScript event model, DOM, XML, JSON, and more--as it progresses. You'll find plenty of sample applications that illustrate the concepts, along with exercises, quizzes, and other interactive features to help you retain what you've learned.Head First Ajax covers:The JavaScript event modelMaking Ajax requests with XMLHTTPREQUEST objectsThe asynchronous application modelThe Document Object Model (DOM)Manipulating the DOM in JavaScriptControlling the browser with the Browser Object ModelXHTML FormsPOST RequestsXML Syntax and the XML DOM treeXML Requests & ResponsesJSON -- an alternative to XMLAjax architecture & patternsThe Prototype LibraryThe book also discusses the server-side implications of building Ajax applications, and uses a black box approach to server-side components.Head First Ajax is the ideal guide for experienced web developers comfortable with scripting--particularly those who have completed the exercises in Head First JavaScript--and for experienced programmers in Java, PHP, and C# who want to learn client-side programming.
The REST API Design Handbook
George Reese - 2012
The RESTful approach to web services design is rapidly become the approach of choice. Unfortunately, too few people have truly solid REST API design skills, and discussions of REST can become bogged down in dry theory.The REST API Design Handbook is a simple, practical guide to aid software engineers and software architects create lasting, scalable APIs based on REST architectural principles. The book provides a sound foundation in discussing the constraints that define a REST API. It quickly goes beyond that into the practical aspects of implementing such an API in the real world.Written by cloud computing expert George Reese, The REST API Design Handbook reflects hands on work in consuming many different third party APIs as well the development of REST-based web services APIs. It addresses all of the debates the commonly arise while creating these APIs. Subjects covered include:* REST architectural constraints* Using HTTP methods and response codes in an API* Authenticating RESTful API calls* Versioning* Asynchronous Operations* Pagination and Streaming* Polling and Push Notifications* Rate Limiting
Problem Solving with C++: The Object of Programming
Walter J. Savitch - 1995
It introduces the use of classes; shows how to write ADTs that maximize the perfomance of C++ in creating reusable code; and provides coverage of all important OO functions, including inheritance, polymorphism and encapsulation.
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
A Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half
Mark Myers - 2013
Master each chapter with free interactive exercises online.
Live simulation lets you see your practice code run in your browser.
2,000 lines of color-keyed sample code break it all down into easy-to-learn chunks.
Extra help through the rough spots so you're less likely to get stuck.
Tested on non-coders—including the author's technophobe wife.
Become fluent in all the JavaScript fundamentals, in half the time.
Display alert messages to the user
Gather information through prompts
Manipulate variables
Build statements
Do math
Use operators
Concatenate text
Run routines based on conditions
Compare values
Work with arrays
Run automated routines
Display custom elements on the webpage
Generate random numbers
Manipulate decimals
Round numbers
Create loops
Use functions
Find the current date and time
Measure time intervals
Create a timer
Respond to the user's actions
Swap images
Control colors on the webpage
Change any element on the webpage
Improvise new HTML markup on the fly
Use the webpage DOM structure
Insert comments
Situate scripts effectively
Create and change objects
Automate object creation
Control the browser's actions
Fill the browser window with custom content
Check forms for invalid entries
Deal with errors
Make a more compelling website
Increase user-friendliness
Keep your user engaged
Game Project Completed: How Successful Indie Game Developers Finish Their Projects
Thomas Schwarzl - 2014
They teach you how to make games. This book does not show you how to make games. It shows you how to take your game project to the finish line. Many game projects never make it beyond the alpha state.Game Development Success Is All About The Inner Game.Being a successful game developer does not (just) mean being a great programmer, a smart game designer or a gifted artist. It means dominating the inner game of game making. This separates the pros from the wannabes. It's the knowledge of how to stay focused, motivated and efficient during your game projects. It's the skillset of keeping things simple and avoiding misleading dreams of the next overnight success. Finally it's about thinking as a salesperson, not just as a designer, programmer or artist.
Move Fast: How Facebook Builds Software
Jeff Meyerson - 2021
You may not like Facebook, but you can't deny its success. And to a large degree, that success stems from the "move fast" ethos. The entire culture of Facebook is built for speed.Move Fast is an exploration of modern software strategies and tactics through the lens of Facebook. Relying on in-depth interviews with more than two dozen Facebook engineers, this book explores the product strategy, cultural principles, and technologies that made Facebook the dominant social networking company. Most importantly, Move Fast investigates how you can apply those strategies to your creative projects.It's not easy to build a software company, but once you know how to move fast, your company will be prepared to build a strategy that benefits from the world's rapid changes, rather than suffering from them.
Patterns Principles and Practices of Domain Driven Design
Scott Millett - 2014
A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space.
Data Analysis Using SQL and Excel
Gordon S. Linoff - 2007
This book helps you use SQL and Excel to extract business information from relational databases and use that data to define business dimensions, store transactions about customers, produce results, and more. Each chapter explains when and why to perform a particular type of business analysis in order to obtain useful results, how to design and perform the analysis using SQL and Excel, and what the results should look like.
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
Scott Rosenberg - 2007
Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.
Code Complete
Steve McConnell - 1993
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
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
Cuda by Example: An Introduction to General-Purpose Gpu Programming
Jason Sanders - 2010
" From the Foreword by Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required just the ability to program in a modestly extended version of C. " CUDA by Example, " written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You ll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance. Major topics covered includeParallel programmingThread cooperationConstant memory and eventsTexture memoryGraphics interoperabilityAtomicsStreamsCUDA C on multiple GPUsAdvanced atomicsAdditional CUDA resources All the CUDA software tools you ll need are freely available for download from NVIDIA.http: //developer.nvidia.com/object/cuda-by-e...