Beginning Rails 3This book is particularly well suited to those with little or no experience with web application development, or who have some experience but are new to Rails. Beginning Rails 3 assumes basic familiarity with web terms and technologies, but doesn't require you to be an expert. Rather than delving into the arcane details of Rails, the focus is on the aspects of the framework that will become your pick, shovel, and axe. Part history lesson, part introduction to object-oriented programming, and part dissertation on open source software, this title doesn't just explain how to do something in Rails, it explains why. ...
Moving from C to C++The author says it best, I hope to move you, a little at a time,from understanding C to the point where C++ becomes your mindset. This remarkable book is designed to streamline the process of learning C++ in a way that discusses programming problems, why they exist, and the approach C++ has taken to solve such problems.
You can't just look at C++ as a collection of features; some of the features make no sense in isolation. You can only use the sum of the parts if you are thinking about design, not simply coding. To understand C++, you must understand the problems with C and with programming in general. This book discusses programming problems, why they are problems, and the approach C++ has taken to solve such problems. Thus, the set of features that I explain in each chapter will be based on the way that I see a particular type of problem being solved in C++. ...
Data AlgorithmsIf you are ready to dive into the MapReduce framework for processing large datasets, this practical book takes you step by step through the algorithms and tools you need to build distributed MapReduce applications with Apache Hadoop or Apache Spark. Each chapter provides a recipe for solving a massive computational problem, such as building a recommendation system. You'll learn how to implement the appropriate MapReduce solution with code that you can use in your projects.
Dr. Mahmoud Parsian covers basic design patterns, optimization techniques, and data mining and machine learning solutions for problems in bioinformatics, genomics, statistics, and social network analysis. This book also includes an overview of MapReduce, Hadoop, and Spark. ...
Learning SwiftGet hands-on experience with Apple's Swift programming language by building real working apps. With this practical guide, skilled programmers with little or no knowledge of Apple development will learn how to code with Swift 2 by developing three complete, tightly linked versions of the Notes application for the OS X, iOS, and watchOS platforms.
In the process, you'll learn Swift's fundamentals, including its syntax and features, along with the basics of the Cocoa, CocoaTouch, and WatchKit frameworks. This book teaches you how to use common design patterns for Swift, how to structure an application for Apple's platforms, and how to submit working apps to the App Store. ...
Gray Hat Hacking, 3rd EditionThis one-of-a-kind guide offers a comprehensive overview of the hacking landscape and is organized in a progressive manner, first giving an update on the latest developments in hacking-related law, useful to everyone in the security field. Next, the book describes the security testing process and covers useful tools and exploit frameworks. The second section is expanded by explaining social engineering, physical, and insider attacks and the latest trends in hacking (Voice over IP and SCADA attacks). The book then explains, from both a code and machine-level perspective, how exploits work and guides you through writing simple exploits. Finally, the authors provide a comprehensive description of vulnerability research and reverse engineering. ...
Theories of Programming and Formal MethodsThis Festschrift volume, dedicated to He Jifeng on the occasion of his 70th birthday in September 2013, includes 24 refereed papers by leading researchers, current and former colleagues, who congratulated at a celebratory symposium held in Shanghai, China, in the course of the 10th International Colloquium on Theoretical Aspects of Computing, ICTAC 2013. The papers cover a broad spectrum of subjects, from foundational and theoretical topics to programs and systems issues and to applications, comprising formal methods, software and systems modeling, semantics, laws of programming, specification and verification, as well as logics. ...
An Introduction to Network Programming with Java, 3rd EditionSince the second edition of this text, the use of the Internet and networks generally has continued to expand at a phenomenal rate. This has led to both an increase in demand for network software and to improvements in the technology used to run such networks, with the latter naturally leading to changes in the former. During this time, the Java libraries have been updated to keep up with the new developments in network technology, so that the Java programming language continues to be one of the mainstays of network software development. ...
Transactions on Pattern Languages of Programming IIIThe Transactions on Pattern Languages of Programming subline aims to publish papers on patterns and pattern languages as applied to software design, development, and use, throughout all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The primary focus of this LNCS Transactions subline is on patterns, pattern collections, and pattern languages themselves. The journal also includes reviews, survey articles, criticisms of patterns and pattern languages, as well as other research on patterns and pattern languages. This book, the third volume in the Transactions on Pattern Languages of Programming series, presents five papers that have been through a careful peer review process involving both pattern experts and domain experts. The papers present various pattern languages and a study of applying patterns and represent some of the best work that has been carried out in design patterns and pattern languages of programming over the ...
Aliasing in Object-Oriented ProgrammingThis book presents a survey of the state-of-the-art on techniques for dealing with aliasing in object-oriented programming. It marks the 20th anniversary of the paper The Geneva Convention On The Treatment of Object Aliasing by John Hogg, Doug Lea, Alan Wills, Dennis de Champeaux and Richard Holt. The 22 revised papers were carefully reviewed to ensure the highest quality.The contributions are organized in topical sections on the Geneva convention, ownership, concurrency, alias analysis, controlling effects, verification, programming languages, and visions. ...
Unifying Theories of Programming and Formal Engineering MethodsThis book presents 5 tutorial lectures by leading researchers given at the ICTAC 2013 Software Engineering School on Unifying Theories of Programming and Formal Engineering Methods, held in Shanghai, China in August 2013.The lectures are aimed at postgraduate students, researchers, academics, and industrial engineers. They cover topics such as component-based and service-oriented systems, real-time systems, hybrid systems, cyber physical systems, and present techniques such as inductive theorem proving, model checking, correction by construction through refinement and model transformations, synthesis, and computer algebra. Two of the courses are explicitly related to Hoare and He's Unifying Theories of Programming. ...