“The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”—Kent Beck, author of Extreme Programming Explained: Embrace Change
“I found this book to be a great mix of solid advice and wonderful analogies!”—Martin Fowler, author of Refactoring and UML Distilled
“I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.”—Kevin Ruland, Management Science, MSG-Logistics
“The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.”—John Lakos, author of Large-Scale C++ Software Design
“This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.”—Eric Vought, Software Engineer
“Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.”—Pete McBreen, Independent Consultant
“Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.”—Jared Richardson, Senior Software Developer, iRenaissance, Inc.
“I would like to see this issued to every new employee at my company....”—Chris Cleeland, Senior Software Engineer, Object Computing, Inc.
“If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.”—Ward Cunningham
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
The book begins with a summary of the nontechnical aspects of interviewing, such as common mistakes, strategies for a great interview, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI.
The technical core of EPI is a sequence of chapters on basic and advanced data structures, searching, sorting, broad algorithmic principles, concurrency, and system design. Each chapter consists of a brief review, followed by a broad and thought-provoking series of problems. We include a summary of data structure, algorithm, and problem solving patterns.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
—Andrew Hedges, Tapulous
The fast-growing popularity of Android smartphones and tabletscreates a huge opportunities for developers. If you're anexperienced developer, you can start creating robust mobile Androidapps right away with this professional guide to Android 4application development. Written by one of Google's lead Androiddeveloper advocates, this practical book walks you through a seriesof hands-on projects that illustrate the features of the AndroidSDK. That includes all the new APIs introduced in Android 3 and 4,including building for tablets, using the Action Bar, Wi-Fi Direct,NFC Beam, and more.Shows experienced developers how to create mobile applicationsfor Android smartphones and tabletsRevised and expanded to cover all the Android SDK releasesincluding Android 4.0 (Ice Cream Sandwich), including all updatedAPIs, and the latest changes to the Android platform.Explains new and enhanced features such as drag and drop,fragments, the action bar, enhanced multitouch support, newenvironmental sensor support, major improvements to the animationframework, and a range of new communications techniques includingNFC and Wi-Fi direct.Provides practical guidance on publishing and marketing yourapplications, best practices for user experience, and more
This book helps you learn to master the design, lifecycle, andUI of an Android app through practical exercises, which you canthen use as a basis for developing your own Android apps.
Levy profiles the imaginative brainiacs who found clever and unorthodox solutions to computer engineering problems. They had a shared sense of values, known as "the hacker ethic," that still thrives today. Hackers captures a seminal period in recent history when underground activities blazed a trail for today's digital world, from MIT students finagling access to clunky computer-card machines to the DIY culture that spawned the Altair and the Apple II.
Inside, you'll learn about:
Interaction design and physical computingThe Arduino hardware and software development environmentBasics of electricity and electronicsPrototyping on a solderless breadboardDrawing a schematic diagram
And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.
Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.
Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both Python 2.7 and 3.3— the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in Python code.Explore Python’s major built-in object types such as numbers, lists, and dictionariesCreate and process objects with Python statements, and learn Python’s general syntax modelUse functions to avoid code redundancy and package code for reuseOrganize statements, functions, and other tools into larger components with modulesDive into classes: Python’s object-oriented programming tool for structuring codeWrite large programs with Python’s exception-handling model and development toolsLearn advanced Python tools, including decorators, descriptors, metaclasses, and Unicode processing
Yukihiro "Matz" Matsumoto, creator, designer and lead developer of Ruby and author of Ruby in a Nutshell, which has been expanded and revised to become this book.
why the lucky stiff, artist and Ruby programmer extraordinaire.This book begins with a quick-start tutorial to the language, and then explains the language in detail from the bottom up: from lexical and syntactic structure to datatypes to expressions and statements and on through methods, blocks, lambdas, closures, classes and modules.
The book also includes a long and thorough introduction to the rich API of the Ruby platform, demonstrating -- with heavily-commented example code -- Ruby's facilities for text processing, numeric manipulation, collections, input/output, networking, and concurrency. An entire chapter is devoted to Ruby's metaprogramming capabilities.
The Ruby Programming Language documents the Ruby language definitively but without the formality of a language specification. It is written for experienced programmers who are new to Ruby, and for current Ruby programmers who want to challenge their understanding and increase their mastery of the language.
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
An Introduction to Programming by the Inventor of C++
Preparation for Programming in the Real World
The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field.
Focus on Fundamental Concepts and Techniques
The book explains fundamental concepts and techniques in greater depth than traditional introductions. This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code.
Programming with Today’s C++ (C++11 and C++14)
The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software. The book presents modern C++ programming techniques from the start,
introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks.
For Beginners—And Anyone Who Wants to Learn Something New
The book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students. It has also been extensively used for self-study. Also, practitioners and advanced students have gained new insight and guidance by seeing how a master approaches the elements of his art.
Provides a Broad View
The first half of the book covers a wide range of essential concepts, design and programming techniques, language features, and libraries. Those will enable you to write programs involving input, output, computation, and simple graphics. The second half explores more specialized topics (such as text processing, testing, and the C programming language) and provides abundant reference material. Source code and support supplements are available from the author’s website.
Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You’ll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization’s goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures
Write powerful C programs…without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You’ll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more. C programming has neverbeen this simple!
Who knew how simple C programming could be?
This is today’s best beginner’s guide to writing C programs–and to learning skills you can use with practically any language. Its simple, practical instructions will help you start creating useful, reliable C code, from games to mobile apps. Plus, it’s fully updated for the new C11 standard and today’s free, open source tools! Here’s a small sample of what you’ll learn:
• Discover free C programming tools for Windows, OS X, or Linux
• Understand the parts of a C program and how they fit together
• Generate output and display it on the screen
• Interact with users and respond to their input
• Make the most of variables by using assignments and expressions
• Control programs by testing data and using logical operators
• Save time and effort by using loops and other techniques
• Build powerful data-entry routines with simple built-in functions
• Manipulate text with strings
• Store information, so it’s easy to access and use
• Manage your data with arrays, pointers, and data structures
• Use functions to make programs easier to write and maintain
• Let C handle all your program’s math for you
• Handle your computer’s memory as efficiently as possible
• Make programs more powerful with preprocessing directives
Quickly learn how to create PowerShell scripts and embed them into your existing applications, write "little languages" to solve specific problems, and take charge of your code. This book includes example scripts that you can easily pull apart, tweak, and then use in your own PowerShell and .NET solutions.Slice and dice text, XML, CSV, and JSON with easeEmbed PowerShell to provide scripting capabilities for your C# appsCreate GUI applications five to ten times faster with less codeLeverage PowerShell’s capabilities to work with the InternetInteract with DLLs and create objects, automatically display properties, and call methods in live interactive sessionsBuild domain-specific languages (DSLs) and vocabularies to express solutions more clearlyWork with Microsoft Office via the Component Object Model (COM)Discover PowerShell v3 features included with Windows 8 and Windows Server 2012
Learning Python, Second Edition, offers programmers a comprehensive learning tool for Python and object-oriented programming. Thoroughly updated for the numerous language and class presentation changes that have taken place since the release of the first edition in 1999, this guide introduces the basic elements of the latest release of Python 2.3 and covers new features, such as list comprehensions, nested scopes, and iterators/generators.
Beyond language features, this edition of Learning Python also includes new context for less-experienced programmers, including fresh overviews of object-oriented programming and dynamic typing, new discussions of program launch and configuration options, new coverage of documentation sources, and more. There are also new use cases throughout to make the application of language features more concrete.
The first part of Learning Python gives programmers all the information they'll need to understand and construct programs in the Python language, including types, operators, statements, classes, functions, modules and exceptions. The authors then present more advanced material, showing how Python performs common tasks by offering real applications and the libraries available for those applications. Each chapter ends with a series of exercises that will test your Python skills and measure your understanding.
Learning Python, Second Edition is a self-paced book that allows readers to focus on the core Python language in depth. As you work through the book, you'll gain a deep and complete understanding of the Python language that will help you to understand the larger application-level examples that you'll encounter on your own. If you're interested in learning Python--and want to do so quickly and efficiently--then Learning Python, Second Edition is your best choice.
No previous programming experience is required -- in fact, if you've never written a line of code in your life, bestselling authors Jesse Liberty and Brian MacDonald will show you how it's done. Each chapter offers a self-contained lesson to help you master key concepts, with plenty of annotated examples, illustrations, and a concise summary.
With this book, you will:Learn how to program as you learn C#Grasp the principles of object-oriented programming through C#Discover how to use the latest features in C# 3.0 and the .NET 3.5 Framework--including LINQ and the Windows Presentation Foundation (WPF)Create Windows applications and data-driven applications
You'll also find a unique Test Your Knowledge section in each chapter, with practical exercises and review quizzes, so you can practice new skills and test your understanding. If you're ready to dive into C# and .NET programming, this book is a great way to quickly get up to speed.
Most people catch on faster when they actually DO something, soC++ For Dummies includes a CD-ROM that gives you all youneed to start programming (except the guidance in the book, ofcourse), including:Dev-C, a full-featured, integrated C++ compiler and editor youinstall to get down to businessThe source code for the programs in the book, including codefor BUDGET, programs that demonstrate principles in the bookDocumentation for the Standard Template LibraryOnline C++ help files
Written by Stephen Randy Davis, author of C++ Weekend CrashCourse, C++ for Dummies, takes you through the programmingprocess step-by-step. You’ll discover how to:Generate an executableCreate source code, commenting it as you go and usingconsistent code indentation and naming conventionsWrite declarations and name variables, and calculateexpressionsWrite and use a function, store sequences in arrays, anddeclare and use pointer variablesUnderstand classes and object-oriented programmingWork with constructors and destructorsUse inheritance to extend classesUse stream I/OComment your code as you go, and use consistent codeindentation and naming conventionsAutomate programming with the Standard Template Library(STL)
C++ for Dummies 5th Edition is updated for thenewest ANSI standard to make sure you’re up to code.
Note: CD-ROM/DVD and other supplementary materials arenot included as part of eBook file.
This book takes you step-by-step through many fun and educational possibilities. Take advantage of several preloaded programming languages. Use the Raspberry Pi with Arduino. Create Internet-connected projects. Play with multimedia. With Raspberry Pi, you can do all of this and more.Get acquainted with hardware features on the Pi’s board Learn enough Linux to move around the operating system Pick up the basics of Python and Scratch—and start programming Draw graphics, play sounds, and handle mouse events with the Pygame framework Use the Pi’s input and output pins to do some hardware hacking Discover how Arduino and the Raspberry Pi complement each other Integrate USB webcams and other peripherals into your projects Create your own Pi-based web server with Python
This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how.Learn how to use Git for several real-world development scenariosGain insight into Git’s common-use cases, initial tasks, and basic functionsUse the system for both centralized and distributed version controlLearn how to manage merges, conflicts, patches, and diffsApply advanced techniques such as rebasing, hooks, and ways to handle submodulesInteract with Subversion (SVN) repositories—including SVN to Git conversionsNavigate, use, and contribute to open source projects though GitHub
Written by the founders of Processing, this book takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with one a line of code, observing the result, and then adding to it. Join the thousands of hobbyists, students, and professionals who have discovered this free and educational community platform.Quickly learn programming basics, from variables to objects Understand the fundamentals of computer graphics Get acquainted with the Processing software development environment Create interactive graphics with easy-to-follow projects Use the Arduino open source prototyping platform to control your Processing graphics
Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.Optimize your system to reduce cost and increase performanceDevelop an architecture that makes your software robust in resource-constrained environmentsExplore sensors, motors, and other I/O devicesDo more with less: reduce RAM consumption, code space, processor cycles, and power consumptionLearn how to update embedded code directly in the processorDiscover how to implement complex mathematics on small processorsUnderstand what interviewers look for when you apply for an embedded systems job
"Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations."
—Jack Ganssle, author and embedded system expert.
A few notes about using this book:
(1) This book contains embedded videos. Not all readers support video. If you read directly on Google Play, you can only see videos in "flowable text" mode.
(2) Blocks of code and other large items do not format well in flowable text mode. You can select "original page" mode to view such things in a full page layout as they were in the original pdf version.
This fast-paced introduction to the newest release of Android OSgives aspiring mobile app developers what they need to know toprogram for today's hottest Android smartphones and tablets.Android 4 OS is, for the first time, a single solution for bothsmartphones and tablets, so if you master the information in thishelpful guide, you'll be well on your way to successful developmentfor both devices. From using activities and intents and creatingrich user interfaces to working with SMS, messaging APIs, and theAndroid SDK, what you need is here.Provides clear instructions backed by real-world programmingexamplesBegins with the basics and covers everything Android 4developers need to know for both smartphones and tabletsExplains how to customize activities and intents, create richuser interfaces, and manage dataHelps you work with SMS and messaging APIs, the Android SDK,and using location-based servicesDetails how to package and publish your applications to theAndroid Market
Beginning Android 4 Application Development pares downthe most essential steps you need to know so you can start creatingAndroid applications today.
This book covers:Arrays and lists: the most common data structuresStacks and queues: more complex list-like data structuresLinked lists: how they overcome the shortcomings of arraysDictionaries: storing data as key-value pairsHashing: good for quick insertion and retrievalSets: useful for storing unique elements that appear only onceBinary Trees: storing data in a hierarchical mannerGraphs and graph algorithms: ideal for modeling networksAlgorithms: including those that help you sort or search dataAdvanced algorithms: dynamic programming and greedy algorithms
If you want to design and build cutting-edge video games butaren’t sure where to start, then the SECOND EDITION of theacclaimed Level Up! is for you! Written by leading videogame expert Scott Rogers, who has designed the hits Pac ManWorld, Maximo and SpongeBob Squarepants, thisupdated edition provides clear and well-thought out examples thatforgo theoretical gobbledygook with charmingly illustrated conceptsand solutions based on years of professional experience.
Level Up! 2nd Edition has been NEWLYEXPANDED to teach you how to develop marketable ideas, learn whatperils and pitfalls await during a game’s pre-production,production and post-production stages, and provide even morecreative ideas to serve as fuel for your own projectsincluding:Developing your game design from the spark of inspiration allthe way to productionLearning how to design the most exciting levels, the mostprecise controls, and the fiercest foes that will keep your playerschallengedCreating games for mobile and console systems – includingdetailed rules for touch and motion controlsMonetizing your game from the design upWriting effective and professional design documents with thehelp of brand new examples
Level Up! 2nd Edition is includes all-new content, anintroduction by David “God of War” Jaffe andeven a brand-new chili recipe –making it an even moreindispensable guide for video game designers both “in thefield” and the classroom.
Grab your copy of Level Up! 2nd Edition andlet’s make a game!
Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi (O’Reilly). Python and other code examples from the book are available on GitHub.Set up your Raspberry Pi and connect to a networkWork with its Linux-based operating systemProgram Raspberry Pi with PythonGive your Pi "eyes" with computer visionControl hardware through the GPIO connectorUse Raspberry Pi to run different types of motorsWork with switches, keypads, and other digital inputsUse sensors to measure temperature, light, and distanceConnect to IoT devices in various waysCreate dynamic projects with Arduino
You'll build the MintDuino Reflex Game in five separate stages or sub-tasks. Breaking down a large project into manageable tasks helps you track down errors quickly, and lets you see how each part of the circuit works. Once you complete the game, you'll have the resources and experience to tackle more MintDuino projects. If you’re interested in the fascinating world of microcontrollers, you'll enjoy this book.Wire up and program the MintDuino to light an LED Build a game that tests the reflexes of two players Learn how to make your “game light” glow at random intervals Construct a pushbutton circuit to control individual players’ LEDs Put all of the components together, including simple code to control your game
The language is devised with Java / C#-like syntax so as to feel familiar to the bulk of programmers today, but Go code is much cleaner and simpler to read, thus increasing the productivity of developers.
You will see how Go:simplifies programming with slices, maps, structs and interfaces incorporates functional programming makes error-handling easy and secure simplifies concurrent and parallel programming with goroutines and channels
And you will learn how to:make use of Gos excellent standard library program Go the idiomatic way using patterns and best practices in over 225 working examples and 135 exercises
This book focuses on the aspects that the reader needs to take part in the coming software revolution using Go.
This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment. You'll begin with an introduction to the Java Enterprise Edition and the basic web application, then set up a development application server environment, learn about the tools used in the development process, and explore numerous Java technologies and practices. The book covers industry-standard tools and technologies, specific technologies, and underlying programming concepts.Java is an essential programming language used worldwide for both Android app development and enterprise-level corporate solutionsAs a step-by-step guide or a general reference, this book provides an all-in-one Java development solutionExplains Java Enterprise Edition 7 and the basic web application, how to set up a development application server environment, which tools are needed during the development process, and how to apply various Java technologiesCovers new language features in Java 8, such as Lambda Expressions, and the new Java 8 Date & Time API introduced as part of JSR 310, replacing the legacy Date and Calendar APIsDemonstrates the new, fully-duplex WebSocket web connection technology and its support in Java EE 7, allowing the reader to create rich, truly interactive web applications that can push updated data to the client automaticallyInstructs the reader in the configuration and use of Log4j 2.0, Spring Framework 4 (including Spring Web MVC), Hibernate Validator, RabbitMQ, Hibernate ORM, Spring Data, Hibernate Search, and Spring SecurityCovers application logging, JSR 340 Servlet API 3.1, JSR 245 JavaServer Pages (JSP) 2.3 (including custom tag libraries), JSR 341 Expression Language 3.0, JSR 356 WebSocket API 1.0, JSR 303/349 Bean Validation 1.1, JSR 317/338 Java Persistence API (JPA) 2.1, full-text searching with JPA, RESTful and SOAP web services, Advanced Message Queuing Protocol (AMQP), and OAuth
Professional Java for Web Applications is the complete Wrox guide for software developers who are familiar with Java and who are ready to build high-level enterprise Java web applications.
This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.Simplify naming, commenting, and formatting with tips that apply to every line of codeRefine your program’s loops, logic, and variables to reduce complexity and confusionAttack problems at the function level, such as reorganizing blocks of code to do one task at a timeWrite effective test code that is thorough and concise—as well as readable
"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples."
—Michael Hunger, passionate Software Developer
Want to build the next runaway Facebook app like Farmville orMafia Wars? Interested in leveraging Facebook app development aspart of a marketing strategy? Whether you want to build your ownFacebook app from scratch, extend an existing Facebook app, orcreate a game, this book gets you up and running in no time. Masterthe Facebook toolkit, get acquainted with the Facebook Markup andQuery languages, navigate the Facebook API—even learn how tomake money with your new app!Shows you how to build the next great Facebook application withjust basic HTML and scripting skillsDelves into what makes a good app and what makes a lucrativeappExplores how to create Facebook apps for marketing and viralreach, creating apps that can make money, and Facebook gamedevelopmentReviews the Facebook toolkit and gets you started with the MyFirst Facebook applicationCovers Facebook Markup and Query languages, navigating theFacebook API, and how to create a compelling interface
Create the next killer Facebook app with this approachable, funguide!
Author Steven Foote taught himself to program, figuring out the best ways to overcome every obstacle. Now a professional web developer, he’ll help you follow in his footsteps. He teaches concepts you can use with any modern programming language, whether you want to program computers, smartphones, tablets, or even robots.
Learning to Program will help you build a solid foundation in programming that can prepare you to achieve just about any programming goal. Whether you want to become a professional software programmer, or you want to learn how to more effectively communicate with programmers, or you are just curious about how programming works, this book is a great first step in helping to get you there.
Learning to Program will help you get started even if you aren’t sure where to begin.
• Learn how to simplify and automate many programming tasks
• Handle different types of data in your programs
• Use regular expressions to find and work with patterns
• Write programs that can decide what to do, and when to do it
• Use functions to write clean, well-organized code
• Create programs others can easily understand and improve
• Test and debug software to make it reliable
• Work as part of a programming team
• Learn the next steps to take to build a lifetime of programming skills
If you're a developer or administrator, you'll want to get thoroughly up to speed on Microsoft's new IIS 8 platform with this complete, in-depth reference. Prepare yourself to administer IIS 8 in not only commercial websites and corporate intranets, but also the mass web hosting market with this expert content. The book covers common administrative tasks associated with monitoring and managing an IIS environment--and then moves well beyond, into extensibility, scripted admin, and other complex topics.
The book highlights automated options outside the GUI, options that include the PowerShell provider and AppCmd tool. It explores extensibility options for developers, including ISAPI and HTTPModules. And, it delves into security protocols and high availability/load balancing at a level of detail that is not often found in IIS books.Author team includes Microsoft MVPs and an IIS team member Covers the management and monitoring of Microsoft Internet Information Services (IIS) 8 for administrators and developers, including MOF and MOM Delves into topics not often included in IIS books, including using the PowerShell provider and AppCmd tool and other automated options, and extending IIS 8 with ISAPI or HTTPModules Explores security issues in depth, including high availability/load balancing, and the Kerberos, NTLM, and PKI/SSL protocols Explains how to debug and troubleshoot IIS
Professional Microsoft IIS 8 features a wealth of information gathered from individuals running major intranets and web hosting facilities today, making this an indispensible and real-world reference to keep on hand.
Written by leaders of the international Erlang community -- and based on their training material -- Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency.
This book helps you:
Understand the strengths of Erlang and why its designers included specific featuresLearn the concepts behind concurrency and Erlang's way of handling itWrite efficient Erlang programs while keeping code neat and readableDiscover how Erlang fills the requirements for distributed systemsAdd simple graphical user interfaces with little effortLearn Erlang's tracing mechanisms for debugging concurrent and distributed systemsUse the built-in Mnesia database and other table storage features
Erlang Programming provides exercises at the end of each chapter and simple examples throughout the book.
This book helps newcomers get started with a look at the basicsof network programming as they relate to C#, including thelanguage's network classes, the Winsock interface, and DNSresolution. Spend as much time here as you need, then dig into thecore topics of the network layer. You'll learn to make socketsconnections via TCP and "connectionless" connections via UDP.You'll also discover just how much help C# gives you with some ofyour toughest chores, such as asynchronous socket programming,multithreading, and multicasting.
Network-layer techniques are just a means to an end, of course,and so this book keeps going, providing a series of detailedapplication-layer programming examples that show you how to workwith real protocols and real network environments to build andimplement a variety of applications. Use SNMP to manage networkdevices, SMTP to communicate with remote mail servers, and HTTP toWeb-enable your applications. And use classes native to C# to queryand modify Active Directory entries.
Rounding it all out is plenty of advanced coverage to push yourC# network programming skills to the limit. For example, you'lllearn two ways to share application methods across the network:using Web services and remoting. You'll also master the securityfeatures intrinsic to C# and .NET--features that stand to benefitall of your programming projects.
Test-driven development (TDD) practice helps developersrecognize a well-designed application, and encourages writing atest before writing the functionality that needs to be implemented.This hands-on guide provides invaluable insight for creatingsuccessful test-driven development processes. With source code andexamples featured in both C# and .NET, the book walks you throughthe TDD methodology and shows how it is applied to a real-worldapplication. You’ll witness the application built fromscratch and details each step that is involved in the development,as well as any problems that were encountered and the solutionsthat were applied.Clarifies the motivation behind test-driven development (TDD),what it is, and how it worksReviews the various steps involved in developing an applicationand the testing that is involved prior to implementing thefunctionalityDiscusses unit testing and refactoring
Professional Test-Driven Development with C# shows youhow to create great TDD processes right away.
Inside, you’ll find complete recipes for more than a dozen topics, covering the core Python language as well as tasks common to a wide variety of application domains. Each recipe contains code samples you can use in your projects right away, along with a discussion about how and why the solution works.
Topics include:Data Structures and AlgorithmsStrings and TextNumbers, Dates, and TimesIterators and GeneratorsFiles and I/OData Encoding and ProcessingFunctionsClasses and ObjectsMetaprogrammingModules and PackagesNetwork and Web ProgrammingConcurrencyUtility Scripting and System AdministrationTesting, Debugging, and ExceptionsC Extensions