Learn to code the "fun" way with eleven real projects for true beginners!"
Adventures in Coding" is written specifically for young people who want to learn how to code, but don't know where to begin. No experience? No problem! This book starts from the very beginning to take you from newbie to app-builder more » in no time. You'll 'learn by doing' as you build projects designed to help you master fundamental programming skills--and you'll have a great time doing it. These skills form the foundation of any programmer's tool set, and you'll continue to use them as you graduate to other devices and more difficult projects.
Each chapter includes a video to help clear up any confusion and make sure you "really" understand, so you can keep programming your way through every single project without hitting major roadblocks. If you're ready to start designing your own program, this book will help you get started today.
More and more kids are learning to code, and many schools offer basic programming classes as part of the regular curriculum. This book is structured like a class, starting with the basics and building skill upon skill, making it both a perfect accompaniment to formal instruction and an ideal guide for self-study.
* Learn the basic programming skills you'll use everywhere
* Build nine fun projects from super-basic to pretty challenging
* Build the skills you need to create bigger and better apps
* Watch video tutorials for extra help and explanations.
How many times have you played with an app only to find yourself wishing it had this or that feature? If you learn how to code, "you" can be the creator of the next big app! But it all starts with that first small project. "Adventures in Coding" provides all the information you need, so let's get coding! « less
A Hands-On Guide to Designing Distributed Applications
There are many resources for Java and Scala developers who want to learn Akka from a technological perspective, but knowing how to apply this technology requires a different way of thinking. This practical, hands-on guide provides several sophisticated design patterns for using Akka properly, and includes more » examples of how and when to apply those patterns to real-world problem solving in large distributed systems. « less
*** Key Features ***
* Build highly efficient distributed applications with ease
* Enhance your cross-platform network programming skills with one of the most reputable C++ libraries
* Find solutions to real-world problems related to network programming with ready-to-use recipes using this detailed more » and practical handbook
*** Book Description ***
Starting with recipes demonstrating the execution of basic Boost.Asio operations, the book goes on to provide ready-to-use implementations of client and server applications from simple synchronous ones to powerful multithreaded scalable solutions. Finally, you are presented with advanced topics such as implementing a chat application, implementing an HTTP client, and adding SSL support. All the samples presented in the book are ready to be used in real projects just out of the box.
As well as excellent practical examples, the book also includes extended supportive theoretical material on distributed application design and construction.
*** What you will learn ***
* Boost your working knowledge of one of the most reputable C++ networking libraries―Boost.Asio
* Familiarize yourself with the basics of TCP and UDP protocols
* Create scalable and highly-efficient client and server applications
* Understand the theory behind development of distributed applications
* Increase the security of your distributed applications by adding SSL support
* Implement a HTTP client easily
* Use iostreams, scatter-gather buffers, and timers
*** About the Author ***
Dmytro Radchuk is a software engineer from Kyiv, Ukraine. His passion for science started at a young age and led him to receive a degree in computer science from Kyiv Polytechnic University. As of today, he has deep technical knowledge and more than 8 years of experience in the field of software development for several industries and businesses. He strongly believes that the whole is greater than the sum of its parts and this is one of the reasons why the development of distributed applications has become his main specialization.
Dmytro has always supported the idea of sharing knowledge and this has resulted in Boost.Asio C++ Network Programming Cookbook, which has become his first officially published book. He believes that science will help us deal with the monotony of everyday life. When he is not exploring another facet of computer engineering, he is probably learning a new aspect of psychology, history, or the arts, which are also of great interest to him.
*** Table of Contents ***
1. The Basics
2. I/O Operations
3. Implementing Client Applications
4. Implementing Server Applications
5. HTTP and SSL/TLS
6. Other Topics « less
Transform your existing web applications into Google Chrome browser extensions and create brand new extensions that improve your own browsing experience and that of your users. This book shows you how Google Chrome browser extensions are extremely useful tools for enhancing the functionality of the Google more » Chrome web browser. For example, you can create extensions to summarize the current page you are reading, or to save all of the images in the page you are browsing. They have access to almost all of the features provided by the Google Chrome browser, and they can encapsulate such features in the form of a bundled application providing targeted functionality to users. Extensions also run in a sandboxed environment, making them secure – which is a huge plus in the modern web!
The APIs provided by the Chrome Extensions framework help you empower web applications by coupling them with amazing features provided by the Google Chrome web browser, such as bookmarks, history, tabs, actions, storage, notifications, search, and a lot more – facilitating increased productivity on the Google Chrome web browser.
What You Will Learn:
* Transform your web application ideas into Google Chrome Extensions.
* Choose the recommended components for creating your kind of extension.
* Leverage the power of a Google Chrome browser by making use of the extensions API.
* Showcase your existing web-development skills in a modern way by creating useful extensions.
Who This Book is For
This SpringerBrief presents cutting-edge research on an important aspect of smart firefighting which will improve performance, safety, prediction, and resilience. It demonstrates the viability of real-time decision support for smart firefighting and provides validation data for continued cyber-physical more » system (CPS) development by using a smart networked fire test bed consisting of a multi-story instrumented building, a variety of fire and non-fire networked sensors, and a computational framework anchored by a Building Information Modeling (BIM) representation of the building.
The author conducted well-controlled full-scale fire experiments and represents them in the three-dimensional BIM, allowing for visualization of critical static and dynamic building and fire information.
The CPS test bed produces clear evidence about the opportunities for fire safety created by the communication between sensors, BIM, and fire. When applied to fire protection, CPS fuses the emerging sensor and computing technologies with building control systems, firefighting equipment, and apparatus. This SpringerBrief reveals some of the key ways CPS makes firefighting safer and more efficient. « less
*** Key Features ***
* Create useful plug-ins to make Eclipse work for you
* Learn how to migrate Eclipse 3.x plug-ins to Eclipse 4.x
* From automation to testing, find out how to get your IDE performing at an impressive standard
*** Book Description ***
Eclipse is used by everyone from indie more » devs to NASA engineers. Its popularity is underpinned by its impressive plug-in ecosystem, which allows it to be extended to meet the needs of whoever is using it. This book shows you how to take full advantage of the Eclipse IDE by building your own useful plug-ins from start to finish.
Taking you through the complete process of plug-in development, from packaging to automated testing and deployment, this book is a direct route to quicker, cleaner Java development. It may be for beginners, but we're confident that you'll develop new skills quickly. Pretty soon you'll feel like an expert, in complete control of your IDE.
Don't let Eclipse define you - extend it with the plug-ins you need today for smarter, happier, and more effective development.
*** What you will learn ***
* Create plug-ins for Eclipse 4.x
* Test plug-ins automatically with JUnit
* Display tree and table information in views
* Upgrade Eclipse 3.x plug-ins to Eclipse 4.x
* Find out how to build user interfaces from SWT and JFace
* Run tasks in the background and update the user interface asynchronously
* Automate builds of plug-ins and features
* Automate user interface tests with SWTBot
*** About the Author ***
Dr Alex Blewitt has been developing Java applications since version 1.0 was released in 1996, and has been using the Eclipse platform since its first release as part of the IBM WebSphere Studio product suite. He got involved in the open source community as a tester when Eclipse 2.1 was being released for macOS, and then subsequently as an editor for EclipseZone, including being a finalist for Eclipse Ambassador in 2007. More recently, Alex has been writing for InfoQ, covering Java and specifically Eclipse and OSGi subjects.
He is co-founder of the Docklands.LJC, a regional branch of the London Java Community in the Docklands, and a regular speaker at conferences.
Alex currently works for an investment bank in London, and is a Director of Bandlem Limited. Alex blogs at https://alblue.bandlem.com and tweets as @alblue on Twitter, and is the author of both Mastering Eclipse 4 Plug-in Development, and Swift Essentials, both by Packt Publishing.
*** Table of Contents ***
1. Creating Your First Plug-in
2. Creating Views with SWT
3. Creating JFace Viewers
4. Interacting with the User
5. Working with Preferences
6. Working with Resources
7. Creating Eclipse 4 Applications
8. Migrating to Eclipse 4.x
9. Styling Eclipse 4 Applications
10. Creating Features, Update Sites, Applications, and Products
11. Automated Testing of Plug-ins
12. Automated Builds with Tycho
13. Contributing to Eclipse
14. Using OSGi Services to Dynamically Wire Applications
15. Pop Quiz Answers « less
Learn how to implement a DSL with Xtext and Xtend using easy-to-understand examples and best practices
ABOUT THIS BOOK
* Leverage the latest features of Xtext and Xtend to develop a domain-specific language.
* Integrate Xtext with popular third party IDEs and get the best out of both worlds.
* Discover how to test a DSL implementation and how to customize runtime and IDE aspects of the DSL
WHO more » THIS BOOK IS FOR
This book is targeted at programmers and developers who want to create a domain-specific language with Xtext. They should have a basic familiarity with Eclipse and its functionality. Previous experience with compiler implementation can be helpful but is not necessary since this book will explain all the development stages of a DSL.
WHAT YOU WILL LEARN
* Write Xtext grammar for a DSL;
* Use Xtend as an alternative to Java to write cleaner, easier-to-read, and more maintainable code;
* Build your Xtext DSLs easily with Maven/Tycho and Gradle;
* Write a code generator and an interpreter for a DSL;
* Explore the Xtext scoping mechanism for symbol resolution;
* Test most aspects of the DSL implementation with JUnit;
* Understand best practices in DSL implementations with Xtext and Xtend;
* Develop your Xtext DSLs using Continuous Integration mechanisms;
* Use an Xtext editor in a web application
Xtext is an open source Eclipse framework for implementing domain-specific languages together with IDE functionalities. It lets you implement languages really quickly; most of all, it covers all aspects of a complete language infrastructure, including the parser, code generator, interpreter, and more.
This book will enable you to implement Domain Specific Languages (DSL) efficiently, together with their IDE tooling, with Xtext and Xtend. Opening with brief coverage of Xtext features involved in DSL implementation, including integration in an IDE, the book will then introduce you to Xtend as this language will be used in all the examples throughout the book. You will then explore the typical programming development workflow with Xtext when we modify the grammar of the DSL.
Further, the Xtend programming language (a fully-featured Java-like language tightly integrated with Java) will be introduced. We then explain the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. You will have learned how to test a DSL implemented in Xtext with JUnit and will progress to advanced concepts such as type checking and scoping. You will then integrate the typical Continuous Integration systems built in to Xtext DSLs and familiarize yourself with Xbase. By the end of the book, you will manually maintain the EMF model for an Xtext DSL and will see how an Xtext DSL can also be used in IntelliJ.
STYLE AND APPROACH
A step-by step-tutorial with illustrative examples that will let you master using Xtext and implementing DSLs with its custom language, Xtend. « less
Master the art of developing message-based applications with RabbitMQ
***** About This Book *****
* Learn how to administer, manage, and extend your own message broker, RabbitMQ
* Develop clients to make a message bridge between your software systems using RabbitMQ
* Discover how to achieve proficiency with RabbitMQ with the well-defined descriptions of the topics
***** more » Who This Book Is For *****
If you are an intermediate-level RabbitMQ developer, who wants to achieve professional-level expertise in the subject, this book is for you. You'll also need to have a decent understanding of message queuing.
***** What You Will Learn *****
* Administer RabbitMQ using different tools
* Understand the roots and details of messaging, message brokers, and AMQP protocol
* Scale the RabbitMQ server using the clusters and high availability techniques
* Extend RabbitMQ by developing the Erlang OTP-based applications that use the RabbitMQ API
* Manage the RabbitMQ server using its powerful tools
* Monitor the RabbitMQ Server using different open source tools such as Nagios, Munin, and Zabbix
* Ensure your RabbitMQ's security using SSL, SASL, and access control
* Develop RabbitMQ clients using Java, Python, and C# with an industry example
***** In Detail *****
RabbitMQ is one of the most powerful Open Source message broker software, which is widely used in tech companies such as Mozilla, VMware, Google, AT&T, and so on. RabbitMQ gives you lots of fantastic and easy-to-manage functionalities to control and manage the messaging facility with lots of community support. As scalability is one of our major modern problems, messaging with RabbitMQ is the main part of the solution to this problem.
This book explains and demonstrates the RabbitMQ server in a detailed way. It provides you with lots of real-world examples and advanced solutions to tackle the scalability issues.
You'll begin your journey with the installation and configuration of the RabbitMQ server, while also being given specific details pertaining to the subject. Next, you'll study the major problems that our server faces, including scalability and high availability, and try to get the solutions for both of these issues by using the RabbitMQ mechanisms. Following on from this, you'll get to design and develop your own plugins using the Erlang language and RabbitMQ's internal API. This knowledge will help you to start with the management and monitoring of the messages, tools, and applications. You'll also gain an understanding of the security and integrity of the messaging facilities that RabbitMQ provides. In the last few chapters, you will build and keep track of your clients (senders and receivers) using Java, Python, and C#.
***** Style and approach *****
An easy-to-follow guide, full of hands-on examples based around managing, monitoring, extending, and securing RabbitMQ and its internal tools. You will learn how to develop your own clients using Java, Python, and C#. « less
Gary Bennett, Brad Lees, and Stefan Kaczmarek, the team behind Swift 2 for Absolute Beginners, brings you a hands-on “Swift” introduction to the new tvOS SDK with a collection of app projects to try out.
You’ll learn how to create a BookStore app for the TV, including using Stack Views for book details, more » how to create a photo gallery app, and how to use collection view and split view controllers with a music collection app. Finally, you’ll also learn how to store Apple TV app data in iCloud.
The new Apple TV is here, and it’s open for your native apps ― Developing for the Apple TV with tvOS and Swift will get you started developing right away.
What you will learn:
* How to use stack views in tvOS
* How to use collection views and split view controllers
* How to store Apple TV app data in iCloud
* How to create native apps for books, photos, and music on the Apple TV
Who this book is for:
Intermediate iOS developers who want to create native Apple TV apps using the new tvOS SDK. « less
Dive into SQLAlchemy, the popular, open-source code library that helps Python programmers work with relational databases such as Oracle, MySQL, PostgresSQL, and SQLite. Using real-world examples, this practical guide shows you how to build a simple database application with SQLAlchemy, and how to connect more » to multiple databases simultaneously with the same metadata.
SQL is a powerful language for querying and manipulating data, but it’s tough to integrate it with your application. SQLAlchemy helps you map Python objects to database tables without substantially changing your existing Python code. If you’re an intermediate Python developer with knowledge of basic SQL syntax and relational theory, this book serves as both a learning tool and a handy reference.
Essential SQLAlchemy includes several sections:
* SQLAlchemy Core: Provide database services to your applications in a Pythonic way with the SQL Expression Language
* SQLAlchemy ORM: Use the object relational mapper to bind database schema and operations to data objects in your application
* Alembic: Use this lightweight database migration tool to handle changes to the database as your application evolves
* Cookbook: Learn how to use SQLAlchemy with web frameworks like Flask and libraries like SQLAcodegen « less