* Focus on coding with the new, improved, and powerful tools of VS 2017
* Master improved debugging and unit testing support capabilities
* Accelerate cloud development with the built-in Azure tools
Visual Studio 2017 is the all-new IDE released by Microsoft for developers, more » targeting Microsoft and other platforms to build stunning Windows and web apps. Learning how to effectively use this technology can enhance your productivity while simplifying your most common tasks, allowing you more time to focus on your project. With this book, you will learn not only what VS2017 offers, but also what it takes to put it to work for your projects.
Visual Studio 2017 is packed with improvements that increase productivity, and this book will get you started with the new features introduced in Visual Studio 2017 IDE and C# 7.0. Next, you will learn to use XAML tools to build classic WPF apps, and UWP tools to build apps targeting Windows 10. Later, you will learn about .NET Core and then explore NuGet, the package manager for the Microsoft development platform. Then, you will familiarize yourself with the debugging and live unit testing techniques that comes with the IDE. Finally, you'll adapt Microsoft's implementation of cloud computing with Azure, and the Visual Studio integration with Source Control repositories.
WHAT YOU WILL LEARN
* Learn what's new in the Visual Studio 2017 IDE, C# 7.0, and how it will help developers to improve their productivity
* Learn the workloads and components of the new installation wizard and how to use the online and offline installer
* Build stunning Windows apps using Windows Presentation Foundation (WPF) and Universal Windows Platform (UWP) tools
* Get familiar with .NET Core and learn how to build apps targeting this new framework
* Explore everything about NuGet packages
* Debug and test your applications using Visual Studio 2017
* Accelerate cloud development with Microsoft Azure
* Integrate Visual Studio with most popular source control repositories, such as TFS and GitHub
ABOUT THE AUTHOR
Kunal Chowdhury has been a Microsoft MVP (Most Valuable Professional) since 2010, starting with Silverlight to Windows app development. He is also a renowned public speaker, active blogger (by passion), and a software engineer (senior/technical lead) by profession. Over the years, he has acquired profound knowledge on various Microsoft products and helped developers throughout the world with his deep knowledge and experience.
As a technical buff, Kunal has in-depth knowledge of OOPs, C#, XAML, .NET, WPF, UWP, Visual Studio, Windows 10 and Microsoft Azure. He is also proficient in entire Software Development Life Cycle (SDLC) and Scrum methodology. He has written many articles, tips & tricks on his technical blog (kunal-chowdhury) for developers and consumers.
You can contact Kunal via email at firstname.lastname@example.org. You can also follow him on Twitter at @kunal2383 and become a part of his major fans on social media channels for the updates that he shares over there.
TABLE OF CONTENTS
1. What’s new in Visual Studio 2017 IDE?
2. What's new in C# 7.0?
3. Building applications for Windows using XAML Tools
4. Building applications for Windows 10 using UWP Tools
5. Building application with .NET Core
6. Managing NuGet packages
7. Debugging applications with Visual Studio 2017
8. Testing applications with Visual Studio 2017
9. Accelerate cloud development with Windows Azure
10. Working with source controls « less
Volume I: Power User's View
Android Internals::A Confectioner's Cookbook is the first time the inner workings of the world's most popular operating system have been documented! Without going into the lengthy code, it presents the logic and flow of Android's various components using detailed illustrations, verbose annotations and more » hands-on experiments! Volume I takes the power user's point of view - the utilities and functionality accessible through adb shell. In particular, we explore: Partitions and Filesystems The Boot Process Init and its configuration files The native daemons in /system/bin The framework service architecture and servicemanager, Monitoring through Linux interfaces, and of course Security. All versions of Android - up to and including the upcoming Nougat - are covered, with examples taken from the wide gamut of Android Devices - Nexi, Samsung Galaxy S series, NVidia Shield, Amazon Kindle, HTC One M9, and the Android Emulator. This is the first in a multi-volume series, aiming to explore Android down to its last class. Stay tuned for Volume II - The Programmer's View - which picks up where the Power User's View ends, and dives deeper still into the frameworks, input, audio, video and network architecture... wading through the inevitable quagmire of code. « less
Application Development Strategies for Performance Optimization, Concurrency, Testability, and Code Brevity
Bring the power of functional programming to your PHP applications. From performance optimizations to concurrency, improved testability to code brevity, functional programming has a host of benefits when compared to traditional imperative programming.
Part one of Pro Functional PHP Programming takes more » you through the basics of functional programming, outlining the key concepts and how they translate into standard PHP functions and code. Part two takes this theory and shows you the strategies for implementing it to solve real problems in your new or existing PHP applications.
Functional programming is popular in languages such as Lisp, Scheme and Clojure, but PHP also contains all you need to write functional code. This book will show you how to take advantage of functional programming in your own projects, utilizing the PHP programming language that you already know.
What You'll Learn
* Discover functional programming in PHP
* Work with functional programming functions
* Design strategies for high-performance applications
* Manage business logic with functions
* Use functional programming in object-oriented and procedural applications
* Employ helper libraries in your application
* Process big data with functional PHP
Who This Book Is For
Programmers and web developers with experience of PHP who are looking to get more out of their PHP coding and be able to do more with PHP. « less
Successfully Distribute Apps
Cover every aspect of the app industry, from app idea generation through to marketing and performance monitoring. With this book you'll receive complete, reliable, up-to-date, and professional information and guidance.
Learn iOS App Distributionis every developers thorough and accessible guide to more » successfully distributing apps. For readers who already know how to code and create apps, this book explains how the app industry works, how it is evolving, and what the key trends are.
Rather than focus on the well-covered aspects of working with Swift and Xcode,you'll instead discover what it takes from a commercial standpoint to bring an app together and get it successfully out to customers. All the key technical aspects are simplified for you with non-technical backgrounds, and vast amounts of information are condensed into easy-to-understand visuals.
What You'll Learn
* Review how the app industry nuances and how it works
* Analyze app statistics and key market trends
* Position an app appropriately within the industry
* Improve app performance and related products and services
Who This Book Is For
App designers, UI/UX design professionals, coders, app marketers, game designers, asset designers and app publishing companies.The book is also suitable for inventors and non-tech readers unfamiliar with the industry but interested in investing in apps « less
Sustainable Software Development Patterns and Best Practices with C++ 17
Write maintainable, extensible, and durable software with modern C++. This book is a must for every developer, software architect, or team leader who is interested in good C++ code, and thus also wants to save development costs. If you want to teach yourself about writing clean C++, Clean C++ is exactly more » what you need. It is written to help C++ developers of all skill levels and shows by example how to write understandable, flexible, maintainable, and efficient C++ code. Even if you are a seasoned C++ developer, there are nuggets and data points in this book that you will find useful in your work.
If you don't take care with your code, you can produce a large, messy, and unmaintainable beast in any programming language. However, C++ projects in particular are prone to be messy and tend to slip into bad habits. Lots of C++ code that is written today looks as if it was written in the 1980s.
It seems that C++ developers have been forgotten by those who preach Software Craftsmanship and Clean Code principles. The Web is full of bad, but apparently very fast and highly optimized C++ code examples, with cruel syntax that completely ignores elementary principles of good design and well-written code. This book will explain how to avoid this scenario and how to get the most out of your C++ code. You'll find your coding becomes more efficient and, importantly, more fun.
What You'll Learn
* Gain sound principles and rules for clean coding in C++
* Carry out test driven development (TDD)
* Discover C++ design patterns and idioms
* Apply these design patterns
Who This Book Is For
Any C++ developer and software engineer with an interest in producing better code. « less
IBM® has a strong commitment to Linux as an operating system and Linux-based solutions. This IBM Redbook gives a broad understanding of IBM products and how they relate to the Linux operating system. It tries to encapsulate the IBM Software Solutions that are available for Linux-based servers. It also more » describes the Linux enablement throughout the IBM product line. This IBM Redbook offers enough information to give you a high-level understanding of Linux. Therefore, it is not meant to be a highly technical document. It also provides pointers to further sources of information. This redbook is intended for IBM representatives, Business Partners, and Customers who are involved in considering and planning Linux-based software solutions. You will find this redbook particularly helpful if you are planning to test or implement Linux in an enterprise. « less
Employ the most advanced pentesting techniques and tools to build highly-secured systems and environments
ABOUT THIS BOOK
* Learn how to build your own pentesting lab environment to practice advanced techniques
* Customize your own scripts, and learn methods to exploit 32-bit and 64-bit programs
* Explore a vast variety of stealth techniques to bypass a number of protections when penetration testing
WHO more » THIS BOOK IS FOR
This book is for anyone who wants to improve their skills in penetration testing. As it follows a step-by-step approach, anyone from a novice to an experienced security tester can learn effective techniques to deal with highly secured environments.
Whether you are brand new or a seasoned expert, this book will provide you with the skills you need to successfully create, customize, and plan an advanced penetration test.
WHAT YOU WILL LEARN
* A step-by-step methodology to identify and penetrate secured environments
* Get to know the process to test network services across enterprise architecture when defences are in place
* Grasp different web application testing methods and how to identify web application protections that are deployed
* Understand a variety of concepts to exploit software
* Gain proven post-exploitation techniques to exfiltrate data from the target
* Get to grips with various stealth techniques to remain undetected and defeat the latest defences
* Be the first to find out the latest methods to bypass firewalls
* Follow proven approaches to record and save the data from tests for analysis
The defences continue to improve and become more and more common, but this book will provide you with a number or proven techniques to defeat the latest defences on the networks. The methods and techniques contained will provide you with a powerful arsenal of best practices to increase your penetration testing successes.
The processes and methodology will provide you techniques that will enable you to be successful, and the step by step instructions of information gathering and intelligence will allow you to gather the required information on the targets you are testing. The exploitation and post-exploitation sections will supply you with the tools you would need to go as far as the scope of work will allow you. The challenges at the end of each chapter are designed to challenge you and provide real-world situations that will hone and perfect your penetration testing skills. You will start with a review of several well respected penetration testing methodologies, and following this you will learn a step-by-step methodology of professional security testing, including stealth, methods of evasion, and obfuscation to perform your tests and not be detected!
The final challenge will allow you to create your own complex layered architecture with defences and protections in place, and provide the ultimate testing range for you to practice the methods shown throughout the book. The challenge is as close to an actual penetration test assignment as you can get!
STYLE AND APPROACH
The book follows the standard penetration testing stages from start to finish with step-by-step examples. The book thoroughly covers penetration test expectations, proper scoping and planning, as well as enumeration and foot printing « less
Build engaging interactive applications, games, and simulations using Java and Greenfoot
ABOUT THIS BOOK
* Apply a wide variety of game design and programming animation techniques to create immersive interactive applications that use state-of-the-art controllers and input devices
* Quickly learn key concepts in animation, physics, and artificial intelligence to jump-start your journey more » into creative computing
* Gain a deep understanding of interactive development by working systematically from concept to design with several engaging example applications
WHO THIS BOOK IS FOR
This book is for coding students and Java programmers of all levels interested in building engaging, interactive applications with Greenfoot. Familiarity with the very basics of Greenfoot is assumed.
WHAT YOU WILL LEARN
* Use various methods of animation to breathe life into all aspects of a game or simulation
* Evaluate the different methods of collision detection and choose the right method for the task at hand
* Design and implement scrolling and mapped environments
* Incorporate simple techniques to give the illusion of intelligence to actors in Greenfoot scenarios
* Create user-friendly and intuitive user interfaces
* Heighten the user's experience by providing gamepad support for your Greenfoot scenarios
The worlds of computers and art are merging in new and complex ways. Greenfoot is designed to ease the transition into this immerging field, allowing for the easy development of two-dimensional graphical applications, such as simulations and interactive games.
This book provides you with the knowledge and processes necessary to create engaging interactive applications in Greenfoot. It systematically covers essential technologies and algorithms used in creative programming, such as collision detection, easing, and particle effects. You will not only learn to use best practices, but also learn about how these practices were developed and how to augment them to suit your individual needs. After learning the ins and outs of designing and implementing interactive applications, you will see how to interface gamepad controllers to provide an unparalleled immersive experience.
The book will take you through the advanced, creative, and engaging functions of Greenfoot while teaching object-orientated Java. « less
* Insightful coverage of Go programming syntax, constructs, and idioms to help you understand Go code effectively
* Push your Go skills, with topics such as, data types, channels, concurrency, object-oriented Go, testing, and network programming
* Each chapter provides working code samples more » that are designed to help reader quickly understand respective topic
The Go programming language has firmly established itself as a favorite for building complex and scalable system applications. Go offers a direct and practical approach to programming that let programmers write correct and predictable code using concurrency idioms and a full-featured standard library.
This is a step-by-step, practical guide full of real world examples to help you get started with Go in no time at all. We start off by understanding the fundamentals of Go, followed by a detailed description of the Go data types, program structures and Maps. After this, you learn how to use Go concurrency idioms to avoid pitfalls and create programs that are exact in expected behavior. Next, you will be familiarized with the tools and libraries that are available in Go for writing and exercising tests, benchmarking, and code coverage.
Finally, you will be able to utilize some of the most important features of GO such as, Network Programming and OS integration to build efficient applications. All the concepts are explained in a crisp and concise manner and by the end of this book; you would be able to create highly efficient programs that you can deploy over cloud.
WHAT YOU WILL LEARN
* Install and configure the Go development environment to quickly get started with your first program.
* Use the basic elements of the language including source code structure, variables, constants, and control flow primitives to quickly get started with Go
* Gain practical insight into the use of Go's type system including basic and composite types such as maps, slices, and structs.
* Use interface types and techniques such as embedding to create idiomatic object-oriented programs in Go.
* Develop effective functions that are encapsulated in well-organized package structures with support for error handling and panic recovery.
* Implement goroutine, channels, and other concurrency primitives to write highly-concurrent and safe Go code
* Write tested and benchmarked code using Go’s built test tools
* Access OS resources by calling C libraries and interact with program environment at runtime
ABOUT THE AUTHOR
TABLE OF CONTENTS
1. A First Step in Go
2. Go Language Essentials
3. Go Control Flow
4. Data Types
5. Functions in Go
6. Go Packages and Programs
7. Composite Types
8. Methods, Interfaces, and Objects
10. Data IO in Go
11. Writing Networked Services
12. Code Testing « less
80 hands-on recipes to efficiently work with the Docker 1.6 environment on Linux
About This Book Provides practical techniques and knowledge of various emerging and developing APIs to help you create scalable services Create, manage, and automate production-quality services while dealing with inherent issues. Each recipe is carefully organized with instructions to complete the task more » efficiently Who This Book Is For Docker Cookbook is for developers, system administrators, and DevOps engineers who want to use Docker in his/her development, QA, or production environments. It is expected that the reader has basic Linux/Unix skills such as installing packages, editing files, managing services, and so on. Any experience in virtualization technologies such as KVM, XEN, and VMware will help the reader to relate with container technologies better, but it is not required. What You Will Learn Install and set up Docker on different environments Work with Docker images and containers to Dockerize applications Create services with Docker to enable the swift development and deployment of applications Make optimum use of Docker in a testing environment do complete CI/CD Plan efficient working with Docker APIs, orchestration, and hosting platform such as Project Atomic Learn the various use cases available for Docker Troubleshoot, maintain, and optimize your Docker services effectively In Detail Docker is a Linux container engine that allows you to create consistent, stable, and production-quality environments with containers. You will start by installing Docker and understanding and working with containers and images. You then proceed to learn about network and data management for containers. The book explores the RESTful APIs provided by Docker to perform different actions such as image/container operations. Finally, the book explores logs and troubleshooting Docker to solve issues and bottlenecks. This book will also help you « less