Book picks similar to
Real Time Object Oriented Modeling by Bran Selic
bookshelf
programming
software-engineering
abstract-programming
The D Programming Language
Andrei Alexandrescu - 2010
I'm sure you'll find the read rewarding." --From the Foreword by Scott Meyers D is a programming language built to help programmers address the challenges of modern software development. It does so by fostering modules interconnected through precise interfaces, a federation of tightly integrated programming paradigms, language-enforced thread isolation, modular type safety, an efficient memory model, and more.
The D Programming Language
is an authoritative and comprehensive introduction to D. Reflecting the author's signature style, the writing is casual and conversational, but never at the expense of focus and pre-cision. It covers all aspects of the language (such as expressions, statements, types, functions, contracts, and modules), but it is much more than an enumeration of features. Inside the book you will find In-depth explanations, with idiomatic examples, for all language features How feature groups support major programming paradigms Rationale and best-use advice for each major feature Discussion of cross-cutting issues, such as error handling, contract programming, and concurrency Tables, figures, and "cheat sheets" that serve as a handy quick reference for day-to-day problem solving with D Written for the working programmer,
The D Programming Language
not only introduces the D language--it presents a compendium of good practices and idioms to help both your coding with D and your coding in general.
Miss Peregrines Home For Peculiar Children by Ransom Riggs l Summary & Study Guide
BookRags - 2012
This study guide includes the following sections: Plot Summary, Chapter Summaries & Analysis, Characters, Objects/Places, Themes, Style, Quotes, and Topics for Discussion.
Async in C# 5.0
Alex Davies - 2012
Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application.Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects.Write your own asynchronous code, and learn how async saves you from this messy choreDiscover new performance possibilities in ASP.NET web server codeExplore how async and WinRT work together in Windows 8 applicationsLearn the importance of the await keyword in async methodsUnderstand which .NET thread is running your code—and at what points in the programUse the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NETTake advantage of parallel computing in modern machinesMeasure async code performance by comparing it with alternatives
Beginning Programming All-In-One Desk Reference for Dummies
Wallace Wang - 2007
If programming intrigues you (for whatever reason), Beginning Programming All-In-One Desk Reference For Dummies is like having a starter programming library all in one handy, if hefty, book.In this practical guide, you'll find out about algorithms, best practices, compiling, debugging your programs, and much more. The concepts are illustrated in several different programming languages, so you'll get a feel for the variety of languages and the needs they fill.Inside you'll discover seven minibooks:Getting Started: From learning methods for writing programs to becoming familiar with types of programming languages, you'll lay the foundation for your programming adventure with this minibook. Programming Basics: Here you'll dive into how programs work, variables, data types, branching, looping, subprograms, objects, and more. Data Structures: From structures, arrays, sets, linked lists, and collections, to stacks, queues, graphs, and trees, you'll dig deeply into the data. Algorithms: This minibook shows you how to sort and search algorithms, how to use string searching, and gets into data compression and encryption. Web Programming: Learn everything you need to know about coding for the web: HyperText. Markup Language (better known simply as HTML), CSS, JavaScript, PHP, and Ruby. Programming Language Syntax: Introduces you to the syntax of various languages - C, C++, Java, C#, Perl, Python, Pascal, Delphi, Visual Basic, REALbasic - so you know when to use which one. Applications: This is the fun part where you put your newly developed programming skills to work in practical ways. Additionally, Beginning Programming All-In-One Desk Reference For Dummies shows you how to decide what you want your program to do, turn your instructions into "machine language" that the computer understands, use programming best practices, explore the "how" and "why" of data structuring, and more. And you'll get a look into various applications like database management, bioinformatics, computer security, and artificial intelligence. After you get this book and start coding, you'll soon realize that -- wow! You're a programmer!
Working in Public: The Making and Maintenance of Open Source Software
Nadia Eghbal - 2020
In the late 1990s, it provided an optimistic model for public
Pragmatic Guide to Git
Travis Swicegood - 2010
Git tasks displayed on two-page spreads provide all the context you need, without the extra fluff. Get up to speed on Git right now with Pragmatic Guide to Git. Task-oriented two-page spreads get you up and running with minimal fuss. Each left-hand page dives into the underlying implementation for each task. The right-hand page contains commands that focus on the task at hand, and cross references to other tasks that are related. You'll find what you need fast. Git is rapidly becoming the de-facto standard for the open source community. Its excellent merging capabilities, coupled with its speed and relative ease of use, make it an indispensable tool for any developer. New Git users will learn the basic tasks needed to work with Git every day, including working with remote repositories, dealing with branches and tags, exploring the history, and fixing problems when things go wrong. If you're already familiar with Git, this book will be your go-to reference for Git commands and best practices. You won't find a more practical approach to learning Git than Pragmatic Guide to Git.
Modern Technical Writing: An Introduction to Software Documentation
Andrew Etter - 2016
Written by the lead technical writer at one of Silicon Valley's most exciting companies, Modern Technical Writing is a set of guiding principles and thoughtful recommendations for new and experienced technical writers alike. Not a reference manual, and not comprehensive, it instead serves as an introduction to a sensible writing and publishing process, one that has eluded the profession for too long.
Thinking in C++
Bruce Eckel - 1995
It shows readers how to step back from coding to consider design strategies and attempt to get into the head of the designer.
Head First C#
Andrew Stellman - 2007
Built for your brain, this book covers C# 3.0 and Visual Studio 2008, and teaches everything from language fundamentals to advanced topics including garbage collection, extension methods, and double-buffered animation. You'll also master C#'s hottest and newest syntax, LINQ, for querying SQL databases, .NET collections, and XML documents. By the time you're through, you'll be a proficient C# programmer, designing and coding large-scale applications. Every few chapters you will come across a lab that lets you apply what you've learned up to that point. Each lab is designed to simulate a professional programming task, increasing in complexity until-at last-you build a working Invaders game, complete with shooting ships, aliens descending while firing, and an animated death sequence for unlucky starfighters. This remarkably engaging book will have you going from zero to 60 with C# in no time flat.
Tmux: Productive Mouse-Free Development
Brian P. Hogan - 2012
Switching between these with the mouse takes up valuable time and can break your concentration. By using tmux, you can improve your productivity and regain your focus. This book will show you how.You’ll learn how to manage multiple terminal sessions within tmux using only your keyboard. You’ll see how to manage and run programs side-by-side in panes, and you’ll learn how to create the perfect development environment with custom scripts so that when you’re ready to work, your programs are waiting for you. Then you’ll discover how to manipulate text with tmux’s copy and paste buffers. Once you’ve got the basics down, you’ll discover how easy it is to use tmux to collaborate remotely with others. Finally, you’ll explore more advanced usage as you manage multiple tmux sessions, add custom scripts into the tmux status line, and integrate tmux with your system.Whether you’re an application developer or a system administrator, you’ll find many useful tricks and techniques to help you take control of your terminal.
AWS Lambda: A Guide to Serverless Microservices
Matthew Fuller - 2016
Lambda enables users to develop code that executes in response to events - API calls, file uploads, schedules, etc - and upload it without worrying about managing traditional server metrics such as disk space, memory, or CPU usage. With its "per execution" cost model, Lambda can enable organizations to save hundreds or thousands of dollars on computing costs. With in-depth walkthroughs, large screenshots, and complete code samples, the reader is guided through the step-by-step process of creating new functions, responding to infrastructure events, developing API backends, executing code at specified intervals, and much more. Introduction to AWS Computing Evolution of the Computing Workload Lambda Background The Internals The Basics Functions Languages Resource Allocation Getting Set Up Hello World Uploading the Function Working with Events AWS Events Custom Events The Context Object Properties Methods Roles and Permissions Policies Trust Relationships Console Popups Cross Account Access Dependencies and Resources Node Modules OS Dependencies OS Resources OS Commands Logging Searching Logs Testing Your Function Lambda Console Tests Third-Party Testing Libraries Simulating Context Hello S3 Object The Bucket The Role The Code The Event The Trigger Testing When Lambda Isn’t the Answer Host Access Fine-Tuned Configuration Security Long-Running Tasks Where Lambda Excels AWS Event-Driven Tasks Scheduled Events (Cron) Offloading Heavy Processing API Endpoints Infrequently Used Services Real-World Use Cases S3 Image Processing Shutting Down Untagged Instances Triggering CodeDeploy with New S3 Uploads Processing Inbound Email Enforcing Security Policies Detecting Expiring Certificates Utilizing the AWS API Execution Environment The Code Pipeline Cold vs. Hot Execution What is Saved in Memory Scaling and Container Reuse From Development to Deployment Application Design Development Patterns Testing Deployment Monitoring Versioning and Aliasing Costs Short Executions Long-Running Processes High-Memory Applications Free Tier Calculating Pricing CloudFormation Reusable Template with Minimum Permissions Cross Account Access CloudWatch Alerts AWS API Gateway API Gateway Event Creating the Lambda Function Creating a New API, Resource, and Method Initial Configuration Mapping Templates Adding a Query String Using HTTP Request Information Within Lambda Deploying the API Additional Use Cases Lambda Competitors Iron.io StackHut WebTask.io Existing Cloud Providers The Future of Lambda More Resources Conclusion
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
Close to the Machine: Technophilia and Its Discontents
Ellen Ullman - 1997
We find a smart, funny bisexual torn between the pure, abstract world of programming and her involvement in San Francisco's city-wide registration system for AIDS patients.
Pragmatic Thinking and Learning: Refactor Your Wetware
Andy Hunt - 2008
Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware--our own brains? Learning new skills and new technology is critical to your career, and it's all in your head. In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new tricks and tips to learn more, faster, and retain more of what you learn. You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware. Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the whims of the user community, the quirks of your teammates, the shifting sands of the industry, and the evolving characteristics of the project itself as it is built. We'll journey together through bits of cognitive and neuroscience, learning and behavioral theory. You'll see some surprising aspects of how our brains work, and how you can take advantage of the system to improve your own learning and thinking skills.In this book you'll learn how to:Use the Dreyfus Model of Skill Acquisition to become more expertLeverage the architecture of the brain to strengthen different thinking modesAvoid common "known bugs" in your mindLearn more deliberately and more effectivelyManage knowledge more efficientlyPrinted in full color.
Microsoft Windows Internals: Microsoft Windows Server(TM) 2003, Windows XP, and Windows 2000 (Pro-Developer)
Mark E. Russinovich - 2004
This classic guidefully updated for Windows Server 2003, Windows XP, and Windows 2000, including 64-bit extensionsdescribes the architecture and internals of the Windows operating system. You’ll find hands-on experiments you can use to experience Windows internal behavior firsthand, along with advanced troubleshooting information to help you keep your systems running smoothly and efficiently. Whether you’re a developer or a system administrator, you’ll find critical architectural insights that you can quickly apply for better design, debugging, performance, and support.Get in-depth, inside knowledge of the Windows operating system: Understand the key mechanisms that configure and control Windows, including dispatching, startup and shutdown, and the registry Explore the Windows security model, including access, privileges, and auditing Investigate internal system architecture using the kernel debugger and other tools Examine the data structures and algorithms that deal with processes, threads, and jobs Observe how Windows manages virtual and physical memory Understand the operation and format of NTFS, and troubleshoot file system access problems View the Windows networking stack from top to bottom, including mapping, APIs, name resolution, and protocol drivers Troubleshoot boot problems and perform crash analysis