Xtext is an open source Eclipse framework for implementing domain-specific languages together with its IDE functionalities. It lets you implement languages really quickly, and, most of all, it covers all aspects of a complete language infrastructure, starting from the parser, code generator, interpreter, and more.
“Implementing Domain-Specific Languages with Xtext and Xtend” will teach you how to develop a DSL with Xtext, an Eclipse framework for implementing domain-specific languages. The chapters are like tutorials that describe the main concepts of Xtext such as grammar definition, validation, code generation, customizations, and many more, through uncomplicated and easy-to-understand examples.
Starting with briefly covering the features of Xtext that are involved in a 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. We then proceed by explaining the main concepts of Xtext, such as validation, code generation, and customizations of runtime and UI aspects. By the end of the book, you will have learned how to test a DSL implemented in Xtext with Junit, in order to follow a test-driven development strategy that will help the developer implement maintainable code that is much faster and cleaner.
A test-driven approach is used throughout the book when presenting advanced concepts such as type checking and scoping. The book also shows you how to build and release a DSL so that it can be installed in Eclipse, and gives you hints on how to build the DSL headlessly in a continuous integration server.
Open source reporting tools and techniques, such as PRD, have been comparable in quality to their commercial counterparts this is largely due to the market’s marked tendency to choose open source solutions. PRD is a very powerful tool and in order to take full advantage of it you need to pay attention to the important details.
Pentaho 5.0 Reporting by Example: Beginner’s Guide clearly explains the the foundation and then puts those concepts into practice through step-by-step visual guides. Feeling confident with your newly discovered, desirable, skill you will have the power to create your very own professional reports including graphics, formulas, sub-reports and many other forms of data reporting.
Pentaho 5.0 Reporting By Example: Beginner’s Guide is a step-by-step guide to create high quality, professional reports. Starting with the basics we will explore each feature to ensure a thorough understanding to peel back the curtain and take full advantage of the power that Pentaho puts at our fingertips.
This book gives you the necessary resources to create a great variety of reports. You will be able to make reports that contain sub-reports, include graphics, sparklines and so on. You will also be able to parameterize your reports so that the final user can decide what information to visualize. You will be able to create your own stoplight type indicators and drill down in your reports. and execute your reports from your own web application.
Pentaho 5.0 Reporting By Example: Beginner’s Guide lets you learn everything
Java continues to maintain its popularity and is still one of the main languages used in the software industry today. But there are things in Java that are difficult to do that can be made easier; that’s where Guava comes in. Guava provides developers with a way to write better code, with less effort.
Getting Started with Google Guava will show the reader how to start improving their code from the very first chapter. Packed with examples and loads of source code, this book will have an immediate impact on how you work with Java.
This book starts with using Guava to help with the common tasks that Java developers perform. Then you’ll work your way through more specialized situations and finally some great functionality Guava provides that can add a lot of power to your applications with little effort. You will learn about Guava’s famous Collections classes that add unique features, like the Bi-Map, to Java’s already great Collection classes. We’ll see how to add some functional programming aspects to our code. We will also learn about using a self-loading cache for improved performance in our applications, and how to use the EventBus to create software that takes advantage of event-based programming.
What you will learn from this book
Citrix XenApp is an application virtualization product that allows users to connect to their corporate applications from any device. XenApp can host applications on central servers and allows users to interact with them remotely or stream and deliver them to user devices for local execution.
Citrix XenApp Performance Essentials is a practical guide that provides you guidelines, best practices, and real world examples that will help you to improve the performance of your farm, identifying and solving possible bottlenecks and using advanced features including the new features provided by XenApp 6.5.
Citrix XenApp is widely used to deliver enterprise applications to end users. This book covers the whole process of optimizing a XenApp farm, starting from the design phase all the way to tuning for remote users and connecting via geographic links.
With your farm in production, you will understand what to monitor and how to optimize your farm, as well as how to use an open-source tool, WANem, to test the applications’ behavior with different link conditions. You will also learn which settings and features XenApp offers to optimize CPU and memory utilization.
This book will help you to prevent or solve performance problems and make your users happy working with published applications.
What you will learn from this book
Want to build apps for Android devices? This book is the perfect way to master the fundamentals. Written by experts who have taught this mobile platform to hundreds of developers in large organizations and startups alike, this gentle introduction shows experienced object-oriented programmers how to use Android’s basic building blocks to create user interfaces, store data, connect to the network, and more.
Throughout the book, you’ll build a Twitter-like application, adding new features with each chapter. You’ll also create your own toolbox of code patterns to help you program any type of Android application with ease.
- Become familiar with the Android platform and how it fits into the mobile ecosystem
- Dive into the Android stack, including its application framework and the APK application package
- Learn Android’s building blocks: Activities, Intents, Services, Content Providers, and Broadcast Receivers
- Create basic Android user interfaces and organize UI elements in Views and Layouts
- Build a service that uses a background process to update data in your application
Table of Contents
Chapter 1. Android Overview
Chapter 2. Java Review
Chapter 3. The Stack
Chapter 4. Installing and Beginning Use of Android Tools
The world of Raspberry Pi is evolving quickly, with many new interface boards and software libraries becoming available all the time. In this cookbook, prolific hacker and author Simon Monk provides more than 200 practical recipes for running this tiny low-cost computer with Linux, programming it with Python, and hooking up sensors, motors, and other hardware—including Arduino.
You’ll also learn basic principles to help you use new technologies with Raspberry Pi as its ecosystem develops. Python and other code examples from the book are available on GitHub. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources such as Getting Started with Raspberry Pi (O’Reilly).
- Set up and manage your Raspberry Pi
- Connect the Pi to a network
- Work with its Linux-based operating system
- Use the Pi’s ready-made software
- Program Raspberry Pi with Python
- Control hardware through the GPIO connector
- Use Raspberry Pi to run different types of motors
- Work with switches, keypads, and other digital inputs
- Hook up sensors for taking various measurements
- Attach different displays, such as an LED matrix
- Create dynamic projects with Raspberry Pi and Arduino