Best of
Programming

2013

High Performance Browser Networking


Ilya Grigorik - 2013
    By understanding what the browser can and cannot do, you’ll be able to make better design decisions and deliver faster web applications to your users.Author Ilya Grigorik—a developer advocate and web performance engineer at Google—starts with the building blocks of TCP and UDP, and then dives into newer technologies such as HTTP 2.0, WebSockets, and WebRTC. This book explains the benefits of these technologies and helps you determine which ones to use for your next application.- Learn how TCP affects the performance of HTTP- Understand why mobile networks are slower than wired networks- Use best practices to address performance bottlenecks in HTTP- Discover how HTTP 2.0 (based on SPDY) will improve networking- Learn how to use Server Sent Events (SSE) for push updates, and WebSockets for XMPP chat- Explore WebRTC for browser-to-browser applications such as P2P video chat- Examine the architecture of a simple app that uses HTTP 2.0, SSE, WebSockets, and WebRTC

JavaScript and jQuery: Interactive Front-End Web Development


Jon Duckett - 2013
    The content assumes no previous programming experience, other than knowing how to create a basic web page in HTML & CSS. You'll learn how to achieve techniques seen on many popular websites (such as adding animation, tabbed panels, content sliders, form validation, interactive galleries, and sorting data)..Introduces core programming concepts in JavaScript and jQueryUses clear descriptions, inspiring examples, and easy-to-follow diagramsTeaches you how to create scripts from scratch, and understand the thousands of JavaScripts, JavaScript APIs, and jQuery plugins that are available on the webDemonstrates the latest practices in progressive enhancement, cross-browser compatibility, and when you may be better off using CSS3If you're looking to create more enriching web experiences and express your creativity through code, then this is the book for you.This book is also available as part of a set in hardcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781119038634 - and in softcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781118907443.

Functional Programming in Scala


Rúnar Bjarnason - 2013
    As a result, functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with existing Java libraries make Scala a great place to start learning FP.Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, they'll find concrete examples and exercises that open up the world of functional programming.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Systems Performance: Enterprise and the Cloud


Brendan Gregg - 2013
    Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux(R) and Unix(R) performance, while illuminating performance issues that are relevant to all operating systems. You'll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu(R), Fedora(R), CentOS, and the illumos-based Joyent(R) SmartOS(TM) and OmniTI OmniOS(R). He systematically covers modern systems performance, including the "traditional" analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the "unknown unknowns" of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish. Coverage includes - Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques - Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf - Kernel internals: uncovering what the OS is doing - Using system observability tools, interfaces, and frameworks - Understanding and monitoring application performance - Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling - Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators - File system I/O, including caching - Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O - Network-related performance issues: protocols, sockets, interfaces, and physical connections - Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing - Benchmarking: getting accurate results and avoiding common mistakes This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg's extensive instructional experience.

A Tour of C++


Bjarne Stroustrup - 2013
    Bjarne Stroustrup, the designer and original implementer of C++, thoroughly covers the details of this language and its use in his definitive reference, The C++ Programming Language, Fourth Edition. In A Tour of C++ , Stroustrup excerpts the overview chapters from that complete reference, expanding and enhancing them to give an experienced programmer-in just a few hours-a clear idea of what constitutes modern C++. In this concise, self-contained guide, Stroustrup covers most major language features and the major standard-library components-not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++11, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour ends with a discussion of the design and evolution of C++ and the extensions added for C++11. This guide does not aim to teach you how to program (see Stroustrup's Programming: Principles and Practice Using C++ for that); nor will it be the only resource you'll need for C++ mastery (see Stroustrup's The C++ Programming Language, Fourth Edition, for that). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can't find a shorter or simpler introduction than this tour provides.

Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun


Dave Thomas - 2013
    You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers.Maybe you need something that’s closer to Ruby, but with a battle-proven environment that’s unrivaled for massive scalability, concurrency, distribution, and fault tolerance. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.

Effective Objective-C 2.0: 52 Specific Ways to Improve Your IOS and OS X Programs


Matt Galloway - 2013
    Using the concise, scenario-driven style pioneered in Scott Meyers' best-selling Effective C++, Matt Galloway brings together 52 Objective-C best practices, tips, shortcuts, and realistic code examples that are available nowhere else. Through real-world examples, Galloway uncovers little-known Objective-C quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. You'll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that's easier to understand, maintain, and improve. Galloway goes far beyond the core language, helping you integrate and leverage key Foundation framework classes and modern system libraries, such as Grand Central Dispatch. Coverage includes Optimizing interactions and relationships between Objective-C objects Mastering interface and API design: writing classes that feel "right at home" Using protocols and categories to write maintainable, bug-resistant code Avoiding memory leaks that can still occur even with Automatic Reference Counting (ARC) Writing modular, powerful code with Blocks and Grand Central Dispatch Leveraging differences between Objective-C protocols and multiple inheritance in other languages Improving code by more effectively using arrays, dictionaries, and sets Uncovering surprising power in the Cocoa and Cocoa Touch frameworks

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming


Simon Marlow - 2013
    You’ll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions.Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented:Express parallelism in Haskell with the Eval monad and Evaluation StrategiesParallelize ordinary Haskell code with the Par monadBuild parallel array-based computations, using the Repa libraryUse the Accelerate library to run computations directly on the GPUWork with basic interfaces for writing concurrent codeBuild trees of threads for larger and more complex programsLearn how to build high-speed concurrent network serversWrite distributed programs that run on multiple machines in a network

Introduction to Computation and Programming Using Python


John V. Guttag - 2013
    It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of "data science" for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (or MOOC) offered by the pioneering MIT--Harvard collaboration edX.Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. The book does not require knowledge of mathematics beyond high school algebra, but does assume that readers are comfortable with rigorous thinking and not intimidated by mathematical concepts. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming.Introduction to Computation and Programming Using Python can serve as a stepping-stone to more advanced computer science courses, or as a basic grounding in computational problem solving for students in other disciplines.

Competitive Programming 3


Steven Halim - 2013
    

Oca/Ocp Java Se 7 Programmer I & II Study Guide (Exams 1z0-8oca/Ocp Java Se 7 Programmer I & II Study Guide (Exams 1z0-803 & 1z0-804) 03 & 1z0-804)


Kathy Sierra - 2013
    This complete study guide provides in-depth, up-to-date coverage of all the exam objectives, and goes a step beyond to cover the Java Developer exam (now an Oracle Certified Expert level credential).This book provides an integrated study system based on proven pedagogy--step-by-step exercises, special Exam Watch, Inside-the-Exam, and On-the-Job notes, and chapter self tests help reinforce and teach practical skills while preparing you for the exam. The CD-ROM includes MasterExam practice exam software featuring more than 100 questions that appear only on the CD, and a searchable e-book."OCP Java SE 7 Programmer Study Guide" Covers all new OCP Java SE 7 Programmer exam objectives Written by the co-developers of the original SCJP exam Filled with accurate test questions that simulate the type and style of questions found on the live exam Contains two complete practice exams--250+ challenging practice exam questions in book and on CD All practice questions include answer explanations for both the correct and incorrect options

Understanding Computation: From Simple Machines to Impossible Programs


Tom Stuart - 2013
    Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming.Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science.* Understand fundamental computing concepts, such as Turing completeness in languages* Discover how programs use dynamic semantics to communicate ideas to machines* Explore what a computer can do when reduced to its bare essentials* Learn how universal Turing machines led to today’s general-purpose computers* Perform complex calculations, using simple languages and cellular automata* Determine which programming language features are essential for computation* Examine how halting and self-referencing make some computing problems unsolvable* Analyze programs by using abstract interpretation and type systems

Two Scoops of Django: Best Practices for Django 1.5


Daniel Roy Greenfeld - 2013
    We'll introduce you to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years.This book is great for:Beginners who have just finished the Django tutorial.Developers with intermediate knowledge of Django who want to improve their Django projects.

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better


Jeff Langr - 2013
    Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard. In this book, you'll learn: how to use TDD to improve legacy C++ systems how to identify and deal with troublesome system dependencies how to do dependency injection, which is particularly tricky in C++ how to use testing tools for C++ that aid TDD new C++11 features that facilitate TDD As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team. Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++.What You Need A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2. Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice. A good programmer's editor or IDE. cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9. Various freely-available third-party libraries are used as the basis for examples in the book. These include: - cURL - JsonCpp - Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.

Laravel: From Apprentice To Artisan


Taylor Otwell - 2013
    Learn about dependency injection, interfaces, service providers, SOLID design, and more while exploring practical, real-world code examples. Whether you're building a robust, large application with the Laravel framework, or just want to sharpen your software design chops, this book will be of great value to you and your team.

Distributed Systems For Fun and Profit


Mikito Takada - 2013
    

Algorithms Unlocked


Thomas H. Cormen - 2013
    For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms.

Make: AVR Programming: Learning to Write Software for Hardware (Make : Technology on Your Time)


Elliot Williams - 2013
    In this book you'll set aside the layers of abstraction provided by the Arduino environment and learn how to program AVR microcontrollers directly. In doing so, you'll get closer to the chip and you'll be able to squeeze more power and features out of it.Each chapter of this book is centered around projects that incorporate that particular microcontroller topic. Each project includes schematics, code, and illustrations of a working project. Program a range of AVR chips Extend and re-use other people’s code and circuits Interface with USB, I2C, and SPI peripheral devices Learn to access the full range of power and speed of the microcontroller Build projects including Cylon Eyes, a Square-Wave Organ, an AM Radio, a Passive Light-Sensor Alarm, Temperature Logger, and more Understand what's happening behind the scenes even when using the Arduino IDE

OS X 10.9 Mavericks: The Ars Technica Review


John Siracusa - 2013
    Ars Technica's review of OS X 10.9 Mavericks.

Scaling PHP Applications


Stephen Corona - 2013
    I'm sharing everything I've learnt in this ebook so you can skip over the trial-and-error and head straight to the techniques. Covers the entire stack- Nginx, MySQL, Redis In-Depth MySQL Tuning We discuss each parameter, why it exists, and how to tune it. Nginx and PHP-FPM Move away from Apache and learn how to tune Nginx/PHP-FPM. Redis and Memcached We discuss scaling sessions, Russian Doll Caching, and the "dogpile". Result-proven techniques This content doesn't exist anywhere else When I set out to write Scaling PHP Apps, my goal was to write about topics that didn't really exist anywhere else. This isn't regurgitated documentation- it's real life scaling techniques, mixed with case studies and in-depth exploration. Make no mistake, this is a highly technical book, and you should already be comfortable with PHP. If you've ever researched scaling, you know nothing like this book really exists anywhere else. It's an important book that'll save you hours of research and testing. Readers have told me it's blown their expectations away and that they've implemented hundreds of tidbits into their stack. This book is filled with 150-pages of real-life, practical content. Changes that you can implement today! * Settle the Persistent Connection debate (with benchmarks) * Detailed explination of each important MySQL Setting * Understand exactly how NUMA impacts MySQL * Why you should scrap Apache and mod_php * Bugs in Memcached you've never heard about * How DNS lookups can crash your whole application * Clever uses of Redis for stats and performance * How to debug PHP with strace and xhprof * Ways to benchmark MySQL, HAProxy, Nginx, and PHP

Pro ASP.NET MVC 5


Adam Freeman - 2013
    It provides a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET.ASP.NET MVC 5 contains a number of advances over previous versions, including the ability to define routes using C# attributes and the ability to override filters. The user experience of building MVC applications has also been substantially improved. The new, more tightly integrated, Visual Studio 2013 IDE has been created specifically with MVC application development in mind and provides a full suite of tools to improve development times and assist in reporting, debugging and deploying your code. The popular Bootstrap JavaScript library has also now been included natively within MVC 5 providing you, the developer, with a wider range of multi-platform CSS and HTML5 options than ever before without the penalty of having to load-in third party libraries. What you�ll learn Gain a solid architectural understanding of ASP.NET MVC 5 Explore the entire ASP.NET MVC Framework as a cohesive whole Learn what's new in version 5 and how best to apply these new features to your own work See how MVC and test-driven development work in action Capitalize on your existing knowledge quickly and easily through comparison of features in classic ASP.NET to those in ASP.NET MV Who this book is for This book is for web developers with a basic knowledge of ASP.NET and C#who want, or need, to start using the new ASP.NET MVC 5 Framework.

Simulation of Digital Communication Systems using Matlab


Mathuranathan Viswanathan - 2013
    Some of the simulation topics include various digital modulation and channel coding techniques, OFDM, fading channels, random distributions .Essential topics in digital communication are also introduced to foster better understanding of simulation methodologies.This ebook is meant for students and instructors who are interested in simulation of signal processing and digital communication with Matlab. You should have a fair understanding of Matlab programming to begin with. Essential topics in digital communication are introduced to foster understanding of simulation methodologies.This second edition includes following new topics - propagation path models like - log normal shadowing, Hata-Okumura models, in-depth treatment of Shannon-Hartley equation and Channel Capacity calculationSome of the key topics include: Sampling theorem, hard & soft decision decoding, Hamming codes, Reed Solomon codes, convolutional codes, Viterbi decoding, Inter symbol interference, Correlative coding, Raised cosine filter, Square Root Raised Cosine filter, Gibbs phenomenon, Moving average filter, Probability and random process, Chi-square, Gaussian, uniform, Rician, Rayleigh distributions, demonstration of central limit theorem, Propagation models, fading models, digital modulation techniques, OFDM, spread spectrum.

Real World OCaml: Functional programming for the masses


Yaron Minsky - 2013
    Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code.Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.Learn the foundations of the language, such as higher-order functions, algebraic data types, and modulesExplore advanced features such as functors, first-class modules, and objectsLeverage Core, a comprehensive general-purpose standard library for OCamlDesign effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularityTackle practical programming problems from command-line parsing to asynchronous network programmingExamine profiling and interactive debugging techniques with tools such as GNU gdb

Introducing Python: Modern Computing in Simple Packages


Bill Lubanovic - 2013
    In addition to giving a strong foundation in the language itself, Lubanovic shows how to use it for a range of applications in business, science, and the arts, drawing on the rich collection of open source packages developed by Python fans.It's impressive how many commercial and production-critical programs are written now in Python. Developed to be easy to read and maintain, it has proven a boon to anyone who wants applications that are quick to write but robust and able to remain in production for the long haul.This book focuses on the current version of Python, 3.x, while including sidebars about important differences with 2.x for readers who may have to deal with programs in that version.

IOS Core Animation: Advanced Techniques


Nick Lockwood - 2013
    By unleashing the full power of Core Animation, you can enhance your app with impressive 2D and 3D visual effects and create exciting and unique new interfaces. In this in-depth guide, iOS developer Nick Lockwood takes you step-by-step through the Core Animation framework, building up your understanding through sample code and diagrams together with comprehensive explanations and helpful tips. Lockwood demystifies the Core Animation APIs, and teaches you how to make use ofLayers and views, software drawing and hardware compositing Layer geometry, hit testing and clipping Layer effects, transforms and 3D interfaces Video playback, text, tiled images, OpenGL, particles and reflections Implicit and explicit animations Property animations, keyframes and transitions Easing, frame-by-frame animation and physics Performance tuning and much, much more! Approximately 356 pages. www.informit.com/aw

CCNA Success: Chris Bryant's ICND2 Study Guide


Chris Bryant - 2013
    and much, much more! Let's hear from just a few of the thousands of CCNAs and CCENTs who have used my Study Guides to make their professional dreams come true! "I just passed my CCNA using your book. I can't wait to start the CCNA Security! You really make the material fun and easy to understand." -- Matthew Fabian, Stratford, Connecticut, CCNA! "I just earned my CCNA with a 902! Thank you, Chris!" - James Bell, Norcross, Georgia, CCNA! "Just thought I'd let you know that today I passed my CCNA! Now on to the CCNP!" -- Ben Gooder, Manchester, UK, CCNA! "Thank you so much for the Bryant Advantage! I am delighted to have passed the CCNA today. I found your study guide after failing the exam twice. I passed it the third time! . Your learning tools made all the difference." -- Dene Nelson, Cathedral City, California, CCNA! From my famous, crystal-clear explanations and demos of binary math and subnetting to the clear instruction you'll receive on the dreaded topic of IP Version 6, you'll find my ICND2 Study Guide to be an invaluable part of your CCENT and CCNA success preparation. Thanks for reading this, and for making The Bryant Advantage part of your success! Chris Bryant CCIE #12933 "The Computer Certification Bulldog"

Algorithms


Jeff Erickson - 2013
    Spurred by changes of our undergraduate theory curriculum, I undertook a major revision of my notes in 2016; this book consists of a subset of my revised notes on the most fundamental course material, mostly reflecting the algorithmic content of our new required junior-level theory course.

C++ Templates: The Complete Guide


David Vandevoorde - 2013
    In C++ Templates, Second Edition, three pioneering C++ experts show why, when, and how to use modern templates to build software that’s cleaner, faster, more efficient, and easier to maintain. Now extensively updated for the C++11, C++14, and C++17 standards, this new edition presents state-of-the-art techniques for a wider spectrum of applications. The authors provide authoritative explanations of all new language features that either improve templates or interact with them, including variadic templates, generic lambdas, class template argument deduction, compile-time if, forwarding references, and user-defined literals. They also deeply delve into fundamental language concepts (like value categories) and fully cover all standard type traits. The book starts with an insightful tutorial on basic concepts and relevant language features. The remainder of the book serves as a comprehensive reference, focusing first on language details and then on coding techniques, advanced applications, and sophisticated idioms. Throughout, examples clearly illustrate abstract concepts and demonstrate best practices for exploiting all that C++ templates can do. Understand exactly how templates behave, and avoid common pitfalls Use templates to write more efficient, flexible, and maintainable software Master today’s most effective idioms and techniques Reuse source code without compromising performance or safety Benefit from utilities for generic programming in the C++ Standard Library Preview the upcoming concepts feature

Coding the Matrix: Linear Algebra through Computer Science Applications


Philip N. Klein - 2013
    Mathematical concepts and computational problems are motivated by applications in computer science. The reader learns by "doing," writing programs to implement the mathematical concepts and using them to carry out tasks and explore the applications. Examples include: error-correcting codes, transformations in graphics, face detection, encryption and secret-sharing, integer factoring, removing perspective from an image, PageRank (Google's ranking algorithm), and cancer detection from cell features. A companion web site, codingthematrix.com provides data and support code. Most of the assignments can be auto-graded online. Over two hundred illustrations, including a selection of relevant "xkcd" comics. Chapters: "The Function," "The Field," "The Vector," "The Vector Space," "The Matrix," "The Basis," "Dimension," "Gaussian Elimination," "The Inner Product," "Special Bases," "The Singular Value Decomposition," "The Eigenvector," "The Linear Program"

A Year With Symfony - Writing healthy, reusable Symfony2 code


Matthias Noback - 2013
    You may have started reading your way through the official documentation ("The Book"), the cookbook, some blogs, or an online tutorial. You know now how to create a Symfony2 application, with routing, controllers, entities or documents, Twig templates and maybe some unit tests. But after these basic steps, some concerns will raise about...- The reusability of your code - How should you structure your code to make it reusable in a future project? Or even in the same project, but with a different view or in a console command?- The quality of the internal API you have knowingly or unknowingly created - What can you do to ensure that your team members will understand your code, and will use it in the way it was meant to be used? How can you make your code flexible enough to be used in situations resembling the one you wrote it for?- The level of security of your application - Symfony2 and Doctrine seem to automatically make you invulnerable for well-known attacks on your web application, like XSS, CSRF and SQL injection attacks. But can you completely rely on the framework? And what steps should you take to fix some of the remaining issues?- The inner workings of Symfony2 - When you take one step further from creating just controllers and views, you will soon need to know more about the HttpKernel which is the heart of a Symfony2 application. How does it know what controller should be used, and which template? And how can you override any decision that's made while handling a request?

Pro Asynchronous Programming with .Net


Richard Blewett - 2013
    It answers critical questions in .NET application development, such as: how do I keep my program responding at all times to keep my users happy? how do I make the most of the available hardware? how can I improve performance?In the modern world, users expect more and more from their applications and devices, and multi-core hardware has the potential to provide it. But it takes carefully crafted code to turn that potential into responsive, scalable applications.With Pro Asynchronous Programming with .NET you will:Meet the underlying model for asynchrony on Windows--threads.Learn how to perform long blocking operations away from your UI thread to keep your UI responsive, then weave the results back in as seamlessly as possible.Master the async/await model of asynchrony in .NET, which makes asynchronous programming simpler and more achievable than ever before.Solve common problems in parallel programming with modern async techniques.Get under the hood of your asynchronous code with debugging techniques and insights from Visual Studio and beyond.In the past asynchronous programming was seen as an advanced skill. It's now a must for all modern developers. Pro Asynchronous Programming with .NET is your practical guide to using this important programming skill anywhere on the .NET platform.

Microsoft Excel 2013 Power Programming with VBA


John Walkenbach - 2013
    Naturally, that means John Walkenbach returns with a new edition of his bestselling VBA Programming book and covers all the methods and tools you need to know in order to program with Excel. With this comprehensive guide, Mr. Spreadsheet shows you how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf.Featuring a complete introduction to Visual Basic for Applications and fully updated for the latest features of Excel 2013, this essential reference includes an analysis of Excel application development and is packed with procedures, tips, and ideas for expanding Excel's capabilities with VBA.Offers an analysis of Excel application development and a complete introduction to VBA Features invaluable advice from Mr. Spreadsheet himself, bestselling author John Walkenbach, who demonstrates all the techniques you need to create Excel applications, both large and small Covers navigating the Excel interface, formatting worksheets, interacting with other Office applications, working with collaboration tools, and using sample workbooks and John Walkenbach's award-winning Power Utility Pak to help enhance your Excel skills Provides tips, tricks, and techniques for expanding Excel's capabilities with VBA that you wont find anywhere else Excel 2013 Power Programming with VBA is packed with procedures, tips, and ideas for achieving Excel excellence with VBA.

Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions


Venkat Subramaniam - 2013
    You can use them to leap forward into a whole new world of programming in Java. With functional programming capabilities, which have been around for decades in other languages, you can now write elegant, concise, less error-prone code using standard Java. This book will guide you though the paradigm change, offer the essential details about the new features, and show you how to transition from your old way of coding to an improved style.In this book you’ll see popular design patterns, such as decorator, builder, and strategy, come to life to solve common design problems, but with little ceremony and effort. With these new capabilities in hand, Functional Programming in Java will help you pick up techniques to implement designs that were beyond easy reach in earlier versions of Java. You’ll see how you can reap the benefits of tail call optimization, memoization, and effortless parallelization techniques.Java 8 will change the way you write applications. If you’re eager to take advantage of the new features in the language, this is the book for you.

On Top of Tides, 2nd Edition 浪潮之巅(上第2版)


Wu Jun - 2013
    Through analysis of major companies' technological track and operating philosophy, the authors show not only the historical landscape of interchanging phases of the technology industry and the growth pattern of large companies, but also provide the reader with a more realistic understanding of the technology industry, understanding the significance of technological innovation and fair trade.本书梳理了IT产业发展的历史脉络,叙述了美国硅谷明星公司的兴衰沉浮。通过对各大公司从技术轨迹到经营理念的剖析,作者展现的不仅是科技产业更迭和大公司成长规律的历史景观,更能让读者更真实地了解科技产业,理解科技创新和商业公平的意义。 本书为其第二版精装本。

Understanding and Using C Pointers


Richard Reese - 2013
    With this practical book, you’ll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book.Difficult to master, pointers provide C with much flexibility and power—yet few resources are dedicated to this data type. This comprehensive book has the information you need, whether you’re a beginner or an experienced C or C++ programmer or developer.Get an introduction to pointers, including the declaration of different pointer typesLearn about dynamic memory allocation, de-allocation, and alternative memory management techniquesUse techniques for passing or returning data to and from functionsUnderstand the fundamental aspects of arrays as they relate to pointersExplore the basics of strings and how pointers are used to support themExamine why pointers can be the source of security problems, such as buffer overflowLearn several pointer techniques, such as the use of opaque pointers, bounded pointers and, the restrict keyword

Laravel Testing Decoded


Jeffrey Way - 2013
    As your application grows, so does your sloppy, untested codebase. Before long, you begin to drown, as your ability to manually test the application becomes unrealistic, or even impossible! It's at these specific times, when you begin to realize the down-right necessity for testing. Sure, you might have read a TDD book in the past, but, like many things in life, we require real-life experience, before we suddenly - in a wonderful, blissful "aha moment" - get it.The only problem is that testing can be a tricky thing. In fact, it's quite possible that your codebase, as it currently stands, is untestable! What you may not realize is that, while, yes, testing does help to ensure that your code works as expected, following this pattern will also make you a better developer. That messy, untestable spaghetti code that you might have snuck into your project in the past will never happen again. Trust me: as soon as you bring the phrase "how could I test this" to the forefront of every new piece of code, you'll, with a smile on your face, look back to your former self, and laugh at your crazy, cowboy ways. Welcome to modern software development.While the principles of testing (and TDD) are language-agnostic, when it comes to execution, there are a variety of tools and techniques at your finger tips. This book is as much an introduction to TDD as it is a deep analysis of the Laravel way of testing applications. Updates will be free for life.

High Performance Python: Practical Performant Programming for Humans


Micha Gorelick - 2013
    Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation.How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more.Get a better grasp of NumPy, Cython, and profilersLearn how Python abstracts the underlying computer architectureUse profiling to find bottlenecks in CPU time and memory usageWrite efficient programs by choosing appropriate data structuresSpeed up matrix and vector computationsUse tools to compile Python down to machine codeManage multiple I/O and computational operations concurrentlyConvert multiprocessing code to run on local or remote clustersDeploy code faster using tools like Docker

The Neophyte's Guide to Scala


Daniel Westheide - 2013
    If you have made your first steps with Scala and functional programming, for example by participating in Martin Odersky's Coursera course Functional Programming Principles in Scala, and you don't know how to continue, this book is for you.Originally published as a blog series from November 2012 to April 2013, the Neophyte's Guide to Scala is now available as an ebook, a compilation of all 16 articles.In this book, you will learn the details of how to employ pattern matching and extractors, working with the omnipresent Option and similar types in an idiomatic way, and leveraging higher-order functions and currying to keep your code DRY. Furthermore, you will gain insight into advanced Scala features like type classes and path-dependent types and about Scala's approach at concurrent programming: Learn about the power of Scala's futures and the actor model, as implemented in the popular Akka toolkit.

The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors


Joseph Yiu - 2013
    This book presents the background of the ARM architecture and outlines the features of the processors such as the instruction set, interrupt-handling and also demonstrates how to program and utilize the advanced features available such as the Memory Protection Unit (MPU).Chapters on getting started with IAR, Keil, gcc and CooCox CoIDE tools help beginners develop program codes. Coverage also includes the important areas of software development such as using the low power features, handling information input/output, mixed language projects with assembly and C, and other advanced topics.

Python in easy steps


Mike McGrath - 2013
    Python in Easy Steps covers everything the reader needs to know to start programming with Python. This easy-to-follow guide is the perfect companion for fast and productive learning. Designed to save time and guaranteed to give users value for their money, this successful series is written in simple, jargon-free style with helpful graphics. Each chapter takes readers through Python’s functions and uses step by step, and every page is packed with visual guides so that what users see in the book is exactly the same as what appears on their screens.

Beginning C# Programming with XNA Game Studio


A.T. Chamillard - 2013
    While we admit we love to program just about anything, developing games is one of the coolest things of all. Most of the examples in this book are related to game development using XNA Game Studio. XNA Game Studio is a game development framework Microsoft distributes to make it easier for students, hobbyists, and professional game developers to develop games. Even better, with a membership on the App Hub, games developed using the framework can be uploaded and played on the Xbox 360. You can even sell your Xbox 360 games in the Xbox LIVE Indie Games area! So you’ll learn how to program properly and you’ll learn how to build simple games using XNA. You’ll notice we said “learn how to program properly,” not “whack together games that seem to work.” This is a book that focuses on the correct way to write game software (and software in general), so there’s lots of discussion about our motivations for the particular design and coding decisions we make throughout the book.The book assumes that you’ve never programmed before, so all the material starts at the most basic level. That means that anyone should be able to pick up the book and work their way through it without any prior knowledge. If you really just want to learn all the nuts and bolts of XNA, there are numerous books available for that, and you should buy one of those instead. If, however, you aspire to be a professional game programmer – whether as an indie game developer or in a large game company – then this book will give you a solid foundation for starting on that path.

It's behind you - The making of a computer Game


Bob Pape - 2013
    Jump forward to a couple of years ago (ouch, sorry) and I found myself starting to write down what I could remember about those early game years - not through any need to see my name in print but just because I thought it best to record for myself what I could while I could. I did think that if I was lucky I'd remember a few pages worth of material and come up with an interesting essay I could read back to myself when I'm an OAP (only eleven years away now!) but the more I started to think about things the more the details came back to me and the more and more pages I started to fill. Since I've always wanted to write a book and Rule Number One is "write about what you know" I decided to go for it and do things properly and write down every part of the process of creating one of those early computer games I could remember. IT'S BEHIND YOU is the result.Since R-Type was only the second published game that I had written I decided to flesh things out a bit (alright, pad things out a bit) by writing about how I got to that stage so the book itself is in three parts: a pre-history of some of my early attempts at computer game\programming, a short section on my first published game (a conversion of the Bally Midway arcade game Rampage) and R-Type itself. This last section is itself split into two parts: everything I could remember about about the writing of the game from start to finish and what happened to it, and me, after it was published.I don't believe anyone who was actually there has ever documented something like this before, and let's be honest it's really quite a niche subject with a limited appeal so I have no illusions that what I've written will only really be of interest to those who share a passion for old computer games (or 'retrocomputing' to give it its fashionable title.) Of course it does help to have an inkling of what I'm talking about when I mention the games, companies, magazines, people etc. who were part of the UK games industry at that time but I'm guessing that if you're thinking of downloading and reading this then you already have some idea of what it's all about.Lastly I hope I've done my best to try and make this as readable and non-technical as I can because behind the game is what I think is one heck of a story that I hope you'll find both interesting and illuminating.

Interactive Data Visualization for the Web


Scott Murray - 2013
    It’s easy and fun with this practical, hands-on introduction. Author Scott Murray teaches you the fundamental concepts and methods of D3, a JavaScript library that lets you express data visually in a web browser. Along the way, you’ll expand your web programming skills, using tools such as HTML and JavaScript.This step-by-step guide is ideal whether you’re a designer or visual artist with no programming experience, a reporter exploring the new frontier of data journalism, or anyone who wants to visualize and share data.Learn HTML, CSS, JavaScript, and SVG basicsDynamically generate web page elements from your data—and choose visual encoding rules to style themCreate bar charts, scatter plots, pie charts, stacked bar charts, and force-directed layoutsUse smooth, animated transitions to show changes in your dataIntroduce interactivity to help users explore data through different viewsCreate customized geographic maps with dataExplore hands-on with downloadable code and over 100 examples

CSS Mastery


Andy Budd - 2013
    This book dives into advanced aspects of CSS-based design, such as responsive design, modular CSS, and CSS typography. Through a series of easy-to-follow tutorials, you will learn practical CSS techniques you can immediately start using in your daily work.CSS Mastery: Advanced Web Standards Solutions is your indispensable guide to cutting-edge CSS development this book demystifies the secrets of CSS. While CSS is a relatively simple technology to learn, it is a difficult one to master. When you first start developing sites using CSS, you will come across all kinds of infuriating browser bugs and inconsistencies. It sometimes feels like there are a million and one different techniques to master, spread across a bewildering array of websites. The range of possibilities seems endless and makes for a steep and daunting learning curve.While most books concentrate on basic skills, this one is different, assuming that you already know the basics and why you should be using CSS in your work, and concentrating mainly on advanced techniques. This new edition covers all of the CSS fundamentals such as the importance of meaningful markup, how to structure and maintain your code, and how the CSS layout model really works.This new edition contains:New examples and updated browser support informationFull coverage of modular CSS and responsive designEssential information on CSS typography and layout controlWhat You'll LearnDiscover the best practice concepts in CSS designMaster the most important (and tricky) parts of CSSIdentify and fix the most common CSS problemsDeal with the most common bugsSee the latest information on CSS features and support Who This Book Is ForIntermediate and advanced web designers and developers. It offers a quick recap of the main points of CSS, while dispelling some common myths, but then moves forward to delve into the higher-level aspects of CSS. It contains fully up-to-date information throughout, and acts as a one-stop-shop for current CSS best practices. "

Python for Biologists: A Complete Programming Course for Beginners


Martin O. Jones - 2013
    Python for biologists is a complete programming course for beginners that will give you the skills you need to tackle common biological and bioinformatics problems. Why learn programming? Maybe you see colleagues writing programs to save time and deal with large datasets. Maybe your supervisor has told you that you need to learn programming for your next project. Maybe you've been looking at job ads and noticed just how many of them are asking for programming skills. Table of contentsIn chapter one, you'll learn why Python is a good choice for biologists and beginners alike. You'll also learn how to install Python for your operating system and how to set up your programming environment, complete with links to all the free software you'll need. In chapter two, you'll learn how to manipulate text (including DNA and protein sequences) and how to fix errors in your programs. Exercises: calculating AT content, splicing introns. In chapter three, you'll learn how to read and write data to and from files. You'll also learn how to deal with file paths and the FASTA file format.Exercises: splitting genomic DNA, writing a FASTA file. In chapter four, you'll learn how to process many pieces of data in a single program and more advanced tools for sequence manipulation. Exercises: trimming adapter sequences, concatenating exons. In chapter five, you'll learn how to make Python even more useful by creating your own functions, including the best ways to test those functions in order to speed up development. Exercises: Analyzing the amino acid composition of protein sequences. In chapter six, you'll learn how to write programs that can make smart decisions about how to handle data and how to make your programs follow complex rules. Exercises: filtering genes based on multiple criteria. In chapter seven, you'll learn an incredibly powerful tool for working with patterns in text - regular expressions - and how to use it to search in DNA and protein sequences. Exercises: filtering accession names and calculating restriction fragment sizes. In chapter eight, you'll learn how to store huge amounts of data in a way that can still allows it to be retrived very efficiently. This allows simplification of much of the code from previous chapters. Exercises: translating DNA sequences to protein. In chapter nine, you'll learn how to make your Python programs work in harmony with existing tools, and how to polish up your programs so that they're ready for other people to use. Exercises: counting k-mers, binning DNA sequences by length. About the author Dr. Martin Jones has been teaching biologists to write software for over five years and has taught everyone from postgraduates to PIs. He is currently Lecturer in Bioinformatics at Edinburgh University.

The Coding Dojo Handbook


Emily Bache - 2013
    When you step into the Coding Dojo, you leave your daily programming environment, with all the associated complexities and problems, and enter a safe environment where you can try stuff out, make mistakes and learn with others. It's a fun and rewarding activity for any bunch of coders!

The PHP Project Guide


Alex Garrett - 2013
    

Building Minecraft Server Modifications


Cody M. Sommer - 2013
    Whether you are new to programming, Java, Bukkit, or even Minecraft itself, this book has you covered. All you need is a valid Minecraft account. If you are interested in software development then this book will help you get started. If you are simply interested in playing Minecraft with your friends then this book will help you make that experience even more enjoyable.

Oracle Database 12c SQL


Jason Price - 2013
    Oracle Database 12c SQL offers complete coverage of the latest database features and techniques. Find out how to write SQL statements to retrieve and modify database information, use SQL*Plus and SQL Developer, work with database objects, write PL/SQL programs, use performance optimization techniques, incorporate XML, and more. This Oracle Press guide contains everything you need to know to master SQL. Use SQL statements to access an Oracle database Work with SQL*Plus and SQL Developer Write PL/SQL programs Create tables, sequences, indexes, views, and triggers Design advanced queries containing complex calculations Create database objects to handle abstract data Use date, time stamp, and time interval data types Establish user roles and privileges Handle multimedia files using large objects Tune SQL statements to make them execute faster Generate, process, and store XML data Master the very latest Oracle Database 12c features Code examples in the book are available for download.

Writing Idiomatic Python 2.7.3


Jeff Knupp - 2013
    Each idiom comes with a detailed description, example code showing the "wrong" way to do it, and code for the idiomatic, "Pythonic" alternative. *This version of the book is for Python 2.7.3+. There is also a Python 3.3+ version available.* "Writing Idiomatic Python" contains the most common and important Python idioms in a format that maximizes identification and understanding. Each idiom is presented as a recommendation to write some commonly used piece of code. It is followed by an explanation of why the idiom is important. It also contains two code samples: the "Harmful" way to write it and the "Idiomatic" way. * The "Harmful" way helps you identify the idiom in your own code. * The "Idiomatic" way shows you how to easily translate that code into idiomatic Python. This book is perfect for you: * If you're coming to Python from another programming language * If you're learning Python as a first programming language * If you're looking to increase the readability, maintainability, and correctness of your Python code What is "Idiomatic" Python? Every programming language has its own idioms. Programming language idioms are nothing more than the generally accepted way of writing a certain piece of code. Consistently writing idiomatic code has a number of important benefits: * Others can read and understand your code easily * Others can maintain and enhance your code with minimal effort * Your code will contain fewer bugs * Your code will teach others to write correct code without any effort on your part

Kestrels, Quirky Birds, and Hopeless Egocentricity


Reginald Braithwaite - 2013
    It collects Reg "Raganwald" Braithwaite's celebrated series of essays about Combinatory Logic, Method Combinators, and Ruby Meta-Programing into a convenient and inexpensive e-book.

Augmented Reality with Kinect


Rui Wang - 2013
    It differs from most other user input controllers as it enables users to interact with the program without touching the mouse or a trackpad. It utilizes motion sensing technology and all it needs is a real-time cameras, tracked skeletons, and gestures. This title will help you get into the world of Microsoft Kinect programming with the C/C++ language. The book covers the installation, image streaming, skeleton and face tracking, multi-touch cursors, and gesture emulation. Finally, you will end up with a complete Kinect-based game.

Developing a D3.js Edge


Roland Dunn - 2013
    Many examples created in the real world with D3, however, can best be described as “spaghetti code.” So, if you are interested in using D3 in a reusable and modular way, which is of course in line with modern development practices, then this book is for you!This book is aimed at intermediate developers, so to get the most from this book you need to know some JavaScript, and you should have experience creating graphics using D3. You will also want to have a good debugger handy (Chrome Developer panel or the Firefox/Firebug combo), to help you step through the many real world examples that you’ll find in this book.

Animation in HTML, CSS, and JavaScript


Kirupa Chinnathambi - 2013
    Each chapter is filled with cleanly explained concepts, beautifully illustrated diagrams, colorific code snippets, and cringeworthy one-liners guaranteed to make your friend who laughs at everything groan.You will start by learning how to create animations and transitions in CSS. Towards the end, you will learn how to create animations in JavaScript by manipulating DOM elements as well as pushing pixels on the canvas. Along the way, you will see numerous small and large examples explaining how what you are learning applies to what is done in the real world.If you ever get stuck or need a group of friendly people to help you out with your animation-related issues, get free online support, demos, video tutorials, and other good stuff at: http://www.kirupa.com

Playing with Chaos: Programming Fractals and Strange Attractors in JavaScript


Keith Peters - 2013
    By "playing" is meant writing computer programs that will generate fractals and other related forms. By learning the principles behind the shapes and the code that creates these images, you will gain a far greater understanding of and appreciation for the subject. You will also be able to experiment with these concepts on a level that you could probably never achieve if you were just randomly tweaking some sliders in someone else's application.JavaScript was chosen for the programming language in this book for multiple reasons.First, JavaScript is free, open, cross-platform, doesn't require any special programming environment, and (with HTML5 running in modern browsers) is powerful enough to do most of the computation and rendering that will be needed. Chances are that the computer you are currently using has everything you need to create and run almost all of the examples in this book. All that is required is a text editor and a modern browser -- any of the latest versions of Internet Explorer, Google Chrome, Firefox, Safari, or Opera.Second, notwithstanding a few oddities, JavaScript is a relatively easy language to pick up and become productive in very quickly. While I am assuming you have some basic programming experience, you won't need to have an extensive background in JavaScript itself to get the examples up and running. Chances are, no matter what programming language you might be familiar with, you will be able to get up to speed with the code in this book rather quickly, even if you've never touched JavaScript before.Finally, the intent of this book is not to supply you with a bunch of programs that you blindly copy and run. The idea is that you will understand what is happening in the code and why, and use the example programs as a starting point for your own explorations. As such, this can also include converting the code to the language and platform of your choice. JavaScript's syntax is simple enough that the examples should be readily translatable into most other currently popular languages.

Real-time Operating Systems (The engineering of real-time embedded systems Book 1)


Jim Cooling - 2013
    It is aimed at those who wish to develop RTOS-based designs, using either commercial or free products. It does not set out to give you the knowledge to design an RTOS; leave that to the specialists. The target readership includes:Students.Engineers, scientists and mathematicians moving into software systems.Professional and experienced software engineers entering the embedded field.Programmers having little or no formal education in the underlying principles of software-based real-time systems.The material covers the key ‘nuts and bolts’ of RTOS structures and usage (as you would expect, of course). In many cases it shows how these are handled by practical real-time operating systems. After studying this even the absolute beginner will see that it isn’t particularly difficult to implement RTOS-based designs and should be confident to take on such work. Now, that’s the easy part; the really challenging aspect is how to best structure the application software in the first place. If your design is poorly-structured then, no matter which RTOS you use, you are very likely to run into problems of reliability, performance, safety and maintainability. Hence the book places great emphasis on ways to structure the application software so that it can be effectively implemented using an RTOS. The author: Jim Cooling has had many years experience in the area of real-time embedded systems, including electronic, software and system design, project management, consultancy, education and course development. He has published extensively on the subject, his books covering many aspects of embedded-systems work such as real-time interfacing, programming, software design and software engineering. Currently he is a partner in Lindentree Associates (which he formed in 1998), providing consultancy and training for real-time embedded systems.See: www.lindentreeuk.co.uk

Apache Camel Developer's Cookbook


Scott Cranton - 2013
    It is concise and to the point, and it helps developers get their data flowing between different components without the need to read through page upon page of theory, while also enabling the reader to learn how to create exciting new projects.Camel Enterprise Integration Cookbook is intended for developers who have some familiarity with Apache Camel and who want a quick lookup reference to practical, proven tips on how to perform common tasks. Every recipe also includes a summary and reference pointers for more details that make it easy for you to get a deeper understanding of the Apache Camel capabilities that you will use day to day.

NSHipster: Obscure Topics in Cocoa & Objective C


Mattt Thompson - 2013
    In cultivating a deep understanding and appreciation of Objective-C, its frameworks and ecosystem, one is able to create apps that delight and inspire users. Combining articles from NSHipster.com with new essays, this book is the essential guide for modern iOS and Mac OS X developers.

Freeswitch 1.2


Anthony Minessale - 2013
    This book is full of practical code examples aimed at a beginner to ease his or her learning curve.This book is written for IT professionals and enthusiasts who are interested in quickly getting a powerful telephony system up and running using the free and open source application, FreeSWITCH.Telephony experience will be helpful, but not required.

Pro Node.Js for Developers


Colin J. Ihrig - 2013
    Respected companies such as Dow Jones and LinkedIn are among the many organizations to have seen Node's potential and adopted it into their businesses.Pro Node.js for Developers provides a comprehensive guide to this exciting new technology. We introduce you to Node - what it is, why it matters and how to set it up - before diving deeply into the key concepts and APIs that underpin its operation.Building upon your existing JavaScript skills you'll be shown how to use Node.js to build both Web- and Network-based applications, to deal with data sources, capture events and deal with child processes to create robust applications that will work well in a wide range of circumstances.Once you've mastered these skills we'll go further, teaching you more advanced software engineering skills that will give your code a professional edge. You'll learn how to create easily reusable modules that will save you time through code reuse, to log and debug your applications quickly and effectively and to write code that will scale easily and reliably as the demand for your application grows.

Android Programming: Pushing the Limits


Erik Hellman - 2013
    If you're itching to see just how far you can push it and discover what Android is really capable of, it's for you. And if you're ready to learn how to build advanced, intuitive, innovative apps that are a blast to use, this book is definitely for you.From custom views and advanced multi-touch gestures, to integrating online web services and exploiting the latest geofencing and activity recognition features, ace Android developer, Erik Hellman, delivers expert tips, tricks and little-known techniques for pushing the Android envelope so you can:Optimize your components for the smoothest user experience possible Create your own custom Views Push the boundaries of the Android SDK Master Android Studio and Gradle Make optimal use of the Android audio, video and graphics APIs Program in Text-To-Speech and Speech Recognition Make the most of the new Android maps and location API Use Android connectivity technologies to communicate with remote devices Perform background processing Use Android cryptography APIs Find and safely use hidden Android APIs Cloud-enable your applications with Google Play Services Distribute and sell your applications on Google Play Store Learn how to unleash the power of Android and transform your apps from good to great in Android Programming: Pushing the Limits.

Unity Game Development in 24 Hours, Sams Teach Yourself (Sams Teach Yourself...in 24 Hours)


Mike Geig - 2013
    Every lesson builds on what you've already learned, giving you a rock-solid foundation for real-world success! Step-by-step instructions carefully walk you through the most common Unity 4 game development tasks.Quizzes and Exercises at the end of each chapter help you test your knowledge.Notes present interesting information related to the discussion.Tips offer advice or show you easier ways to perform tasks.Cautions alert you to possible problems and give you advice on how to avoid them.Learn how to...Create and work with game objects, Unity's fundamental building blocksWork efficiently with Unity's graphical asset pipelineApply shaders and textures to any 3D objectSculpt stunning game worlds with Unity's terrain and environmental toolsetsScript tasks ranging from capturing input to building complex behaviorsQuickly create repeatable, reusable game objects with prefabsImplement easy, intuitive game user interfacesCreate amazing effects with Unity's new Shuriken particle systemLeverage the full power of Unity's new Mecanim animation systemIntegrate ambient 2D/3D audio into your gamesUse mobile device accelerometers and multi-touch displaysModify a desktop game for mobile platformsApply the "finishing touches" and deploy your game

PHP This! a Beginners Guide to Learning Object Oriented PHP


Michelle Gosney - 2013
    This goal of PHP This! is to teach the PHP skills needed to be a junior PHP developer. These skills include an introduction to object oriented PHP theory and instruction on how to apply that theory to build a full custom MVC application, unit testing with PHPUnit and code management with SVN. The instruction provided by this book also applies to experienced software engineers with expertise in other languages who have not had the opportunity yet to learn object oriented PHP or to those who are new to web development altogether. Object Oriented concepts can be confusing at first that is why PHP This! provides a simple way to explain a confusing subject. The clear explanations and examples will quickly teach you what Object Oriented PHP is and how to use it, test it and manage it. Some key chapters and subjects include: Chapter 1: Why Read This Book Sample Job Description: Jr. PHP Developer The Eight Primary Categories of JQuery Features Why Learn Object Oriented PHP Six Primary Advantages to Learning Object Oriented Programming Chapter 2: PHP Objects & Classes Overview - The Confusion of First Learning Object Oriented Theory Explanation of a Class Explanation of an Object Instantiation $this Variable Access Modifiers Inheritance Method Overriding Invoking Parent Methods Horizontal Inheritance - Using Traits Encapsulation Polymorphism Polymorphism vs. Method Overloading Polymorphism vs. Method Overriding Late Binding / Dynamic Binding Chapter 3: PHP Magic Methods Chapter 4: Abstract Classes & Methods abstract Keyword Extending sub-classes from an Abstract Base Class Abstract Methods final Keyword Chapter 5: Interfaces PHP Interfaces Explanation of What Interfaces Are and Why They are Useful interface & implements Keywords Implementing Multiple Interfaces Programming to the Interface Design-by-Contract Chapter 6: Static Methods & Properties The static Modifier The Scope Resolution Operator Static Properties Static Methods Singleton Pattern Late Static Binding The static Keyword vs. the self Keyword Chapter 7: PHP Error Control & Exception Handling The Built-in Exception Class Throwing an Exception The try-catch-finally Block Setting the Desired Error Sensitivity Level Setting Error Reporting 67 Error Reporting Sensitivity Levels Logging Options Chapter 8: The Model-View-Controller Design Pattern Understanding the Model-View-Controller Design Pattern Model View Controller The MCV URL Structure & URL Mapping Using the .htaccess File The index.php File The MVC Folder Structure Custom MVC Application - Restaurant Menu Management Application Showing the Menu Adding a Menu Item Assigning a Menu Item to a Menu Editing/Deleting Menu Items Download the Source Code for the Custom MVC Application (Restaurant Menu Management Application)

Appcelerator Titanium Business Application Development Cookbook


Benjamin Bahrenberg - 2013
    

A Book For Young Programmers On Scratch


Denis Golikov - 2013
    Children have to be able to use «a mouse», start using labels, etc., as well as count to 480, multiply and divide. More complex mathematical notions (negative numbers, decimal fractions, coordinate axis, degrees) will be explained on the pages of the book.Scratch is a new free programming environment that allows children from 7 years old to create their own stories, cartoons, games and other creation.This program allows children to express themselves in computer creative work. Scratch was specifically created as a new learning environment for teaching school students programming.You can create cartoons in Scratch, play with various objects, change them, move them on the screen, set up forms of interaction between objects. The programs are created of multi-colored blocks the same way as Lego construction sets are made of multi-colored bricks.Scratch was created in 2006 under the supervision of Mitchel Resnick by a Lifelong Kindergarten group in MIT Media Lab.Scratch works on Windows or Linux computers. It doesn't work on any tablets!Each chapter requires about 20-30 minutes to study. It is not recommended to study more than two chapters per day.

Beginning Programming with C for Dummies (Computer/Tech)


Dan Gookin - 2013
    Written by veteran For Dummies author Dan Gookin, this straightforward-but-fun beginner's guide covers the fundamentals of using C and gradually walks you through more advanced topics including pointers, linked lists, file I/O, and debugging. With a special focus on the subject of an Integrated Development Environment, it gives you a solid understanding of computer programming in general as you learn to program with C.Encourages you to gradually increase your knowledge and understanding of C, with each chapter building off the previous one Provides you with a solid foundation of understanding the C language so you can take on larger programming projects, learn new popular programming languages, and tackle new topics with confidence Includes more than 100 sample programs with code that are adaptable to your own projects Beginning Programming with C For Dummies assumes no previous programming language experience and helps you become competent and comfortable with the fundamentals of C in no time.

Html5 Data and Services Cookbook


Gorgi Kosev - 2013
    It is also for JavaScript developers who would like to update their knowledge with new techniques and capabilities made possible with HTML5.Some experience in HTML and jQuery is assumed.

Annotated Algorithms in Python: With Applications in Physics, Biology, and Finance


Massimo DiPierro - 2013
    The lectures cover multiple classes, including Analysis and Design of Algorithms, Scientific Computing, Monte Carlo Simulations, and Parallel Algorithms. These lectures teach the core knowledge required by any scientist interested in numerical algorithms and by students interested in computational finance. (2nd Edition)

Pro ASP.Net Web API Security: Robust Security for ASP.Net MVC Applications


Badrinarayanan Lakshmiraghavan - 2013
    Everything from JavaScript libraries to RIA plugins, RFID readers to smart phones can consume your services using platform-agnostic HTTP With such wide accessibility, securingyour code effectively needs to be a top priority. You will quickly find that the WCF security protocols you?re familiar with from .NET (WS-* and similar)are less suitable than they once were in this new environment; proving themselves cumbersome and limited in terms of the standards they can work with. Fortunately, ASP.NET Web API provides asimple robust security solution of its own that fits neatly within the ASP.NET MVC programming model and secures your code without the need for SOAP meaningthat there is no limit to the range of devices that it can work with ? if it can understand HTTP then it can be secured by Web API. These SOAP-less security techniques are the focus of this book. What you?ll learn Basic and advanced HTTP and security concepts needed to effectively secure ASP.NET Web API applications Knowledge-factor based basic, digest and Windows authenticaton schemes Ownership factors such as pre-shared keys, client X.509 certificates, JWT (both JWS and JWE) and SWT as OAuth 2.0 bearer token, SAML token from AD FS Combinations of the previous two techniques - called two-factor security - to provide further enhanced security. Who this book is forNo prior experience of .NET-security is needed to read this book. All security related concepts will be introduced from first-principles and developed to the point where you can use them confidently in a professional environment. A goodworking knowledge and experience of C# and the .NET framework are the onlypre-requisites to benefit from this book.

DSL Engineering: Designing, Implementing and Using Domain-Specific Languages


Markus Völter - 2013
    It covers three main aspects: DSL design, DSL implementation and software engineering with DSLs. The book only looks at external DSLs and focuses mainly on textual syn-tax."

Sams Teach Yourself Jquery and JavaScript in 24 Hours


Brad Dayley - 2013
    Now, in just 24 lessons of one hour or less, you can learn how to leverage jQuery's power in tasks ranging from simple effects to complex forms. Each short, easy lesson builds on all that's come before, teaching jQuery's features and add-ons from the ground up, in the context of delivering real solutions. "Sams Teach Yourself jQuery and JavaScript in 24 Hours" covers all this, and much more:Understanding and accessing the jQuery librariesAdding effects and creating animationsDesigning multimedia slideshows and lightboxesHandling events, interacting with forms, and instrumenting callbacksTaking advantage of jQuery pluginsCreating sortable lists, drag and droppable elements, and resizable imagesWorking iwth data: JSON, XML, queues, and bindingAccessing server-side data via AJAXPositioning page elements and creating interactionsUsing jQueryUI widgets and themesCommunicating with server scriptsDeveloping mobile sites, pages, and contentStep-by-step instructions walk you through common questions, issues, and tasks; Q&As, Quizzes, and Exercises build and test your knowledge; "Did You Know?" tips offer insider advice and shortcuts; and "Watch Out!" alerts help you avoid problems. By the time you're finished, you'll be comfortable going beyond the book to build powerful new jQuery solutions on your own.

Dreamweaver Cs6 Mobile and Web Development with Html5, Css3, and Jquery Mobile


David Karlins - 2013
    These technologies have radically reconfigured the process of designing web content and function in the widest possible range of browsing environments, ranging from desktops to mobile devices."Dreamweaver CS6 Mobile and Web Development with HTML5, CSS3, and jQuery Mobile" is essentially three books in one: an introduction to building websites; Dreamweaver CS6: HTML5, CSS3, Responsive Design; and an in-depth explanation of how to build inviting, accessible mobile sites with Dreamweaver CS6, responsive design, and jQuery Mobile.This book serves both as the essential reference for Dreamweaver CS6, and a valuable addition to even the most extensive set of resources for modern web design, with or without Dreamweaver.The book starts off by teaching you to create sites and pages with Dreamweaver CS6 and how to use HTML5 for page structure. Then we will learn some cutting-edge design and animation with CSS3. The book also shows how to create and enhance mobile sites with jQuery Mobile. You will also learn to customize themes with ThemeRoller."Dreamweaver CS6 Mobile and Web Development with HTML5, CSS3, and jQuery Mobile Mobile" covers the entire spectrum of web design with Dreamweaver, with an emphasis on multi-media (full screen and mobile) design and jQuery Mobile. Approach This book combines accessible, clear, engaging, and candid reference material, advice, and shortcuts with substantial step-by-step instructions for creating a wide range of HTML5 and CSS3 designs and page content in Dreamweaver. Who this book is for This book is geared towards experienced Dreamweaver web designers migrating to HTML5 and jQuery. It also targets web designers new to Dreamweaver who want to jump with two feet into the most current web design tools and features. While focused primarily on Dreamweaver CS5.5, the book includes content of value to readers using older versions of Dreamweaver with directions on installing a version of Adobe’s HTML5 Pack that updates those older packages.

Real Python


Fletcher Heisler - 2013
    An introduction to Python through practical examples.

Augmented Reality for Android Application Development


Jens Grubert - 2013
    AR redefines advertising and gaming, as well as education. It will soon become a technology that will have to be mastered as a necessity by mobile application developers.Augmented Reality for Android Application Development enables you to implement sensor-based and computer vision-based AR applications on Android devices. You will learn about the theoretical foundations and practical details of implemented AR applications, and you will be provided with hands-on examples that will enable you to quickly develop and deploy novel AR applications on your own.Augmented Reality for Android Application Development will help you learn the basics of developing mobile AR browsers, how to integrate and animate 3D objects easily with the JMonkeyEngine, how to unleash the power of computer vision-based AR using the Vuforia AR SDK, and will teach you about popular interaction metaphors. You will get comprehensive knowledge of how to implement a wide variety of AR apps using hands-on examples.This book will make you aware of how to use the AR engine, Android layout, and overlays, and how to use ARToolkit. Finally, you will be able to apply this knowledge to make a stunning AR application. Approach A step-by-step tutorial-based guide aimed at giving you hands-on practical experience to develop AR applications for Android. Who this book is for Augmented Reality for Android Application Development is for Android mobile application developers who are familiar with Android Development Tools and deployment, JMonkeyEngine, and the Vuforia SDK.

Multithreading in C# 5.0 Cookbook


Eugene Agafonov - 2013
    NA

Boost.Asio C++ Network Programming


John Torjo - 2013
    Boost.Asio provides an excellent level of abstraction, making sure that with a minimal amount of coding you can create beautiful client/server applications, and have fun in the process!'Boost.Asio C++ Network Programming" shows how to build client/server applications using a library that is part of the popular peer-reviewed Boost C++ Libraries. It analyzes whether you should go synchronous or asynchronous and the role that threading plays, whilst providing examples you can run and extend for yourself.After covering the fundamentals of Boost.Asio you’ll discover how you can build synchronous and asynchronous clients and servers. You will also see how you can have your own asynchronous functions play nice with Boost.Asio. As a bonus, we will introduce co-routines, which make asynchronous programming a piece of cake. Nowadays, network programming is a must, no matter what type of programmer you are. "Boost.Asio C++ Network Programming" shows just how simple networking can be, if you’re using the right tools. Approach What you want is an easy level of abstraction, which is just what this book provides in conjunction with Boost.Asio. Switching to Boost.Asio is just a few extra #include directives away, with the help of this practical and engaging guide. Who this book is for This book is great for developers that need to do network programming, who don’t want to delve into the complicated issues of a raw networking API. You should be familiar with core Boost concepts, such as smart pointers and shared_from_this, resource classes (noncopyable), functors and boost::bind, boost mutexes, and the boost date/time library. Readers should also be familiar with “blocking” versus “non-blocking” operations.

Dita for Print: A Dita Open Toolkit Workbook


Leigh W. White - 2013
    The DITA Open Toolkit provides a basic PDF capability, but nearly any real-world application will require customization. Leigh White's new book, DITA for Print takes you through the process of building a print customization plugin for the DITA Open Toolkit that will give you control over your PDF output. DITA for Print is for anybody who wants to learn how to create PDFs using the DITA Open Toolkit without learning everything there is to know about XSL-FO, XSLT, or XPath, or even about the DITA Open Toolkit itself. DITA for Print is written for non-programmers, by a non-programmer, and although it is written for people who have a good understanding of the DITA standard, you don't need a technical background to get custom PDFs up and running quickly.

OpenGL ES 2 for Android


Kevin Brothaler - 2013
    It's never been a better time to learn how to create your own 3D games and live wallpaper for Android. You'll find out all about shaders and the OpenGL pipeline, and discover the power of OpenGL ES 2.0, which is much more feature-rich than its predecessor. If you can program in Java and you have a creative vision that you'd like to share with the world, then this is the book for you. This book will teach you everything you need to know to create compelling graphics on Android. You'll learn the basics of OpenGL by building a simple game of air hockey, and along the way, you'll see how to initialize OpenGL and program the graphics pipeline using shaders. Each lesson builds upon the one before it, as you add colors, shading, 3D projections, touch interaction, and more. Then, you'll find out how to turn your idea into a live wallpaper that can run on the home screen. You'll learn about more advanced effects involving particles, lighting models, and the depth buffer. You'll understand what to look for when debugging your program, and what to watch out for when deploying to the market. OpenGL can be somewhat of a dark art to the uninitiated. As you read this book, you'll learn each new concept from first principles. You won't just learn about a feature; you'll also understand how it works, and why it works the way it does. Everything you learn is forward-compatible with the just-released OpenGL ES 3, and you can even apply these techniques to other platforms, such as iOS or HTML5 WebGL.Printed in full color.

Nonlinear Finite Elements for Continua and Structures


Ted Belytschko - 2013
    New material provides a concise introduction to some of the cutting-edge methods that have evolved in recent years in the field of nonlinear finite element modeling, and includes the eXtended finite element method (XFEM), multiresolution continuum theory for multiscale microstructures, and dislocation-density-based crystalline plasticity.N"onlinear Finite Elements for Continua and Structures, Second Edition" focuses on the formulation and solution of discrete equations for various classes of problems that are of principal interest in applications to solid and structural mechanics. Topics covered include the discretization by finite elements of continua in one dimension and in multi-dimensions; the formulation of constitutive equations for nonlinear materials and large deformations; procedures for the solution of the discrete equations, including considerations of both numerical and multiscale physical instabilities; and the treatment of structural and contact-impact problems.Key features: Presents a detailed and rigorous treatment of nonlinear solid mechanics and how it can be implemented in finite element analysisCovers many of the material laws used in today's software and researchIntroduces advanced topics in nonlinear finite element modelling of continuaIntroduction of multiresolution continuum theory and XFEMAccompanied by a website hosting a solution manual and MATLAB(R) and FORTRAN code"Nonlinear Finite Elements for Continua and Structures, Second Edition" is a must have textbook for graduate students in mechanical engineering, civil engineering, applied mathematics, engineering mechanics, and materials science, and is also an excellent source of information for researchers and practitioners in industry.

Getting Started with Grunt: The JavaScript Task Runner


Jaime Pillora - 2013
     Learn how to install, configure, run, and customize Grunt Example-driven and filled with tips to help you create custom Grunt tasks Who This Book Is For This book is for JavaScript developers who want to get to grips with GruntJS and use it to build and test their JavaScript applications. The only requirement for this book is a basic understanding of objects and functions in JavaScript. What You Will Learn Learn about Grunt and its advantages Understand Node.js and how it relates to Grunt Take an in-depth look at npm, Node.js modules, and the working of Grunt plugins Get familiar with installing Grunt and setting up your first Grunt build environment Gain insight on the methods of configuring Grunt and when each method should be used Effectively execute Grunt through the use of task arguments, task aliasing, multi-task targets, and more Construct your own Grunt tasks, multi-tasks, and asynchronous tasks In Detail In recent times, modern web browsers have become the application platform of choice. Grunt, along with its wide range of plugins, provides a simple way of managing the large number of build tasks required to maintain a sophisticated web application.Getting Started with Grunt: The JavaScript Task Runner provides you with all the information you need to become an effective Grunt power-user. You will quickly learn how to install, configure, and run Grunt. You will go on to understand how to use third-party Grunt and then create your own Grunt tasks that cater to your particular needs.This book first demonstrates various Grunt use cases before running through the steps of installing, configuring, running, and customizing Grunt. You will learn how to install Node.js, the Node.js package manager (npm), and Grunt. Then, you will understand how to set up and configure a personalized Grunt environment. Next, you will look at the various methods of running and customizing Grunt to utilize its flexibility. Finally, to emphasise what has been learnt, you will see a complete example build of a web application.Getting Started with Grunt: The JavaScript Task Runner will enable you to create your very own Grunt environments from scratch and fully utilize Grunt's large feature set to effectively solve your custom requirements.

Much Ado About Naught An Adventure in Ruby Metaprogramming


Avdi Grimm - 2013
    An adventure in Ruby metaprogramming! Follow along as we use strict TDD to create a toolkit for generating Null Object classes in Ruby.* This is the original source of the Naught gem (http://github.com/avdi/naught)--the first release was written in a * Literate Programming style, and this book is the result.* Learn numerous metaprogramming tricks, techniques, and gotchas.* Watch a library being built in a pure test-driven style.* Whimsical illustrations by Lauren Shepard!* Kindle, Epub, and HTML versions included (PDF coming soon!)* About the beta: this book is basically done, but I'm still tweaking the output formats.

Java Programming for Android Developers for Dummies


Barry Burd - 2013
    This beginner guide gets you up and running with using Java to create Android apps with no prior knowledge or experienced necessary!Shows you the basic Java development concepts and techniques that are necessary to develop Android appsExplores what goes into creating an Android app to give you a better understanding of the various elementsAddresses how to deal with standard programming challenges and debugging"Beginning Android Programming with Java For Dummies" puts you well on your way toward creating Android apps quickly with Java.

C++11 for Programmers


Paul Deitel - 2013
    Like all Deitel Developer titles, they teach the best way possible: via hundreds of complete example C++ programs, with thousands of lines of downloadable C++ source code. Unlike other C++11 books, this guide teaches robust, best-practice coding practices that fully support the CERT(R) Coordination Center's authoritative secure coding standards. To help you write programs that are even more secure, the Deitels also introduce C++11's new non-deterministic random-number generation capabilities. Using all these techniques, you can write industrial-strength C+11 code that stands up to attacks from viruses, worms, and other forms of malware. Ideal for anyone who's worked with at least one programming language before, C++11 for Programmers utilizes a proven "early objects" approach, emphasizing program clarity, software reuse, and component-oriented software construction. In addition to the core language, it will help you take advantage of the newest standard libraries and the newest language extensions. Coverage includes many new C++11 features, including smart pointers, regular expressions, shared_ptr and weak_ptr, and more. This book contains 240 complete C++11 programs (more than 15,000 lines of downloadable code). All code has been thoroughly tested on three popular industrial-strength C++11 compilers: GNU C++ 4.7, Microsoft(R) Visual C++(R) 2012, and Apple(R) LLVM in Xcode(R) 4.5.

JavaScript Patterns JumpStart Guide (Cleanup your JavaScript Code)


Dan Wahlin - 2013
    By applying patterns, JavaScript code can be made more modular and that’s really the purpose of this concise and focused guide. You’ll be provided with numerous tips and practical samples that will help you learn how to write maintainable, re-usable and consistent JavaScript code. Key concepts covered in this jumpstart guide include:•Function spaghetti code and why it’s bad•The role of closures•Namespaces and the global scope•Different techniques for defining variables•Working with JavaScript’s prototype property•Techniques for dealing with the "this" keyword•Techniques for extending and overriding code•The Prototype Pattern•The Revealing Module Pattern•The Revealing Prototype PatternThe sample code discussed in the guide is also available for download.

Java Ee 7 Developer Handbook


Peter A. Pilgrim - 2013
    This guide will enhance your knowledge about the Java EE 7 platform. Whether you are a long-term Java EE (J2EE) developer or an intermediate level engineer on the JVM with just Java SE behind you, this handbook is for you, the new contemporary Java EE 7 developer!

Learning jQuery Deferreds: Taming Callback Hell with Deferreds and Promises


Terry Jones - 2013
    With this concise and simple guide, you’ll learn how to use jQuery deferreds and promises, an elegant approach for managing asynchronous calls in both client and server applications.This book contains 18 examples that use deferreds to solve progressively challenging real-world programming problems, along with 75 stimulating puzzles (and their solutions) that will help you understand how and when to use deferreds. You’ll learn new tricks in a fun way, and become immersed in the practice of event-based programming.Understand the logic behind creating deferreds and returning promisesGet a structured explanation of jQuery’s deferred APIDelve into the dynamics of using deferredsExplore a broad collection of useful deferred recipes developed by the authorsGain hands-on experience by solving challenges that accompany each recipeGo deeper into deferreds: encounter novel abstractions and mind-bending use cases

Laravel Application Development Cookbook


Terry Matula - 2013
    

Advanced Express Web Application Development


Andrew Keig - 2013
    Express applications that need to survive in a production environment will need to reach out to the Node ecosystem and beyond, for support.You will start by laying the foundations of your software development journey, as you drive-out features under test. You will move on quickly to expand on your existing knowledge, learning how to create a web API and a consuming client. You will then introduce a real-time element in your application.Following on from this, you will begin a process of incrementally improving your application as you tackle security, introduce SSL support, and how to handle security vulnerabilities. Next, the book will take you through the process of scaling and then decoupling your application. Finally, you will take a look at various ways you can improve your application's performance and reliability.

Kali Linux Social Engineering


Rahul Singh Patel - 2013
    This book is a practical, hands-on guide to learning and performing SET attacks with multiple examples.Kali Linux Social Engineering is for penetration testers who want to use BackTrack in order to test for social engineering vulnerabilities or for those who wish to master the art of social engineering attacks.

C# 2012 for Programmers


Paul Deitel - 2013
    The book presents the concepts in the context of fully tested apps, complete with syntax shading, code highlighting, code walkthroughs and program outputs. You'll work through 200+ complete C# apps with 15,000+ lines of proven C# code and hundreds of savvy software-development tips. Start with an introduction to C# using an early classes and objects approach, then rapidly move on to more advanced topics, including LINQ, asynchronous programming with async and await, Windows(R) 8 UI and WPF graphics and multimedia, web services, Windows(R) Phone 8, Windows Azure(TM) and more. You'll enjoy the treatment of object-oriented programming and an OOD/UML(R) ATM case study, including a complete C# implementation. When you're finished, you'll have everything you need to build industrial-strength, object-oriented C# apps. Paul Deitel and Harvey Deitel are the founders of Deitel & Associates, Inc., the internationally recognized programming languages authoring and corporate-training organization. Millions of people worldwide have used Deitel books, LiveLessons video training and online resource centers to master C#, .NET, Visual Basic(R), C++, Visual C++(R), C, Java(TM), Android(TM) app development, iOS(R) app development, Internet and web programming, JavaScript(R), XML, Perl(R), Python and more. Practical, example-rich coverage of: - .NET, Types, Arrays, Exception Handling - LINQ, Object/Collection Initializers - Objects, Classes, Inheritance, Polymorphism - Industrial-Strength, C#-Based Object-Oriented Design/UML(R) ATM Case Study - WinForms, WPF, Windows(R) 8 UI, XAML, Event Handling, Visual C# Debugging - WPF and Windows(R) 8 Graphics and Multimedia - Windows(R) Phone 8, Cloud Computing with Windows Azure(TM), Asynchronous Programming with async and await - Generic Collections, Methods and Classes - XML, LINQ to XML and LINQ to Entities - ASP.NET and ASP.NET Ajax - Web Forms, Web Controls - WCF REST-Based Web Services and more.

Creating Dynamic Ui with Android Fragments


Jim Wilson - 2013
    

Algorithmic Probability and Friends. Bayesian Prediction and Artificial Intelligence: Papers from the Ray Solomonoff 85th Memorial Conference, Melbourne, Vic, Australia, November 30 -- December 2, 2011


David L. Dowe - 2013
    A tribute to Solomonoff's work, which influences modern data mining, econometrics and more.

Expert Oracle Application Express Security


Scott Spendolini - 2013
    From basic settings that can enhance security, to preventing SQL Injection and Cross Site Scripting attacks, Expert Oracle Application Express Security shows how to secure your APEX applictions and defend them from intrusion.Security is a process, not an event. Expert Oracle Application Express Security is written with that theme in mind. Scott Spendolini, one of the original creators of the product, offers not only examples of security best practices, but also provides step-by-step instructions on how to implement the recommendations presented. A must-read for even the most experienced APEX developer, Expert Oracle Application Express Security can help your organization ensure their APEX applications are as secure as they can be.

Numerical Methods in Engineering with Python 3


Jaan Kiusalaas - 2013
    It covers the usual topics found in an engineering course: solution of equations, interpolation and data fitting, solution of differential equations, eigenvalue problems, and optimization. The algorithms are implemented in Python 3, a high-level programming language that rivals MATLAB(R) in readability and ease of use. All methods include programs showing how the computer code is utilized in the solution of problems. The book is based on Numerical Methods in Engineering with Python, which used Python 2. This new text demonstrates the use of Python 3 and includes an introduction to the Python plotting package Matplotlib. This comprehensive book is enhanced by the addition of numerous examples and problems throughout.

TouchDevelop: Programming on the Go (The Expert's Voice)


Nigel Horspool - 2013
    Students could figure things out for themselves with help from the book.” -- Jennifer Marsman, Microsoft Principal Developer Evangelist Mobile devices such as smartphones and tablets are set to become the main computers that virtually all people will own and carry with them at all times. And yet,mobile devices are not yet used for all computing tasks. A project at Microsoft Research was created to answer a simple question: “It is possible to create interesting apps directly on a smartphone or tablet, without using a separate PC or a keyboard?” The result is TouchDevelop, a programming environment that runs on all modern mobile devices such as Windows Phone, iPhone, iPad, Android phones and tablets, and also on PCs and Macs.This book walks you through all of the screens of the TouchDevelop app, and it points out similarities and differences of the TouchDevelop language compared to other programming languages. For users, the book can serve as a handyreference next to the phone. The book systematically addresses all programming language constructs, starting from the very basic constructs such as variables and loops. The book also explores many of the phone sensors and data sources which make creating apps for mobile devices so rewarding.If you are new to programming with TouchDevelop, or if you have not yet worked on touchscreen devices, we suggest that you read the book starting from Chapter 1. If you are already familiar with the basic paradigm of the TouchDevelop programming environment, then feel free to jump ahead to the later chapters that address particular topic areas.This book is written from the perspective of a person developing their code using a web browser. The TouchDevelop Web App runs in many modern browsers on many different devices including smartphones and tablets, Macs, PC. All screenshots and navigation instructions refer to the TouchDevelop Web App running in a browser. For Windows Phone, there is a dedicated TouchDevelop app in the Windows Phone Store which gives access to many more sensors and data sources. Starting with the TouchDevelop app v3.0 for Windows Phone 8, the phone app will share the same look and navigation structure and all features of the Web App.

Learning iPad Programming: A Hands-On Guide to Building iPad Apps


Kirby Turner - 2013
    The reason not many books do this is because it is difficult to do well. Important toolkit features get shoehorned in weird places because the author didn't do enough up-front design time. This book, though, takes you from design, to a prototype, to the Real Deal. And then it goes further." --Mark Dalrymple, cofounder of CocoaHeads, the international Mac and iPhone programmer community; author of Advanced Mac OS X Programming: The Big Nerd Ranch Guide Learning iPad Programming, Second Edition, will help you master all facets of iPad programming with Apple's newest tools. Its in-depth, hands-on coverage fully addresses the entire development process, from installing the iOS SDK through coding, debugging, submitting apps for Apple's review, and deployment. Extensively updated for Apple's newest iOS features and Xcode 4.x updates, this book teaches iPad programming through a series of exercises centered on building PhotoWheel, a powerful personal photo library app. As you build PhotoWheel, you'll gain experience and real-world insights that will help you succeed with any iPad development project. Leading iOS developers Kirby Turner and Tom Harrington introduce the essentials of iOS development, focusing on features that are specific to iPad. You'll find expert coverage of key topics many iOS development books ignore, from app design to Core Data. You'll also learn to make the most of crucial iOS and Xcode features, such as Storyboarding and Automatic Reference Counting (ARC), and extend your app with web services and the latest iCloud synching techniques. Learn how toBuild a fully functional app that uses Core Data and iCloud synching Use Storyboarding to quickly prototype a functional UI and then extend it with code Create powerful visual effects with Core Animation and Core Image Support AirPrint printing and AirPlay slideshows Build collection views and custom views, and use custom segues to perform custom view transitions Download the free version of PhotoWheel from the App Store today! Import, manage, and share your photos as you learn how to build this powerful app.

Programming for Engineers: A Foundational Approach to Learning C and MATLAB


Aaron R. Bradley - 2013
    Computation is integral to all modern engineering disciplines, so the better you are at programming, the better you will be in your chosen field.The author departs radically from the typical presentation by teaching concepts and techniques in a rigorous manner rather than listing how to use libraries and functions. He presents pointers in the very first chapter as part of the development of a computational model that facilitates an ab initio presentation of subjects such as function calls, call-by-reference, arrays, the stack, and the heap. The model also allows students to practice the essential skill of memory manipulation throughout the entire course rather than just at the end. As a result, this textbook goes further than is typical for a one-semester course -- abstract data types and linked lists, for example, are covered in depth. The computational model will also serve students in their adventures with programming beyond the course: instead of falling back on rules, they can think through the model to decide how a new programming concept fits with what they already know.The book is appropriate for undergraduate students of engineering and computer science, and graduate students of other disciplines. It contains many exercises integrated into the main text, and the author has made the source code available online.

Implementing Laravel


Chris Fidao - 2013
    You've read about unit testing. Perhaps you've read Taylor Otwell's book and have a grasp of Dependency Injection, IoC containers and SOLID principles. Now you have a project that needs building!BUT: You're still left with the looming question of implementation: How do I actually use these principles? How should I organize my application code? Why do I still end up with so much code in my controllers?This book is the bridge over the gap between knowing good architecture principles and implementing them in your application.What You'll Learn:Concrete examples on architecting working code in testable and maintainable ways.Using Laravel's IoC containers and Service ProvidersCode organization, and the thinking behind itIncluding and Implementing third-party packagesReal-world, working code available on GitHubSome Chapters Include:Installation and Environment SetupUsing the Repository PatternCaching in the RepositoryError Handling with NotificationsValidation as a ServiceTestable Form Processing

R in Action


Robert L. Kabacoff - 2013
    Same Contents as in US edition - ISBN - 9789351198079 - Printed in Asia - Expedited Shipping available -

CMIS and Apache Chemistry in Action


Florian Muller - 2013
    In it, you'll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You'll learn how to create new content-centric applications that install and run in any CMIS-compliant repository.About The TechnologyContent Management Interoperability Services (CMIS) is an OASIS standard for accessing content management systems. It specifies a vendor-and language-neutral way to interact with any compliant content repository. Apache Chemistry provides complete reference implementations of the CMIS standard with robust APIs for developers writing tools, applications, and servers.About This BookCMIS and Apache Chemistry in Action is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you'll find clear teaching and instantly useful examples for building content-centric client and server-side applications that run against any CMIS-compliant repository. In fact, using the CMIS Workbench and the InMemory Repository from Apache Chemistry, you'll have running code talking to a real CMIS server by the end of chapter 1.This book requires some familiarity with content management systems and a standard programming language like Java or C#. No exposure to CMIS or Apache Chemistry is assumed.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.What's InsideThe only CMIS book endorsed by OASISComplete coverage of the CMIS 1.0 and 1.1 specificationsCookbook-style tutorials and real-world examplesAbout the AuthorsFlorian Müller, Jay Brown, and Jeff Potts are among the original authors, contributors, and leaders of Apache Chemistry and the OASIS CMIS specification. They continue to shape CMIS implementations at Alfresco, IBM, and SAP.Table of ContentsPART 1 UNDERSTANDING CMISIntroducing CMISExploring the CMIS domain modelCreating, updating, and deleting objects with CMISCMIS metadata: types and propertiesQueryPART 2 HANDS-ON CMIS CLIENT DEVELOPMENTMeet your new project: The BlendThe Blend: read and query functionalityThe Blend: create, update, and delete functionalityUsing other client librariesBuilding mobile apps with CMISPART 3 ADVANCED TOPICSCMIS bindingsSecurity and controlPerformanceBuilding a CMIS server