Book picks similar to
Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming by Christopher Michael Kormanyos
programming
embedded
se-embedded
embedded-system
API Design for C++
Martin Reddy - 1996
It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations.API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online.This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.
Learning Ruby
Michael J. Fitzgerald - 2007
Written for both experienced and new programmers alike, Learning Ruby is a just-get-in-and-drive book -- a hands-on tutorial that offers lots of Ruby programs and lets you know how and why they work, just enough to get you rolling down the road. Interest in Ruby stems from the popularity of Rails, the web development framework that's attracting new devotees and refugees from Java and PHP. But there are plenty of other uses for this versatile language. The best way to learn is to just try the code! You'll find examples on nearly every page of this book that you can imitate and hack. Briefly, this book:Outlines many of the most important features of Ruby Demonstrates how to use conditionals, and how to manipulate strings in Ruby. Includes a section on regular expressions Describes how to use operators, basic math, functions from the Math module, rational numbers, etc. Talks you through Ruby arrays, and demonstrates hashes in detail Explains how to process files with Ruby Discusses Ruby classes and modules (mixins) in detail, including a brief introduction to object-oriented programming (OOP) Introduces processing XML, the Tk toolkit, RubyGems, reflection, RDoc, embedded Ruby, metaprogramming, exception handling, and other topics Acquaints you with some of the essentials of Rails, and includes a short Rails tutorial. Each chapter concludes with a set of review questions, and appendices provide you with a glossary of terms related to Ruby programming, plus reference material from the book in one convenient location. If you want to take Ruby out for a drive, Learning Ruby holds the keys.
Access 2007: The Missing Manual
Matthew MacDonald - 2006
It runs on PCs rather than servers and is ideal for small- to mid-sized businesses and households. But Access is still intimidating to learn. It doesn't help that each new version crammed in yet another set of features; so many, in fact, that even the pros don't know where to find them all. Access 2007 breaks this pattern with some of the most dramatic changes users have seen since Office 95. Most obvious is the thoroughly redesigned user interface, with its tabbed toolbar (or "Ribbon") that makes features easy to locate and use. The features list also includes several long-awaited changes. One thing that hasn't improved is Microsoft's documentation. To learn the ins and outs of all the features in Access 2007, Microsoft merely offers online help.Access 2007: The Missing Manual was written from the ground up for this redesigned application. You will learn how to design complete databases, maintain them, search for valuable nuggets of information, and build attractive forms for quick-and-easy data entry. You'll even delve into the black art of Access programming (including macros and Visual Basic), and pick up valuable tricks and techniques to automate common tasks -- even if you've never touched a line of code before. You will also learn all about the new prebuilt databases you can customize to fit your needs, and how the new complex data feature will simplify your life. With plenty of downloadable examples, this objective and witty book will turn an Access neophyte into a true master.
Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App
Antonio Leiva - 2016
The 8051 Microcontroller And Embedded Systems: Using Assembly And C
Muhammad Ali Mazidi - 2008
The first uses high-performance microprocessors while in the second category, issues of space, power and rapid development are more critical. Intended for those with no background as well as those with prior Assembly language experience, this book looks at Assembly language programming.
Stylin' with CSS: A Designer's Guide
Charles Wyke-Smith - 2005
Stylin with CSS teaches you everything you need to know start using CSS in your web development work, from the basics of markup of your content and styling text, through to creating multi-column page layouts without the use of tables. Learn how to create interface components, such as drop-down menus, navigation links, and animated graphical buttons, using only CSS no JavaScript required. Discover how to design code that will work on the latest standard-compliant browsers, while working around the quirks of the older browsers. With a mastery of CSS, your web design capabilities will move to a new level, and everything you need to know to get your started and build your skills is right here in this book. You ll be stylin in no time!"
Programming Entity Framework: DbContext
Julia Lerman - 2011
This concise book shows you how to use the API to perform set operations with the DbSet class, handle change tracking and resolve concurrency conflicts with the Change Tracker API, and validate changes to your data with the Validation API.With DbContext, you’ll be able to query and update data, whether you’re working with individual objects or graphs of objects and their related data. You’ll find numerous C# code samples to help you get started. All you need is experience with Visual Studio and database management basics.Use EF’s query capabilities to retrieve data, and use LINQ to sort and filter dataLearn how to add new data, and change and delete existing dataUse the Change Tracker API to access information EF keeps about the state of entity instancesControl change tracking information of entities in disconnected scenarios, including NTier applicationsValidate data changes before they’re sent to the database, and set up validation rulesBypass EF’s query pipeline and interact directly with the database
Ubuntu: The Beginner's Guide
Jonathan Moeller - 2011
In the Guide, you'll learn how to: -Use the Ubuntu command line. -Manage users, groups, and file permissions. -Install software on a Ubuntu system, both from the command line and the GUI. -Configure network settings. -Use the vi editor to edit system configuration files. -Install and configure a Samba server for file sharing. -Install SSH for remote system control using public key/private key encryption. -Install a DHCP server for IP address management. -Install a LAMP server. -Install web applications like WordPress and Drupal. -Configure an FTP server. -Manage ebooks. -Convert digital media. -Manage and configure Unity, the default Ubuntu environment. -Manage and halt processes from the command line. -Set up both a VNC server and a client. -Enjoy games on Ubuntu. -And many other topics.
Coders at Work: Reflections on the Craft of Programming
Peter Seibel - 2009
As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day–to–day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: http://www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 16 folks who’ve been kind enough to agree to be interviewed:- Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow- Joe Armstrong: Inventor of Erlang- Joshua Bloch: Author of the Java collections framework, now at Google- Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger- Douglas Crockford: JSON founder, JavaScript architect at Yahoo!- L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1- Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation - Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal - Dan Ingalls: Smalltalk implementor and designer- Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler- Donald Knuth: Author of The Art of Computer Programming and creator of TeX- Peter Norvig: Director of Research at Google and author of the standard text on AI- Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress- Ken Thompson: Inventor of UNIX- Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hackerWhat you’ll learn:How the best programmers in the world do their jobWho is this book for?Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers.
Learning PHP and MySQL
Michele E. Davis - 2006
When working hand-in-hand, they serve as the standard for the rapid development of dynamic, database-driven websites. This combination is so popular, in fact, that it's attracting manyprogramming newbies who come from a web or graphic design background and whose first language is HTML. If you fall into this ever-expanding category, then this book is for you."Learning PHP and MySQL" starts with the very basics of the PHP language, including strings and arrays, pattern matching and a detailed discussion of the variances in different PHP versions. Next, it explains how to work with MySQL, covering information on SQL data access for language and data fundamentals like tables and statements.Finally, after it's sure that you've mastered these separate concepts, the book shows you how to put them together to generate dynamic content. In the process, you'll also learn about error handling, security, HTTP authentication, and more.If you're a hobbyist who is intimidated by thick, complex computer books, then this guide definitely belongs on your shelf. "Learning PHP and MySQL" explains everything--from basic concepts to the nuts and bolts of performing specific tasks--in plain English.Part of O'Reilly's bestselling Learning series, the book is an easy-to-use resource designed specifically for newcomers. It's also a launching pad for future learning, providing you with a solid foundation for more advanced development.
Patterns of Enterprise Application Architecture
Martin Fowler - 2002
Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned.
Patterns of Enterprise Application Architecture
is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include - Dividing an enterprise application into layers - The major approaches to organizing business logic - An in-depth treatment of mapping between objects and relational databases - Using Model-View-Controller to organize a Web presentation - Handling concurrency for data that spans multiple transactions - Designing distributed object interfaces
Lucene in Action
Erik Hatcher - 2004
It describes how to index your data, including types you definitely need to know such as MS Word, PDF, HTML, and XML. It introduces you to searching, sorting, filtering, and highlighting search results.Lucene powers search in surprising placesWhat's Inside- How to integrate Lucene into your applications- Ready-to-use framework for rich document handling- Case studies including Nutch, TheServerSide, jGuru, etc.- Lucene ports to Perl, Python, C#/.Net, and C++- Sorting, filtering, term vectors, multiple, and remote index searching- The new SpanQuery family, extending query parser, hit collecting- Performance testing and tuning- Lucene add-ons (hit highlighting, synonym lookup, and others)
The Psychology of Computer Programming
Gerald M. Weinberg - 1971
Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.Dorset House Publishing is proud to make this important text available to new generations of programmers -- and to encourage readers of the first edition to return to its valuable lessons.
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho - 2015
With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"
Java Puzzlers: Traps, Pitfalls, and Corner Cases
Joshua Bloch - 2005
This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles.--Guy Steele, Sun Fellow and coauthor of The Java(TM) Language SpecificationI laughed, I cried, I threw up (my hands in admiration).--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert GroupHow well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!In the tradition of Effective Java(TM), Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions,
Java(TM) Puzzlers
features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.