InfoQ Homepage Programming Content on InfoQ
-
An In-Depth Look at Clojure Collections
If you're familiar with Clojure, then you may know that at its heart lays a powerful set of immutable, persistent, collection types. This article covers the underpinnings of these collection types including a deep dive into a couple of them; namely vectors and maps, and presents an example of how viewing a problem through the lens of the "Clojure way" can greatly simply a design.
-
Resource-Oriented Architecture: Information, Not Containers
The Web is known primarily as a Web of Documents because that has been our main experience with it, but we should not ignore the idea of documents as a data source. New technologies are emerging to make it easier to encode extractable content on the Web. This article focuses on how producers can increase the machine-processability of the documents they produce.
-
Using DNS for REST Web Service Discovery
Service Discovery is an essential aspect of service orientated architecture because it avoids early binding of clients to particular service instances. In this article, Jan Algermissen explains the need for discovery of RESTful services, and explains how the existing Domain Name Service (DNS) standard can be used as a widely-deployed and scalable solution.
-
JSR 292 and the Multi-lingual JVM
Java 7 is looking to improve support for dynamic languages using the Java Virtual Machine for their runtime environment. John Rose has been leading a project to explore some options, and JSR 292 will standardise some of this work for Java 7. InfoQ takes a look at the problems JSR 292 solves, and talks to JRuby lead Charles Nutter to find out more about InvokeDynamic in practice.
-
NoSQL in the Enterprise
In this article, Sourav Mazumder explores what NoSQL databases are, how they fit into Enterprise IT, the challenges facing enterprise adoption, how to choose the appropriate NoSQL database for a given application, a short list of NoSQL databases which are likely to be good matches for enterprise applications, and advice for how to adopt NoSQL databases within an enterprise.
-
Unit and Integration Testing for GWT Applications
Bertrand Paquet and Gael Lazzari of Octo Technology explore Unit Testing GWT applications and introduce their own open source gwt-test-utils framework to support unit and integration testing of GWT code with standard tools such as JUnit and Easymock.
-
Book Excerpt and Interview: jBPM Developer Guide
A new book by Mauricio "Salaboy" Salatino, the jBPM Developer Guide, provides a detailed jBPM programming guide for Java developers with several real-life examples. InfoQ spoke with Salatino to learn the motivations behind the book and learn from his experience both using and writing about the jBPM Business Process Management suite.
-
Code Contracts in C#
This article discusses the concepts and ideas of Code Contracts and the way they are handled in C#. Unless you happen to have used a language supporting Design by Contract before, you may sometimes find yourself unsure of how to proceed with Code Contracts. If you're using it in conjunction with Test Driven Development, what should you write first - the contract or the implementation?
-
Implementing Google's "Did you mean" Feature In Java
Leandro Moreira shows how to implement a domain specific version of Google’s “Did you mean” feature based on the SpellChecker project in the Apache Lucene sandbox using thee alternative algorithms (Levenshtein, Jaro-Winkler and N-gram).
-
Key Takeaway Points and Lessons Learned from QCon London 2010
This article presents the main takeway points as seen by the many attendees who blogged about QCon. Comments are organized by tracks and sessions: Keynotes, Tutorials, 2015 Software Development, Agile Evolution, AlphaGeeks on .NET, Architectures You've Always Wondered About, Pragmatic Cloud Computing, Cool Stuff with Java, Dev and Ops: A single team, Software Craftsmanship, NoSQL and many more!
-
Scaling Clojure Web Apps with Google AppEngine
InfoQ takes a look at how a combo of Clojure and Google AppEngine (GAE) powers a new online project management tool, how Clojure integrates with GAE's key/value store, and the power of LISP.
-
Customizing Tables in MonoTouch
Tables are a staple in many iPhone applications. Although not a new invention in terms of application development, tables in the iPhone are very specific, given the constraints of the size of the device. Fortunately, Apple offers an easy way to customize tables, and this article explores working with the UITableView and UITableViewCell controls to create highly customized iPhone tables.