Java

Using the Play Framework to Create a Java Web Application on Top of a .NET Back-End

Java Lobby Announcements - Tue, 2016-08-23 10:31

Java web applications have come a long way since the days of servlets and Java Server Pages (JSPs). There are now many Java web frameworks for a developer to choose from, including Spring MVC, Java Server Faces, Struts, GWT, Play, and Grails.  As with many other emerging technologies, an abundance of choices of web frameworks will lead to developer fatigue, the feeling of being overwhelmed by the need to keep up with the modern development world’s rapidly multiplying set of options. Interoperability tools like JNBridgePro are an ideal way to deal with many kinds of developer fatigue, particularly when the new technologies are based on Java or .NET. With JNBridgePro, you can learn a small piece of a new technology, while bridging back to other parts of your project, which use the old, familiar technology.

For example, let’s say that you’re a .NET developer maintaining an all-.NET web application using ASP.NET as the web framework. If you’re tasked with updating the application to use a modern Java web framework, you can simplify your task and avoid developer fatigue by reimplementing only the front end, while preserving the familiar .NET code in the back end.

Categories: Java

Using the Play Framework to Create a Java Web Application on Top of a .NET Back-End

Java Lobby Announcements - Tue, 2016-08-23 10:31

Java web applications have come a long way since the days of servlets and Java Server Pages (JSPs). There are now many Java web frameworks for a developer to choose from, including Spring MVC, Java Server Faces, Struts, GWT, Play, and Grails.  As with many other emerging technologies, an abundance of choices of web frameworks will lead to developer fatigue, the feeling of being overwhelmed by the need to keep up with the modern development world’s rapidly multiplying set of options. Interoperability tools like JNBridgePro are an ideal way to deal with many kinds of developer fatigue, particularly when the new technologies are based on Java or .NET. With JNBridgePro, you can learn a small piece of a new technology, while bridging back to other parts of your project, which use the old, familiar technology.

For example, let’s say that you’re a .NET developer maintaining an all-.NET web application using ASP.NET as the web framework. If you’re tasked with updating the application to use a modern Java web framework, you can simplify your task and avoid developer fatigue by reimplementing only the front end, while preserving the familiar .NET code in the back end.

Categories: Java

Functional Default Arguments, Part Two

Java Lobby Announcements - Tue, 2016-08-23 08:31

In part one, we started to look at a new approach to defining default arguments for methods. Here we continue with a few detailed examples. 

Default Arguments and Functional Programming

Let me introduce you to the MaleProgrammer class, which I'll use as an example for the rest of this newsletter:

Categories: Java

Functional Default Arguments, Part Two

Java Lobby Announcements - Tue, 2016-08-23 08:31

In part one, we started to look at a new approach to defining default arguments for methods. Here we continue with a few detailed examples. 

Default Arguments and Functional Programming

Let me introduce you to the MaleProgrammer class, which I'll use as an example for the rest of this newsletter:

Categories: Java

When Web Companies Grow Up They Turn Into Java Shops [Video]

Java Lobby Announcements - Mon, 2016-08-22 15:31

Earlier this month I attended Pivotal’s SpringOne platform conference in Las Vegas.  In case you’re not familiar with it, Spring is a Java Framework “that helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications.”

For some of you out there you may be thinking Java is old school and not relevant in in today’s modern world of digital business.  Au contraire mon frere.  James Governor, the D’artagnan of the analyst world,  countered this belief of irrelevance in his SpringOne talk entitled, “When Web Companies grow up, the become Java Shops.”

Categories: Java

When Web Companies Grow Up They Turn Into Java Shops [Video]

Java Lobby Announcements - Mon, 2016-08-22 15:31

Earlier this month I attended Pivotal’s SpringOne platform conference in Las Vegas.  In case you’re not familiar with it, Spring is a Java Framework “that helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications.”

For some of you out there you may be thinking Java is old school and not relevant in in today’s modern world of digital business.  Au contraire mon frere.  James Governor, the D’artagnan of the analyst world,  countered this belief of irrelevance in his SpringOne talk entitled, “When Web Companies grow up, the become Java Shops.”

Categories: Java

JVM Debugger Memory View for IntelliJ IDEA

Java Lobby Announcements - Mon, 2016-08-22 12:31

Every day we try to find new ways to improve developer experience with IntelliJ IDEA. It may be a bugfix, a performance improvement, or a new feature (usually in this order). Today we’d like to introduce a new plugin called JVM Debugger Memory View.

The plugin extends the built-in debugger with capabilities to explore objects in the JVM heap during a debug session. The Memory View shows you the total number of objects in the heap grouped by their class name.

Categories: Java

JVM Debugger Memory View for IntelliJ IDEA

Java Lobby Announcements - Mon, 2016-08-22 12:31

Every day we try to find new ways to improve developer experience with IntelliJ IDEA. It may be a bugfix, a performance improvement, or a new feature (usually in this order). Today we’d like to introduce a new plugin called JVM Debugger Memory View.

The plugin extends the built-in debugger with capabilities to explore objects in the JVM heap during a debug session. The Memory View shows you the total number of objects in the heap grouped by their class name.

Categories: Java

Functional Default Arguments, Part One

Java Lobby Announcements - Mon, 2016-08-22 10:31
Outline

Java lacks a built-in way to define default arguments for methods and constructors. Over the years, several approaches have been proposed, each with its pros and cons. The most widely-known one uses method overloading, though varargs, null values, the builder pattern, and even maps have been used as well. Here we propose a new approach based on functional constructs.

Functional Default ArgumentsBackground

Many languages support default arguments for methods and constructors out of the box, i.e. Scala:

Categories: Java

Plugging Leaky Abstractions

Java Lobby Announcements - Mon, 2016-08-22 08:31

In 2002, Joel Spolsky coined something he called “The Law of Leaky Abstractions.”  In software, an “abstraction” hides complexity of an underlying system from those using the abstraction.  Examples abound, but for a quick understanding, think of an ORM hiding from you the details of database interaction.

The Law of Leaky Abstractions states that “all non-trivial abstractions, to some degree, are leaky.”  “Leaky” indicates that the abstraction fails to adequately hide its internal details.  Imagine, for instance, that while modifying the objects generated by your ORM, you suddenly needed to manage the particulars of some SQL query.  The abstraction leaked, forcing you to understand the details that it was supposed to hide.

Categories: Java

The Benefits of Coding Offline: On Encapsulated Codebases and Headspaces

Java Lobby Announcements - Mon, 2016-08-22 07:07

Last weekend I spent an afternoon at a coffee shop with no wifi in order to solve a problem that I thought should have been simple (automatic de-duping) but which had stumped me for weeks. (I was getting false positives in a pattern I couldn't figure out.)

It took me less than an hour to solve the problem. Turns out I had been counting on one number (but really a string) being very unlikely to collide with other numbers for more than a few digits, when in fact that number -- for domain-specific reasons -- was supposed to share lots of n-grams with other numbers. Dead-simple fix, once I figured this out..and felt stupid for not noticing it before.

Categories: Java

Top @Docker Metrics to Watch | @DevOpsSummit #APM #DevOps

JDJ - Sun, 2016-08-21 19:00
Monitoring of Docker environments is challenging. Why? Because each container typically runs a single process, has its own environment, utilizes virtual networks, or has various methods of managing storage. Traditional monitoring solutions take metrics from each server and applications they run. These servers and applications running on them are typically very static, with very long uptimes. Docker deployments are different: a set of containers may run many applications, all sharing the resources of one or more underlying hosts. It's not uncommon for Docker servers to run thousands of short-term containers (e.g., for batch jobs) while a set of permanent services runs in parallel. Traditional monitoring tools not used to such dynamic environments are not suited for such deployments. On the other hand, some modern monitoring solutions (e.g. SPM from Sematext) were built with such dynamic systems in mind and even have out of the box reporting for docker monitoring. Moreover, container resource sharing calls for stricter enforcement of resource usage limits, an additional issue you must watch carefully. To make appropriate adjustments for resource quotas you need good visibility into any limits containers have reached or errors they have caused. We recommend using alerts according to defined limits; this way you can adjust limits or resource usage even before errors start happening.

read more

Categories: Java

Gearing up for #DigitalTransformation | @CloudExpo @PagerDuty #IoT #ML

JDJ - Sun, 2016-08-21 15:45

Modern organizations face great challenges as they embrace innovation and integrate new tools and services. They begin to mature and move away from the complacency of maintaining traditional technologies and systems that only solve individual, siloed problems and work “well enough.” In order to build...

The post Gearing up for Digital Transformation appeared first on PagerDuty.

read more

Categories: Java

JDK 9 @Deprecated Annotation Enhancements

Java Lobby Announcements - Sun, 2016-08-21 12:31

In the post What Might a New @Deprecated Look Like?, I used the description of JEP 277 ("Enhanced Deprecation") at that time to guide the creation of an enhanced customized @Deprecated annotation. Since that post, however, there have been significant changes made in JEP 277. This post summarizes the changes and the currently planned enhancements to @Deprecated that are slated for JDK 9.

The changes made to JDK-8065614 ("JEP 277: Enhanced Deprecation") on 2016-03-03 18:04 remove the portion of the JEP description that described the proposed @Deprecated enum. The "Alternatives" section of the main JEP 277 page documents why the enum was removed:

Categories: Java

An Introduction to Working With JAXB

Java Lobby Announcements - Sun, 2016-08-21 08:31

I am in the process of migrating a few modules that are dependent on Apache XMLBeans to JAXB. It has been an exciting and challenging few days. I thought of jotting down a few important things I came across for anyone who might find it useful in the future.

First of all, let us look at setting up the maven plugin for the JAXB code generation. As of the time of writing this post, I came across two maven plugins. I ended up using the first one as I found the configuration to be quite straightforward.

Categories: Java

Eight Tools Every Java Developer Should Know (and Love)

Java Lobby Announcements - Sun, 2016-08-21 08:31

At Stormpath, we take quality and productivity very seriously. As any good craftsmen already knows, having talent is not enough, you also need the right tools for the job. Engineering isn’t just a science, it’s also an art, so although we undoubtedly have talent (wink wink) at Stormpath, we always look to supplement with the tool that best fits our needs. Our engineers are always eager to share new tools with the rest of the team. And now, with all the other talented Java developers out there!

In this post, I’ll share the tools that our Java SDK team uses for daily tasks, how we use them, and hopefully, share a few tips that will be useful for you.

Categories: Java

Configure and Run Plain Java Apps in Eclipse Che

Java Lobby Announcements - Sat, 2016-08-20 10:31

This post will demonstrate how to develop and run standard Java applications in Eclipse Che. We’ll start by creating and running a simple “Hello World” example using one of the Che template apps. Then we’ll clone a plain Java project from Git, configure the classpath, add a library to the classpath, and run the application.

Create an Empty Java Workspace

In the user dashboard select “Workspaces” from the left nav and hit the “+” in the upper-right corner to create a new workspace. Then select Java and hit the “Create Workspace” button at the bottom:

Categories: Java

Blockchain Identity | @CloudExpo #Blockchain #DigitalTransformation

JDJ - Sat, 2016-08-20 09:00
As good Venn diagrams always show it's the intersection areas that offer the sweet spot for trends and markets, and an especially potent one is the intersection of Cloud computing, with the blockchain and also digital identity, particularly when considered within contexts such as Digital Democracy. Given the diversity of each field alone there are multiple perspectives to this, more the start of a conversation rather than a definitive design.

read more

Categories: Java

LinkedIn's {Py}Gradle Plugin Brings Build Automation to Python

Java Lobby Announcements - Sat, 2016-08-20 07:31

Yesterday, LinkedIn released their open source PyGradle plugin for running Python builds in the popular Gradle software build automation system. With PyGradle, Python and Java shops can all use the same build system. The plugin is accessible under an Apache 2 license.

LinkedIn is trying to use open source to gauge the community’s perspectives on what people want out of PyGradle. They are going to be accepting pull and feature requests. The plugin is currently in the0.3 release stage, with a 1.0 released planned in about two weeks.

Categories: Java

Learning Your First Programming Language

Java Lobby Announcements - Fri, 2016-08-19 15:31

This post is a chapter from my upcoming book The Complete Software Developer’s Career Guide. I’m writing the book live on this site week-by-week. If you enter your favorite email address here, I’ll send you the prior chapters and get you caught up – then send every new chapter as it comes out!

Ok, so you’ve decided what programming language you want to learn and now you are all set to learn it.

Categories: Java

Pages

Subscribe to EGJUG aggregator - Java