News Aggregator


Deploy Spring Boot Apps From Jar to War

Aggregated on: Wed Jun 24 2020 17:40:03 GMT+0000 (Coordinated Universal Time)

Make it Platform-Independent  Developing Spring Boot applications could be easy these days with the likes of annotations and initializes as Maven, Spring Boot, and embedded servers.  So as we know when building a Spring Boot application, by default, we package the application into a JAR file and execute our main application class into a main embedded tomcat server. We then run our application tests, web app, or REST endpoints within our environment for easy testing and debugging.

View more...

Reactive Microservices Done Right!

Aggregated on: Wed Jun 24 2020 17:40:03 GMT+0000 (Coordinated Universal Time)

Introduction In this article, we will take a look at how effective microservices development can be modeled around the concepts in reactive systems. First, we will look into what a reactive system is, and what is required to become one. Then we will look into how we have applied these concepts into the microservices world, and specifically how Ballerina, a programming language that was designed from the ground up to have first-class support for microservices, is fulfilling this with some easy-to-use abstractions for developers.  Reactive Systems A reactive system is created by following a set of guiding principles. These are mainly mentioned in the reactive manifesto. It talks about how to create systems that can take advantage of the latest hardware, and use those resources most efficiently. It basically provides a guideline on creating a better-distributed system. A reactive system is said to be responsive, resilient, elastic, and message-driven. 

View more...

Advanced Process Integration Tips - Asynchronous Execution

Aggregated on: Wed Jun 24 2020 17:40:03 GMT+0000 (Coordinated Universal Time)

After you get started with your first process projects, you're going to reach a point where you might want to start using more advanced process integration features. One of these that we'll explore here together is how to set up your process automation projects to execute processes asynchronously. By default, the flow of tasks is executed synchronously: all tasks will be treated one after the other, by a single thread. This being said, if a process contains, for example, four service calls - where each call lasts around 30 seconds - this process execution will run - and allocate JVM, CPU, etc.. - for long two minutes. And worse, the caller of this instance has to wait for two minutes until getting a response. In scenarios using default configurations, this situation results in a timeout exception.

View more...

Kubernetes Security: Don’t Forget These Best Practices

Aggregated on: Wed Jun 24 2020 17:40:03 GMT+0000 (Coordinated Universal Time)

Orchestration tools like Kubernetes bring about exceptional levels of versatility and resiliency to software deployment as well as management. They provide many controls that help to improve your application security a big deal. Especially, in security-centric industries, such as finance and healthcare, Development and Operations (DevOps) teams should strike the balance between usability, security, and functionality. If implemented properly, Kubernetes can be an answer here.  But, when you deploy Kubernetes, your security efforts should focus on preventing Denial-of-Service (DoS) attacks, internal, and external threats. Follow these five best Kubernetes security practices and guarantee your success with the technology, now and in the future.

View more...

Build Reactive REST APIs With Spring WebFlux

Aggregated on: Wed Jun 24 2020 17:40:02 GMT+0000 (Coordinated Universal Time)

In this article, we will see how to build reactive REST APIs with Spring WebFlux. Before jumping into the reactive APIs, let us see how the systems evolved, what problems we see with the traditional REST implementations, and the demands from modern APIs. If you look at the expectations from legacy systems to modern systems described below,

View more...

Patterns of Reading JSON

Aggregated on: Wed Jun 24 2020 17:40:02 GMT+0000 (Coordinated Universal Time)

JavaScript Object Notion (JSON) is a de-facto standard for exchanging data over Web API. JSON is a recursive data structure and can be visualized as a key-value pairs tree. There are two broad categories of APIs for reading information from JSON :

View more...

Cloud-native development - An advanced deployment blueprint

Aggregated on: Wed Jun 24 2020 13:00:03 GMT+0000 (Coordinated Universal Time)

The previous articles were introducing the foundations of a blueprint for cloud-native development, exploring a logical diagram, and diving into the first use cases with cloud-native development on local, remote containers, and a look at a deployment blueprint. This article completes the series with a look at the advanced cloud-native deployment blueprint. A description providing you with guidance for aligning this blueprint to your organizational architecture follows.

View more...

Database Fundamentals #23: Filtering Data

Aggregated on: Wed Jun 24 2020 03:50:03 GMT+0000 (Coordinated Universal Time)

If you've been reading these Database Fundamentals posts, you've already seen the WHERE clause because of your use of it when manipulating data with DELETE and UPDATE statements. It's also been used several times earlier in this series to limit the values returned from a SELECT statement. The primary places where people run into trouble with T-SQL is in the JOIN criteria and the WHERE clause criteria. This occurs because they don't understand well enough what the filters and operators they're using will do. They end up returning too much data because they didn't us the WHERE clause or misapplied it. They also filter too much data out. 

View more...

An Insight Into Data Connectivity Challenges and How to Overcome Them

Aggregated on: Wed Jun 24 2020 03:50:03 GMT+0000 (Coordinated Universal Time)

Data connectivity is the ability to connect one or more servers and clients so as to transfer huge volumes of data between them. Data connectivity and the demand for it has been changing the way we live and work. We dwell in a connected world in which data connectivity helps us communicate, conduct business, travel from one place to another and help us stay informed. The quest for using data effectively and innovatively has increased the need for reliable and robust data connectivity so that the enterprises can analyze the data and make intelligent business decisions when need be. The evolving technologies such as 5G, virtual reality, artificial intelligence systems, robots, drones - all of these need better data connectivity. Albeit the fact that data connectivity is extremely important, it is complex and poses challenges aplenty. This article talks about data connectivity challenges and the strategies to overcome them.

View more...

Turn Databases Into APIs for Data-Driven Testing

Aggregated on: Tue Jun 23 2020 22:00:03 GMT+0000 (Coordinated Universal Time)

The most effective method of testing an API program involves creating multi-step integration tests that validate common API consumer flows. API endpoints are meant to work together, so it follows that test data coming from one API that feeds another API should not be fixed or pre-built. This is very important because the less you rely on fixed data, the more unpredictable and therefore thorough the testing path will be. Moreover, API mutation operations may have side effects that cannot be evaluated by simply validating the same endpoint. Side effects propagate throughout the system, and their efficacy can only be validated by querying other endpoints and comparing the results.

View more...

Quarkus vs Spring Boot – Performance

Aggregated on: Tue Jun 23 2020 22:00:03 GMT+0000 (Coordinated Universal Time)

In this article, we are going to compare the Quarkus and Spring Boot applications and how they behave in terms of memory management. To be fair in comparison to both the applications, we will go with a standard set of dependencies. Both the application will include Spring Web dependencies only. They will be build using maven tool and jar files will be created. Both the application will have similar REST Endpoints.

View more...

Create Custom Robot Framework Libraries

Aggregated on: Tue Jun 23 2020 19:40:02 GMT+0000 (Coordinated Universal Time)

Robot Framework supports numerous libraries which can be used out-of-the-box. But what if we need functionality which is custom to our application? In that case, we can write our own custom library. In this post, we will take a look at how we can share keywords between Test Suites and how we can create our own custom Robot Framework library. 1. Introduction In our previous posts Automated Acceptance Testing With Robot Framework and How to Write Data Driven Tests With Robot Framework, we learned the basics of Robot Framework. We also learned how to write keywords in order to reuse commonly used functionality between test cases. All of this remained in one Test Suite, but what if you have created keywords which you also want to use in other Test Suites? We will explain how to make use of resource files and how to create custom Robot Framework Python libraries in order to share common keywords between Test Suites.

View more...

Realistic Challenges Faced for DevOps Implementation

Aggregated on: Tue Jun 23 2020 18:30:03 GMT+0000 (Coordinated Universal Time)

Many software development organizations around the world use traditional software development methods, which involve various stages throughout its completion. The organizations can change the development process to automate it using the software. DevOps is the software that automates software delivery by concurrently facilitating the software development and testing phases, between the software developers and information technology teams. Challenges Faced by Many Organizations While Implementing DevOps Most organizations are reluctant to switch from conventional development techniques to automation. They fear that the process of switching over may not be accepted by the developers who are comfortable working with conventional ways. Below are some of the challenges encountered that organizations come across while implementing DevOps, other than the associated problems of the use of technology and compatibility issues.

View more...

Fear-Driven Development: Fears of A Software Developer

Aggregated on: Tue Jun 23 2020 18:30:03 GMT+0000 (Coordinated Universal Time)

"The only thing we have to fear is fear itself." - Franklin D. Roosevelt

View more...

Cloud Testing — The Future of Software Testing

Aggregated on: Tue Jun 23 2020 18:30:03 GMT+0000 (Coordinated Universal Time)

Cloud testing is a software testing using cloud computing, which means using resources found in the cloud. Resources may be any hardware, software, and infrastructure necessary to carry out the tests. Easy access to the cloud environment helps organizations approach software testing as an easily scalable, on-demand service. Over the last decades, traditional software testing incurs a high cost to simulate user activity from multiple locations. Most applications were running on client/server architecture, and data was tightly coupled with applications in client/server architecture. Then the World Wide Web came along with N-tier application architecture where developers could create flexible and reusable applications. By segregating an application into tiers, developers acquired the option of modifying or adding a specific layer, instead of reworking the entire application. Technology innovation has further provided web access to people on the go via laptops and mobile devices.

View more...

How to Stop Test Suite After N Test Failures In Pytest

Aggregated on: Tue Jun 23 2020 17:20:03 GMT+0000 (Coordinated Universal Time)

An exhaustive test-suite comprises many test cases that test different features on various combinations of browsers, platforms, and devices. Though it is recommended not to skip tests, there are cases where you may want to stop test suite after n test failures, (n is the failure threshold value) number of the test fails while performing Selenium test automation. The option comes handy in scenarios where there are inter-dependent test cases and failure of one test case causes its dependent test cases to fail. This also avoids the execution of unnecessary Selenium test automation cases that are bound to fail (due to failure of dependent tests).

View more...

Understanding the key concepts of process integration

Aggregated on: Tue Jun 23 2020 10:30:02 GMT+0000 (Coordinated Universal Time)

Integrating your business processes can be a challenge if you are not up to speed on the key concepts. We'll help by exploring those key concepts and use an open technology for our examples, a project known as jBPM. Since jBPM 5 when the Drools project and jBPM project started working together, a new project group name was defined: Knowledge Is Everything - KIE. Since then, the name KIE spread to git repositories, Maven archetypes, class names, and all the rest of the relevant code that is common to Drools and jBPM.

View more...

Log Tracing in Microservices With Spring Cloud Sleuth

Aggregated on: Tue Jun 23 2020 04:20:02 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at how to perform log tracing in a microservices application with Spring Cloud Sleuth. Let's get started!

View more...

6 Ways Big Data Analytics Change the Insurance Industry

Aggregated on: Tue Jun 23 2020 04:20:02 GMT+0000 (Coordinated Universal Time)

Technology has a big impact on the way the insurance sector does business. Although big data analytics as a service is still fairly new, insurers rely on it heavily. As companies increase the number of policyholders in their databases, the need for meaningful analysis becomes more crucial. Big data analytics applications make this task feasible. Big data services help resolve data issues that insurers face on a daily basis. A big data analytics platform can be challenging for those still getting used to the technology. However, there are many advantages to coming to terms with what big data offerings can do for your business. Learn more about how the insurance industry benefits from data analytics from the time a customer signs an application through their first claim filing.

View more...

The Challenges of Using Microservices in Software Development

Aggregated on: Mon Jun 22 2020 22:40:02 GMT+0000 (Coordinated Universal Time)

Businesses around the world rely on various software and IT products to help them achieve their business needs. In order to facilitate the development of such products, companies use a microservices architecture which simplifies a lot of processes across the board. Not only will this expedite time to market, but it also makes it easy for companies to test their products and provide maintenance as well. Still, companies will encounter many difficulties while working on microservices architecture and we would like to tell you about some of the most common issues you might encounter.  Managing a Complex Infrastructure One of the big advantages of microservices is the ability to deploy small independent units. However, as you start deploying more and more microservices, the entire system becomes more complex and you will need a lot of expertise to handle such complications. Also, even though each service is now smaller, it is not necessarily less complex, it simply shifted to the communication between each individual microservice. Therefore you will need to choose the service boundaries very carefully and have the necessary tools and expertise to handle such complexity. Most importantly, there needs to be good collaboration between everybody involved in the development process, otherwise the microservices will not be set up correctly. 

View more...

Autoscaling an Amazon Elastic Kubernetes Service cluster

Aggregated on: Mon Jun 22 2020 21:30:03 GMT+0000 (Coordinated Universal Time)

In this article we are going to consider the two most common methods for Autoscaling in EKS cluster: Horizontal Pod Autoscaler (HPA) Cluster Autoscaler (CA) The Horizontal Pod Autoscaler or HPA is a Kubernetes component that automatically scales your service based on metrics such as CPU utilization or others, as defined through the Kubernetes metric server. The HPA scales the pods in either a deployment or replica set, and is implemented as a Kubernetes API resource and a controller. The Controller Manager queries the resource utilization against the metrics specified in each horizontal pod autoscaler definition. It obtains the metrics from either the resource metrics API for per pod metrics or the custom metrics API for any other metrics.

View more...

Compress Your Data Within Elasticsearch

Aggregated on: Mon Jun 22 2020 21:30:02 GMT+0000 (Coordinated Universal Time)

Compressing is awesome, making something smaller than the original size sounds like magic but it is possible. We know it from our WinRar, 7Zip or other tools. Even Elasticsearch has a property to compress the data which will be tossed between the nodes and the clients, this could be very useful to reduce network latency when handling huge responses from Elasticsearch. Within this article we will cover the following topics: Enable HTTP/TCP compression Handling compressed responses Elasticsearch 7.7 and below Elasticsearch 7.8 and upwards Future Elasticsearch release 7.9 and 8.0 Most of us are already familiar with Elasticsearch from Elastic when working with application logs, but a-lot of people never heard about. Below is a short summary:

View more...

You Only Need These 7 IntelliJ IDEA Shortcuts to Skyrocket Your Productivity

Aggregated on: Mon Jun 22 2020 20:20:04 GMT+0000 (Coordinated Universal Time)

IntelliJ IDEA, by far, is the most productive and beautiful IDE out there for Java development. It features so many shortcuts and useful utilities that I bet even the creators would have forgotten. These shortcuts can skyrocket your productivity while coding. To be honest, you don't need to learn every shortcut, only a handful of them are used daily, and the following commands are even more common. These select few are enough for the everyday life of a programmer. The list consists of both the Windows and the Mac commands.

View more...

The Significance of Team Structures in Your Projects

Aggregated on: Mon Jun 22 2020 20:20:04 GMT+0000 (Coordinated Universal Time)

All businesses, including large and small, take advantage of both a well-defined organizational structure and a perfect team. For a company to achieve its planned mission and reach its objectives, it needs to create an effectual structure. If a company doesn't have an organizational structure, it can still fail even with strong leadership and hard-working employees.

View more...

Author Spotlight: Gene Kim

Aggregated on: Mon Jun 22 2020 20:20:03 GMT+0000 (Coordinated Universal Time)

In our latest in-depth DZone interview, DZone regular Gene Kim speaks on the DevOps Enterprise Summit community and his most recent book The Unicorn Project. This week Gene Kim embarks on his first-ever virtual conference in the DevOps Enterprise Summit - London (which he previewed on DZone).  How would you set up and tell developers about your latest must-read book The Unicorn Project?I think the Unicorn Project will be of interest to almost every developer just because we all want to be productive and we want to work in a system where it's easy to get done what needs to get done easily, quickly, reliably, and securely.

View more...

A Product Owner's Number One Mistake

Aggregated on: Mon Jun 22 2020 19:20:02 GMT+0000 (Coordinated Universal Time)

I was once responsible for coaching a Product Owner called Jac. It was the product owner for an "enterprise product" - a product sold to big companies to use internally. Sprint to sprint, Jac got to decide what got done. In my book, Product Owner authority went further: what was to be done in future sprints, what kind of things would be done in months to come, and the "roadmap" where the product was going. But... Jac seldom met customers, Jac might talk to them on the phone when they had a problem but Jac didn't talk to the more senior people who signed the purchase orders. Being an enterprise product, there were consultants in the mix too: installing the product on-site, configure the product, train customers, and hold their hands. They went to customer sites and they met all sorts of people. Naturally, the consultants had a view on what the product should do, what should be developed next, and what should be done in the coming months.

View more...

An Open-Source Tool for Accelerating New Drug Discovery

Aggregated on: Mon Jun 22 2020 19:20:02 GMT+0000 (Coordinated Universal Time)

Introduction Drug discovery, as the source of medicine innovation, is an important part of new medicine research and development. Drug discovery is implemented by target selection and confirmation. When fragments or lead compounds are discovered, similar compounds are usually searched in internal or commercial compound libraries in order to discover structure-activity relationship (SAR), compound availability, thus evaluating the potential of the lead compounds to be optimized to candidate compounds. In order to discover available compounds in the fragment space from billion-scale compound libraries, chemical fingerprints are usually retrieved for substructure search and similarity search. However, the traditional solution is time-consuming and error-prone when it comes to billion-scale high-dimensional chemical fingerprints. 

View more...

Best Practices for Effective Incident Management

Aggregated on: Mon Jun 22 2020 18:10:03 GMT+0000 (Coordinated Universal Time)

Incident management is a set of processes used by operations teams to respond to latency or downtime, and return a service to its normal state. Incident management practices have long been well-defined through frameworks such as ITIL, but as software systems become more complex, teams increasingly need to adapt their incident management processes accordingly. Below are five incident management best practices that your team can begin using today to improve the speed, efficiency, and effectiveness of your incident management process.

View more...

Improve Mobile App Performance to Enhance the User Experience

Aggregated on: Mon Jun 22 2020 18:10:03 GMT+0000 (Coordinated Universal Time)

Poor Mobile App Performance: A Horror Story I can vividly remember one of the horrors I faced due to poor mobile app performance, which occurred while traveling across Europe with nothing but two friends, a backpack, and my iPhone in tow. All summer long, I relied on mobile apps for getting from one place to the next. Naturally, they needed to work properly for my trip to go smoothly.

View more...

Mule 4 CI/CD Using GitLab Pipelines and JFrog Artifactory

Aggregated on: Mon Jun 22 2020 18:10:03 GMT+0000 (Coordinated Universal Time)

Introduction to CI/CD Methodologies Continuous integration (CI) and continuous delivery (CD) defines a practice that enables application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline. CI/CD is one of the best practices for DevOps teams to implement. It involves continuously building, testing, and deploying code changes at every small cycle, reducing the chance of developing new code based on bugged or failed previous versions. Mule 4 CI/CD Framework Tool Set For this example we will use the below applications to implement the CI/CD framework for deploying Mule 4 applications into CloudHub:

View more...

Log Into the WSO2 API Store Using Social Media

Aggregated on: Mon Jun 22 2020 18:10:03 GMT+0000 (Coordinated Universal Time)

We can integrate the WSO2 Identity Server with WSO2 API Manager and use our social media credentials to log in to the API Store and API Publisher. This article shows you how to integrate Facebook authentication and log in to the API Store. Create a Facebook application Configure Facebook login with Identity Server Configuring requested claims and roles for user authentication in Facebook Identity Provider Configure service providers to the Publisher and Store with the Facebook Identity Provider Test Facebook authentication Create Facebook Application Go to https://developers.facebook.com/ and log in using your Facebook credentials. Select My Apps in the navigation and create a new app by clicking Create App. Enter the name of your app and your email address. Click Create App ID.

View more...

What Apache Kafka Costs — Pricing Out Open-Source DIY Operations

Aggregated on: Mon Jun 22 2020 18:10:02 GMT+0000 (Coordinated Universal Time)

When I have a small software project that I want to share with the world, I don't write my version control system with a web UI. I don't even try to run similar software on a computer on someone's datacenter. I don't write a document analyzing the pros and cons of each decision. Instead, I just create a repository on GitHub.

View more...

What Is Kubernetes?

Aggregated on: Mon Jun 22 2020 17:00:03 GMT+0000 (Coordinated Universal Time)

Today in this article, we are going to discuss Kubernetes introduction. We will discuss the following topics in this article: 1. What is Kubernetes?

View more...

Fixed Mindset vs Growth Mindset

Aggregated on: Mon Jun 22 2020 17:00:03 GMT+0000 (Coordinated Universal Time)

How do you approach failures in life? Yes, failures can be painful. But does it define you and prevent you from learning from your mistakes or does it serve as a powerful mechanism to embrace new challenges? Our mind plays a very powerful role in what we believe and how we think. What we think about ourselves and our abilities decides how we act and lead our life.

View more...

Sustainable Digital Transformation

Aggregated on: Mon Jun 22 2020 17:00:03 GMT+0000 (Coordinated Universal Time)

Compared to 10 years ago, we have come a long way in terms of technology and software, but the question is, has the customer experience improved as much as our technology has? and if the answer is no, why? Digital transformation for many organizations, especially for banks and financial institutions, means better customer experience through innovation and rapid development of new products and services, with a lower cost of creating that experience, every year.

View more...

How to Introduce a Static Code Analyzer in a Legacy Project While Not Discouraging the Team

Aggregated on: Mon Jun 22 2020 14:40:03 GMT+0000 (Coordinated Universal Time)

It is easy to try a static code analyzer. But it requires skills to introduce it in the development of an old large project. If the approach is incorrect, the analyzer can add work, slow down development, and demotivate the team. Let's briefly discuss how to properly integrate static analysis into the development process and start using it as part of CI/CD. Introduction Recently I got interested in the post "Getting Started With Static Analysis Without Overwhelming the Team". On the one hand, this is a decent article that is worth reading. On the other hand, it seems to me that it didn't provide a complete answer on how to safely adopt static analysis in a project with a large amount of legacy code. The article says that you can put up with technical debt and work only with new code, but there it doesn't cover the question of what to do with this technical debt later.

View more...

WFH: Working Father at Home

Aggregated on: Mon Jun 22 2020 05:30:04 GMT+0000 (Coordinated Universal Time)

Mark, our Client Success Manager, shares a day in the life of a working SiteCrafting dad. Yes, he drives a minivan. He can also make a bowl of mean fried rice and his optimistic outlook inspires us to focus on the positive. Like much of the world as of late, I am working from home […] The post WFH: Working Father at Home appeared first on SiteCrafting.

View more...

Explaining Simple WSO2 Identity Server Kubernetes Deployment

Aggregated on: Mon Jun 22 2020 04:30:03 GMT+0000 (Coordinated Universal Time)

Introduction Kubernetes is a system with several concepts. such as deployment, ingress, service, service account. All those components work together to make a single solution. With this post, I will be going through each of these components by analyzing the problem they are trying to solve. Also, I will be using a Wso2 Identity Server example to provide a hands-on experience. Prerequisites Clone the repository: https://github.com/Buddhimah/identity-kubernetes

View more...

Micronaut Quickstart - Deployment for The Hello-World App by Gradle Tasks

Aggregated on: Mon Jun 22 2020 04:30:03 GMT+0000 (Coordinated Universal Time)

To facilitate deployment across platforms, you can use Gradle tasks and plugins. Gradle supports different plugins to deploy to Kubernetes, OpenShift, GCP, and deploy as AWS Lambda.  In this tutorial, we will consider the Micronaut Framework by using Kotlin language. 

View more...

Diving Into Reactive Microservices

Aggregated on: Mon Jun 22 2020 04:30:03 GMT+0000 (Coordinated Universal Time)

It would be beneficial if you understand the concepts of Reactive Architecture before diving into Reactive Microservices.You can read about Reactive Architecture here:https://dzone.com/articles/leaning-towards-reactive-architecture In this article, we will cover transition from Monoliths to Service Oriented Architecture to Reactive Microservices by applying isolation techniques to the application.

View more...

The Practical Difference Between Abstract Class and Trait in Scala

Aggregated on: Mon Jun 22 2020 04:30:03 GMT+0000 (Coordinated Universal Time)

1. Overview Before getting to know the difference between abstract class and trait lets understand them. Traits are like Java interface but in a trait, we are allowed to implement its members.

View more...

Introduction to Network Architecture in AWS Cloud Deployment

Aggregated on: Sat Jun 20 2020 06:20:03 GMT+0000 (Coordinated Universal Time)

Introduction Networking becomes a very important part of cloud deployment. When it comes to availability, Bandwidth requirements, Security and also when satisfying some nonfunctional requirements we need at least a basic understanding of networking in a cloud environment. Over the last decade. AWS has become the most popular cloud infrastructure platform. Hence I have done some research based on how networking is handled in AWS cloud environments.

View more...

Visual Testing With Appium, Applitools, and Amazon Device Farm

Aggregated on: Sat Jun 20 2020 06:20:03 GMT+0000 (Coordinated Universal Time)

Visual UI testing is more than just testing your app on Desktop browsers and Mobile emulators. In fact, you can do more with Visual UI testing to run your tests over physical mobile devices. Visual UI testing compares the visually-rendered output of an application against itself in older iterations. Users call this type of test version checking. Some users apply visual testing for cross-browser tests. They run the same software version across different target devices/operating systems/browsers/viewports. For either purpose, we need a testing solution that has high accuracy, speed, and works with a range of browsers and devices. For these reasons, we chose Applitools.

View more...

AWS-CodeArtifact vs JFrog-Artifactory

Aggregated on: Sat Jun 20 2020 06:20:03 GMT+0000 (Coordinated Universal Time)

Welcome, AWS-CodeArtifact, to the world of repository managers.Amazon has marked the Managed Service AWS CodeArtifactory as a GA, thereby giving the general public access. But what is this service all about, and how does it compare to JFrog-Artifactory? We'll take a quick look at that here in detail. BirdEye View In summary, one can say that Amazon is immersed in an existing market in which some competitors have a much longer history. You can see that from the variety of functions on the JFog site. There is still significant potential here on the Amazon side. As with all Amazon products, the use of this service is fully tied to the AWS cloud itself. If you look at the price model, Amazon has the billing model that is typical for this platform and is difficult to predict, based on read- and write- cycles. Anyone who can foresee this must know and be able to estimate their development processes down to very delicate actions. 

View more...

Spring Batch - Create Metadata Table on Different Schema of the Same DB

Aggregated on: Sat Jun 20 2020 06:20:02 GMT+0000 (Coordinated Universal Time)

In this example, we'll learn how to create a separate schema for loading Spring Batch metadata tables and actual code. Inspiration from: https://www.linkedin.com/post/edit/6617880493067210752/  DatabaseConfig.java

View more...

Promoted from Dev to Team Lead: 8 Things They Didn’t Tell Me

Aggregated on: Fri Jun 19 2020 20:10:03 GMT+0000 (Coordinated Universal Time)

Getting promoted to dev team lead I was 24 years old. A baby. Three years into my software engineering career and loving it.

View more...

9 Free Best Code Editors for Windows and Mac In 2020

Aggregated on: Fri Jun 19 2020 16:40:04 GMT+0000 (Coordinated Universal Time)

It is always exciting for developers from all over the world whenever they get to showcase their best code editor at computer expos and tech conferences. On that note when we talk about free code editors for Windows and Mac to use in the year 2020, we cannot help but wait in anticipation for brand-new features to use right away. In this write-up, we will talk about the best coding software for multiple platforms. However, we will lay extra emphasis on Windows OS and Mac OS because they are popular operating systems out there right now.

View more...

MEAN Full Stack on Amazon AWS

Aggregated on: Fri Jun 19 2020 16:40:04 GMT+0000 (Coordinated Universal Time)

This is the first and main blog, in this, I will explain the overall idea. Please be informed that this is going to be a blog series exploring all the aspect of running the full stack application on AWS (Amazon Web Services).  The main goal is to share the learning related to AWS but I will also explain a bit about Full stack application which we will implement in MEAN stack (Mongo, Express, Angular and Node).

View more...

DevOps Amidst Corona: Increased CI/CD In Remote Environment

Aggregated on: Fri Jun 19 2020 16:40:03 GMT+0000 (Coordinated Universal Time)

Remote work is the new normal. COVID-19 has caused a never-before crisis since the WHO declared coronavirus a global pandemic. Remote work, social distancing, and self-isolations became part of our lives.

View more...

OAuth 2.0 vs Session Management

Aggregated on: Fri Jun 19 2020 16:40:03 GMT+0000 (Coordinated Universal Time)

There seems to be a lot of misinformation on when OAuth 2.0 (henceforth referred to as OAuth) is appropriate for use. A lot of developers confuse OAuth with web session management and hence end up using the wrong protocol/set of technologies. This, in turn, leads to security issues. This article will clarify when to use regular session management solutions and when to use any one of the OAuth flows. The Most Important Difference Ideally, we would like all authenticated communication to be long lived (to provide the best user experience). The difference between user session management and OAuth is the level of trust between the communicating parties. 

View more...