DZone.com Feed

DZone.com Feed


The Low-Code and No-Code Movement Can Transform Your Startup Into Category Leaders

Posted: 12 Oct 2020 06:57 PM PDT

No-code and low-code technologies have been making inroads for years but have never quite delivered on their promise as reliable alternatives to traditional software development for complex, business-critical applications. Then COVID-19 forced a new, expedited timeline for moving analog in-person processes to semi- or fully-automated online ones. At the same time, IT and engineering roadmaps have been thrown out the window as technical teams scramble to adjust to new distributed working conditions while juggling multiple "hair on fire" problems. As a result, operations and business teams have been left with urgent needs for new business applications and scant developer resources, creating the perfect storm for no- or low-code solutions to emerge as the savior of productivity. But decision-makers should be wary of treating these platforms as a panacea to avoid costly failures and lost time.

What Are No-Code and Low-Code Technologies?

To understand how no- and low-code solutions fill the gap between business demand for development and supply of technical resources, it is helpful to understand what those terms mean exactly. No-code platforms allow people with no technical knowledge to stand up complex, cloud-based business applications using simple, drag-and-drop tooling. Relatedly, low-code platforms are also based on the concept of abstraction through pre-built software building blocks oriented towards accelerating time to development by reducing the amount of "original" code that needs to be written in any given application. Perhaps because of their shared DNA, there is a trend towards convergence; as no-code platforms become more powerful and versatile with add-ons and application marketplaces, and low-code platforms build features to require less coding. Given this trend, we can collectively refer to these platforms as Low-code Development Platforms.

10 Reasons to Choose Apache Pulsar Over Apache Kafka

Posted: 12 Oct 2020 06:41 PM PDT

Today, many data architects, engineers, dev-ops, and business leaders are struggling to understand the pros and cons of Apache Pulsar and Apache Kafka. As someone who has worked with Kafka in the past, I wanted to compare these two technologies. 

If you are looking for insights on when to use Pulsar, here are 10 advantages of the technology that might be the deciding factors for you.

10 Examples of ConcurrentHashMap in Java

Posted: 12 Oct 2020 02:01 PM PDT

As a Java programmer, you might have heard about the ConcurrentHashMap class of java.util.concurrent package. If you don't let me tell you that ConcurrentHashMap is an important class in Java and you will often find yourself dealing with this class in a multithreaded and concurrent Java application. If you are wondering where to start and how to master this essential Java class then you have come to the right place.

In this article, I have shared some of the frequently used examples of ConcurrentHashMap in Java-like how to create a ConcurrentHashMap, how to update a key or value, how to delete a key-value pair, how to check if a key exists in ConcurrentHashMap or not, how to add new key-value pairs, and how to retrieve values from ConcurrentHashMap in Java.

Once you have gone through these examples, you will have a better understanding of ConcurrentHashMap and you will be more confident in using them in your Java program without causing subtle bugs that are hard to find and fix.

Observer Design Pattern In Java

Posted: 12 Oct 2020 01:40 PM PDT

Today, I will discuss simple and very useful behavioral design pattern called — Observer Design Pattern. This design pattern is useful when we want get notified about changes in the object state.

Observer Design Pattern

  • The Observer Design Pattern maintains one-to-many dependency between Subject (Observable) and its dependents (Observer) in such a way that whenever state of Subject changes, its dependents get notified.
  • The Observer Design Pattern is a design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. 
  • The Observer Design Pattern is used when we like to have notification upon changes in the objects state.
  • The Observer Design Pattern is one of twenty-three well known Gang of Four design patterns that defines an one-to-many dependency objects so that when one object changes state, all of its dependents get notified and updated automatically.
  • The Observer Design Pattern is mainly used to implement distributed event handling , in "event driven" system.
  • In such systems, the subject is usually called a "source of events", while the observers are called "sink of events".
  • Most modern languages have built-in "event" constructs which implement the observer pattern components.
  • Java also offers Observer and Observable to support built-in event constructs for implementing observer pattern. These are available since Java 1. 
  • But, in Java 9 these are declared deprecated/obsolete because the event model supported by Observer and Observable is quite limited, the order of notifications delivered by Observable is unspecified, and state changes are not in one-for-one correspondence with notifications. For a richer event model, consider using the java.beans package. For reliable and ordered messaging among threads, consider using one of the concurrent data structures in the java.util.concurrent package. For reactive streams style programming, see the Flow API.  (read more on Deprecate Observer and Observable).  

observer design pattern

Iterator Design Pattern In Java

Posted: 12 Oct 2020 01:23 PM PDT

Today, I will discuss a relatively simple and very commonly used behavioral design pattern called — Iterator Design Pattern. Iterator Pattern provides a simple way to iterate through the collection of objects.

Iterator Design Pattern

  • The Iterator Design Pattern is one of twenty-three well known GoF design patterns  provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation. 
  • Iterator Design Pattern provides an Iterator object to traverse a collection/container and access its member objects.
  • Iterator Design Pattern is a relatively simple design pattern, which we use almost in every project.
  • Few container requires an algorithm to access the member elements. Iterator Design Pattern decouples any such algorithm from the container.
  • The algorithm can be written separately to use by the Iterator and hence can be use by any container which supports that kind of Iterator object.
  • The Iterator Design Pattern provides flexible and reusable solution of traversing member objects of a container/collection. That make our collection object easier to implement, change, test and reuse.
  • Iterator object also facilitate removing of member object while traversing the collection. So, it's one of the solution of ConcurrentModificationException.

iterator design pattern

Finding #1: Open Source Use Is Rising During the COVID-19 Recession

Posted: 12 Oct 2020 01:21 PM PDT

In June of 2020, Tidelift fielded our annual managed open-source survey of technologists who use open source to build applications at work. Over 600 people shared how they use open source software today, what holds them back, and what tools and strategies would help them use it even more effectively.

In this post, we share the first of nine key findings. If you don't wait to wait for the rest of the results, you can download the full survey report right now at the link below. 

Finding #1: Open Source Use Is Rising During the COVID-19 Recession

We've written previously at Tidelift about how organizations tend to encourage the use of open-source, even more, when times get tough, in part because it helps them save money. So in this year's managed open-source survey, we wanted to learn whether the economic ramifications of the COVID-19 pandemic were once again putting application development budgets under pressure—and indeed they are.

Maven Plugin Testing in a Modern Way - Part VI

Posted: 12 Oct 2020 01:06 PM PDT

In the previous part of the series - Maven Plugin Testing - In a Modern way - Part V, we have seen how to define system properties to run Maven. In this part we will take a  deeper look how we can define profile(s) for a Maven call to be used.

Let us take a look at a simple example taken from the previous part.

Role of IoT and ML In Smart Cities

Posted: 12 Oct 2020 01:06 PM PDT

The world's population is growing at an unprecedented rate today and not only does half of the population lives in urban areas, but it is also estimated to rise by 50% by the year 2050. The amount of population living in these megapolises thus puts an enormous strain on the environment which needs to be managed smartly and thankfully, smart technologies like Internet of things (IoT) combined with machine learning (ML) have the potential to tame the pressures of urbanization by creating new and smarter experiences for making day-to-day living more comfortable.

The concept of IoT has always been considered the key infrastructure in smart cities since its introduction and in this article, we aim to explain the role that IoT and ML play in smart cities. But, before moving forward, let us understand the concept of smart cities briefly.

BDD Is More Than Gherkin or Cucumber, Part 1/2: 3 Approaches That Are Not BDD

Posted: 12 Oct 2020 12:57 PM PDT

Behaviour Driven Development is, at its heart, about communication. It's not about using Gherkin to formulate specifications, or Cucumber to run tests. It's about stakeholders across the delivery lifecycle working in parallel from a shared vision, delivering systems quickly enough that they reflect fast-changing user needs.

Done right, BDD means no more miscommunication, minimal rework, and no more thinking "If only someone had told me that!"[i] It introduces a "ubiquitous language": one that is understood by stakeholders regardless of their background.

What Is SCADA? – Supervisory Control And Data Acquisition

Posted: 12 Oct 2020 12:28 PM PDT

For manufacturing organisations, SCADA are critical because they help to sustain productivity, process data for better decisions, and communicate system problems to help minimise downtime.

SCADA is a collection of elements of software and hardware that enables industrial enterprises to:

Empowering Teams To High Performance And Excellence

Posted: 12 Oct 2020 10:44 AM PDT

How can we transform from the command and control style to leveraging the power of self-direction that energizes and engages people?

Empowering teams by giving up control is not easy. The fear that others are not capable and lack the required amount of clarity to make the best decision interferes with our ability to relinquish control.

Creating an illusion of control is even worse. It makes people believe that they are responsible for making decisions and delivering on outcomes while not feeling empowered to do so. Our lack of trust can get in the way as we demand approval every step of the way, interfere with decisions, and question their judgment.

Build vs. Buy Behavioral Email Platform for API Product Companies

Posted: 12 Oct 2020 10:18 AM PDT

Behavioral email is automated and targeted messages sent to customers based on their actions or behavior. By triggering on how your customers interact with your website or product, you're able to send email whose content is actually aligned with what they're doing, and will therefore be far more likely to resonate.

API companies are uniquely positioned to take advantage of behavioral emails; If monitoring and analytics is done right, then insights into what's going on deep within the platform can be surfaced; And insightful, or even prescient, communiqués can be made.

6 Incredible IDEs that Can Be Managed Seamlessly Over the Cloud

Posted: 12 Oct 2020 10:14 AM PDT

An integrated development environment or IDE is a platform or environment with a set of tools to create applications, edit code, debug errors, and perform testing. An IDE allows developers to create applications more quickly.

There are a variety of reasons that programmers use IDEs. However, 80% of developers that use them claim that the biggest benefit is source code collaboration.

Top GUI for Docker

Posted: 12 Oct 2020 10:11 AM PDT

Are you still monitoring your containers in tons of console windows or passionate about knowing dozens of terminal commands? There are a couple of nice Graphical User Interfaces (GUIs) for Docker, that can make your life much simpler and increase your performance. Let's select which one will suit you best.

Portainer (Web App)

Open-source (Zlib license).

10-Minute Builds: Serverless Docker With a Simple CI/CD Pipeline

Posted: 12 Oct 2020 10:07 AM PDT

cloud run
In this blog post, I will write about my favorite cloud service to date: Google Cloud Run. This service is fairly unique, as it allows you to deploy custom Docker workloads at scale,   any scale, even at zero. This means that you only pay for what you actually use. If your service is not being called, you won't be charged for a non-running Docker container. It's basically a 'Dockerized' Cloud Function/AWS Lambda/Azure Function.

Google Cloud has released some features that now allow you to deploy a GitHub repository with a Dockerfile to Cloud Run. The service also automatically sets up a configurable CI/CD pipeline for your service. This is powerful! This might be the holy grail of cloud developer ecstasy.

Okay, wait let me calm down.

Document Versioning With Azure Blob Storage

Posted: 12 Oct 2020 10:04 AM PDT

Some Background First

Almost all organizations have a need for document storage for their applications. If the organization is a Microsoft shop then, one of the most popular choices for them is the SharePoint Document Library. SharePoint Document library allows you to store documents, retain their versions, provides the ability to make any old version to the current version, last but not the least deleting a specific version of a document.

With all the goodness of SharePoint, it comes with its own limitations. For many custom cloud, applications build, SharePoint may not always be the right choice because of various reasons. It needs a dedicated setup, licensing, etc. And just to use the document library feature, the investment may not always be justifiable.

A Complete Guide on Software Testing

Posted: 12 Oct 2020 09:50 AM PDT

As every aspect of our life is transforming into digital versions, we find ourselves more intrigued by their underlying software's functioning. Software is controlling everything that is digitized.

But how can we ensure that the software involved in controlling so many aspects of our lives are efficient and not full of defects? This is where Software Testing steps in.

The Role of Continuous Integration in Agile

Posted: 12 Oct 2020 09:26 AM PDT

Many terms concerning the automation of the software delivery life cycle (SDLC) can be confusing, definitions murky, and abbreviations easy to forget. Today, let's cover what role continuous integration has in Agile. We'll dip our toe into continuous delivery, continuous deployment, and even DevOps, without drowning in the deep end of technicality. 

What Is Continuous Integration?

Continuous integration (CI) is the restructuring of the software development and delivery cycle to support many small changes, as opposed to a few large ones. It automatically moves code through the build and test environments of the SDLC, given the code passes the necessary checks. The tests in the test environment can be automated, or you can choose to require human approval—or both.

How To Build Web Service Using Spring Boot 2x

Posted: 12 Oct 2020 09:23 AM PDT

Architecture Contains

  • MVC Architecture
  • JWT Based Authentication
  • Spring Data (JPA)
  • Application User Password Encryption
  • DB password Encryption.
  • SQL Server
  • Log4j2
  • Swagger For API Doc

Repository Contains

  • Application Source code.
  • SQl script of Data Base along with key data.
  • DB.txt file contains the DB config details.
  • Postman JSON script to test all web-services.

Steps to Run Applications

  • Install JDK 11 or latest.
  • Clone the Project repository into local.
  • Git Url : https://github.com/VishnuViswam/sample-web-service.git
  • Install SQL server 2012.
  • Create application DB and user
  • Insert the DB key data.
  • Add the decoding key of the database password into the system variables. It is present in DB.txt file.
  • Sometimes we may need to restart the windows to pick up the updated system variables.
  • Run the project source code.
  • To call the web-services, import provided postman JSON scripts into the postman client application.

About Project Configurations

Web-Service Declaration

Each Web-services of application will be declared in the controller layer.

Example

Java
 




x
23


 
1
@RequestMapping("/api/v1/user")
2
@RestController
3
public class UserController {
4
  
5
    private static final Logger logger = LogManager.getLogger(UserController.class);
6
  
7
    @Autowired
8
    private GeneralServices generalServices;
9
  
10
    @Autowired
11
    private UserService userService;
12
  
13
    @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
14
    public ResponseEntity<Object> createUser(HttpServletRequest httpServletRequest,
15
                                             @RequestBody CustomUser user) {
16
        logger.info("<--- Service to save new user request : received --->");
17
        ApiResponse apiResponse = userService.createUser(user, generalServices.getApiRequestedUserId(httpServletRequest));
18
        logger.info("<--- Service to save new user response : given --->");
19
        return ResponseEntity.status(HttpStatus.CREATED).body(generalServices.buildJsonData(apiResponse));
20
  
21
    }
22
  
23
}



Picking an Enterprise Blockchain Protocol to Develop On Part 2: Quorum, Vyper, and Solidity

Posted: 12 Oct 2020 09:23 AM PDT

Picking Quorum as a Python developer or as a JavaScript developer.

In Brief

This post is a part of the multipart series aimed at developers looking to try their hand out at and get a taste of the enterprise blockchain world.

Project Managing PO and Other PO Anti-Patterns - Part 2

Posted: 12 Oct 2020 09:18 AM PDT

In Part-1 of this article, we saw how some POs manage the team, interfering in their internal tasks, and questioning them on the need for DevOps activities and other tech debt tasks.  

In Part-2, here are more anti-patterns and some suggested remedies.  

API Design Principle

Posted: 12 Oct 2020 09:01 AM PDT

Although API has more various definitions in a different scenario, in this blog, I will only talk about WEB API in micro-service scenario, which is usually implemented by RESTFUL, RPC, etc. API represents a capability of an instance of micro-service, hence the format of transition (like XML, JSON) has little impact in the design APIs

However, API design is crucial in the design of micro-service representing the method of communication between services and impacts the integration of services. Generally, a good API design should meet below 2 requirement

Ansible with AWS and EC2

Posted: 12 Oct 2020 08:58 AM PDT


A few months ago, I did some RnD tasks using ansible at VizuaMatix. After that I didn't use Ansible for anything useful, today I got a YouTube suggestion for ansible again. After watching it I thought, I should get my hands dirty again with Ansible. I decided to do some Ansible tasks using AWS EC2.

For this, I have used a master node and a worker node. Both running Ubuntu 18.04.4 And the task was very simple. Install the VLC media player in our worker node, and then removing it.

Scrum Ceremonies: The Unusual But Surprisingly Robust Guide

Posted: 12 Oct 2020 08:54 AM PDT

From the desk of a brilliant weirdo #1:

Thanks for checking out this article, mate! It really means a lot. 

11 Work From Home Tools You Cannot Afford to Ignore

Posted: 12 Oct 2020 08:37 AM PDT

I'm sure by now you must be sick and tired of listening to conversations and reading to blogs stating that work from home is the new normal and so on. So, I'm not going to waste even a single second on repeating those things. 

What I would like to talk about, however, is how you can now adapt to this new normal. Which technology is available out there to make your working from home experience smooth, streamlined, and as-close-to working from an office premise as possible. 

Full-Text Search - 5 Tips To Improve Your Query Performance

Posted: 12 Oct 2020 06:58 AM PDT

Tuning the search query performance is a very important aspect of Full-Text Search as it helps business-critical applications in meeting the SLA requirements of latency and throughput. Without much preamble, let me share a few useful recommendations for troubleshooting your search performance. All of these suggestions are agnostic of any hardware configurations, cluster topologies, and are applicable to most generic search use cases.

Search As Few Fields As Possible

This is particularly applicable to certain types of composite queries where the user tries to search a common search query text across multiple indexed fields.

Hooks by Example: Convert a Tesla Battery Range Calculator to Functional Components

Posted: 12 Oct 2020 06:50 AM PDT

In this tutorial, we started with an existing React-app with which we can calculate how much range the Tesla has under different circumstances. The range of a battery depends on the speed, the outside temperature, the climate and the wheel size.

In order to learn React hooks more thoroughly I converted this existing React-app from React Class Components to one with just React Functional Components. That is the goal of this tutorial!

Comments

Popular posts from this blog

DZone.com Feed

Gizmodo

Digg