You are hereFeed aggregator / Sources / Dzone

Dzone


Syndicate content
Recent posts on DZone.com
Updated: 58 min 32 sec ago

5 Exciting New HTML and CSS Features to Look Forward to in 2018

Tue, 01/16/2018 - 11:01am

HTML and CSS are always evolving, offering front-end devs and web designers a lot of new possibilities. Today, let's have a look at 5 really exciting new HTML and CSS features for creating better websites in 2018.

Native <dialog> Element

Released along with the new HTML 5.2 spec in December 2017, the <dialog> element offers the possibility to create native dialogs in pure HTML.

Categories: Technical

Feature Based Delivery (FBD) — Microservice Architecture 2.0

Tue, 01/16/2018 - 11:01am

A few years ago, we were in the process of evaluating a next-gen architecture for the Equinix customer portal and APIs, to accommodate the growing needs of the platform. 

Monolithic applications were developed using Java and deployed as a single war file. We split the application using microservice based architecture. The developer tends to create a new service for new product requirements. There were a few challenges after moving to microservice based architecture:

Categories: Technical

The Dos and Don'ts of Revamping Your QA Strategy

Tue, 01/16/2018 - 11:01am

It's not uncommon for teams to reach a quality breaking point, at which point they need to take a hard look at their QA process and decide to make some changes. There's no better time than the new year to start thinking about how your team can make a bigger, better impact on product quality moving forward.

Is 2018 going to be the year you take control of your QA strategy? Make sure to consider these do's and don'ts from QA experts who have been there before.

Categories: Technical

How to Use Varnish to Make Your Cache Infrastructure GDPR Compliant

Tue, 01/16/2018 - 10:01am

All European businesses (and in fact all companies that do business with Europe) have at least one thing in common until May 25, 2018. They are all hustling to comply with the new General Data Protection Regulation (GDPR). The reason? The consequence of non-compliance can result in a hefty fine worth 4% of the company’s annual revenue. For most businesses, getting such a fine is not a risk worth taking.

What Is the GDPR?

The GDPR is considered to be the most significant piece of European data protection legislation to be introduced in Europe for decades. It replaces the European Data Protection Directive from 1995 and seeks to unify data protection laws across Europe. Its purpose is to give back control of their own personal data to private citizens. Not only do companies need to be able to show evidence that they handle personal data with respect and care, they are also strongly encouraged to encrypt that data to protect it from getting into the hands of the wrong people, for example via malicious cyber attacks.

Categories: Technical

Are You Forgetting Your Agile Values?

Tue, 01/16/2018 - 9:01am

A while back I wrote why sometimes Agile will fail. In this post, I will focus on the specific misunderstandings of Agile values. When people ask if you're Agile, they basically think:

  • Do you have stand ups?
  • Do you have retrospectives?
  • Do you have stories?
  • Do you use yellow Post-Its?

Such ideas belong to an Agile process called Scrum which is the most popular Agile process, but not the only one. There are other processes, such as Kanban, RUP, and XP. You don't necessarily have to be Scrum.

Categories: Technical

Post-Commit Patch Review Available Online on OpenCoverage

Tue, 01/16/2018 - 9:01am

The OpenCoverage website now demonstrates a post-commit patch review system utilizing the Coco code coverage tool from froglogic. With it, one can estimate whether there are enough tests for code changes, or whether to write new tests. Coco can therefore play a useful role in quality control.

What Is a Post-Commit Patch Review?

Post-commit patch review is an extension of the Coco report generation feature. The extension supports a review of changes applied to a software project. Typically, one wants to know whether the test suite of the project contains enough tests that target specifically the lines of code that have changed. For that purpose the Coco patch analysis creates a report which shows whether there are enough tests for the changed code, or whether new tests are required.

Categories: Technical

Closures in Scala [Video]

Tue, 01/16/2018 - 7:01am

Before we begin discussing closures in Scala, let us have a quick look at a function. The function literal bill below accepts only one input parameter: netBill. However, the function calculates the final bill by adding a service charge to netBill.

val bill = (netBill: Double) => netBill*(1 + serviceCharge/100)


Categories: Technical

Big-O Ambiguity

Tue, 01/16/2018 - 6:02am

Back to University

Most people talk about Big-O notation when it comes to runtime and space complexity. But when you recall your first year at university, most probably you had an Algorithm and Data Structure course when you have learned not only Big-O notation, but also Big-Ω (Omega) and Big-Θ (Theta). Here is a very brief definition:

  • if f(n) is O(g(n)), it means that f(n) grows asymptotically no faster than g(n)
  • if f(n) is Ω(g(n)), it means that f(n) grows asymptotically no slower than g(n)
  • if f(n) is Θ(g(n)), it means that f(n) grows asymptotically at the same rate as g(n) 

In other words, O(g(n)) is an upper bound which means that from certain point (n0 on the graph below), c*g(n) is never below the function f(n) which we are analyzing (don’t worry about c — it is just a constant).

Categories: Technical

When a REST Resource Should Get Its Own Address

Tue, 01/16/2018 - 6:02am

Background

Author's note

In a purist REST approach, all endpoints (except the starting endpoint) are opaque and their various details shouldn't need to be published. Even if this approach is being used, the points in this article are relevant as Server logic will have to determine when something requires an endpoint or not.

Categories: Technical

A Brief Overview of Swift Compiler

Tue, 01/16/2018 - 6:02am

Apple's open-sourced Swift programming language and its whole source code are now available on GitHub. There are thousands of programming languages available in the world and hundreds on the way, but the underlying basics of programming languages remains the same. It's very important to understand the roots so that you can learn programming languages easily. The languages are either compiled or interpreted. You can read the difference between them here. An interpreted language takes input and produces output directly, however, compiled languages first prepare executables and then, according to the data, they produce output.

Swift is a compiled language, meaning before producing the actual output, Swift performs various activities. These activities are generally performed by the Swift compiler. In this post, we will see a brief overview of the Swift compiler.

Categories: Technical

5 Success Stories That Will Make You Believe in Scaled Agile

Tue, 01/16/2018 - 6:02am

Taking your company from Waterfall to Agile isn’t a trivial task. And it begins to look more like a “mission impossible” if we’re talking about large enterprises that have dozens of teams working towards a common goal.

Below we present five case studies that demonstrate just that—that scaling Agile is not only possible, but can also yield great benefits. We hope you’ll learn something new from these examples!

Categories: Technical

CRUD Operations in IndexedDB Using JsStore

Tue, 01/16/2018 - 6:02am

IndexedDB is a database technology to store data in browsers. The problem is that it is too complex, even for simple cases, so most developers don't use it.

I was struggling with the same situation but I had to use it in one of my projects. I found an awesome library called JsStore that makes IndexedDB look like SQL and simpler than you can imagine. Then, I thought about efficiency and all. I researched a little and found that it executes the query in the web worker and handles everything for you.

Categories: Technical

CES: A Home for the Weird and Wonderful

Tue, 01/16/2018 - 6:02am

CES is a crazy show of more than 4,500 exhibitors spread over 11 official venues. It's an exercise in stamina as you traverse the crowds trying to find the gems amongst the generic. There's a lot more 'nice to have' than 'need it now' devices. But every year a few things stand out, sometimes for good, but not always for the right reasons:

Sunflower

Categories: Technical

.NET Core 2.0, Angular 4, and MySQL Part 1

Tue, 01/16/2018 - 6:01am

Wondering how you can work with the database in MySQL by using Workbench? It is actually not that hard! Creating schemas, tables, relations, and populating those tables is very easy, once you are familiar with the MySQL Workbench tool.

By following the instructions from this post, you will master the skills for creating the database, creating and populating tables, creating relations between those tables, and creating a backup of your data. Later on, we will connect a .NET Core project to this database.

Categories: Technical

Measuring in a DevOps World

Tue, 01/16/2018 - 6:01am

This article is featured in the new DZone Guide to DevOps. Get your free copy for more insightful articles, industry statistics, and more! 

It is quite easy to find articles and books about DevOps practices like Continuous Delivery out there, and there seems to be general agreement on which practices are good. In the measurements space, I am not so sure that we have found a general consensus yet, and there are a few very counterintuitive things happening that challenge our traditional approach — just like Agile and DevOps did to project management best practices.

Categories: Technical

Integrating Microservices With a Monolithic Application

Tue, 01/16/2018 - 6:01am

Problem Statement

The technical requirement is to weave a microservice with a non-Spring monolith service layer.

Monolith modules expose SOAP-based web services via WebService facade classes, which are an internally invoking method of different service classes (e.g. StoreService,  ProductService, PaymentService, etc.). These web services return essential responses with the help of different utils, application services, and other business services (there is inter-communication between multiple business services). In the roadmap, we have a requirement to convert these legacy services into microservices. The associated necessity is to integrate these microservices with the monolithic backbone without impacting the consumer, and with minimal changes to the monolith’s existing code base.

Categories: Technical

The Opportunities and Challenges of Cloud Computing and Big Data

Tue, 01/16/2018 - 6:01am

Big data is a general term that is used to refer to all kinds of data that exist in the current world of business. From digital data and records for healthcare facilities to the massive paperwork in government agencies which is archived for future references, technology has given us a service-oriented architecture to analyze such information for our own good. Big data can never be categorized under one description or definition because experts are still devising ways through which more benefits can be derived from it. The beautiful thing about information technology is that it consistently evolves and is always available for companies that are willing to embrace it. On the other hand, the development of cloud computing made it easier for business enterprises to get technology in packages that are affordable. The cost of storing company information was significantly reduced by use of cloud computing, which also came with multiple applications that can be utilized by small business enterprises.

Since the birth of the internet, there has been an explosion of a wide array of information in the world wide web as cloud computing continues to develop steadily. Both the standard users and digital marketers can now generate loads of information about the consumer using social media marketing platforms on a daily basis. Sometimes, it can be quite an uphill task for institutions and business organizations to manage the amount of data that they generate and store on a daily basis. For instance, 2.5 quintillion bytes of data is being created daily — which may present a storage and sorting challenge to cloud computing.

Categories: Technical

5 Tips to Secure Docker Containers for Early Adopters

Tue, 01/16/2018 - 6:01am

Thanks to Docker, containers are now the future of web development. Linux Containers, such as LXC or Solaris Zones, have existed since the mid-2000s, but containers weren’t widely used outside of large tech companies such as Google until Docker was first released at PyCon in March 2013. In March 2014, LXC was replaced by libcontainer as the default execution environment, and container adoption for the building of cloud-native apps and microservices exploded. According to the 2017 Docker Adoption survey by Datadog, 15 percent of Datadog’s customers currently run Docker.

As a result of this relatively recent surge in popularity, organizations naturally separate into several different stages of Docker adoption. Here’s the breakdown:

Categories: Technical

An Introduction to Hollow JARs

Tue, 01/16/2018 - 4:01am

I have written in the past about the difference between an application server and an UberJAR. The short version of that story is that an application server is an environment that hosts multiple Java EE applications side by side, while an UberJAR is a self-contained executable JAR file that launches and hosts a single application.

There is another style of JAR file that sits in-between these two styles called a Hollow JAR.

Categories: Technical

Watch Me Code, Episode 11 [Video]

Tue, 01/16/2018 - 2:02am

Continuing on from Episode 10, I review the additional tests I wrote and the bugs found in writing those tests before adding a final piece of flourish to the plugin.

This episode reviews some of the more interesting bugs I found while adding additional test cases.

Categories: Technical