Real-time web applications have traditionally been a challenging thing to achieve,
relying on hacks and illusions. Many people avoid going real-time under the
assumption of the complexity involved. This book will show you how to build
modern, real-time web applications powered by Socket.IO, introducing you to
various features of Socket.IO and walking you through the development, hosting,
and scaling of a chat server.
This book covers all the important aspects of developing Hibernate OGM-MongoDB applications. It provides clear
instructions for getting the most out of the Hibernate OGM-MongoDB duo and offers many examples of integrating
Hibernate OGM by means of both the Hibernate Native API and the Java Persistence API. You will learn how to
develop desktop, web, and enterprise applications for the most popular web and enterprise servers, such as
Tomcat, JBoss AS, and Glassfish AS. You’ll see how to take advantage of Hibernate OGM-MongoDB together with
many common technologies, such as JSF, Spring, Seam, EJB, and more. Finally, you’ll learn how to migrate to the
cloud—MongoHQ, MongoLab, and OpenShift.
Unit testing is when you (a programmer) write test code to verify units of code.
The size of a unit isn’t precisely defined, so we’ll view a unit as a small bit of
code that exhibits some useful behavior in your system. A unit on its own
usually doesn’t represent complete end-to-end behavior. It instead represents
some small subset of that end-to-end-behavior.
We’re coding in Java, so we write our unit tests in Java, too. We run these
unit tests through JUnit, a tool that marks our tests as passing or failing.
There are already a few really good books devoted to developers’ tests in bookstores, so why write
another one? Here are several reasons for doing so:
The world keeps on moving forward. Progress never stops. There are still ideas emerging in
the testing area. New frameworks. New approaches. New tools. Old techniques are being forgotten,
rediscovered and mixed with newly invented ones. New concepts force us to rethink existing paradigms
and come up with solutions that are better suited to the constantly changing IT environment.
Lack of knowledge. In spite of all the books, seminars, JUG meetings, conferences, podcasts, articles,
blog entries and forum discussions I deal with, I still meet many developers who have only a very vague
idea of what developers’ testing is and how to do it. There is definitely still room for improvement in
this area.
This is the second edition of the highly rated book Object-Oriented JavaScript by
Stoyan Stefanov, Packt Publishing. After the release of the first edition, in the last
five years, JavaScript has moved from being mostly used in browsers for client-side
technologies to being used even on server side. This edition explores the "language
side" of JavaScript. The stress is on the standards part of the language. The book
talks about ECMA Script, Object-Oriented JS, patterns, prototypal inheritance,
and design patterns.
The book doesn't assume any prior knowledge of JavaScript and works from the
ground up to give you a thorough understanding of the language. People who
know the language will still find it useful and informative. Exercises at the end
of the chapters help you assess your understanding.
When Node.js arrived in 2009, we knew something was different. JavaScript on the server
wasn’t anything new. In fact, server-side JavaScript has existed almost as long as clientside
JavaScript. With Node, the speed of the JavaScript runtimes, coupled with the eventbased
parallelism that many JavaScript programmers were already familiar with, were
indeed compelling. And not just for client-side JavaScript developers, which was our
background—Node attracted developers from the systems level to various server-side
backgrounds, PHP to Ruby to Java. We all found ourselves inside this movement.
At that time, Node was changing a lot, but we stuck with it and learned a whole lot
in the process. From the start, Node focused on making a small, low-level core library
that would provide enough functionality for a large, diverse user space to grow.
Thankfully, this large and diverse user space exists today because of these design decisions
early on. Node is a lot more stable now and used in production for numerous
startups as well as established enterprises.
When Manning approached us about writing an intermediate-level book on Node,
we looked at the lessons we had learned as well as common pitfalls and struggles we
saw in the Node community. Although we loved the huge number of truly excellent
third-party modules available to developers, we noticed many developers were getting
less and less education on the core foundations of Node. So we set out to write Node in
Practice to journey into the roots and foundations of Node in a deep and thorough
manner, as well as tackle many issues we personally have faced and have seen others
wrestle with.
In Chapter 1 we provide background about MongoDB: why it was created, the goals it
is trying to accomplish, and why you might choose to use it for a project. We go into
more detail in Chapter 2, which provides an introduction to the core concepts and
vocabulary of MongoDB. Chapter 2 also provides a first look at working with MongoDB,
getting you started with the database and the shell. The next two chapters cover the
basic material that developers need to know to work with MongoDB. In Chapter 3, we
describe how to perform those basic write operations, including how to do them with
different levels of safety and speed. Chapter 4 explains how to find documents and create
complex queries. This chapter also covers how to iterate through results and gives options
for limiting, skipping, and sorting results.
This book endeavors to provide you with as much up-to-date information as possible
regarding jQuery that can be reasonably included in a book consisting of roughly 200
pages. You need some familiarity with HTML Web pages and JavaScript, but no prior
knowledge of jQuery is required.
This book is suitable for beginner to intermediate level web designers and developers.
Experience of HTML and CSS is assumed, and some knowledge of JavaScript is
helpful.