You are hereFeed aggregator / Sources / Dzone

Dzone


Syndicate content
Recent posts on DZone.com
Updated: 59 min 9 sec ago

Java Annotated Monthly: January 2018

Mon, 01/15/2018 - 1:01pm

Hopefully, everyone has recovered from the holidays. November is probably one of the craziest months, a sharp contrast to late December and early January, which are some of the quietest ones, at least in my experience. People are wrapping up the year’s results, making plans for the year ahead, and of course, enjoying the holidays. If you had holidays like we did, this January digest might be helpful for updating you on what has happened in the community during the last month. If not, I hope you find the news and articles interesting anyway.

If you missed all the champagne and watched the blogs and social accounts closer than we did, please feel free to share the missing news in the comments. Since Trisha, your regular host, is still on maternity leave; I will do my best to fill in for her.

Categories: Technical

When Letting the User Put the System Into an Invalid State Is a Desirable Property

Mon, 01/15/2018 - 1:01pm

A bug report was opened against RavenDB by one of our developers: “We should prevent error if the user told us to use a URL whose hostname isn’t matching the certificate provided.”

The intent is clear: we have a setup in which we have a certificate, and the only valid URLs in this case are hostnames that are in the certificate. If the user configured the system so we’ll be listening on https://my-rvn-one but the certificate has hostname “their-rvn-two”, then we know that this is going to cause issues for clients. They will try to connect but fail because of certificate validation. The hostname in the URL and the hostnames in the certificate don’t match, therefore, an error will occur.         I closed this bug as Won’t Fix, and that deserves an explanation. I usually care very deeply about the kind of errors that we generate, and we want to catch things as early as possible.

Categories: Technical

It Takes a Product Content-Obsessive Organization to Nail Digital Retail

Mon, 01/15/2018 - 1:01pm

"In retail, customers demand experiences, not just information."                   — Nasry Angel, Forrester Research

The face of digital retail looks promising as many e-commerce giants are challenging the status quo of traditional retail. Technology leaders are obsessed with developing tools and software aimed at driving sales.

According to a webinar by Forrester Research, digital retail influences ½ of the retail market, especially in the United States. This does not imply that 50% of the population is making online purchases, but this number is symbolic of how digital retail influences the retail scenario which manifests in the form of product information.

Categories: Technical

Using AI to Make Sense of the Human Genome

Mon, 01/15/2018 - 11:02am

While the first human genome cost billions of dollars and huge amounts of time, it's now increasingly possible to sequence your DNA for around $1,000. While the amount of data available has skyrocketed, our ability to derive insights from it has lagged behind somewhat. This has meant that the genetic revolution we hoped for when the genome was first sequenced has failed to materialize.

It's a problem that Google is tackling head-on via a new tool called DeepVariant, which utilizes AI to try and develop a better understanding of our genome. The system aims to autonomously mutations in the sequencing data and especially to distinguish them from random errors. It's a task that trips up scientists but for which machine learning is ideal.

Categories: Technical

Visualizing Complex Functions

Mon, 01/15/2018 - 11:02am

It's easy to visualize functions from two real variables to one real variable: use the function value as the height of a surface over its input value. But what if you have one more dimension in the output? A complex function of a complex variable is equivalent to a function from two real variables to two real variables. You can use one of the output variables as height, but what do you do about the other one?

Annotating Phase on 3D Plots

You can start by expressing the function output f(z) in polar form:

Categories: Technical

Visualizing Your Time Series Data From InfluxDB With Rickshaw

Mon, 01/15/2018 - 11:01am

Recently, we took a look at visualizing our time series data from InfluxDB using the graphing library plotly.js (see post here), which offers over 20 different charting types. It packages everything neatly so that it is easy for users to reproduce graphs of their own style and choosing. Today, we'll take a look at pulling our data from InfluxDB and displaying it with the Rickshaw library, which, like plotly.js, is built on d3.js. The Rickshaw toolkit offers users the ability to create custom interactive time series graphs, giving users access to a broad array of styles and a score of different elements-renderers, legends, hovers, and range selectors-with which to construct their graphs.

Before we get started, of course, you'll need to ensure you have an instance of InfluxDB up and running on your local machine. Here's a great site to getting the TICK Stack all set up and doing things on your machine — the aptly named Getting Started guide on the InfluxData site supplies documentation that will walk you through installing and running all four packages of the stack. You can also try experimenting in sandbox mode.

Categories: Technical

Implementing Validation for RESTful Services With Spring Boot

Mon, 01/15/2018 - 11:01am

This guide will help you implement effective validations for a REST API/Service with Spring Boot.

You Will Learn
  • What is validation?
  • Why do you need validation?
  • What is Hibernate Validator?
  • What is Bean Validation API?
  • What are the default validation capabilities provided by Spring Boot?
  • How to implement validation with Spring Boot?
  • How to implement validation with Bean Validation API?
Project Code Structure

The following files contain the important components of the project we will create. 

Categories: Technical

What to Automate and What Not to Automate

Mon, 01/15/2018 - 11:01am

The benefits of automation are well documented; it increases productivity, cuts cost and minimizes errors. It eliminates repetitive manual tasks, freeing us up to be more innovative. By that logic, surely, we should automate everything possible, right? So, is attempting to automate everything a sensible - even feasible - goal? In a word: no.

Consider this your short guide as to what to automate and what not to automate.

Categories: Technical

Why You Should Try the Amber Framework

Mon, 01/15/2018 - 11:01am

As a web developer, we all have flirted with the idea of having the perfect web framework, one that is fun to work with, that does not get in your way, catches bugs early, is easy to scale, easy to learn, can be deployed anywhere, and can be adapted to different architecture patterns without sacrificing performance.

Amber takes aim at addressing these pain-points by leveraging the features of the Crystal language and converging a series of widely accepted features. Amber is a web application framework written in Crystal and makes building web applications fast, simple, and enjoyable with blazing fast performance. Converging concepts and features that have been widely accepted by developers.

Categories: Technical

Continuous Testing Principles for Cross Browser Testing and Mobile Apps

Mon, 01/15/2018 - 11:01am

Majority of organizations are already deep into Agile practices with a goal to be DevOps and continuous delivery (CD) compliant.

While some may say that maximum % of test automation would bring these organizations toward DevOps, It takes more than just test automation.

Categories: Technical

My Co-Founder Quit. What Now? Keep Going.

Mon, 01/15/2018 - 10:48am

This post originally appeared 28 June, 2017 on hubrix.co.

There's a quote I love from Allen Saunders, often mistakenly attributed to John Lennon:

Categories: Technical

OAuth in Mule and Mule Secure Token Service

Mon, 01/15/2018 - 10:01am

What Is OAuth?

OAuth is an open standard for access delegation and has become the current industry standard protocol for authorization, especially to expose APIs to the external world in a secure way.

Check out their website for more information and to understand how it works.

Categories: Technical

Cloudy Morning: Docker, Serverless, and Cloud Dev

Mon, 01/15/2018 - 10:01am

I hope everyone has had a great weekend! Now that Monday is here, grab your java (puns: I've got them), settle in, and let's get caught up with what's making news in the cloud-o-sphere. The big themes this week are Docker (namely whether the company itself is dying as well as a ton of tools you can use in container-based projects), some tips for serverless computing (including how Java works with AWS Lambda), and some general tips for developing in the cloud (like bringing Ansible to it as well as a newly launched Go 2.0 SDK for AWS).

So, without further ado, let's brave the storm.

Categories: Technical

Key QA/Software Testing Events You Need to Attend in 2018

Mon, 01/15/2018 - 9:01am

There are ample reasons why 2018 is going to be a great year for software testing enthusiasts. The upcoming year will bring in new tools, technologies, and most importantly a range of conferences to attend. Conferences and industry forums are an excellent way to connect with experts in your own fraternity to share and receive key updates not only in the Software Testing space, but also in the overall software development ecosystem.

It’s a great way to gather ideas that can help improve the current processes and to find solutions to existing issues. This will eventually help professionals to enhance their skills and stay upbeat. Over a period of time it helps to gain thought leadership on a particular area and take the subject matter to the next level. Moreover, events and conferences help you to get recognized amongst peers and industry experts, offering an acclaimed platform for sharing inventive ideas.

Categories: Technical

Am I Thinking Too Small?

Mon, 01/15/2018 - 9:01am



A few months ago, I finished Tim O’Reilly’s WTF – What is The Future and Why It’s Up to Us.

WTF is amazing. You read it, and for the next couple of weeks, you’re recommending it to everyone you see. "Oh, you had so-and-so idea? WELL LET ME TELL YA, this Tim O’Reilly fellow wrote about it in his book and ho boy, did he ever break it down and analyze the crap out of it."

Categories: Technical

Kotlin: Tail Recursion Optimization

Mon, 01/15/2018 - 7:01am

The Kotlin compiler optimizes tail recursive calls — with a few catches. Consider a ranking function to search for the index of an element in a sorted array, implemented the following way using tail recursion (and a test for it):

fun rank(k: Int, arr: Array<Int>): Int { tailrec fun rank(low: Int, high: Int): Int { if (low > high) { return -1 } val mid = (low + high) / 2 return when { (k < arr[mid]) -> rank(low, mid) (k > arr[mid]) -> rank(mid + 1, high) else -> mid } } return rank(0, arr.size - 1) } @Test fun rankTest() { val array = arrayOf(2, 4, 6, 9, 10, 11, 16, 17, 19, 20, 25) assertEquals(-1, rank(100, array)) assertEquals(0, rank(2, array)) assertEquals(2, rank(6, array)) assertEquals(5, rank(11, array)) assertEquals(10, rank(25, array)) }


Categories: Technical

Reducing Cloud Operations Costs With the Data Optimizer

Mon, 01/15/2018 - 6:01am

Last November, we released the Data Optimizer — a cost reduction and optimization tool that helps organizations break away from existing pricing paradigms in the log analysis industry by giving them the flexibility to decide what data is important and needs retaining, how long to retain it for, and at what granularity.

Users can now store key metrics and important data in Timeless Accounts using what we call Optimizers: aggregation rules that summarize the data, reducing the original log size, and push it into these accounts.

Categories: Technical

5 Tools for Uploading iOS Apps to iTunes Connect

Mon, 01/15/2018 - 6:01am

iOS applications don't go to iTunes Connect easily. It takes the blood, sweat, and tears of engineers with them. It involves various complex tasks before an app hits iTunes Connect. Surely, every iOS engineer must have felt that pain at least once in their lifetime. There are some underlying tools and technologies that Apple uses to upload your binary to iTunes connect, and these technologies are being used in multiple tools. I want to keep this post very short, as someone said that my posts are really long, so I will try to keep it short and sweet. In this post, we will what are the ways you can upload app binary to iTunes Connect.

GUI Tools 1] Local Xcode

In the past, everybody did it using a local Xcode machine to archive the app and upload it to iTunes Connect. If you are lazy, then you might still be doing it this way. Ideally, all this archiving and uploading should happen from a continuous integration server. Anyway, Xcode is the very simple way to upload builds to iTunes Connect.

Categories: Technical

Using VR to Test New Microorganisms

Mon, 01/15/2018 - 6:01am

When biologists create a new microorganism to fulfill a certain task, it can sometimes be hard to accurately predict its behavior, even if you understand what each of its component parts does. A new study outlines how virtual reality can help to better test the future functioning of the microorganism.

The approach takes a lead from the software development industry, where unit and integration testing is a fundamental part of application development. It sees each individual component tested both on its own and on its interaction with the surroundings. This usually involves simulating its behavior in a virtual environment. It’s an approach the researchers believe has merits in the biological world.

Categories: Technical

How Does MVP Development Help Startups?

Mon, 01/15/2018 - 6:01am

The recipe for success is simple: study the market in a cycle of planning, testing, getting feedback, and redrafting.

However, almost every startup faces the problem of running out of money before they get a product the market really wants and (which is even more important) is willing to buy. When the idea is worth creating a product on its basis, most of the startups start small and develop an MVP first.

Categories: Technical