The Swift Programming Language


Apple Inc. - 2014
    Swift builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works.

Learning React: Functional Web Development with React and Redux


Alex Banks - 2017
    Authors Alex Banks and Eve Porcello show you how to create UIs with this small JavaScript library that can deftly display data changes on large-scale, data-driven websites without page reloads. Along the way, you'll learn how to work with functional programming and the latest ECMAScript features.Developed by Facebook, and used by companies including Netflix, Walmart, and The New York Times for large parts of their web interfaces, React is quickly growing in use. By learning how to build React components with this hands-on guide, you'll fully understand how useful React can be in your organization.Learn key functional programming concepts with JavaScriptPeek under the hood to understand how React runs in the browserCreate application presentation layers by mounting and composing React componentsUse component trees to manage data and reduce the time you spend debugging applicationsExplore React's component lifecycle and use it to load data and improve UI performanceUse a routing solution for browser history, bookmarks, and other features of single-page applicationsLearn how to structure React applications with servers in mind

Node.js in Action


Mike Cantelon - 2011
    You'll start by learning how to set up your Node development environment, including loading the community-created extensions. Next, you'll run several simple demonstration programs where you'll learn the basics of a few common types of Node applications. Then you'll dive into asynchronous programming, a model Node leverages to lessen application bottlenecks.About this BookJavaScript on the server? You bet. Node.js is a JavaScript server capable of supporting scalable, high-performance web applications. Using asynchronous I/O, the server can do more than one thing at a time, a key requirement for real-time apps like chat, games, and live statistics. And since it's JavaScript, you use the same language end to end.Node.js in Action shows you how to build production-quality applications. Clear introductions of key concepts and example-by-example coverage take you from setup to deployment. You'll dive into asynchronous programming, data storage, and output templating, and interact with the filesystem to create non-HTTP applications like TCP/IP servers and command-line tools. Perfect for a web developer transitioning from Rails, Django, or PHP. Requires basic knowledge of JavaScript. No prior experience with Node.js needed.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.What's InsideSet up Node and extensions Grok asynchronous programming and the event loop Examples including microblogging, IM, games, and moreAbout the AuthorsAs skilled practitioners, expert teachers and trainers, and contributors to the core framework, authors Mike Cantelon, Marc Harter, T.J. Holowaychuk, and Nathan Rajlich represent the best of the Node.js development community.Table of ContentsPART 1 NODE FUNDAMENTALS Welcome to Node.js Building a multiroom chat application Node programming fundamentals PART 2 WEB APPLICATION DEVELOPMENT WITH NODE Building Node web applications Storing Node application data Connect Connect's built-in middleware Express Advanced Express Testing Node applications Web application templating PART 3 GOING FURTHER WITH NODE Deploying Node applications and maintaining uptime Beyond web servers The Node ecosystem

Refactoring UI


Adam Wathan - 2018
    Learn how to design beautiful user interfaces by yourself using specific tactics explained from a developer's point-of-view.

Professional WordPress: Design and Development


Brad Williams - 2010
    As the most popular blogging and content management platform available today, WordPress is a powerful tool. This exciting book goes beyond the basics and delves into the heart of the WordPress system, offering overviews of the functional aspects of WordPress as well as plug-in and theme development. What is covered in this book?WordPress as a Content Management System Hosting Options Installing WordPress Files Database Configuration Dashboard Widgets Customizing the Dashboard Creating and Managing Content Categorizing Your Content Working with Media Comments and Discussion Working with Users Managing, Adding, Upgrading, and Using the Theme Editor Working with Widgets Adding and Managing New Plugins Configuring WordPress Exploring the Code Configuring Key Files wp-config.php file Advanced wp-config Options What's in the Core? WordPress Codex and Resources Understanding and customizing the Loop Building A Custom Query Complex Database Operations Dealing With Errors Direct Database Manipulation Building Your Own Taxonomies Plugin Packaging Create a Dashboard Widget Creating a Plugin Example Publish to the Plugin Directory Installing a Theme Creating Your Own Theme How and When to Use Custom Page Templates How to Use Custom Page Templates Pushing Content from WordPress to Other Sites Usability and Usability Testing Getting Your Site Found How Web Standards Get Your Data Discovered Load Balancing Your WordPress Site Securing Your WordPress Site Using WordPress in the Enterprise Is WordPress Right for Your Enterprise? and much more!

The Tangled Web: A Guide to Securing Modern Web Applications


Michal Zalewski - 2011
    Every piece of the web application stack, from HTTP requests to browser-side scripts, comes with important yet subtle security consequences. To keep users safe, it is essential for developers to confidently navigate this landscape.In The Tangled Web, Michal Zalewski, one of the world's top browser security experts, offers a compelling narrative that explains exactly how browsers work and why they're fundamentally insecure. Rather than dispense simplistic advice on vulnerabilities, Zalewski examines the entire browser security model, revealing weak points and providing crucial information for shoring up web application security. You'll learn how to:Perform common but surprisingly complex tasks such as URL parsing and HTML sanitization Use modern security features like Strict Transport Security, Content Security Policy, and Cross-Origin Resource Sharing Leverage many variants of the same-origin policy to safely compartmentalize complex web applications and protect user credentials in case of XSS bugs Build mashups and embed gadgets without getting stung by the tricky frame navigation policy Embed or host user-supplied content without running into the trap of content sniffing For quick reference, "Security Engineering Cheat Sheets" at the end of each chapter offer ready solutions to problems you're most likely to encounter. With coverage extending as far as planned HTML5 features, The Tangled Web will help you create secure web applications that stand the test of time.

Cryptography Engineering: Design Principles and Practical Applications


Niels Ferguson - 2010
    Cryptography is vital to keeping information safe, in an era when the formula to do so becomes more and more challenging. Written by a team of world-renowned cryptography experts, this essential guide is the definitive introduction to all major areas of cryptography: message security, key negotiation, and key management. You'll learn how to think like a cryptographer. You'll discover techniques for building cryptography into products from the start and you'll examine the many technical changes in the field.After a basic overview of cryptography and what it means today, this indispensable resource covers such topics as block ciphers, block modes, hash functions, encryption modes, message authentication codes, implementation issues, negotiation protocols, and more. Helpful examples and hands-on exercises enhance your understanding of the multi-faceted field of cryptography.An author team of internationally recognized cryptography experts updates you on vital topics in the field of cryptography Shows you how to build cryptography into products from the start Examines updates and changes to cryptography Includes coverage on key servers, message security, authentication codes, new standards, block ciphers, message authentication codes, and more Cryptography Engineering gets you up to speed in the ever-evolving field of cryptography.

The Modern Web: Multi-Device Web Development with HTML5, CSS3, and JavaScript


Peter Gasston - 2013
    When users can browse the Web on a three-inch phone screen as easily as on a fifty-inch HDTV, what's a developer to do?Peter Gasston's The Modern Web will guide you through the latest and most important tools of device-agnostic web development, including HTML5, CSS3, and JavaScript. His plain-English explanations and practical examples emphasize the techniques, principles, and practices that you'll need to easily transcend individual browser quirks and stay relevant as these technologies are updated.Learn how to:Plan your content so that it displays fluidly across multiple devices Design websites to interact with devices using the most up-to-date APIs, including Geolocation, Orientation, and Web Storage Incorporate cross-platform audio and video without using troublesome plug-ins Make images and graphics scalable on high-resolution devices with SVG Use powerful HTML5 elements to design better formsTurn outdated websites into flexible, user-friendly ones that take full advantage of the unique capabilities of any device or browser. With the help of The Modern Web, you'll be ready to navigate the front lines of device-independent development.

Algorithm Design


Jon Kleinberg - 2005
    The book teaches a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.

The RSpec Book


David Chelimsky - 2009
    Get the most out of BDD in Ruby with The RSpec Book, written by the lead developer of RSpec, David Chelimsky. You'll get started right away with RSpec 2 and Cucumber by developing a simple game, using Cucumber to express high-level requirements in language your customer understands, and RSpec to express more granular requirements that focus on the behavior of individual objects in the system. You'll learn how to use test doubles (mocks and stubs) to control the environment and focus the RSpec examples on one object at a time, and how to customize RSpec to "speak" in the language of your domain. You'll develop Rails 3 applications and use companion tools such as Webrat and Selenium to express requirements for web applications both in memory and in the browser. And you'll learn to specify Rails views, controllers, and models, each in complete isolation from the other. Whether you're developing applications, frameworks, or the libraries that power them, The RSpec Book will help you write better code, better tests, and deliver better software to happier users.

Core Java, Volume II--Advanced Features


Cay S. Horstmann - 1999
    It contains sample programs to illustrate practical solutions to the type of real-world problems professional developers encounter.

Engineering Long-Lasting Software


Armando Fox - 2012
    NOTE: this Alpha Edition is missing some chapters and may contain errors. See http://saasbook.info for details.

Game Engine Architecture


Jason Gregory - 2009
    The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.

Haskell Programming From First Principles


Christopher Allen - 2015
    I've spent the last couple years actively teaching Haskell online and in person. Along the way, I started keeping notes on exercises and methods of teaching specific concepts and techniques in Haskell that eventually turned into my guide for learning haskell. That experience led me to work on this book.If you are new to programming entirely, Haskell is a great first language. You may have noticed the trend of "Functional Programming in [Imperative Language]" books and tutorials and learning Haskell gets right to the heart of what functional programming is. Languages such as Java are gradually adopting functional concepts, but most such languages were not designed to be functional languages, after all. We would not encourage you to learn Haskell as an only language, but because Haskell is a pure functional language, it is a fertile environment for mastering functional programming techniques. That way of thinking and problem solving is useful, no matter what other languages you might know or learn.Haskell is not a difficult language to use. Quite the opposite. I'm now able to tackle problems that I couldn't have tackled when I was primarily a Clojure, Common Lisp, or Python user. Haskell is difficult to teach effectively.

Learning Web Design: A Beginner's Guide to Html, Css, Javascript, and Web Graphics


Jennifer Niederst Robbins - 2001
    You’ll begin at square one, learning how the Web and web pages work, and then steadily build from there. By the end of the book, you’ll have the skills to create a simple site with multi-column pages that adapt for mobile devices.Learn how to use the latest techniques, best practices, and current web standards—including HTML5 and CSS3. Each chapter provides exercises to help you to learn various techniques, and short quizzes to make sure you understand key concepts.This thoroughly revised edition is ideal for students and professionals of all backgrounds and skill levels, whether you’re a beginner or brushing up on existing skills.Build HTML pages with text, links, images, tables, and formsUse style sheets (CSS) for colors, backgrounds, formatting text, page layout, and even simple animation effectsLearn about the new HTML5 elements, APIs, and CSS3 properties that are changing what you can do with web pagesMake your pages display well on mobile devices by creating a responsive web designLearn how JavaScript works—and why the language is so important in web designCreate and optimize web graphics so they’ll download as quickly as possible