Server-Side Frameworks

Pass the Pivotal Certified Professional exam using source code examples, study summaries, and mock exams. In this book, you'll find a descriptive overview of certification-related Spring modules and a single example application demonstrating the use of all required Spring modules. Also, it is suitablemore » as an introductory primer for Spring newcomers.
Furthermore, in Pivotal Certified Professional Spring Developer Exam: A Study Guide each chapter contains a brief study summary and question set, and the book’s free downloadable source code package includes one mock exam (50 questions – like a real exam). After using this study guide, you will be ready to take and pass the Pivotal Certified Professional exam.
When you become Pivotal Certified, you will have one of the most valuable credentials in Java. The demand for Spring skills is skyrocketing. Pivotal certification helps you advance your skills and your career, and get the maximum benefit from Spring. Passing the exam demonstrates your understanding of Spring and validates your familiarity with: container-basics, aspect oriented programming (AOP), data access and transactions, Spring Security, Spring Boot, microservices and the Spring model-view-controller (MVC). Good luck!
What You'll Learn
* Understand the core principles of the popular Spring Framework
* Use dependency injection
* Work with aspects in Spring and do AOP (aspect oriented programming)
* Control transactional behavior and work with SQL and NoSQL (MongoDB) databases
* Create and secure web applications based on Spring MVC
* Get to know the format of exam and type of questions in it
* Create Spring microservices applications
Who This Book Is ForSpring developers who have taken the Pivotal Core Spring class are eligible to take the Pivotal Certified Professional exam. « less

Learn how to develop a complete and robust Node, express.js and MongoDB-based web application and mobile application backend quickly using KeystoneJS. You’ll learn how KeystoneJS makes complicated things simple, without limiting the power or flexibility of node.js or the frameworks it is built on.
Beginningmore » KeystoneJSshows you how to build database-driven websites, applications, and APIs, all built upon Express, the defacto web server for Node.js that uses MongoDB as its storage backend.
What You Will Learn
* Discover the setup and architecture of the KeystoneJS framework.
* See how easy it is to extend KeystoneJS
* Understand the custom types and fields provided out of the box
* Write clean markup and create templates using Swig
* Use the powerful editing options in the framework's responsive dashboard
Who This Book Is For
Technical and non-technical people who would like to build applications quickly to leverage structured data to improve productivity. « less

Learn about dependency injection, interfaces, service providers, SOLID design, and more with practical and real-world code examples. This book covers everything you need to get started in application development with Laravel 5.3. Beginning Laravel covers features such as method injection, contracts,more » and authentication.
After reading this book, you can develop any application using Laravel 5. It details all you need to know, including the model-view-controller pattern, SQLite databases, routing, authorization, and building CRUD applications.
What You Will Learn
* Work with the new Laravel framework and its new features
* Develop web applications with Laravel
* Absorb the concepts of authentication and database migration
* Manage databases with Eloquent ORM
* Use middleware, contracts, and facades
Who This Book Is For
Readers who are new to Laravel development. « less

KEY FEATURES
* Build six exciting projects and use them as a blueprint for your own work
* Extend Django's built-in models and forms to add common functionalities into your project, without reinventing the wheel
* Gain insights into the inner workings of Django to better leverage it
BOOK DESCRIPTION
Djangomore » is a high-level web framework that eases the creation of complex, database-driven websites. It emphasizes on the reusability and pluggability of components, rapid development, and the principle of don't repeat yourself. It lets you build high-performing, elegant web applications quickly.
There are several Django tutorials available online, which take as many shortcuts as possible, but leave you wondering how you can adapt them to your own needs. This guide takes the opposite approach by demonstrating how to work around common problems and client requests, without skipping the important details. If you have built a few Django projects and are on the lookout for a guide to get you past the basics and to solve modern development tasks, this is your book.
Seven unique projects will take you through the development process from scratch, leaving no stone unturned. In the first two projects, you will learn everything from adding ranking and voting capabilities to your App to building a multiuser blog platform with a unique twist. The third project tackles APIs with Django and walks us through building a Nagios-inspired infrastructure monitoring system. And that is just the start!
The other projects deal with customizing the Django admin to create a CMS for your clients, translating your web applications to multiple languages, and using the Elasticsearch search server with Django to create a high performing e-commerce web site. The seventh chapter includes a surprise usage of Django, and we dive deep into the internals of Django to create something exciting!
When you're done, you'll have consistent patterns and techniques that you can build on for many projects to come.
WHAT YOU WILL LEARN
* Create a blogging platform and allow users to share posts on different blogs
* Prioritise user-submitted content with an intelligent ranking algorithm based on multiple factors
* Create REST APIs to allow non-browser based usage of your web apps
* Customize the Django admin to quickly create a full-featured and rich content management system
* Use Elasticsearch with Django to create blazing fast e-commerce websites
* Translate your Django applications into multiple languages
* Dive deep into Django forms and how they work internally
ABOUT THE AUTHOR
Asad Jibran Ahmed is an experienced programmer who has worked mostly with Django-based web applications for the past 5 years. Based in Dubai, UAE, he has worked with some of the biggest web properties in the region, including Dubizzle, the number one classifieds platform in UAE; Nabbesh, one of the top freelancing platforms in the MENA region; and Just Property, a hot and rising name in the property portal space of the region.
His experience with such big names has given him a keen insight into how to design performant, stable, and user friendly web applications, all the while using programming practices that make sure that the code base is maintainable for years.
TABLE OF CONTENTS
1. Blueblog – a Blogging Platform
2. Discuss – a Hacker News Clone
3. Djagios – a Nagios Clone in Django
4. A Car Rental App
5. Multilingual Movie Database
6. Daintree – an E-commerce Site
7. Form Mason – a Monkey of your own
8. Development Environment Setup Details and Debugging Techniques « less

***** About This Book *****
* The most up-to-date book on Flask on the market
* Create your own world-class applications and master the art of Flask by unravelling its enigma through this journey
* This step-by-step tutorial is packed with examples on blending different technologies with Flask tomore » get you up and running
***** Who This Book Is For *****
Have you looked at PHP and hated the clunky bloated syntax? Or looked at .Net and wished it was more open and flexible? Maybe you've tried your hand at GUI libraries in Python and found them hard to use? If your answer to any one of these questions is a yes, then this is just the book for you.
It is also intended for people who know the basics of Python and want to learn how to use it to build powerful solutions with a web front-end.
***** What You Will Learn *****
* Build three web applications from the ground up using the powerful Python micro framework, Flask.
* Dynamically display data to your viewers, based on their requests
* Store user and static data in SQL and NoSQL databases and use this data to power your web applications
* Create a good user experience by combining HTML, CSS, and JavaScript
* Harness the convenience of freely available APIs, including OpenWeatherMap, Open Exchange Rates, and bitly
* Extend your applications to build advanced functionality, such as a user account control system using Flask-Login
* Learn about web application security and defend against common attacks, such as SQL injection and XSS
***** In Detail *****
This book will take you on a journey from learning about web development using Flask to building fully functional web applications. In the first major project, we develop a dynamic Headlines application that displays the latest news headlines along with up-to-date currency and weather information. In project two, we build a Crime Map application that is backed by a MySQL database, allowing users to submit information on and the location of crimes in order to plot danger zones and other crime trends within an area. In the final project, we combine Flask with more modern technologies, such as Twitter's Bootstrap and the NoSQL database MongoDB, to create a Waiter Caller application that allows restaurant patrons to easily call a waiter to their table. This pragmatic tutorial will keep you engaged as you learn the crux of Flask by working on challenging real-world applications.
***** Style and approach *****
This book will provide you with rich, practical experience of Flask. Every technology, that is employed along with Flask is comprehensively introduced, while the book focusses on developing web applications. Pointers to educational material are always given if you want to gain in-depth knowledge of the various technologies used. « less

KEY FEATURES
* With the help of this book, you will improve your productivity as a developer and that of your team by focusing on business logic utilizing the structure that Hapi.js provides
* You will be introduced to a real-world problem and we'll demonstrate how to use the tools Hapi provides tomore » resolve it
* This is the only book with a learn-by-example approach
BOOK DESCRIPTION
This book will introduce hapi.js and walk you through the creation of your first working application using the out-of-the-box features hapi.js provides. Packed with real-world problems and examples, this book introduces some of the basic concepts of hapi.js and Node.js and takes you through the typical journey you'll face when developing an application. Starting with easier concepts such as routing requests, building APIs serving JSON, using templates to build websites and applications, and connecting databases, we then move on to more complex problems such as authentication, model validation, caching, and techniques for structuring your codebase to scale gracefully. You will also develop skills to ensure your application's reliability through testing, code coverage, and logging.
By the end of this book, you'll be equipped with all the skills you need to build your first fully featured application. This book will be invaluable if you are investigating Node.js frameworks or planning on using hapi.js in your next project.
WHAT YOU WILL LEARN
* Increase your productivity by taking advantage of the out-of-the-box features hapi.js provides
* Build secure API servers
* Create websites and applications using your favorite templating language
* Leverage hapi.js plugins to better structure your codebase
* Simplify your security workflows with the built-in authentication and authorization functionality of hapi.js
* Ensure application reliability with testing and code coverage
* Reduce code complexity using reusable validation logic with joi
* Gather insight into your application performance via logging
* Start the journey to building robust production-ready applications
ABOUT THE AUTHOR
John Brett is a software engineer passionate about new technologies, open source, and building useful software while travelling the world. Starting out in Ireland with a degree in Computer Science and Software Engineer, he went on to join IBM through their premier internship Extreme Blue, later working on collaboration software as part of IBM's Software Group. There, John mainly worked with PHP and JavaScript, only working with Node.js in his spare time.
Later in his career, John moved to a growing SAAS company called D4H Technologies. As a lead engineer there, he developed tools to aid emergency response teams globally, all from a lighthouse in Dublin, Ireland. Here, John got more exposure to Node.js, leading D4H's first venture into Node using hapi.js, later joining the hapi.js core team
TABLE OF CONTENTS
1. Introducing hapi.js
2. Adding Functionality by Routing Requests
3. Structuring Your Codebase with Plugins
4. Adding Tests and the Importance of 100% Code Coverage
5. Securing Applications with Authentication and Authorization
6. The joi of Reusable Validation
7. Making Your Application Production Ready « less

What sets Laravel apart from other PHP web frameworks? Speed and simplicity, for starters. This rapid application development framework and its vast ecosystem of tools let you quickly build new sites and applications with clean, readable code. With this practical guide, Matt Stauffer--a leading teachermore » and developer in the Laravel community--provides the definitive introduction to one of today's most popular web frameworks.
The book's high-level overview and concrete examples will help experienced PHP web developers get started with Laravel right away. By the time you reach the last page, you should feel comfortable writing an entire application in Laravel from scratch.
Dive into several features of this framework, including:
* Blade, Laravel's powerful, custom templating tool
* Tools for gathering, validating, normalizing, and filtering user-provided data
* Laravel's Eloquent ORM for working with the application's databases
* The Illuminate request object, and its role in the application lifecycle
* PHPUnit, Mockery, and PHPSpec for testing your PHP code
* Laravel's tools for writing JSON and RESTful APIs
* Interfaces for file system access, sessions, cookies, caches, and search
* Tools for implementing queues, jobs, events, and WebSocket event publishing
* Laravel's specialty packages: Scout, Passport, Cashier, Echo, Elixir, Valet, and Socialite « less

Accelerate your development of PHP applications using the popular CakePHP web application development framework and unit testing. This short book shows you how to carry out test-driven development with fixtures, model tests, controller tests, mocks, and test suites. Learn CakePHP contains all you needmore » to get started with the CakePHP framework to build faster, better PHP-based web applications.
You'll learn about unit testing and how to implement it in CakePHP. This approach to coding leads to better code, better applications, and better programming habits. With this knowledge your PHP skills will go from strength to strength allowing you to write more and improved code.
What you'll learn
* What is unit testing and CakePHP and how to put the two together
* What is clean coding
* What is TDD and the development cycle using this approach
* How to work with fixtures, model tests, text callbacks, controller tests, and more
* How to do mocks, test suites, testing from the command line and more
* How to work with code coverage, fixtures data, and private methods
Who this book is for
This book is for experienced PHP programmers and web developers who have little or no experience using CakePHP and/or unit testing. « less

Build robust, highly scalable reactive web applications with Ratpack, the lightweight JVM framework. With this practical guide, you’ll discover how asynchronous applications differ from more traditional thread-per-request systems—and how you can reap the benefits of complex non-blocking through an APImore » that makes the effort easy to understand and adopt.
Author Dan Woods—a member of the Ratpack core team—provides a progressively in-depth tour of Ratpack and its capabilities, from basic concepts to tools and strategies to help you construct fast, test-driven applications in a semantic and expressive way. Ideal for Java web developers familiar with Grails or Spring, this book is applicable to all versions of Ratpack 1.x.
* Configure your applications and servers to accommodate the cloud
* Use Ratpack testing structures on both new and legacy applications
* Add advanced capabilities, such as component binding, with modules
* Explore Ratpack’s static content generation and serving mechanisms
* Provide a guaranteed execution order to asynchronous processing
* Model data and the data access layer to build high-performance, data-driven applications
* Work with reactive and functional programming strategies
* Use distribution techniques that support continuous delivery and other deployment tactics « less

KEY FEATURES
* Extract data from any source to perform real time analytics.
* Full of techniques and examples to help you crawl websites and extract data within hours.
* A hands-on guide to web scraping and crawling with real-life problems and solutions
BOOK DESCRIPTION
This book covers the longmore » awaited Scrapy v 1.0 that empowers you to extract useful data from virtually any source with very little effort. It starts off by explaining the fundamentals of Scrapy framework, followed by a thorough description of how to extract data from any source, clean it up, shape it as per your requirement using Python and 3rd party APIs. Next you will be familiarised with the process of storing the scrapped data in databases as well as search engines and performing real time analytics on them with Spark Streaming. By the end of this book, you will perfect the art of scarping data for your applications with ease
WHAT YOU WILL LEARN
* Understand HTML pages and write XPath to extract the data you need
* Write Scrapy spiders with simple Python and do web crawls
* Push your data into any database, search engine or analytics system
* Configure your spider to download files, images and use proxies
* Create efficient pipelines that shape data in precisely the form you want
* Use Twisted Asynchronous API to process hundreds of items concurrently
* Make your crawler super-fast by learning how to tune Scrapy's performance
* Perform large scale distributed crawls with scrapyd and scrapinghub
ABOUT THE AUTHOR
Dimitrios Kouzis-Loukas has over fifteen years experience as a topnotch software developer. He uses his acquired knowledge and expertise to teach a wide range of audiences how to write great software, as well.
He studied and mastered several disciplines, including mathematics, physics, and microelectronics. His thorough understanding of these subjects helped him raise his standards beyond the scope of "pragmatic solutions." He knows that true solutions should be as certain as the laws of physics, as robust as ECC memories, and as universal as mathematics.
Dimitrios now develops distributed, low-latency, highly-availability systems using the latest datacenter technologies. He is language agnostic, yet has a slight preference for Python, C++, and Java. A firm believer in open source software and hardware, he hopes that his contributions will benefit individual communities as well as all of humanity.
TABLE OF CONTENTS
1. Introducing Scrapy
2. Understanding HTML and XPath
3. Basic Crawling
4. From Scrapy to a Mobile App
5. Quick Spider Recipes
6. Deploying to Scrapinghub
7. Configuration and Management
8. Programming Scrapy
9. Pipeline Recipes
10. Understanding Scrapy's Performance
11. Distributed Crawling with Scrapyd and Real-Time Analytics
12. Installing and troubleshooting prerequisite software « less