News Aggregator


Using SingleStore DB, Spark and Alternating Least Squares (ALS) To Build a Movie Recommender System

Aggregated on: Thu Mar 24 2022 19:05:21 GMT+0000 (Coordinated Universal Time)

Abstract Recommender Systems are widely used today for many different applications. Examples include making product recommendations in e-commerce, restaurants, movies, music playlists, and more. This article will show how to build a recommender system for movies using Alternating Least Squares (ALS). We'll perform some initial data analysis using Spark and then use its built-in support for ALS to generate vectors. We'll then store these vectors in SingleStore DB. Using SingleStore DB's built-in DOT_PRODUCT and UNHEX functions, we'll make movie recommendations by directly executing code in the database system.

View more...

JDBC Introduction and Architecture

Aggregated on: Thu Mar 24 2022 16:50:21 GMT+0000 (Coordinated Universal Time)

How does the JDBC Application work? What is JDBC Connection URL? Find out in this introductory video tutorial about JDBC and its architecture.  Let's get started!

View more...

Portfolio Architecture Examples: Healthcare Collection

Aggregated on: Thu Mar 24 2022 16:05:21 GMT+0000 (Coordinated Universal Time)

For a few years now we've been working on a project we have named Portfolio Architectures. These are based on selecting a specific use case we are seeing used in the real world by customers and then finding implementations of that case using three or more products from the Red Hat portfolio. This basic premise is used as the foundation, but many aspects of open source are included in both the process and the final product we have defined. There is a community, where we share the initial project kickoff with a group of architects and use their initial feedback from the start. We also present the architecture product we've created right at the end before we publish to ensure usability by architects in the field. The final published product includes some internal-only content around the customer projects researched, but most of the content is open and freely available through various open-source channels.

View more...

Get Started With Reactive Programming With Kotlin on Quarkus

Aggregated on: Thu Mar 24 2022 16:05:21 GMT+0000 (Coordinated Universal Time)

Moving to the cloud with event-driven architecture raises big concerns for enterprises using multiple programming languages such as Java, C#, JavaScript, Scala, and Groovy to implement business requirements. Because enterprises need to redesign multiple architectures for container deployment separately and put more effort into optimizing production on the cloud, developers often must learn a new programming language in line with the production environment. For example, Java developers have to switch their skill sets to Node.Js to develop lightweight event-front applications. Kotlin addresses these issues and targets various developers who deploy business applications with multiple programming languages on top of Java Virtual Machine (JVM). Kotlin handles these issues with both imperative and reactive approaches. However, there's still a hustle to catch up on Kotlin's new syntax and APIs, especially for Java developers. Luckily, the Quarkus Kotlin extension makes it easier for developers to implement Kotlin applications.

View more...

Java Auto-Synthesis

Aggregated on: Thu Mar 24 2022 14:50:21 GMT+0000 (Coordinated Universal Time)

Java   { T obj; Base(T obj) { this.obj = obj; } T getob() { return obj; } } class Sub extends Base { Sub(String str) { super(str); } String getob() { return obj; } }" data-lang="text/x-java"> class Base<T> { T obj; Base(T obj) { this.obj = obj; } T getob() { return obj; } } class Sub extends Base<String> { Sub(String str) { super(str); } String getob() { return obj; } } How many methods of the sub-class in the above code snippet will we have after compilation, and why? Let’s make it a little bit simpler: How many methods will the sub-class will have, excluding the methods inherited from java.lang.Object?

View more...

PyTorch Geometric vs. Deep Graph Library

Aggregated on: Thu Mar 24 2022 02:35:21 GMT+0000 (Coordinated Universal Time)

A Comparison Between Graph Neural Networks: DGL vs. PyTorch Geometric What is deep learning on graphs? In general, a graph is a system of nodes connected by edges. The nodes typically have some sort of internal state that can be modified by the relationships to other nodes defined by the edges connecting them to other nodes, and these connections and node states can be defined in a wide variety of ways.

View more...

4 Challenges of Using Anonymous User Data for UEBA

Aggregated on: Thu Mar 24 2022 02:05:21 GMT+0000 (Coordinated Universal Time)

User and entity behavior analytics (UEBA) tools support a cybersecurity strategy by looking for anomalies. These tools establish a baseline usage for users, devices, and networks, then flag cybersecurity teams about significant deviations from those norms. People are highly interested in how user behavior analytics could cut cyberattack risks. One market analysis showed that the UEBA sector was worth $1.2 billion in 2022. However, researchers believe it will get to $4.2 billion by 2026. However, the push towards anonymizing user data for the sake of privacy could hinder that growth. User and entity behavior analytics work best when decision-makers at the companies using the technology can narrow down potential problems. Anonymous UEBA data would limit the trends it's possible to pinpoint. Here's a closer look at why anonymized information is not a good fit for UEBA platforms.

View more...

Java Development in 2022: Predictions and Selected Trends

Aggregated on: Thu Mar 24 2022 01:35:21 GMT+0000 (Coordinated Universal Time)

Last year was interesting — a new LTS release, some amazing successes, but also a global vulnerability was discovered.  In this article, we will try to guess and predict how the industry will face the new challenges, and what innovations and developments will affect it the most. General Trends 1. Migration From Java 8 A lot of apps still work on Java 8 — and it is easy to see why. It is still supported by many vendors, and there are many steps you need to take to migrate from 8 to 9 and higher because of radical changes introduced in Java 9. But we think that 2022 could be the year many people will finally decide to move to the latest LTS version for several reasons.

View more...

How to Put a Database in Kubernetes

Aggregated on: Thu Mar 24 2022 01:35:21 GMT+0000 (Coordinated Universal Time)

The idea of running a stateful workload in Kubernetes (K8s) can be intimidating, especially if you haven’t done it before. How do you deploy a database? Where is the actual storage? How is the storage mapped to the database or the application using it? At KubeCon North America 2021, I gave a talk on “How to put a database in Kubernetes” where I demystified the deployment of databases and stateful workloads in K8s. Basically, it boils down to a few key steps:

View more...

Clean Cases and the Curse of the Minoans

Aggregated on: Thu Mar 24 2022 00:05:21 GMT+0000 (Coordinated Universal Time)

Introduction We are what we write. From writing requirements and use-cases, user stories, test-cases, and code. We could be digging for known problems or for exploring and learning. At the end of the day, case writing is a special form of storytelling. 

View more...

Java UUID Generation: Performance Impact

Aggregated on: Thu Mar 24 2022 00:05:21 GMT+0000 (Coordinated Universal Time)

Java developers tend to use the ‘java.util.UUID#randomUUID()’ API to generate a UUID (Universally Unique Identifier) number (i.e., ‘b8bbcbed-ca07-490c-8711-5118ee0af2f9’). Under certain circumstances, using this API can affect your application’s availability. Let’s discuss this API in this post with a real-world example. How Does the ‘java.util.UUID#randomUUID()’ API Work? java.util.UUID#randomUUID() API internally uses ‘entropy‘ in the operating system to generate a unique number. What does ‘entropy’ mean? The Linux kernel uses certain techniques like a user’s mouse movements, variance in the hardware fan noise, variance in the noise of the device drivers, etc. to generate random numbers. When there is a lack of ‘entropy’ in the operating system, then random number generation will slow down. When there is a slowdown, application threads that are calling this ‘java.util.UUID#randomUUID()’ API call will be put in a BLOCKED state, and they wouldn’t be able to progress further.

View more...

Data Breach: A 5-Step Response Plan

Aggregated on: Thu Mar 24 2022 00:05:21 GMT+0000 (Coordinated Universal Time)

Introduction A data breach is one of the worst scenarios in today’s enterprise security, and for good reason. It entails reputational problems, disruption of business processes, and penalties for noncompliance with increasingly rigid data protection laws. Unfortunately, these incidents are steadily gearing up for a rise. Even ransomware attacks can now be considered data breaches, as most extortionist gangs extract confidential information out of corporate networks as part of their raids. There are different catalysts for this security nightmare. In most cases, cybercriminals retrieve proprietary data from a remotely compromised corporate server. The threat may also stem from an insider who abuses their access privileges and gets hold of valuable files behind your back. Sometimes sensitive data is unintentionally leaked via a company’s misconfigured application or component. Scenarios vary, but they all have one thing in common – the upshot can be devastating.

View more...

Fill Out the 2022 Jakarta EE Developer Survey!

Aggregated on: Thu Mar 24 2022 00:05:21 GMT+0000 (Coordinated Universal Time)

The 2022 Jakarta EE Developer Survey, sponsored by the Jakarta EE Working Group, is now open. The survey will be open until May 6th. If you use or depend on Java/Jakarta EE (and that's most of us), it is very important that you fill out the survey before it closes. This is the fifth year of this survey. The purpose of the survey is to understand what real-world Java developers need and how Jakarta EE should evolve to meet those needs. The survey is one of the Java industry’s most significant. You can take a look at last year's results here.

View more...

How to Wrap Text in HTML Canvas

Aggregated on: Wed Mar 23 2022 23:20:21 GMT+0000 (Coordinated Universal Time)

Although adding text to HTML canvas is very common, there is no built in line break functionality. That means if our text is too long, the text will run off the end. Take the example below, where the text is supposed to be "Hello, this text line is very long. It will overflow". Since it's too long to fit in the canvas, it just overflows with no line breaks: Code for this example:

View more...

A Complete and Comprehensive Guide to ISO 27001 Compliance

Aggregated on: Wed Mar 23 2022 22:05:21 GMT+0000 (Coordinated Universal Time)

Image Source It’s not unfair to say that our online data is caught in a tug-of-war between continually updated security controls and hackers that relentlessly find new, inventive ways of breaching those controls. 

View more...

MongoDB to Couchbase, Part 4: Data Modeling

Aggregated on: Wed Mar 23 2022 21:35:21 GMT+0000 (Coordinated Universal Time)

To Embed or Not to Embed. That is the Question.  - Hamlet Data modeling is a well-defined and mature field in relational database systems. The model provides a consistent framework for application developers to add and manipulate the data. Everything is great until you need to change. This lack of schema flexibility was a key trigger for NoSQL database systems.  As we've learned before, both MongoDB and Couchbase are JSON-based document databases. JSON gives the developers schema flexibility: the indexes, collections, query engine provide access paths to this data. The developer uses MQL in MongoDB and N1QL in Couchbase to query this data.  Let's compare the modeling methods in Couchbase. Note: This article is short because the modeling options are similar. That's a good thing. Some differences in modeling options, access methods, and optimizations are highlighted below.

View more...

Truth and Proof: Building Trust in Machines Through AIOps

Aggregated on: Wed Mar 23 2022 21:35:21 GMT+0000 (Coordinated Universal Time)

IT systems are only getting more complex, with greater pressures to solve issues faster and demonstrate value consistently. Issues within systems, which dev teams could once handle all on their own, sprout up too fast and too often for direct human intervention. Artificial intelligence for IT Operations (AIOps) tools exist today to deliver automated monitoring and solution development, “no humans required” — significantly easing dev teams’ many burdens. Adopting AIOps should be simple enough, then. But one of the tougher sticking points has been trust. Can humans trust a machine to identify root causes of issues and create accurate and effective solutions? The stakes are high — if a machine gets it wrong, the burden on human teams compounds quickly.

View more...

How Does TCP Work?

Aggregated on: Wed Mar 23 2022 21:05:21 GMT+0000 (Coordinated Universal Time)

What Is TCP? TCP (Transmission Control Protocol) is a protocol for machines to communicate over a network, and is the foundation on which the internet is built. One of the most useful characteristics of TCP is that it is 'resilient', which means it can cope with an unreliable network without losing any data.

View more...

Exception Breakpoint that Doesn't Suck and a Real Use Case for Method Breakpoints

Aggregated on: Wed Mar 23 2022 21:05:21 GMT+0000 (Coordinated Universal Time)

Two weeks ago, I left this series in a “cliffhanger” of sorts. Well, as much as a programming blog can leave things in the air… The big one amongst them is the premise that exception breakpoints don’t have to suck. If you used them in the past, you would know that grabbing all exceptions is ridiculous. You end up at a breakpoint every second and it doesn’t help. There’s a solution, and it’s discussed in duckling 6 number 7 also covers a lot of interesting ground for us and another cliffhanger on method breakpoints:

View more...

Building a Slack App With Native SFDC Integration

Aggregated on: Wed Mar 23 2022 20:35:21 GMT+0000 (Coordinated Universal Time)

Part 1: Getting Going With the Starter Kit  Businesses depend on Slack for communication and Salesforce for data management. As one might expect, conversations in Slack don’t always correlate to changes in Salesforce records. Being able to share data between these two services can increase team productivity by eliminating the need to switch between them. In December of 2021, Salesforce produced a video series explaining how to build Slack Apps using their APIs. Building on top of any platform can be intimidating: You have to learn about how authentication works, the methods you can call, the events you can listen for, and so on. Slack has excellent documentation and an SDK, Bolt, which reduces a lot of boilerplate logic, getting you more quickly from an idea to an actual app.

View more...

MySQL DB Installation: Using MySQL Workbench to connect to MySQL DB and how to Install the Mysql 8 Server

Aggregated on: Wed Mar 23 2022 18:35:21 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at MySQL DB Installation: Using MySQL Workbench to connect to MySQL DB and how to install the Mysql 8 Server. Let's get started!

View more...

Reshaping PyTorch Tensors

Aggregated on: Wed Mar 23 2022 18:35:21 GMT+0000 (Coordinated Universal Time)

It is a reasonable thing to expect n-dimensional tensor to have a possibility to be reshaped. Reshape means to change the spatial size of a container that holds underlying data. One can create any n-dimensional tensor that wraps a numerical array as long as the product of dimensions stays equal to the number of the array’s elements.  Python   import torch # underlying data data = [1,2,3,4,5,6,7,8] # has 8 elements # two ways to store identical data tens_A = torch.tensor(data).reshape(shape=(2,4)) # 2-dimensional tensor of shape (2,4) tens_B = torch.tensor(data).reshape(shape=(2,2,2)) # 3-dimensional tensor of shape (2,2,2)

View more...

Python, NoSQL and FastAPI Tutorial: Web Scraping on a Schedule

Aggregated on: Wed Mar 23 2022 16:05:21 GMT+0000 (Coordinated Universal Time)

Can there be other use cases for Cassandra beyond messaging and chat? In this tutorial, we show you how to web scrape on a schedule by integrating the Python framework called FastAPI with Astra DB, a serverless, managed Database-as-a-Service built on Cassandra. Recently, I caught up with the Pythonic YouTuber Justin Mitchell from CodingEntrepreneurs and we discussed how today’s apps are tackling global markets and issues. He pointed out that Discord stores 120 million messages with only four backend engineers—and that was back in 2017.

View more...

The Battle Of New Industry Standards: Is WebRTC Making Zoom Redundant?

Aggregated on: Wed Mar 23 2022 15:35:21 GMT+0000 (Coordinated Universal Time)

In the last couple of years, the way people and businesses communicate and collaborate has changed significantly. At the beginning of the Covid-19 pandemic, video conference calls evolved as the go-to way for business communication. A Gartner report confirms, by 2024, only 25% of meetings will take place in person, down from 60% today (source).  Marketsandmarkets, a leading tech consulting firm, also confirms this trend, it says that the global video conferencing market size will grow to the tune of US$ 22.5 billion by 2026 with a 19.7% CAGR growth rate (source). However, this also intensified the clash for dominance between different between Zoom and WebRTC based tech players. To cater to the growing needs for new-age video conferencing solutions, there is an increased focus on new industry standards. As a result, WebRTC (Web Real-Time Communication) has become the latest web standard. Integrating real-time communication capabilities through the web browser, WebRTC makes click-to-start meetings possible without downloading any dedicated app or plug-in. Moreover, it has taken over the conventional approach of using proprietary signaling and infrastructure as deployed by platforms like Zoom to battle over standards and codecs in the early phase. Let us examine how WebRTC does this.

View more...

7 Tips To Get Productive Again After Languishing

Aggregated on: Wed Mar 23 2022 15:35:21 GMT+0000 (Coordinated Universal Time)

Do you sometimes feel as though you have hit a wall with your work? It is easy to go from being productive to feeling stagnant, especially when projects are not moving towards their end goal fast enough. Also, it’s difficult in uncertain times to stay focused, motivated and productive. If this sounds familiar, don't worry: it happens to everyone! A quick word on how we’re using "languishing." This is defined as the state of being stagnant, inactive, or dull. It's easy for this to happen if you're not careful! It can especially be hard to get back into your work routine after experiencing a spell of languishing. If you have been languishing for a long period of time, it can seem daunting to think about getting back into your normal groove again. We are here to help you get back into the swing of things.

View more...

Test Case vs. Test Scenario: Key Differences to Note for Software Developers

Aggregated on: Wed Mar 23 2022 01:50:20 GMT+0000 (Coordinated Universal Time)

Test cases and test scenarios are two of the most common test artifacts: both are documentation produced by the software development team in order to track progress on a project.  With the current shift away from the Waterfall method of software development and towards Agile testing, it is important to understand the differences between test cases and test scenarios. But it is also important to note that the methods are most valuable when used together appropriately.

View more...

The Five Skills You Must Master To Be Outstanding as a Software Engineer

Aggregated on: Tue Mar 22 2022 23:50:20 GMT+0000 (Coordinated Universal Time)

Areas of technology have been growing exponentially and bringing with them several opportunities and specializations. Among these thousands of options, we have software engineering and architecture. However, with so much content and easy access to happiness, what would be the best way to reach the goal that will achieve the desired satisfaction? In this debate, we will significantly address the area of expertise in software engineering or, in other words, career approaches such as "techniques." Let's share five engineering skills for you, the professional software technician.

View more...

How the LS Command Works on Linux

Aggregated on: Tue Mar 22 2022 23:35:20 GMT+0000 (Coordinated Universal Time)

On a Linux or UNIX-based system, ls is one of the most useful commands you can know. Fundamentally, it tells you information of files and folders on your system - and is extremely useful when you only have access to a server or computer via a terminal window. Let's look at how it works, and discuss some of the features of ls that you may not know. The syntax for ls looks like this, where [OPTIONS] are optional settings, and [FILE|FOLDER] is an optional link to the file or folder we want to check. If we only type ls, it will check the current folder.

View more...

JDBC Create Table and Drop Table Examples

Aggregated on: Tue Mar 22 2022 22:50:20 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at JDBC, create table, and drop table with examples. Let's get started!

View more...

Kubernetes Multi-Cluster Management and Governance

Aggregated on: Tue Mar 22 2022 20:50:20 GMT+0000 (Coordinated Universal Time)

Due to the performance nature of modern cloud-native applications, Kubernetes environments need to be highly distributed. Proper multi-cluster management and governance ensure consistent, secure operations across all environments. In this Refcard, we further explore Kubernetes multi-cluster management and governance, why it's important, and core practices for success.

View more...

12 Useful JavaScript Newsletters

Aggregated on: Tue Mar 22 2022 19:20:20 GMT+0000 (Coordinated Universal Time)

As any software developer knows, it's vital that you keep learning to improve your game and stay on top of things. This is especially important in the JavaScript ecosystem, where things keep evolving quickly, especially with all the awesome frameworks we have today. One of the simplest ways to do this is by subscribing to useful JavaScript newsletters and getting updates and tutorials straight into your inbox. In this post, let's look at 12 of the best ones.

View more...

Chaos Mesh + SkyWalking: Better Observability for Chaos Engineering

Aggregated on: Tue Mar 22 2022 18:20:20 GMT+0000 (Coordinated Universal Time)

Chaos Mesh is an open-source cloud-native chaos engineering platform. You can use Chaos Mesh to conveniently inject failures and simulate abnormalities that might occur in reality, so you can identify potential problems in your system. Chaos Mesh also offers a Chaos Dashboard which allows you to monitor the status of a chaos experiment. However, this dashboard cannot let you observe how the failures in the experiment impact the service performance of applications. This hinders us from further testing our systems and finding potential problems.  Apache SkyWalking is an open-source application performance monitor (APM), specially designed to monitor, track, and diagnose cloud-native, container-based distributed systems. It collects events that occur and then displays them on its dashboard, allowing you to observe directly the type and number of events that have occurred in your system and how different events impact the service performance. 

View more...

3 Steps To Streamline Kubernetes Multi-Cluster Management

Aggregated on: Tue Mar 22 2022 16:05:20 GMT+0000 (Coordinated Universal Time)

The footprint of Kubernetes is expanding rapidly in all industries. Many enterprises already operate multiple Kubernetes clusters in multiple regions to address the needs of global operations and reduce application latency for customers worldwide. You may already have a large number of Kubernetes clusters in on-premises data centers and a number of public cloud locations, possibly using several cloud providers to avoid lock-in. Unfortunately, operating a distributed, multi-cluster, multi-cloud environment is not a simple task. Kubernetes is a relatively new technology. It’s hard to find staff with Kubernetes skills or to identify the best tools for multi-cloud Kubernetes management.

View more...

Top Benefits of Automation Testing for a Successful Product Release

Aggregated on: Tue Mar 22 2022 03:50:20 GMT+0000 (Coordinated Universal Time)

Introduction Businesses rely on automation testing to keep up with faster and higher-quality processes that agile development demands. There are many benefits of automation testing, such as reducing costs, avoiding delays, and helping to create a great customer experience. Unplanned or ad hoc testing can lead to discrepancies and issues that will directly affect the business deliverables. Testing is an essential part of product development, so businesses need to have tests ever-ready. Developers have always been finding bugs and resolving issues, but no matter how experienced you are in solving such problems, there will be some bugs that you can never catch on your own. Testers use regression testing to stabilize the product for faster releases and quickly fix issues after migrating the code to the production environment. Automation testing has numerous benefits in comparison to manual testing. Automating increases the effectiveness of processes, expedites execution, and maximizes test coverage. It further removes chances of repetitive mistakes/tasks by testers, reduces human error, and provides instant feedback for quick resolution of issues, which improves overall efficiency in all activities. Let’s explore the advantages of automation testing in software development in detail as we move further.

View more...

5 Keys to Successfully Implement Team Topologies in Your Organization

Aggregated on: Tue Mar 22 2022 02:20:20 GMT+0000 (Coordinated Universal Time)

Effective software teams are essential for any organization to deliver value continuously and sustainably. But this effectiveness is, oftentimes, hard to attain.  In their book “Team Topologies,” Matthew Skelton and Manuel Pais present a “practical, step-by-step adaptive model for organization design and team interaction, where team structures and communication pathways are able to evolve together with technological and organizational maturity.”

View more...

What Do You Mean By a “Distributed Database?”

Aggregated on: Tue Mar 22 2022 02:05:20 GMT+0000 (Coordinated Universal Time)

The earthly landscape we walk upon usually changes very slowly. It’s measurable in centimeters or inches per year. But the digital landscape, and specifically the distributed database landscape, is changing at a massive rate. You can read more about the tremendous changes currently occurring in the industry in our recent blog on this next tech cycle. Before we can look at the way these changes are impacting the distributed database landscape, we have to define what we mean by the term “distributed database.” That’s the purpose of this article.

View more...

Error Handling Across Different Languages

Aggregated on: Tue Mar 22 2022 00:50:20 GMT+0000 (Coordinated Universal Time)

I've tried Go in the past, and the least I could say is that I was not enthusiastic about it. Chief among my griefs was how the language handled errors, or more precisely, what mechanism it provided developers with to manage them. In this post, I'd like to describe how a couple of popular languages cope with errors. A Time Before Our Time I could probably go back a long time, but I needed to choose a baseline at some point. In this post, the baseline is C.

View more...

The Dangers of Fatal Logging

Aggregated on: Tue Mar 22 2022 00:50:20 GMT+0000 (Coordinated Universal Time)

I want to talk about fatal logging. It’s practically always a bad idea. Let me explain… I was recently reviewing some code written in Go, where I saw this pattern in a constructor function:

View more...

Dynamic Lists With SwiftUI Using Swift Concurrency for Asynchronous Data Loading

Aggregated on: Tue Mar 22 2022 00:05:20 GMT+0000 (Coordinated Universal Time)

In a previous blog post, I described an implementation of lists in SwiftUI where items are loaded dynamically as the user scrolls and additional data for each item is fetched asynchronously. I also wanted to provide a reusable infrastructure for lists where you could concentrate only on the data fetching logic and the presentation of a single list item, but didn’t quite reach that goal. In this blog post, I try to improve the list infrastructure and the separation of concerns between the data model and UI. I also want to test the Swift Concurrency features (async/await etc) for the asynchronous parts, and see how well it plays with SwiftUI.

View more...

Debugging Java Equals and Hashcode Performance in Production

Aggregated on: Mon Mar 21 2022 23:35:20 GMT+0000 (Coordinated Universal Time)

I wrote a lot about the performance metrics of the equals method and hash code in this article. There are many nuances that can lead to performance problems in those methods. The problem is that some of those things can be well hidden. To summarize the core problem: the hashcode method is central to the java collection API. Specifically, with the performance of hash tables (specifically the Map interface hash table). The same is true with the equals method. If we have anything more complex than a string object or a primitive, the overhead can quickly grow.

View more...

How the which Command Works on Linux

Aggregated on: Mon Mar 21 2022 23:35:20 GMT+0000 (Coordinated Universal Time)

When we are running servers, or even our local computer, different applications may install the same piece of software multiple times. For example, it is not uncommon to accidentally have two versions of Node.JS installed on a server or computer. In the example where we have multiple versions of Node.JS, it can be confusing which versions are running, or which will be used when we run the node command in a terminal window.

View more...

From IBM Integration Bus to IBM App Connect Enterprise in Containers (Part 4b)

Aggregated on: Mon Mar 21 2022 23:35:20 GMT+0000 (Coordinated Universal Time)

In Scenario 4a, we showed you how to deploy an IBM MQ queue manager in a container using the Kubernetes (OpenShift) command-line interface (CLI). That showed that it’s really just a couple of commands and all the detail is really in the definition files.  That’s certainly the approach you’ll want to move to for production so you can automate the deployment through pipelines. However, sometimes it’s useful to just be able to perform actions through a user interface without having to know the detail eg. command lines, and file formats, and that’s what we’re going to look at in this scenario. Installing the IBM MQ Operator IBM MQ Operator that we discussed in Scenario 4a will once again be used under the covers to perform the deployment. The operator also provides us with the user interface which, as you will discover, is neatly integrated with the OpenShift web console.

View more...

Is Your Dev Team TOO Big to Succeed? w/ SAIC’s Bob Ritchie

Aggregated on: Mon Mar 21 2022 23:35:20 GMT+0000 (Coordinated Universal Time)

Modern problems require modern solutions, right? The problem is, it’s becoming increasingly difficult to understand what solutions are required for a given problem and even harder to task a team with finding them. 

View more...

CockroachDB TIL: Volume 6

Aggregated on: Mon Mar 21 2022 22:50:20 GMT+0000 (Coordinated Universal Time)

This is my series of articles covering short "Today I learned" topics as I work with CockroachDB. Topic 1: Cockroach Init Container Use init container to initialize Cockroach and exit, you no longer need to explicitly run init when you bring up CockroachDB.

View more...

Playwright vs Selenium: A Comparison

Aggregated on: Mon Mar 21 2022 22:20:20 GMT+0000 (Coordinated Universal Time)

What Is Playwright? Playwright by Microsoft is the newest addition to the Headless Browser Testing frameworks in popular use. Built by the same team which created Puppeteer (Headless Browser Testing Framework for Google Chrome), Playwright, too, is an open-source NodeJS based framework.  However, it provides wider coverage for cross-browser testing by supporting Chrome, Firefox, and WebKit, while Puppeteer supports Chrome and Chromium browsers only. Playwright is compatible with Windows, Linux, and macOS, and can be integrated with major CI/CD servers such as Jenkins, CircleCI, Azure Pipeline, TravisCI, etc., in addition to the testing frameworks like Jest, Jasmine, Mocha. Besides JavaScript. 

View more...

Typescript Basics: How keyof Works

Aggregated on: Mon Mar 21 2022 21:05:20 GMT+0000 (Coordinated Universal Time)

In Javascript and Typescript, we often run into situations where we have an object with a certain set of properties, and then another variable that matches one or many keys in that object. This can cause all sorts of issues if the keys can be edited. For example, imagine the following situation: JavaScript   let myUser = { name: "John Doe", email: "xyz@fjolt.com", age: 15 } function getUserDetails() { let ourKeys = [ "name", "red", "age" ]; let constructedObject = {}; ourKeys.forEach(function(item) { constructedObject[item] = myUser[item]; }); return constructedObject } We could imagine that ourKeys maybe coming from a database, or an API. For the purposes of explanation, I've put it in a simple array. When we run through each of these keys using our forEach loop, we output details from myUser into a new Object, called constructedObject.

View more...

What Is JDBC Connection? | JDBC Connection Example

Aggregated on: Mon Mar 21 2022 20:05:20 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at JDBC Connection with examples. Let's get started!

View more...

Make Your Team Miserable With These Popular Project-Management Anti-Patterns

Aggregated on: Mon Mar 21 2022 19:05:20 GMT+0000 (Coordinated Universal Time)

Image by István Mihály from Pixabay Managers Are in the Best Position To Cause Misery As managers, we’re in the best position to cause sadness on our teams. If you aspire to be truly great at inflicting pain on your team, pay attention! We’ll cover three of the most popular ways.

View more...

The Ultimate Guide on Composite IDs in JPA Entities

Aggregated on: Mon Mar 21 2022 18:05:19 GMT+0000 (Coordinated Universal Time)

Previously, we talked about IDs generated in database and applications, discussed the pros and cons of various strategies for generation and implementation details. Now it is time to discuss less popular but still useful ID type: composite ID.  Do We Need Composite Keys at All? It might seem that composite keys are not needed in modern applications, but it is not like this. Recently there was a poll on Twitter, and results showed that about 55% of developers would use composite keys if required: 

View more...

Oracle Fusion Cloud vs. Propel PLM

Aggregated on: Mon Mar 21 2022 03:50:19 GMT+0000 (Coordinated Universal Time)

Digital innovation is not only evolving the product's features but also the way they are designed and manufactured. To remain relevant in the changing market dynamics, enterprises must continuously strategize ways to optimize operational efficiency and infrastructure costs, improve product quality, and reduce time to market to accelerate the overall growth of the business. Enterprises are required to embrace digital transformation and innovate at a faster rate. However, to achieve this, it is essential to choose the right PLM software. With several PLM options available on the market, it can be a daunting challenge to choose the right PLM software that best fits your business needs. That's why we have picked two industry-leading SaaS PLM platforms: Oracle Fusion Cloud and Propel PLM, and we will compare the differences between both solutions so that you can make an informed decision for your next PLM investment.

View more...