Type-Driven Development with IdrisStop fighting type errors! Type-driven development is an approach to coding that embraces types as the foundation of your code - essentially as built-in documentation your compiler can use to check data relationships and other assumptions. With this approach, you can define specifications early in development and write code that's easy to maintain, test, and extend. Idris is a Haskell-like language with first-class, dependent types that's perfect for learning type-driven programming techniques you can apply in any codebase.
Type-Driven Development with Idris teaches you how to improve the performance and accuracy of your code by taking advantage of a state-of-the-art type system. In this book, you'll learn type-driven development of real-world software, as well as how to handle side effects, interaction, state, and concurrency. By the end, you'll be able to develop robust and verified software in Idris and apply type-driven development methods to other languages. ...
Transitioning to SwiftDeveloping apps for Apple's broadening platform of devices is an exciting topic these days. Apple created the Swift programming language to build state-of-the-art apps using the latest Apple technologies.
In this 200-page book, author Scott Gardner articulates the similarities and differences between traditional Objective-C based programming and Swift, revealing what you need to know from syntax changes to emerging best practices and paradigm shifts, to write powerful, expressive, and flexible code in Swift.
Written at a brisk pace and in a methodical style, you'll learn how to apply your Objective-C skills to successfully transition to programming in Swift. ...
Advanced Web ServicesWeb services and Service-Oriented Computing (SOC) have become thriving areas of academic research, joint university/industry research projects, and novel IT products on the market. SOC is the computing paradigm that uses Web services as building blocks for the engineering of composite, distributed applications out of the reusable application logic encapsulated by Web services. Web services could be considered the best-known and most standardized technology in use today for distributed computing over the Internet.
This book is the second installment of a two-book collection covering the state-of-the-art of both theoretical and practical aspects of Web services and SOC research and deployments. ...
Pro Android with KotlinDevelop Android apps with Kotlin to create more elegant programs than the Java equivalent. This book covers the various aspects of a modern Android app that professionals are expected to encounter. There are chapters dealing with all the important aspects of the Android platform, including GUI design, file- and data-handling, coping with phone calls, multimedia apps, interaction with location and mapping services, monetizing apps, and much more.
Pro Android with Kotlin is an invaluable source for developers wanting to build real-world state-of-the-art apps for modern Android devices.
Integrate activities, such as intents, services, toasts and more, into your Android apps; Build UIs in Android using layouts, widgets, lists, menus, and action bars; Deal with data in your Android apps using data persistence and cloud access; Design for different Android devices; Create multimedia apps in Android; Secure, deploy, and monetize your Android apps. ...
YammerBuild a successful Yammer implementation, make your workplace social and collaborative, create a culture of sharing, form expert communities and generate innovative solutions. Besides, this book will help to enhance your collaboration your suppliers, partners, and clients.
The author starts by giving an introduction to social collaborations and successful implementations of Yammer. Along the way, he explains the art of community management in Yammer using his hands-on experience of building communities. He then explains methods to keep a Yammer network engaged followed by a description of running a campaign on Yammer.
The second part of Yammer begins with ways you can engage entire organizations, including executives, on Yammer along with methods to measure the success of a Yammer network. You'll see how to get to grips with integrating Yammer with an existing platform and how to collaborate with customers, suppliers, and partners using Yammer. Finally, you'll learn various inn ...
Hands-On System Programming with LinuxThe Linux OS and its embedded and server applications are critical components of today's software infrastructure in a decentralized, networked universe. The industry's demand for proficient Linux developers is only rising with time. Hands-On System Programming with Linux gives you a solid theoretical base and practical industry-relevant descriptions, and covers the Linux system programming domain. It delves into the art and science of Linux application programming - system architecture, process memory and management, signaling, timers, pthreads, and file IO.
This book goes beyond the use API X to do Y approach; it explains the concepts and theories required to understand programming interfaces and design decisions, the tradeoffs made by experienced developers when using them, and the rationale behind them. Troubleshooting tips and techniques are included in the concluding chapter.
By the end of this book, you will have gained essential conceptual design knowledge and hands-on exp ...
Exploring .NET Core with Microservices, ASP.NET Core, and Entity Framework CoreWindows developers have always enjoyed the productivity boost you get with the .NET platform, tools like Entity Framework and ASP.NET, and the amazingly-powerful C# language. Now, .NET Core extends those same benefits to Linux-based systems, offering a true cross-platform solution for enterprise application development. The .NET Core tools, including Entity Framework Core and ASP.NET Core, are lightweight and modular, and they offer similar performance to native Linux and JVM-based frameworks without requiring you to learn a new toolset or rebuild your applications. In a world where platform lock-in is an unpardonable sin, .NET Core offers a perfect pathway to the cloud-based, distributed environments that rule the day.
Exploring .NET Core with Microservices, ASP.NET Core, and Entity Framework Core is a collection of five hand-picked chapters introducing you to the art of applying modern development practices and patterns to your .NET Core projects. In it, you'll get a quick overvie ...
Recurrent Neural Networks with Python Quick Start GuideDevelopers struggle to find an easy-to-follow learning resource for implementing Recurrent Neural Network (RNN) models. RNNs are the state-of-the-art model in deep learning for dealing with sequential data. From language translation to generating captions for an image, RNNs are used to continuously improve results. This book will teach you the fundamentals of RNNs, with example applications in Python and the TensorFlow library. The examples are accompanied by the right combination of theoretical knowledge and real-world implementations of concepts to build a solid foundation of neural network modeling.
Your journey starts with the simplest RNN model, where you can grasp the fundamentals. The book then builds on this by proposing more advanced and complex algorithms. We use them to explain how a typical state-of-the-art RNN model works. From generating text to building a language translator, we show how some of today's most powerful AI applications work under the hood.
After readi ...
Practical Binary AnalysisAs malware increasingly obfuscates itself and applies anti-analysis techniques to thwart our analysis, we need more sophisticated methods that allow us to raise that dark curtain designed to keep us out - binary analysis can help. The goal of all binary analysis is to determine (and possibly modify) the true properties of binary programs to understand what they really do, rather than what we think they should do. While reverse engineering and disassembly are critical first steps in many forms of binary analysis, there is much more to be learned.
This hands-on guide teaches you how to tackle the fascinating but challenging topics of binary analysis and instrumentation and helps you become proficient in an area typically only mastered by a small group of expert hackers. It will take you from basic concepts to state-of-the-art methods as you dig into topics like code injection, disassembly, dynamic taint analysis, and binary instrumentation. Written for security engineers, hackers, and ...
Testing Microservices with MountebankTesting Microservices with Mountebank is your guide to the ins and outs of testing microservices with service virtualization. The book offers unique insights into microservices application design and state-of-the-art testing practices that will deepen your microservices skills and improve your applications.
Even if you lab test each service in isolation, it's challenging - and potentially dangerous - to test a live microservices system that's changing and growing. Fortunately, you can use Mountebank to imitate the components of a distributed microservices application to give you a good approximation of the runtime conditions as you test individual services.
Testing Microservices with Mountebank introduces the powerful practice of service virtualization. In it, author Brandon Byars, Mountebank's creator, offers unique insights into microservices application design and state-of-the-art testing practices. You'll expand your understanding of microservices as you work with Mounteba ...