News AggregatorPackage and Deploy a Lambda Function as a Docker Container With AWS CDKAggregated on: Mon May 09 2022 21:50:50 GMT+0000 (Coordinated Universal Time) One of my previous blog posts covered how to build a Serverless backend for Slack using by using Lambda Function URL as a webhook. Since I wanted to focus on the application itself, the infrastructure setup part was simplified - using AWS CLI, the function was packaged as a zip file, configured and finally, a Function URL was created along with the required permissions. In this blog, you will end up deploying the same solution, but this time using IaaC (Infrastructure-as-code) with AWS Cloud Development Kit (CDK) which is a framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation. You can choose from a list of supported programming languages (at the time of writing - TypeScript, JavaScript, Python, Java, C#/.Net, and Go (in developer preview)) to define your infrastructure components as code, just like you would with any other application! View more...OPC-UA, MQTT, and Apache Kafka: The Trinity of Data Streaming in IoTAggregated on: Mon May 09 2022 21:50:50 GMT+0000 (Coordinated Universal Time) In the IoT world, MQTT (Message Queue Telemetry Transport protocol) and OPC-UA (OPC Unified Architecture) have established themselves as open and platform-independent standards for data exchange in Industrial Internet of Things (IIoT) and Industry 4.0 use cases. Data streaming with Apache Kafka is the data hub for integrating and processing massive volumes of data at any scale in real-time. This article explores the relationship between Kafka and the IoT protocols, when to use which technology, and why sometimes HTTP/REST is the better choice. The conclusion explores real-world case studies from Audi and BMW. Industry 4.0: Data Streaming Platforms Increase Overall Plant Effectiveness and Connect Equipment Machine data must be transformed and made available across the enterprise as soon as it is generated to extract the most value from the data. As a result, operations can avoid critical failures and increase the effectiveness of their overall plant. View more...The Difference Between the Composition API and Options API in VueAggregated on: Mon May 09 2022 21:20:49 GMT+0000 (Coordinated Universal Time) Up until Vue 2, there was one way to create components in Vue. With Vue 3, a new methodology was introduced called the Composition API. Now, if we want to make a component in Vue, we have two ways to do it. You might be wondering what the difference is, exactly, so let's take a look at how the newer Composition API differs from the Vue 2 methodology, which is now known as the Options API What Is the Difference Between the Composition and Options API in Vue? The short answer is syntax. The Composition API lets us create components without the need for a large single exportable object, like in the Options API. For example, if we wanted to make a simple counter component with the Options API, it would look like the code below. View more...A Guide to Understanding Vue Lifecycle HooksAggregated on: Mon May 09 2022 21:20:49 GMT+0000 (Coordinated Universal Time) Like other frameworks, Vue has a number of lifecycle hooks that allow us to attach code to specific events that occur while a Vue application is being created or used - for example, when the component loads, when a component is added to the DOM, or when something is deleted. Vue has a lot of lifecycle hooks, and what can be confusing is what each one means or does. In this guide, we'll be covering what each lifecycle hook does and how to use them. View more...How to Leverage Method Chaining To Add Smart Message Routing in JavaAggregated on: Mon May 09 2022 20:05:49 GMT+0000 (Coordinated Universal Time) We are going to use the open-source serialization library Chronicle Wire. Let's assume we have some data that we want to send to a particular destination; we don't want to pollute our business data structures with the routing information. In the future, the routing information could be removed or changed based on external factors such as system failover or horizontal scaling. Having a separation of routing and business messages is nothing new; after all, JMS has been doing it for years with their createObjectMessage (below): View more...Growth in Java Development for Web and Mobile AppsAggregated on: Mon May 09 2022 19:50:49 GMT+0000 (Coordinated Universal Time) Java is the fifth most used programming language with a market share of 35.35%. It is a viable technology for enterprise, web, and mobile applications. Java has become the primary programming language for companies across multiple domains in recent years. It is powerful, scalable, and enterprise-grade. As a result, Java software development services are highly popular for such applications. Today, Java has found applications in some of the leading technical industries of the world. From data science to AR & VR, Java is usable for all advanced programming applications. However, while enterprise Java development is the fastest-growing use case, web and mobile have been the long-standing winner for the technical applications of Java. View more...What Is ERP Testing? - A Brief GuideAggregated on: Mon May 09 2022 19:05:49 GMT+0000 (Coordinated Universal Time) What Is ERP Testing? "ERP testing" is a term used to describe verifying the functionality of your ERP software solution during implementation. ERP testing is a quality assurance (QA) process that verifies the ERP system is correctly implemented and functioning before it is fully launched. ERP testing at different installation stages helps avoid unpleasant surprises such as the program crashing during go-live. It also minimizes the number of bugs identified after they have been implemented. View more...How To Put Exchange Server in Maintenance ModeAggregated on: Mon May 09 2022 19:05:49 GMT+0000 (Coordinated Universal Time) Administrators must put the Exchange Server in maintenance mode while updating and making changes to the server to avoid data loss or other issues. If the changes or any security/cumulative updates are applied to the server without putting the server into maintenance mode, it can lead to database corruption or server failure. In this article, we discuss the Exchange Maintenance Mode, its importance, and the steps to put the Exchange Server into maintenance mode. We also mention steps to disable maintenance mode once the server update or upgrade is completed. View more...How Dynamic Rendering Works Using HTML and CSS?Aggregated on: Mon May 09 2022 17:50:49 GMT+0000 (Coordinated Universal Time) A user might be operating in front of a mobile screen and a desktop screen, but their expectation changes widely on both devices. A user in front of a mobile device is a little less patient, as they are mostly “on the go” compared to when they are in front of a desktop. Mobile devices have changed the overall user experience and how a user perceives a website nowadays. In short, we need our content to render dynamically on mobile and desktop screens abiding by their requirements. If we could do that, we could create a responsive design with content specific to the device users. For example, you cannot hide a “Login” button on a dropdown or hamburger menu in the corner. While you can do that on a desktop screen (even though it’s a bad design!) and the user will find it. The developers cannot mess up with the mobile design, considering the traffic size and data generation a mobile device is responsible for. Also, we have a lot to share with our users on the developer's end and want a large screen space to accommodate everything. View more...How Data and Analysis Can Power Agile TeamsAggregated on: Mon May 09 2022 17:50:49 GMT+0000 (Coordinated Universal Time) When working on projects in an Agile framework, it can be easy to fall into a routine of simply ‘going through the motions’ during Scrum rituals. A project team can settle into a plateau with the repetitive nature of Sprint cycles and associated practices. You may notice that your team performs the rituals as scheduled, yet the core goal of each method has been forgotten. This creates a risk that little value is extracted from each activity, meaning that they no longer provide insight and incremental improvement. This risk is exceptionally high and standard during Retrospective rituals, especially if the team becomes focused on their achievements during the Sprint rather than exploring opportunities for improvement. When Retros are not conducted in-depth, a huge opportunity is missed – to keep the team performing well and take their performance to higher levels. View more...How to Select Date From Datepicker in Selenium Webdriver Using JavaAggregated on: Mon May 09 2022 17:05:49 GMT+0000 (Coordinated Universal Time) Selenium is a widely used automation testing tool used to ensure the seamless working of web applications in accordance with predetermined technical and business requirements. Using Selenium is a great way to comply with the growing demands made upon developers and testers – faster and more efficient release of new and updated features, ideally within a few weeks. Selenium Webdriver, a significant component of the Selenium Test Suite, is a web framework that runs automated tests on websites to ensure all UI elements are functioning exactly as expected. View more...An Introduction to Milvus Python SDK and APIAggregated on: Mon May 09 2022 16:05:49 GMT+0000 (Coordinated Universal Time) Background The following illustration depicts the interaction between SDKs and Milvus through gRPC. Imagine that Milvus is a black box. Protocol Buffers are used to define the interfaces of the server and the structure of the information they carry. Therefore, all operations in the black box Milvus are defined by Protocol API. The interaction between SDKs and Milvus through gRPC Milvus Protocol API Milvus Protocol API consists of milvus.proto, common.proto, and schema.proto, which are Protocol Buffers files suffixed with .proto. SDKs must interact with Milvus with these Protocol Buffers files to ensure proper operation. View more...OpenTelemetry in Action: Identifying Database DependenciesAggregated on: Mon May 09 2022 10:50:49 GMT+0000 (Coordinated Universal Time) Microservices can help any organization achieve its goal of increasing agility by addressing critical factors such as improving team autonomy, reducing time to market, cost-effectively scaling for load, and avoiding complete outages of the applications. As organizations break their monolith applications into microservices, one of the major hurdles they encounter is identifying database dependencies. Database sharing can be a complex and time-consuming challenge to solve. Databases do not allow you to define what is shared and what is not. While modifying a schema to better serve one microservice, you might inadvertently break how another microservice uses that same database. View more...The Most Popular Kubernetes Alternatives and CompetitorsAggregated on: Mon May 09 2022 04:20:49 GMT+0000 (Coordinated Universal Time) Kubernetes is an open-source container orchestration tool developed by Google and is also known as K8s. It is used in managing the complete lifecycle of containerized applications. Kubernetes provides high availability, scalability, and predictability to the containerized application. It automates the deployment, management, and scaling of containerized applications. Kubernetes also supports automated rollout and rollbacks, service discovery, storage orchestration, scaling, batch execution, and more. Kubernetes provides the cluster where containerized applications can be deployed. Kubernetes is not the only container orchestration tool, but various “Kubernetes Alternatives” are available in the market. Before we talk about the “Alternatives to Kubernetes,” let’s explore the key components of Kubernetes. The Kubernetes cluster consists of at least one worker node where containerized applications are deployed and one master node or control plane which manages the worker nodes. The Control plane or master node consists of Kube-API server, etcd, Kube-scheduler, and Kube-controller-manager, whereas the worker node consists of Kubelet, Kube-Proxy, and Container Runtime. View more...Ultra-fast Microservices: When Microstream Meets WildflyAggregated on: Sun May 08 2022 15:20:49 GMT+0000 (Coordinated Universal Time) Microservices have become a buzzword when we talk about creating a scalable application. But is that enough? The simple answer is no. As with any software architecture decision, it has a trade-off and several challenges. Lucky for us Java developers, there is a combination of two tools to make our life easier: Microstream and MicroProfile. This article will cover combining Microstream and Wildfly to create a microservice application that is easily stable and ultra-fast. Microservices With Wildfly Microservices provide several challenges to software engineers, especially as a first step to facing distributed systems. But it does not mean that we're alone. Indeed there are several tools to make our life easier in the Java world, especially MicroProfile. View more...Open Source Software (OSS) Quality Assurance - A Milvus Case StudyAggregated on: Fri May 06 2022 22:05:48 GMT+0000 (Coordinated Universal Time) Quality assurance (QA) is a systematic process of determining whether a product or service meets specific requirements. A QA system is an indispensable part of the R&D process because, as its name suggests, it ensures the quality of the product. This post introduces the QA framework adopted in developing the Milvus vector database, providing a guideline for contributing developers and users to participate in the process. It will also cover the major test modules in Milvus and methods and tools that can be leveraged to improve the efficiency of QA testings. View more...Maven Tutorial: Nice and Easy [Video]Aggregated on: Fri May 06 2022 20:35:48 GMT+0000 (Coordinated Universal Time) Ever looked for a comprehensive intro to Maven that is fun and entertaining at the same time? Then have a look at this brand-new episode of the "Marco Codes" YouTube channel: Maven Tutorial - Nice & Easy. In this video, you'll learn how to use Maven like a professional: installations, using the mvn wrapper, using Maven together with IDEs, and of course the Maven basics. From pom.xml concepts to running commands (clean install) to understanding Maven repositories and multi-module projects, by the end of it, there won't be many questions left when it comes to Maven. View more...Image Classification Using SingleStore DB, Keras, and TensorflowAggregated on: Fri May 06 2022 18:35:48 GMT+0000 (Coordinated Universal Time) Abstract Image classification can have many practical, valuable and life-saving benefits. The "Hello World" of image classification is often considered MNIST and, more recently, Fashion MNIST. This article will use Fashion MNIST and store the images in a SingleStore DB database. We'll also build an image classification model using Keras and Tensorflow and store the prediction results in SingleStore DB. Finally, we'll build a quick visual front-end to our database system using Streamlit that enables us to retrieve an image and determine if the model correctly identified it. The SQL scripts, Python code and notebook files used in this article are available on GitHub. The notebook files are available in DBC, HTML and iPython formats. View more...Take Control of Your Application SecurityAggregated on: Fri May 06 2022 17:35:48 GMT+0000 (Coordinated Universal Time) Bob, the software architect, and Alice, the SecDevOps engineer are part of a growing software development start-up company. Here is the conversation between them on developing a new set of microservices. Bob: Did you hear the announcement? The client deal was finalized; we can begin the development of an analytics app for their financial services on the cloud. View more...Run Containers and VMs Together With KubeVirtAggregated on: Fri May 06 2022 14:05:48 GMT+0000 (Coordinated Universal Time) Although many enterprises have deployed Kubernetes and containers, most also operate virtual machines. As a result, the two environments will likely co-exist for years, creating operational complexity and adding cost in time and infrastructure. Without going into the pros and cons of one versus the other, it’s helpful to remember that each virtual machine or VM contains its instance of a full operating system and is intended to operate as if it were a standalone server—hence the name. By contrast, in a containerized environment, multiple containers share one instance of an operating system, almost always some flavor of Linux. View more...Querying Kafka Topics Using PrestoAggregated on: Fri May 06 2022 00:35:47 GMT+0000 (Coordinated Universal Time) Presto is a distributed query engine that allows querying different data sources such as Kafka, MySQL, MongoDB, Oracle, Cassandra, Hive, etc. using SQL. It has the ability to analyze big data and query multiple data sources together. In this article, we will discuss how Presto can be used to query Kafka topics. Below is the step-by-step process to set up Presto and Kafka, and connect them together. Here, I have considered MacOS, but similar setups can be done on any other system. View more...Your Old Laptop Is Your New Database ServerAggregated on: Thu May 05 2022 23:35:47 GMT+0000 (Coordinated Universal Time) A couple of weeks ago I almost accidentally found in my apartment an old laptop that was only gathering dust: a Lenovo Thinkpad T440s that I bought in 2014. The specs: View more...How to Minimize Software Development CostAggregated on: Thu May 05 2022 21:50:47 GMT+0000 (Coordinated Universal Time) One of the typical questions when you look at the project briefing is how to minimize software development costs. Of course, there are many ways of doing it without sacrificing quality; however, don’t forget it is all about trade-offs. Collaborate With Software Experts When we talk about reducing software development costs, outsourcing is one way to achieve this. Fortunately, you can find many exceptional development partners, such as Apiumhub, and you no longer have to worry about geographical or knowledge limitations. In addition, partnering with a software agency allows you to leverage a large pool of resources and save on many expenses, such as paid vacations and sick leaves, insurance, recruitment costs, budgets associated with onboarding and training, and more. At first sight, let’s say hourly, or monthly rates may seem expensive. Still, if you really choose experts, you start developing your project from the start, applying best practices, thinking about software architecture, infrastructure, etc. Note that it is highly important to provide detailed project scope and requirements before starting a collaboration. View more...MySQL DB Installation and Workbench [Video]Aggregated on: Thu May 05 2022 21:50:47 GMT+0000 (Coordinated Universal Time) In the video below, we take a closer look at MySQL DB installation, MySQL Workbench, how to connect to the MySQL DB, and how to get info using the Java program. Let's get started! View more...Scaling Feature Flag Management for Better Progressive Delivery [Webinar]Aggregated on: Thu May 05 2022 21:20:47 GMT+0000 (Coordinated Universal Time) The concept of "progressive delivery" using feature flags has rapidly grown in recent years as the "new standard" in DevOps excellence, and for good reason. The concept of using feature flags to decouple deployment from release to deliver "progressively" expands the principles of continuously improving software directly into production with real users -- in a safe, controlled way. Further, feature flags provide a wide variety of safety and speed improvements within software delivery, effectively "supercharging" CI/CD in new ways. However, achieving these software delivery benefits at scale doesn't come without downsides. Complexity can grow in testing, accrual of technical debt, and general visibility and governance of feature flags across CI/CD toolchains. View more...Why Is Cypress the Best Automation Testing Tool?Aggregated on: Thu May 05 2022 20:50:47 GMT+0000 (Coordinated Universal Time) Cypress - The Test Automation Tool Cypress is the fastest, most reliable, and easiest-to-use automation tool for QA Testing. Cypress is a Node.js-based tool that can be integrated with any CI/CD pipeline. It offers an easy-to-use and powerful user interface, making it an ideal choice for automating the testing process. Cypress is also open-source and provides excellent support to the community. Cypress is the best option to automate QA Testing because of its speed, reliability, and ease of use. It is also open-source and offers excellent support to the community. In addition, Cypress is easy to use and install - unlike other tools that require complex configuration, Cypress can be installed quickly and easily. Here Are Some of the Top Reasons why Cypress Is the Best Option for Automating QA Testing: View more...Vue 3 Reactivity Composition API Using Reactive() And Ref()Aggregated on: Thu May 05 2022 20:20:47 GMT+0000 (Coordinated Universal Time) Reactivity is a key pillar for building VueJS applications. While VueJS Reactivity using Options API is quite powerful, more and more developers are moving to Composition API for building their Vue applications. Thankfully, Vue 3 Reactivity with Composition API is equally robust. Vue 3 Reactivity with Composition API is driven by reactive() and ref() functions. These functions turn the component model data reactive so that Vue is able to track changes. However, both reactive() and ref() have their specific use-cases. It is important to know which function should be used in which particular scenario. View more...Demystify the Cybersecurity Risk Management ProcessAggregated on: Thu May 05 2022 19:50:47 GMT+0000 (Coordinated Universal Time) Cybersecurity is critical today, with data breaches becoming more common and sophisticated. As a result, cybersecurity risk management is a complex and ever-changing field. After checking out some online surveys, we found around 304.7 million ransomware attempts in the first half of 2021. In the second half, it was even worse, reaching 318.6 million. These figures have even beaten 2020 in total, which was 281.9 million ransomware attacks. So, it's apparent that cybersecurity risk management is complex and requires IT security professionals to understand the threats posed by cybercriminals. View more...Salesforce and Snowflake Native Data Integration OptionsAggregated on: Thu May 05 2022 19:20:47 GMT+0000 (Coordinated Universal Time) Introduction Salesforce and Snowflake became strong technology partners more than a year ago. That partnership fruited prebuilt, bi-directional integration options between the two leading platforms in CRM and Data domains. The solution offers easy-to-use, point-and-click integration to push CRM data into Snowflake Data Cloud and also receive analytics data from Snowflake into Salesforce. The native Salesforce and Snowflake integration is built on top of Salesforce Tableau CRM (recently renamed CRM Analytics). Architecture From a technical perspective, there are 4 options that the Salesforce-Snowflake native data integration features can offer: View more...Upload Files to AWS S3 in JMeter Using GroovyAggregated on: Thu May 05 2022 19:20:47 GMT+0000 (Coordinated Universal Time) I use my personal AWS S3 to store all my personal and confidential documents. There are three primary reasons for choosing AWS S3: affordability, speed, and reliability. If you are working on the AWS cloud, the usage of S3 is inevitable. S3 plays a critical role in storing objects in hot and cold storage. Sometimes you need to upload a payload or file objects to S3 programmatically via your performance test script. This article will help you to upload files to AWS S3 in JMeter using Groovy. What Is S3? Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. View more...Use Lambda Function URL To Write a Serverless App Backed by DynamoDBAggregated on: Thu May 05 2022 18:50:47 GMT+0000 (Coordinated Universal Time) Lambda Function URL is a relatively new feature (at the time of writing this blog) that provides a dedicated HTTP(S) endpoint for your Lambda function. It is really useful when all you need is a single endpoint for your function (e.g. to serve as a webhook) and doesn't want to set up and configure an API Gateway. Looks like I can't seem to get enough of it! I have written a couple of blog posts on this topic that includes a practical example of using it to build a serverless backend and then deploying that solution using AWS CDK. This is yet another blog post (it's a short one!) that demonstrates how you can use Lambda Function URL to write a simple application backed by DynamoDB. You will be able to invoke an API endpoint exposed by the Lambda Function URL, which in turn will execute operations (GetItem, PutItem, Scan) on DynamoDB. The function is written in Go using the DynamoDB package in AWS Go SDK and AWS Serverless Application Model (SAM) is used to quickly build and deploy the solution. View more...Accelerating Similarity Search on Really Big Data with Vector Indexing (Part II)Aggregated on: Thu May 05 2022 17:50:47 GMT+0000 (Coordinated Universal Time) Many popular artificial intelligence (AI) applications are powered by vector databases, from computer vision to new drug discovery. Indexing, a process of organizing data that drastically accelerates big data search, enables us to efficiently query million, billion, or even trillion-scale vector datasets. This article is supplementary to the previous blog, "Accelerating Similarity Search on Really Big Data with Vector Indexing," covering the role indexing plays in making vector similarity search efficient and different indexes, including FLAT, IVF_FLAT, IVF_SQ8, and IVF_SQ8H. This article also provides the performance test results of the four indexes. We recommend reading this blog first. This article provides an overview of the four main types of indexes and continues to introduce four different indexes: IVF_PQ, HNSW, ANNOY, and E2LSH. View more...Upsert in SQL: What Is an Upsert, and When Should You Use One?Aggregated on: Thu May 05 2022 17:20:47 GMT+0000 (Coordinated Universal Time) Upserts are useful for anyone who works with a database to know, but the term "upsert" might not even appear in your DBMS's documentation! So what is an upsert, and why might it not be mentioned in your docs? View more...Creating Microservices in Nest.jsAggregated on: Thu May 05 2022 17:20:47 GMT+0000 (Coordinated Universal Time) Microservices can seem intimidating at first, but they're just regular applications at the end of the day. They can execute tasks, listen for requests, connect to databases, and everything else a standard API or process would do. We only call them microservices colloquially because of how we use them, not because they are inherently small. This tutorial will demystify the creation and operation of microservices for Node.js developers by creating a microservice using a popular Node.js framework, NestJS. We won’t go into detail about the design or architecture of NestJS applications specifically, so if you’re unfamiliar with the framework, I’d recommend you check out its docs first or skip to one of our Node.js samples that use Express directly. View more...Making Your SSR Sites 42x Faster With Redis CacheAggregated on: Thu May 05 2022 16:50:47 GMT+0000 (Coordinated Universal Time) Redis is an in-memory store that is primarily used as a database. You may have heard of Redis and heard how cool it is but never had an actual use case for it. In this tutorial, I'll show you how you can leverage Redis to speed up your Server Side Rendered (SSR) web application. If you're new to Redis, check out my guides on Installing Redis and creating key-value pairs to understand better how it works. In this article, we'll look at how to adjust your Node.JS Express application to build in lightning-fast caching with Redis. View more...Evolving Domain-Specific LanguagesAggregated on: Thu May 05 2022 14:35:47 GMT+0000 (Coordinated Universal Time) When designing domain-specific languages (DSL), the most critical choice is the selection of concepts that form the basis of the language. Sometimes concepts for the language come from the customer directly or from domain traditions. Sometimes the DSL developers force customers to use what they are already familiar with. Implementing these concepts in the DSL as close to the domain as possible is usually a good choice so the language will be readily understood by domain experts. However, instead of sticking to the existing domain concepts, it is also possible to evolve domain concepts by designing higher-level concepts based on existing concepts. In this article, I’ll demonstrate how such an evolution could be done using a classic state machine language as an example. State Machine Language Martin Fowler wrote a classic book called “Domain-Specific Languages.” This is a really good book, and I recommended reading it if you have plans to go into DSL design. The state machine sample from that book is copied from an article, and a lot of DSL framework developers and language workbench developers demonstrate the capabilities of their tools based on this state machine language. This language has become a kind of a DSL tool benchmark language. The sample is in the following code block (one of many variants. I've tried to compare to the one that is implemented for Xtext version of the language at the blog post by Sven Efftinge, “Martin Fowler's State Machine DSL with Xtext 2.3”): View more...6 Things Startups Can Do to Avoid Tech DebtAggregated on: Thu May 05 2022 01:35:46 GMT+0000 (Coordinated Universal Time) Imagine walking into this: "About 4 million lines of PHP code, written by underpaid, sometimes not well-meaning, freelancers and students over the span of 8 years. The CEO wrote a large part, but stopped learning new techniques around 2004." That's how bad tech debt can get when a startup is run without considering that all of those messy shortcuts will eventually have to get cleaned up. View more...Refactoring Java Application: Object-Oriented And Functional ApproachesAggregated on: Wed May 04 2022 22:35:46 GMT+0000 (Coordinated Universal Time) Java Refactoring Approaches Refactoring in Java has many aspects, but among all of them, there are two fundamentals: object-oriented and functional. Object-oriented existed almost from the first Java version, whereas functional appeared only with Java 1.8 (March 2014). Object-Oriented (OO) and Functional Approaches Java is a classical object-oriented language and allows the creation of flexible object structures. After Java 1.8 received functional features, it became capable to operate not only with objects or methods but with lambdas (which is executable code itself). In the functional world, you can operate with functions as with objects in the OO world. View more...Request Routing Through Service Mesh for WebSphere Liberty Profile Container on KubernetesAggregated on: Wed May 04 2022 21:50:46 GMT+0000 (Coordinated Universal Time) Introduction I will demonstrate how to request routing from service mesh to WebSphere Liberty Profile (WLP) application server Docker container image on Kubernetes. Further providing details about Istio Ingress gateway, Gateway, and Virtual service created on istio that routing traffic to Docker image with WLP installed. In the end, we will be seeing from Istio kiali dashboard request routing through Istio ingress gateway and another way directly hitting to service on Kubernetes. Environment Requirements 1. Refer to the following Kubernetes official website to install and configure the cluster with kubeadm, View more...What Are the Best Ways to Protect Your CAD/CAM Data?Aggregated on: Wed May 04 2022 20:35:46 GMT+0000 (Coordinated Universal Time) Computer-aided design (CAD) and computer-aided manufacturing (CAM) files are increasingly instrumental in planning and producing various products. However, you may initially overlook the possibility of cybercriminals targeting CAD and CAM files when orchestrating their attacks. A solid data security management plan can prevent data loss and unwanted outcomes. Here are some actionable suggestions. Ensure Everyone Only Uses Authorized Software Versions When people with limited budgets need expensive CAD/CAM software, some might turn to the internet to find “cracked” versions of the desired products. Creating a cracked version involves modifying the genuine title to remove a specific characteristic. For example, cracked software may no longer include the screen requiring a person to enter a software key to keep using the program after a free trial. View more...Removing JavaScript: How To Use HTML With Htmx and Reduce the Amount of CodeAggregated on: Wed May 04 2022 20:05:46 GMT+0000 (Coordinated Universal Time) HTML as the Center of the Universe The internet as we know it today is largely due to HTML and CSS. Javascript (JS) could act as a glue between them and make pages more dynamic and interactive, but the history of web programming developed differently. After the emergence of client-side rendering and other similar technologies, it became much more difficult to use JS to create web applications. What Is Htmx? Htmx is a library that allows you to create modern and powerful user interfaces with simple markup. Thanks to it, AJAX requests, triggering CSS transitions, calling WebSocket and server-sent events can be performed directly from HTML elements. View more...Test Plan and Test Strategy: Best Practices That Will Make Your Product Development a SuccessAggregated on: Wed May 04 2022 19:35:46 GMT+0000 (Coordinated Universal Time) Without a crystal clear understanding of the processes when a team works on a software product, it can be tempting to think that all the problems stem from under-qualified QA engineers who click around randomly and ruin the hard work of the whole team. However, the value and purpose of the quality assurance process are not transparent without documentation. That's where a test plan and test strategy can help. Even for those who are well aware of the processes, there's still the problem of measuring the quality QAs provide. If you don't measure quality, you don't have any control over the testing process or any ability to anticipate the results. So how should you know what exactly you paid for? View more...Migrating Secrets Using HashiCorp Vault and Safe CLIAggregated on: Wed May 04 2022 19:35:46 GMT+0000 (Coordinated Universal Time) Vault and Safe Vault is a secret management service by HashiCorp. It is a tool that will help you in storing secrets (API keys, passwords, etc.) and accessing them securely. You can use Vault with a user interface as well as through CLI. In this post, we will not be going deep into what Vault is, but instead, will look at how we can migrate secrets from one Vault to another. We can migrate secrets from Vault using Vault CLI, but it can get a little complicated to do so. Therefore, to make things easy, we will use Safe CLI, which is a wrapper around Vault. It will help us in managing and migrating our secrets by using simple commands. It also helps us connect to different vault instances very quickly for migration purposes. View more...Best Practices in Data Discovery: Building Search for a Data Discovery PlatformAggregated on: Wed May 04 2022 19:05:46 GMT+0000 (Coordinated Universal Time) Image by flashmovie from freepik The efficiency of data discovery depends on the user-friendliness of the UI and the features integrated into it to make it easier for users to look up the data they need. This article explores significant components of a user-friendly UI. In addition, it looks into specific measures that can be employed to increase the quality of search in the Open Data Discovery (ODD) Platform. View more...Proven Tips to Optimize the Performance of React Native AppAggregated on: Wed May 04 2022 17:50:46 GMT+0000 (Coordinated Universal Time) For modern mobile app developers, React Native is the most promising and viable framework took for developing cross-platform applications. Ever since the framework launched it never faded from the limelight and surpasses all other frameworks of mobile app development. However since React Native is a new app development framework, developers facing difficulties in improving its performance under certain scenarios. When an application requires more tabs, parallel processing, more controls, animations, navigations, and the inclusion of 3rd party libraries the framework becomes slow. However, the framework is on the verge of evolving according to the rising demands of developers, thanks to the continuous efforts of the React Native community people. View more...PostgreSQL EXPLAIN – What Are the Query Costs?Aggregated on: Wed May 04 2022 17:50:46 GMT+0000 (Coordinated Universal Time) Understanding the Postgres EXPLAIN Cost EXPLAIN is very useful for understanding the performance of a Postgres query. It returns the execution plan generated by the PostgreSQL query planner for a given statement. The EXPLAIN command specifies whether the tables referenced in a statement will be searched using an index scan or a sequential scan. When reviewing the output of EXPLAIN the command, you'll notice the cost statistics, so it’s natural to wonder what they mean, how they’re calculated, and how they’re used. In short, the PostgreSQL query planner estimates how much time the query will take (in an arbitrary unit), with both a startup cost and a total cost for each operation. More on that later. When it has multiple options for executing a query, it uses these costs to choose the cheapest, and therefore hopefully fastest, option. What Unit Are the Costs In? The costs are in an arbitrary unit. A common misunderstanding is that they are in milliseconds or some other unit of time, but that’s not the case. The cost units are anchored (by default) to a single sequential page read costing 1.0 units (seq_page_cost). Each row processed adds 0.01 (cpu_tuple_cost), and each non-sequential page read adds 4.0 (random_page_cost). There are many more constants like this, all of which are configurable. That last one is a particularly common candidate, at least on modern hardware. We’ll look into that more in a bit. View more...Usage of Java Streams and Lambdas in Selenium WebDriverAggregated on: Wed May 04 2022 17:20:46 GMT+0000 (Coordinated Universal Time) Overview: Java Streams and Lambdas Lambdas A lambda expression is a microcode that takes in parameter(s) and returns a value. Lambda expressions are similar to methods, but they are anonymous and they can be implemented right in the body of a method. Lambdas Syntax Java expression //to use single parameter & expression (parameter1, parameter2) -> expression //to use multiple parameters & expression (parameter1, parameter2) -> {code block} //to use multiple parameters & conditions, loops and more complex logic " data-lang="text/x-java"> parameter -> expression //to use single parameter & expression (parameter1, parameter2) -> expression //to use multiple parameters & expression (parameter1, parameter2) -> {code block} //to use multiple parameters & conditions, loops and more complex logic View more...Data Observability Doesn't Just Create Savings — It Drives Revenue, TooAggregated on: Wed May 04 2022 16:50:46 GMT+0000 (Coordinated Universal Time) When I talk to data teams about the benefits of data observability and data quality, it’s often framed to prevent the negative impacts of insufficient data: poor decision-making, lost revenue, and even the erosion of customer trust. With Gartner predicting that poor data quality costs organizations $12.9M per year, data observability becomes a no-brainer. View more...Data Insertion and Data Persistence in a Vector DatabaseAggregated on: Wed May 04 2022 16:20:46 GMT+0000 (Coordinated Universal Time) Data Insertion and Data Persistence in a Vector Database. In the previous post in the Deep Dive series, we have introduced how data is processed in Milvus, the world’s most advanced vector database. This article will examine the components of data insertion, illustrate the data model in detail, and explain how data persistence is achieved in Milvus. View more...Portfolio Architecture Examples: Retail CollectionAggregated on: Wed May 04 2022 15:50:46 GMT+0000 (Coordinated Universal Time) This article is a continuation of a series of posts about our project named Portfolio Architectures. The previous post, Portfolio Architecture Examples: Healthcare Collection, begins with a project overview, introduction, and examples of tooling and workshops available for the project. You may want to refer back to that post to gain insight into the background of Portfolio Architectures before reading further. Retail Collection The collection featured today is centered around architectures in the retail industry. There are currently seven architectures in this collection. We'll provide a short overview of each, leaving the in-depth exploration as an exercise for the reader. View more... |
|
|