News Aggregator


5 Best Django Online Courses for Beginners To Learn

Aggregated on: Tue Feb 08 2022 16:19:54 GMT+0000 (Coordinated Universal Time)

Hello Devs, if you want to become a Python web developer and looking for the best online courses to learn Django, Flask, and Python web development, then you have come to the right place. In the past, I have shared the best Python courses and the best Flask courses, and today, I will share the best course to learn everything about Python web development.

View more...

Enterprise Computing and the Public Cloud Dilemma

Aggregated on: Tue Feb 08 2022 15:49:54 GMT+0000 (Coordinated Universal Time)

About Public Clouds There is little doubt that Public Clouds provide increased speed, agility, scalability, and pay-as-you-go, consumption-based pricing. These are attributes that most enterprises are looking for who want to transform their business and adopt new business models with cloud speed. Most enterprises consider digital transformation as the underpinning for innovating and creating differentiated values. Enterprises also realize that modernizing IT infrastructure is a must for digital transformation, and that Public Clouds provide a great opportunity for infrastructure modernization. A large percentage of enterprises have some workload running on a Public Cloud. However, the adoption of Public Clouds for critical workloads in regulated industries such as Financial Services, Insurance, or Telecommunications has not kept pace with the growing use of Public Clouds by small and medium enterprises. There are a number of well-known start-ups that are born on the Cloud; however, there are very few enterprises that have widely adopted Public Clouds for their mission-critical workloads. Barriers to a whole-scale adoption of enterprise computing to Public Clouds are often cited around the need for an enterprise-grade, hardened computing environment that provides continued assurance around security, privacy, compliance with regulations, resiliency, and operational readiness. Public Cloud providers have good physical security in place, with readily available evidence, comparable to customers’ own data centers. Cloud providers are quick to act to emerging security threats for the pieces of the platform for which they are responsible. However, when it comes to application environments, it is typically considered the responsibility of the customer who owns the workload to handle the assurance around security and data protection. Conformance to controls is not always that robust. The focus of cloud providers in the past has been on providing varied low-cost computing platforms with a low barrier to consumption, and not necessarily on hardening the application workload environment for individual customers. Cloud providers have recognized the need for enterprise-grade environments and begun to certify their environments for enterprise-type workloads.

View more...

Creating Selenium Test Cases: A Tutorial

Aggregated on: Tue Feb 08 2022 03:34:54 GMT+0000 (Coordinated Universal Time)

Selenium has established itself as one of the most popular automation testing frameworks within the software engineering community. Comprising a suite of tools - viz. IDE, RC, WebDriver, and Grid - Selenium has quickly established itself as a market leader in the test automation sector.  Selenium capitalized on the inadequacies of previously used frameworks like HP QTP, and Mercury’s Astra QuickTest which compelled users to write scripts in VBScript and were primarily intended for desktop-based tests. Its support of a variety of languages like Java, Python, C#, Perl, Ruby, .net, and PHP, has made it popular with individual testers and companies like Netflix, Google, HubSpot, and Fitbit among others.

View more...

A Guide to the Next JS Framework

Aggregated on: Tue Feb 08 2022 03:34:54 GMT+0000 (Coordinated Universal Time)

Next.js is a framework extensively used by TikTok, Twitch mobile, Nike, IGN, PlayStation, Marvel, and many others. It offers all the functionality we need to deploy our application in production, with a hybrid system with static pages and server-side rendered (SSR) pages. It has support for Typescript and can be deployed without having to configure anything. SSR Benefits (Next.js) Performance Isomorphic: Works on both server and client (browser) Build: Next.js in the build retrieves the necessary data and ejects HTML with React components. Static export: Compile static files to be able to upload to the server 0 config (No need to configure anything to deploy Next, however it has a very extensible config) Api routes Deploy with Vercel Next head: To modify the head part of the page to improve the SEO Typescript support Environment variables are used in the browser code, not just server code. Fast Refresh: New experience of hot reloading in React components Code splitting: loads chunk corresponding to the page path Comparison With Gatsby Gatsby is primarily used for building websites that generate static HTML content and web pages that have a fixed or predictable number of pages and stable content. An example might be an e-commerce site that has only 50 products available for sale.

View more...

How to Install OroCRM on Ubuntu 20.04

Aggregated on: Tue Feb 08 2022 03:34:54 GMT+0000 (Coordinated Universal Time)

OroCRM is a customer relationship management software. It is a simple and low-cost CRM system ideal for small and medium-sized enterprises. OroCRM is an integrated CRM, marketing automation, and live chat platform that helps marketers build genuine relationships with their prospects and customers. It has all the features to create, manage, measure, and optimize customer journeys. OroCRM streamlines the management of large amounts of data to provide accurate insights for better decision-making.

View more...

Documenting Angular Components Using Storybook

Aggregated on: Tue Feb 08 2022 03:04:54 GMT+0000 (Coordinated Universal Time)

As developers, in our daily work, we like to find good documentation of the libraries and technologies we use. It is, therefore, our responsibility to leave our work well documented. Those who come after us to use it and/or continue it will appreciate it. At Apiumhub we are very fond of documenting our projects. There are many tools that allow us to write documentation in Markdown (.md) format, and some others that also allow us to document our UI components. Most of them are written for and focused on React. What happens then if we want to document the components of our Angular project?

View more...

How to Secure a Previously Insecure Cluster in Production

Aggregated on: Tue Feb 08 2022 03:04:54 GMT+0000 (Coordinated Universal Time)

Cockroach Labs does not recommend running an insecure cluster in production. There are only a few additional steps necessary to secure an instance, so why do it? Convenience, you say. It can hurt you down the line but fret not, this article will demonstrate how to fix this. We are going to follow the standard insecure cluster start-up procedure. Once complete, we're going to flip to the documentation for a secure cluster to turn each node on with security enabled. Here's a handy video of the procedure in action: Step by step instructions are below:

View more...

What CTOs Say vs. What Their Developers Hear

Aggregated on: Tue Feb 08 2022 00:49:54 GMT+0000 (Coordinated Universal Time)

Anyone who’s been in a rapidly scaling company with an ever-expanding engineering team knows that communication is never as simple as it seems.  That’s why we were so excited when Shankar Ramaswamy decided to sit down with Dev Interrupted.

View more...

How Monitoring and AIOps Delivers the Ultimate DevOps Platform

Aggregated on: Tue Feb 08 2022 00:04:54 GMT+0000 (Coordinated Universal Time)

When it comes to delivering software through a DevOps model, the primacy of the platform is increasingly evident. DevOps platforms are multi-tenant, self-service oriented, developer-centric, and are an essential component of a multi-cloud strategy. They provide guide rails and standardized tools and technologies for developers to build, test, and iterate with ease. A core component that must not be neglected when operating a DevOps model, however, is resilience.   DevOps breaks down monolithic products into smaller value streams that can be delivered as independent cloud-based services. Once teams are set up to deliver under this model, it will be formalized through service level agreements (SLAs). To deliver against these, robust monitoring and alerting practices must be put in place. As with any DevOps practice, automation is the ultimate goal — and when it comes to monitoring and alerting, an AIOps platform is the gold standard. 

View more...

SAFe’s NPS Score as a Scaling Framework Is -56

Aggregated on: Mon Feb 07 2022 23:04:54 GMT+0000 (Coordinated Universal Time)

SAFe® has always been a controversial topic within the agile community. Therefore, back in 2017, I ran a first survey on the Net Promoter Score® of the Scaled Agile Framework SAFe®. The result back then was -52.  Four and a half years later, I reran the poll: SAFe® has been through several iterations, and many more agile practitioners have experienced working with it. However, the question still is: Would you recommend SAFe ®?

View more...

Builder Design Pattern in Java

Aggregated on: Mon Feb 07 2022 23:04:54 GMT+0000 (Coordinated Universal Time)

In the video tutorial below, we take a closer look at the builder design pattern in Java. The tutorial includes an introduction, real-time examples, and implementation. Let's get started!

View more...

SharePoint Integration With MuleSoft

Aggregated on: Mon Feb 07 2022 22:34:54 GMT+0000 (Coordinated Universal Time)

What Is SharePoint? Microsoft SharePoint is used to create websites and it's a secure place to store, organize, share, and access information from any device. Anypoint SharePoint Connector SharePoint connector supports both SharePoint 2013 and SharePoint Online for use in the cloud and on-premises. This connector enables you to manage content and document management within your organization. This connector supports a number of operations and you can find more details on this page. 

View more...

Spring vs. Jakarta EE: Defining Injectable Beans

Aggregated on: Mon Feb 07 2022 22:34:54 GMT+0000 (Coordinated Universal Time)

Dependency Injection is one of the core features in the heart of modern application development frameworks. In a nutshell, the process of dependency injection is composed of the definition of injectable beans  the injection of beans (dependencies) into those places where they are required This blog post compares the mechanisms available in the Spring Framework and Jakarta EE for the first part of this process, which can be further broken down into the following aspects:

View more...

Redux Toolkit With Typescript: How to Get Started

Aggregated on: Mon Feb 07 2022 22:34:54 GMT+0000 (Coordinated Universal Time)

If you're a React developer, chances are you already know how complicated it can get when working with global/shared states. Nonetheless, nowadays, there are two main ways to use this concept:  Redux Context API. It is essential to highlight that a learning curve is necessary to use both of these approaches in the best way possible. This view is based on the fact that its high complexity and verbosity come into focus whenever Redux is mentioned. This is even more pronounced when it comes to using Redux with Typescript.

View more...

Fantastic Symbols and Where to Find Them (Part 2)

Aggregated on: Mon Feb 07 2022 22:04:54 GMT+0000 (Coordinated Universal Time)

In the first blog post, we learned about the fantastic symbols (debug symbols), how the symbolization process works, and lastly, how to find the symbolic names of addresses in a compiled binary. The actual location of the symbolic information depends on the programming language implementation the program is written in. We can categorize the programming language implementations into three groups: compiled languages (with or without a runtime), interpreted languages, and JIT-compiled languages.

View more...

Java Template Method Pattern in 3 Minutes [Video]

Aggregated on: Mon Feb 07 2022 22:04:54 GMT+0000 (Coordinated Universal Time)

The template method pattern is a behavioral design pattern in GoF's design pattern. In my opinion, it is fundamental and worth knowing and learning. It opens up our eyes to many of the usual ways of object-oriented design.  In this pattern, the father class (the abstract superclass) defines the skeleton/algorithm of an operation in terms of a number of high-level steps. The detailed steps are to be implemented by the sons (the subclasses).

View more...

How to Help Employees Embrace Your New Tech Stack

Aggregated on: Mon Feb 07 2022 21:34:54 GMT+0000 (Coordinated Universal Time)

Congratulations! After reading tons of business process management books, you have decided to invest in the best productivity software for your business. Now you can implement the new platform and watch your team’s output soar as you ride off into the sunset, right?  Sadly, no. 

View more...

MuleSoft: Connect PostgreSQL Database and Call PostgreSQL Function

Aggregated on: Mon Feb 07 2022 19:49:54 GMT+0000 (Coordinated Universal Time)

What Is PostgreSQL? PostgreSQL is an open source object-relational database system that uses and extends the SQL language to store and scale complicated data workloads. A prerequisite to start with this walkthrough is to have a database connector added in Anypoint Studio. You can add these connectors from the Add modules option. Also, you need to have an ElephantSQL account, as we are going to use the PostgreSQL database hosted on the ElephantSQL platform. You can use any other PostgreSQL service provider platform or self-managed PostgreSQL server.

View more...

Anypoint Platform Control Plane

Aggregated on: Mon Feb 07 2022 17:49:54 GMT+0000 (Coordinated Universal Time)

What Is the Anypoint Platform? The Anypoint Platform is an iPaaS (Platform as a Service) Solution from Mulesoft where you can create, manage, discover, secure and deploy your API and connect your application to form a structured application network.  It is further classified into two different sections:

View more...

Kubernetes Fundamentals - Part 2

Aggregated on: Mon Feb 07 2022 17:19:54 GMT+0000 (Coordinated Universal Time)

Kubernetes is everywhere now, but it’s primarily been the domain of people working on the Ops side of infrastructure. What about devs, though? You benefit from knowing what Kubernetes is and how to use it, too – otherwise, we’re still putting teams in silos.  In this blog, we’re going to build off part one by learning about managed Kubernetes services: what they are, when they’re useful, and how you can try deploying to one yourself, starting with Google’s Kubernetes Engine (GKE).

View more...

Python and Automation: A Perfect Combo

Aggregated on: Mon Feb 07 2022 17:04:54 GMT+0000 (Coordinated Universal Time)

Python is one of the most popular languages among data scientists, researchers, and academics. It systematically tops the ladder on TIOBE, Stack Overflow, and GitHub, being the rockstar among other coding languages. It has a rich library of tools that can be applied to solve various problems in the field of automation. Indeed, Python compares favorably in its ability to automate virtually any process.  Python also has a lot of built-in libraries. Since many services provide their data via APIs, you will have the ability to write scripts to solve tasks without deep programming knowledge.

View more...

Simplifying CockroachDB Kerberos Architecture With a Load Balancer

Aggregated on: Mon Feb 07 2022 17:04:54 GMT+0000 (Coordinated Universal Time)

Today, I'm going to try to simplify our architecture or at least management of Kerberos artifacts as they relate to CockroachDB by introducing a load balancer. Given the presence of LB, we can obfuscate the CockroachDB cluster architecture from Kerberos and ease the management of Kerberos keytabs as well as service principal names. Articles Covering CockroachDB and Kerberos I find the topic of Kerberos very interesting and my colleagues commonly refer to me for help with this complex topic. I am by no means an expert at Kerberos, I am however familiar enough with it to be dangerous. That said, I've written multiple articles on the topic which you may find below:

View more...

The Principle Behind the Practice

Aggregated on: Mon Feb 07 2022 17:04:54 GMT+0000 (Coordinated Universal Time)

There are principles and there are practices. A principle is a universal truth that is applicable everywhere. A practice is a specific implementation of a principle and can vary based on the situation. Understanding the difference between the two is an important step in becoming wise. When you understand the principle behind the practice, you understand why we do the things we do. You understand the rules and also when to break the rules. Understanding the principle behind the practice helps you to be more flexible and apply good judgment in your day-to-day decisions.

View more...

The Open-Source Library to Improve Java Ability to Process Structured Data

Aggregated on: Mon Feb 07 2022 16:34:54 GMT+0000 (Coordinated Universal Time)

The general trend of contemporary Java application frameworks is towards the separation of data storage from data processing, aiming to be more maintainable, scalable, and migratable. One typical example is the currently hot microservices. The new framework requires that business logic, rather than performed in the database as the conventional framework designs, should be implemented within the Java program.   On most occasions, the business logic in an application involves structured data processing. Databases (based on SQL) give a lot of support for the processing, enabling to implement business logic in a relatively simple way. Such support, however, has always been absent in Java, making it complicated and inefficient to implement the business logic with the language. As a result, development efficiency becomes sharply lower while the advantages of the framework are clear.  

View more...

How To Build Web Service Using Spring Boot 2.x

Aggregated on: Mon Feb 07 2022 16:04:54 GMT+0000 (Coordinated Universal Time)

Architecture Contains MVC Architecture JWT Based Authentication Spring Data (JPA) Application User Password Encryption DB password Encryption. SQL Server Slf4j 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 the latest version. 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 the 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 the application will be declared in the controller layer. Example Java   createUser(HttpServletRequest httpServletRequest, @Valid @RequestBody UserCreateModel user) { logger.debug("<--- Service to save new user request : received --->"); ApiSuccessResponse apiResponse = userService.createUser(user, generalServices.getApiRequestedUserId(httpServletRequest)); logger.debug("<--- Service to save new user response : given --->"); return ResponseEntity.status(HttpStatus.CREATED).body(apiResponse); } } " data-lang="text/x-java"> @RequestMapping("/api/v1/user") @RestController @Validated public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @Autowired private GeneralServices generalServices; @Autowired private UserService userService; /** * Web service to create new user * * @param httpServletRequest * @param user * @return */ @PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Object> createUser(HttpServletRequest httpServletRequest, @Valid @RequestBody UserCreateModel user) { logger.debug("<--- Service to save new user request : received --->"); ApiSuccessResponse apiResponse = userService.createUser(user, generalServices.getApiRequestedUserId(httpServletRequest)); logger.debug("<--- Service to save new user response : given --->"); return ResponseEntity.status(HttpStatus.CREATED).body(apiResponse); } } @RequestMapping("/api/v1/user") annotation is used to mention the category of web service. @RestController annotation will configure the class to receive the rest-full web service call. @PostMapping() annotation will decide the HTTP request type. consumes & consumes tags will decide the content type of the HTTP request and response. From this "controller layer," API requests will be taken to the service layer. All business logic will be handled here, then it will talk with the database using JPA.

View more...

A Robust Distributed Payment Network With Enchanted Audit Functionality - Part 1: Concepts

Aggregated on: Mon Feb 07 2022 15:34:54 GMT+0000 (Coordinated Universal Time)

We would like to build a simple distributed robust Qiwi-like payment network system with enchanted audit and monitoring functionality. Specifically, we would like to allow an external agency to trace money transfers between "related" accounts and users. Also, the agency should be able to restore the whole transaction history of every account. The post is organized as follows. First, I elaborate on the functional requirements for our system. Next, I briefly discuss the Domain-Driven Design methodology. Then I define and discuss the CQRS and Event Sourcing concepts. Finally, I discuss how graph databases can efficiently detect cycles in directed graphs. 

View more...

The Differences Between a Service Catalog, Internal Developer Platform, and PaaS

Aggregated on: Mon Feb 07 2022 15:04:54 GMT+0000 (Coordinated Universal Time)

There comes a time with many companies that build software to hit a handful of problems. One is keeping track of all the services and infrastructure they might need to deliver what they build. Another is when the need for environments to test code changes outstrips the capacity of operations teams to handle, and they look for ways to attempt to automate this but still have a modicum of control. Often teams in this position start thinking about or using Kubernetes or consider using infrastructure as code and look for a solution to solve internal deployment and discovery problems. Primarily large or fast-growing companies start looking for solutions and are faced with the question of building their own vs. buying. Even if you do extensive research, it's not easy to distinguish similar-sounding solutions. These include a platform as a service, a service catalog, or an internal developer platform, and they can, on the surface, sound similar. This post looks at some of these options to highlight the similarities, differences, and when or why you might want to use one.

View more...

Web3 and Decentralization: What it Means for Data Storage

Aggregated on: Mon Feb 07 2022 14:34:54 GMT+0000 (Coordinated Universal Time)

The recent explosion of web3 content, discussion, and debating seems to have happened overnight. Or, maybe we just recently started using the term to describe what we’ve been moving towards since the Internet was first conceptualized. Either way, there are already tons of great articles out there on web3 and blockchain technology. Instead, I wanted to dig a bit deeper into how web3 and decentralization are transforming my world: data storage. In case you need a refresher, web3 is basically the decentralized web - a group of technologies that are decentralized and used to create decentralized applications. Nader Dabit suggests that some of the characteristics enabled by web3 are decentralized web infrastructure ownership, native digital payments, self-sovereign identity, distributed infrastructure, and open backends. The pathway towards web3 is focused on becoming more independent. So, unlike web2 (which we’re in now), web3 means instead of a single company centralizing control, individual contributors own and control the underlying technology stack. In other words, web3 uses blockchains and distributed peer-to-peer networks instead of server-client relationships.

View more...

The Gilded Rose Kata in Rust

Aggregated on: Mon Feb 07 2022 13:49:54 GMT+0000 (Coordinated Universal Time)

The Gilded Rose Kata is a refactoring exercise. The full description is available on GitHub. I became aware of the kata quite late, namely at the SnowCamp conference in 2016. Johan Martinsson and Rémi Sanlaville did a live-code refactoring based on the Gilded Rose. Nowadays, I think that the kata is much more widespread. It's available in plenty of languages, even some that are not considered mainstream, e.g., XSLT or ABAP. In this post, I'd like to do it in Rust. My idea is to focus less on general refactoring principles and more on Rust specifics.

View more...

Applying DevOps to API Development for APIOps

Aggregated on: Mon Feb 07 2022 12:49:54 GMT+0000 (Coordinated Universal Time)

While working on establishing short- and long-term goals with a client, my focus was establishing horizon two and three objectives in the McKinsey Three Horizons Model.  For those who are not aware of this framework, horizons two and three focus on new and next-generation features and functionality. At the top of my priorities’ list for this project was the adoption of an API gateway.

View more...

ASP.NET Web Forms Modernization Series, Part 01: Data Access Layer Considerations

Aggregated on: Mon Feb 07 2022 08:49:54 GMT+0000 (Coordinated Universal Time)

This is part 1 in a series of blog posts dedicated to ASP.NET Web Forms modernization. The series expands on the topics discussed in the  Migration Guide: ASP.NET Web Forms to Modern ASP.NET  – a compilation of technical considerations for modernizing legacy .NET web applications, gathered from our experience doing many .NET modernization projects. Here is a list of all articles in the ASP.NET Web Forms modernization series:

View more...

Becoming a Mulesoft Delivery Champion

Aggregated on: Mon Feb 07 2022 08:04:54 GMT+0000 (Coordinated Universal Time)

Mulesoft has recently launched the Mulesoft Delivery Champion program to recognize Mulesoft architects with the ability to implement the Mulesoft Anypoint Platform at an enterprise scale. The completion of this program demonstrates the ability of a 360-degree Mulesoft architect who understands Best Practices, Mulesoft Catalyst IP, and Mulesoft Accelerators, along with Mulesoft Product Knowledge. This also measures an individual's skill in designing and presenting the detailed platform architecture based on business and Non-Functional Requirements. Since the Delivery Champion program is designed completely in a different way than any other Mulesoft Certification program (or for that matter, most of the Industry certification programs) so I thought sharing my journey to becoming a Delivery Champion might become some help for other Mulesoft architects aspiring for this Delivery Champion Program. 

View more...

Connect External OpenSearch Dashboard to AWS OpenSearch Domain With Helm

Aggregated on: Mon Feb 07 2022 02:34:53 GMT+0000 (Coordinated Universal Time)

Last year, AWS announced the renaming of Amazon Elasticsearch Service to Amazon OpenSearch Service, with OpenSearch being the successor to the distributed search and analytics cluster service. Why Did Amazon Change From Elasticsearch to OpenSearch? On January 21, 2021, Elastic NV announced that they would change their software licensing strategy and not release new versions of Elasticsearch and Kibana under the permissive ALv2 license. Instead, Elastic is releasing Elasticsearch and Kibana under the Elastic license, with source code available under the Elastic License or Server Side Public License (SSPL). These licenses are not open source. Because of this, Amazon decided to create and maintain a fork from the last ALv2 version of Elasticsearch and Kibana. The fork is called OpenSearch and is available under ALv2.

View more...

Memento Design Pattern in Java

Aggregated on: Sun Feb 06 2022 22:04:53 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at Memento Design Pattern in Java.  This tutorial includes an introduction, real-time example, and implementation. Let's get started!

View more...

Kubernetes kOps for Cluster Management

Aggregated on: Sun Feb 06 2022 19:04:53 GMT+0000 (Coordinated Universal Time)

Creating, deploying, and managing highly available Kubernetes clusters for production environments can be complex and time-consuming. Things get even more complicated when you consider infrastructure tasks like provisioning AWS resources. Kubernetes kOps helps teams solve this problem by providing a simple and scalable method for configuring and maintaining production-grade clusters and the associated cloud infrastructure. To help you get started with kOps, we’ll describe kOps and its key features, compare kOps with popular alternatives, and walk through an example of how to use kOps on AWS so you can get hands-on with this helpful Kubernetes tool.

View more...

Monorepo vs. Bill of Materials: Shaping Projects

Aggregated on: Sun Feb 06 2022 18:04:53 GMT+0000 (Coordinated Universal Time)

During most of my development career, the usual code organization pattern was monolithic repository or Monorepo. There is a single large version control repository, to which all developers on the project push their commits, sometimes breaking it. Every once in a while, this goliath is released as a set of artifacts. Before this may happen, all development activity ceases as we need to stabilize the code base and make sure every component is ready to be released. At Chronicle Software, our development efforts are structured around the Maven Bill of Materials (BOM) paradigm. At first, I met this technology with skepticism. Thirty-five git repositories instead of just one? Having to update dependency versions in a separate BOM repository just to test cross-module changes? There was suspicion that it would only create busywork. A bit later, I have changed my mind significantly.

View more...

An Engineering Team Journey From Component Tracks to Outcome Squads

Aggregated on: Sun Feb 06 2022 18:04:53 GMT+0000 (Coordinated Universal Time)

For any team, how the overall work is distributed into smaller tasks and how the team is constructed to tackle these tasks play an important role in determining the output, outcome, and efficiency of the unit, which in turn impacts the organizational goals and visions directly. Sometimes what may seem like an obvious strategy in terms of coalescing people with a similar skill/mindset has its own drawbacks in terms of resistance in building holistic units with complementing forces driven towards building a culture of risk-taking and innovation. If we treat teams as organisms, what you would want is an optimal balance across all its constituents organs ensuring a healthy being that is constantly progressing with self-sustained evolution and growth. Over the last couple of years, we at Symphony Talent had our own journey and learnings in building a balance within our engineering unit with a few macro and micro experiments wrt team topologies and squad structures. Felt it would be worthwhile to share our experiences over this period and the path it took to reach a model which improves our efficiency. To be honest, this is a constantly evolving process and the effectiveness of such a model is measured in terms of how quickly it can adapt to changing demands due to other factors at play.

View more...

Use HarperDB Custom Functions With React

Aggregated on: Sun Feb 06 2022 17:34:53 GMT+0000 (Coordinated Universal Time)

Last week, I got a chance to explore HarperDB – a fast, modern database that allows you to develop full-stack apps. With that in mind, I’ve developed a ToDo React app with HarperDB custom functions. HarperDB is a distributed database focused on making data management easy.

View more...

Goodbye Azure Portal, Welcome Azure CLI

Aggregated on: Sun Feb 06 2022 16:49:53 GMT+0000 (Coordinated Universal Time)

In this article about Azure CLI, we will talk about: Managing Azure resources Azure CLI syntax Deep dive in Azure CLI Where to use Azure CLI Azure CLI Interactive Mode Azure CLI can be installed by following the instructions on this page.

View more...

How to Rename an AWS S3 Bucket in Terraform

Aggregated on: Sun Feb 06 2022 16:49:53 GMT+0000 (Coordinated Universal Time)

Occasionally you might want to rename an AWS S3 bucket you are managing with Terraform. However, names of S3 buckets are immutable, which means you can’t change them directly. If you tried, Terraform would destroy the old one and then create a new one, resulting in data loss. To avoid this, you need to create a new bucket with the desired name, move the data over to it, make the relevant Terraform state replacements, and finally delete the old bucket.

View more...

How to Stream Docker Containers to Your Browser

Aggregated on: Sun Feb 06 2022 16:19:53 GMT+0000 (Coordinated Universal Time)

Docker is a widely adopted platform to package, share, and spin up applications effortlessly, in a reproducible manner, abstracting away from the underlying OS, and with an excellent degree of isolation of the resulting ephemeral containers. It’s so popular that it shouldn’t really need an introduction! Docker containers are extremely versatile and one of their least-known (but definitely not least cool!) usages that have come to light over the last few years comes down to streaming GUI applications — or even whole operative systems — over the browser.

View more...

CockroachDB With Kerberos and Custom Service Principal Name (SPN)

Aggregated on: Sun Feb 06 2022 13:49:53 GMT+0000 (Coordinated Universal Time)

Articles Covering CockroachDB and Kerberos I find the topic of Kerberos very interesting and my colleagues commonly refer to me for help with this complex topic. I am by no means an expert at Kerberos, I am however familiar enough with it to be dangerous. That said, I've written multiple articles on the topic which you may find below: CockroachDB With MIT Kerberos CockroachDB With Active Directory CockroachDB With MIT Kerberos and Docker Compose Executing CockroachDB table import via GSSAPI CockroachDB With SQLAlchemy and MIT Kerberos CockroachDB With MIT Kerberos Cert User Authentication CockroachDB with Django and MIT Kerberos In our GSSAPI docs, we recommend creating a Service Principal Name (SPN) with a name postgres. This is not a hard requirement and just happens to be a convention. This usually trips people up and causes confusion. Today, I'm going to provide a short overview of how to override the postgres in the SPN with a custom name. 

View more...

CSS Transitions Generator

Aggregated on: Sun Feb 06 2022 13:19:53 GMT+0000 (Coordinated Universal Time)

CSS transitions give us the ability to smoothly transition from one set of styles to another. Without them, your hover, click and transform effects can look janky and sudden.  To illustrate a CSS transition, below are two emojis. Click on them to see the difference:

View more...

Dealing With Multiple Git Repositories

Aggregated on: Sun Feb 06 2022 12:34:53 GMT+0000 (Coordinated Universal Time)

Let’s talk about git repositories! I don’t want to get into the mono versus multi-repository discussion. Some advocate for mono-repositories and others are against them. But no matter which side you’re on, chances are you contribute to repositories parts of different organizations: personal projects, professionals, or various open-source ones. In this case, it is for sure not possible to use a mono-repository approach.

View more...

Introduction to Couchbase for Oracle Developers and Experts: Part 6: Indexing

Aggregated on: Sun Feb 06 2022 12:34:53 GMT+0000 (Coordinated Universal Time)

Here are the previous articles comparing architecture, database objects, data types, data modeling, and statements and features of Oracle with Couchbase. This post will focus on indexing.   "Use the Index, Luke!"  -- Source  Overview Oracle Couchbase Index Documentation Index Documentation Types of Indexes: 

View more...

Optimizing Content Migrations With Edge Compute

Aggregated on: Sun Feb 06 2022 12:04:53 GMT+0000 (Coordinated Universal Time)

The more I learn about edge computing, the more I look for compelling use cases that developers can relate to. Today, I have one: edge redirects. Background Imagine you manage a website with a lot of content. I’m talking, like hundreds of thousands of articles. One day, you decide it’s time to change the domain name.

View more...

Refactoring Infrastructure as Code

Aggregated on: Sun Feb 06 2022 11:04:53 GMT+0000 (Coordinated Universal Time)

The central principle of cloud engineering is adopting software engineering practices. Refactoring is a technique for making changes to code that improve maintainability, enhance performance, scalability, and security without changing its external behavior. In DevOps, refactoring often occurs with modern applications; however, we can apply those same techniques to cloud infrastructure with infrastructure as code. Refactoring results in many advantages. First and foremost, the code is more readable and easier to understand for other team members –this aids in maintainability and well-organized code, providing a solid foundation for future releases. Overall, if done well, refactoring reduces complexity which makes future changes more efficient.

View more...

Angular Standalone Components and Their Impact on Modularity

Aggregated on: Sun Feb 06 2022 10:04:53 GMT+0000 (Coordinated Universal Time)

Standalone Components will make NgModules optional. This will not affect the modularity of applications in any way, because one should use libraries for modules and not the NgModule. One of the upcoming features in the Angular framework will be "Standalone Components" (SC) or "Optional NgModules". It will remove the necessity for NgModules. There are many blog posts, articles, etc. about SC. This article answers a question that isn’t discussed that often: How will SC affect modularity in an Angular application?

View more...

AI: The Future of HealthTech

Aggregated on: Sat Feb 05 2022 20:34:53 GMT+0000 (Coordinated Universal Time)

Being bolstered by AI, both automation and hyper-automation have remained leading IT trends for several years in a row while amplifying numerous industries. However, there is one area tech scions never took seriously before the pandemic: the potential of AI in HealthTech.  In 2022, HealthTech has made it into common flagship services and a fast lane across global tech companies. With that said, let's see how AI can be used in healthcare software, its current stand on the market, and related technologies you might want to look into further. I’ll also go over one of the technicalities of intelligent drug discovery and gene-sequencing, based on real cases from some of my clients.

View more...

Strengthen Your Team Relationships and Take Your Team to the Next Level

Aggregated on: Sat Feb 05 2022 19:34:53 GMT+0000 (Coordinated Universal Time)

Introduction In our day-to-day, and mainly, in the positions of full remote work, the dedicated time to achieve our tasks and objectives is covered with squalls of meetings (clients, troubleshooting, at a company or team level, dependencies with other people, etc.), and we forget some important factors such as: Communication and relationship: Of every monthly and weekly meeting; What percentage do I dedicate to strengthening my relationship with the team to get to know them better and know how they are doing, what motivates them, what concerns them, their hobbies, etc?  Target: What is the purpose of the meeting? Personal to connect and build relationships with my colleagues or for work purposes? I have a 30-minute meeting to agree on estimates and 15 minutes have been for off-topic discussions. Time value: Is the meeting necessary or can the goal of collaborating asynchronously be met? I attended the meeting but, did I have something to contribute or did I learn something that will help me in the future? In this article, we will focus on the communication side, in which, besides strengthening, we will get feedback that will allow us to improve personally and as a team to also offer a better service and a better quality.

View more...