News AggregatorThe Economics of TDDAggregated on: 2022-02-27 17:20:05 From a management standpoint, Test-Driven Development (TDD) can be a difficult sell. It involves a relatively large upfront investment, has no obvious business benefits, and (most important of all) the customer is paying for functionality, not tests. Tempting as it is to cut testing in order to reach the next milestone in the project, it is a mistake because, as we’ll see, TDD can help us accelerate development and reduce costs over a project’s lifecycle. View more...Cypress Automation TutorialAggregated on: 2022-02-27 17:20:05 What Is Test Automation? Test Automation is a way of verifying and validating test scenarios via specific tools and frameworks. QAs create automated scripts, feed them into automation tools that launch the application, run through the test scenario, and mark the test as passed or failed. Test Automation is recommended for repetitive scenarios only since it saves time and effort that would otherwise have to be put in by human testers. View more...Cross-Region Lambda Invocation in AWSAggregated on: 2022-02-27 16:50:05 AWS Lambda makes it easy to build highly available serverless applications quickly. However, setting up resources in multiple regions makes it difficult to manage the applications since cross-region access is limited by design in AWS for security and performance reasons. Fortunately, AWS makes it easy to access resources across regions in your intend to do so. In this example. I'll show you how to invoke a Lambda in one region from a Lambda in another region. View more...Pulsar in Python on Pi for SensorsAggregated on: 2022-02-27 16:50:05 I have a new Raspberry Pi with a Breakout Garden with a thermal camera, 1.12" OLED screen, and a CO2+ sensor. We first need to install the Pulsar Python Client, if you are running on certain architectures you will need to compile the Apache Pulsar C++ Client first. View more...Node.js vs. PHP: Modernity vs. TraditionAggregated on: 2022-02-27 16:50:05 For many years, both PHP and JavaScript have been on top of web development technologies popularity lists. These languages have a large audience, there's no shortage of developers using them daily, and the number of projects implemented with their use is uncountable. Besides, there are dozens of pretty popular frameworks that allow developers to make more with less coding, such as Laravel (PHP) or React (JS), for example. The thing is, PHP and JS are often considered phenomena from different worlds. JS is often seen as a tool exclusively for creating the frontend part of the web application and implementing user interaction functionality. PHP, in its turn, is a server scripting language that steers everything related to the back-end. However, there's a scenario where JS and PHP can compete in the same field. Node.js is a JavaScript framework that enables executing JS code on the server, making it an alternative to PHP. Today, we'll consider both these technologies' main pros and cons and the types of projects they will better suit. View more...Messaging Design Pattern (MDP) In JavaAggregated on: 2022-02-26 22:50:04 In this video tutorial below, we take a closer look at Messaging Design Pattern(MDP) in Java. This tutorial includes an introduction and implementation of a proxy, adapter, and web service. Let's get started! View more...How To Use Watchers in VueAggregated on: 2022-02-26 20:20:04 In any web application, it's normal to have input data that alters a page. For example, a user may update their username, or submit a post. In vue, we can watch for these changes using watchers. Watchers allow us to check on a specific data element or prop and see if it's been altered in any way. If you are brand new to Vue, get started with our guide on making your first Vue app here, before diving into watchers. View more...Spring Boot Delete User Details API Test Client Using Rest Assured | API Testing Using Rest AssuredAggregated on: 2022-02-26 20:20:04 In the below video, take a closer look at Spring boot- delete user details API test client using Rest Assured. Let's get started! View more...Tips for Optimizing Slow TestsAggregated on: 2022-02-26 18:50:04 From developers to testers, from business analysts to management, everyone in your organization must be committed to keeping tests in top condition. If you have an extensive test suite, you’ll need a plan to focus the effort. Check out our 5-step framework for identifying and optimizing slow tests if you’re not sure where to start. Software development is modulated by the tools supporting it. Of these, testing is the most widespread and has the largest impact. Keeping tests fast and responsive leads to improved productivity, better code quality, and higher deployment frequency. View more...Unusual Java: StackTrace Extends ThrowableAggregated on: 2022-02-26 18:05:04 There are things you can do in Java you rarely see, generally because there is no use for it. However, there are some unusual things in Java that could be surprisingly useful. Chronicle Software uses a number of different usual patterns in its low-level libraries most developers wouldn’t generally come across. View more...Using Watermarks in iText 7Aggregated on: 2022-02-26 17:35:04 Preface The iText 7 is a powerful library for PDF manipulation. This article is the third one in the dedicated series to the iText library. The previous articles in this series are: Introduction to iText 7 Using Barcodes in iText 7 There are several articles for adding a watermark into PDF (e.g. https://kb.itextpdf.com/home/it7kb/faq/how-to-watermark-pdfs-using-text-or-images). Unfortunately, none of them served me well. This led me to summarizing my investigation here. View more...Deployment Frequency vs. Development TimeAggregated on: 2022-02-26 17:35:04 Markets, competitors, and your business are constantly in flux. How quickly can you get new features, fixes, and functions in front of users? While there are multiple software-related factors that can impact business agility, two key ones are development speed and deployment cadence (frequency). View more...Using a Custom CockroachDB Image With Docker and KubernetesAggregated on: 2022-02-26 17:05:04 Motivation Cockroach Labs ships new images when a new maintenance release is available, typically on monthly basis. CockroachDB does not rely on the base OS image for any third-party libraries except for geospatial and kerberos packages. That said, OS images may be vulnerable to security exposures depending on their age. Given CockroachDB is written in Golang, replacing the OS can be a trivial task. Originally, CockroachDB image was shipped with a Debian OS image. CRL then switched to UBI to accommodate a wider scope of use cases including Red Hat OpenShift. UBI images are shipped regularly with CVE patches and given the nature of security vulnerabilities, it is common that the latest and greatest images may or may not have CVEs. Given the preamble, we're going to cover how to replace the base image for CockroachDB and use it in Kubernetes. View more...Developing and Testing Services Among a Sea of MicroservicesAggregated on: 2022-02-26 16:35:04 Microservices are great. They allow you to create large, complex applications using a large development team, without each team member needing to understand the complexities of the entire application. Each developer must understand only the service(s) for which they are ultimately responsible. However, with all the advantages of building microservice-based production services, very little attention is being paid to the complexities of how you test a microservice. While there are many options, one option stands out for most situations. View more...Kubernetes Hardening Tutorial Part 2: NetworkAggregated on: 2022-02-26 16:35:04 In the first part of this tutorial, we discussed how to enhance your Pod security in your K8s cluster. If you haven't read it yet, here's the link. Today, we will walk you through networking-related security issues in a Kubernetes cluster and how to enhance them. After reading this tutorial, you will be able to: View more...Unpacking MySQL Semi-Synchronous Replication: Durability, Consistency and Split-BrainsAggregated on: 2022-02-25 22:50:04 MySQL semi-synchronous is a plugin mechanism on top of asynchronous replication that can offer better durability and even consistency. It helps in high availability solutions, but can in itself reduce availability. In this article, we will look at some basics and follow up to present scenarios requiring higher-level intervention to ensure availability and avoid split-brains. Overview As a quick recap, semi-synchronous replication is a mechanism where a commit on the primary does not apply the change onto the internal table data and does not respond to the user until the changelog is guaranteed to have been persisted (though not necessarily applied) on a preconfigured number of replicas. We limit our discussion to MySQL 5.7 or equivalent. View more...Introduction to DevSecOpsAggregated on: 2022-02-25 22:20:04 With DevSecOps, you can reach higher security standards while following DevOps principles. This Refcard will show you how to get started with DevSecOps with key themes, crucial steps to begin your journey, and a guide to choosing security tools and technologies to build your DevSecOps pipeline. View more...DataWeave Tip #8: The write FunctionAggregated on: 2022-02-25 19:50:03 Originally published February 26, 2019Recently I have been working on a really simple case. When an HTTP server returned an error and a non-empty body, I needed to embed this body into an error structure. Although this is a simple case, I got a problem with implementing it in Mule 4. In the previous Mule edition, it was a little bit simpler. So let's see what it is all about. Case First, we have a look at the case that I have to implement. I have a mule application that is calling an external HTTP server via an HTTP request component. When the server responds with an error like 4xx, 5xx, and the returned body will is not empty, we would like to forward that response to the calling application. View more...Using Google Analytics: Universal Analytics Enhanced Ecommerce to Analyze User InteractionsAggregated on: 2022-02-25 18:50:03 Using traditional e-commerce data analysis tools, we can only analyze the order sales data of products, and cannot have a global understanding of product conversion. Google Analytics: Universal Analytics Enhanced e-commerce provides great convenience for developers to understand customer behavior and sales results, thus exploring many new opportunities. With the enhanced e-commerce function, developers can easily track user interactions with your product during their shopping journey. Such interactions include product displays, product clicks, viewing product details, adding the product to the shopping cart, checking out, transactions, and refunds. View more...Develop XR With Oracle Cloud, Database on HoloLens, Ep 2: Property Graphs, Data Visualization, and MetaverseAggregated on: 2022-02-25 16:05:03 This is the second piece in a series on developing XR applications and experiences using Oracle.The first piece can be found here. Again, I will specifically show applications developed with Oracle database and cloud technologies, HoloLens 2 (Microsoft Mixed Reality Headset), MRTK (Mixed Reality Toolkit) APIs (v2.7.2), and Unity (v2021.1.20f) platform. View more...Object Relational Behavioral Design Patterns in JavaAggregated on: 2022-02-25 15:05:03 In this video tutorial, we take a closer look at Object Relational Behavioral Design Patterns in Java. This tutorial includes an Identity Map, Unit of Work, and Lazy Load. Let's get started! View more...Distributed Tracing System (Spring Cloud Sleuth + OpenZipkin)Aggregated on: 2022-02-24 23:05:03 When we build a microservice architecture and the number of services keeps growing, we face the problem of debugging and tracing requests through our entire system. What happened when a user got a 500 error on his request? What service incorrectly processed his request? All these questions can be solved by the Distributed Tracing System. Let's take Spring Cloud Sleuth as an example. How Spring Cloud Sleuth Works To trace a request through a distributed system, the concepts TraceID and SpanID are introduced. TraceID is generated when a request enters our system and remains unchanged throughout its path. SpanID changes as the request passes from one service to another. If necessary, it is possible to generate new spans within one service to distinguish business processes. View more...Pulsar on KubeSphere: Installing Distributed Messaging and Streaming PlatformAggregated on: 2022-02-24 23:05:03 KubeSphere, an open-source container platform running on Kubernetes, provides users with an app-centric experience. In this connection, it features a comprehensive set of tools for developers to manage apps across their entire lifecycle. In this article, I will demonstrate how to install Apache Pulsar on a KubeSphere cluster as an example. Apache Pulsar, a cloud-native, distributed messaging and streaming tool, represents a go-to platform to meet the real-time event-streaming needs of enterprises. Before You Begin To install Pulsar on KubeSphere, you need to do the following beforehand: View more...Top 7 Digital Transformation Trends Lead the Business in 2022Aggregated on: 2022-02-24 22:35:03 The era of digitization is full of swing. Digital transformation buzz around the world has become the new norm for most enterprises. This ongoing pandemic affected every industry, compelling large and small enterprises to change systems and processes for smooth operations. According to BCG digital transformation report, only 30% company successfully navigate the digital transformation journey. When the technology landscape is shifting rapidly, it’s vital to stay on top of trends so that you don’t get left behind. To keep you updated on the recent changes in the industry, in this article, we will dig deeper into the top digital transformation trends that are going to play a central role in 2022. View more...Log4Shell: A Case for Trusting Open Source – With GuardrailsAggregated on: 2022-02-24 22:35:03 Along with a host of frenzied updates and patches, Log4Shell brought something else to the table: an intense renewed scrutiny among business leaders and governments around “open source.” What most of these critics are not aware of is that much of the software powering their success isn’t created by commercial vendors, but is created by volunteers and that some of their most critical systems use open-source software. Furthermore, most critics can’t confidently point to a list of all the open-source software powering their own success. Similar to the response we’ve seen to major incidents like HeartBleed, Dirty Cow, and the Equifax experience with Apache Struts, governmental reviews are underway, and some are seeking to replace the “bad open-source component” – in this case, log4j – with a “more secure alternative.” But there is an important aspect of open source in modern society that is being overlooked in these scenarios – it’s highly trusted. View more...Making a To-do List App in VueAggregated on: 2022-02-24 22:05:03 In this tutorial, we're going to be making a to-do list application with Vue. This is a follow on from my tutorial on creating your first ever vue application. Follow that tutorial if you need help getting started. Since the best way to learn is to try making something yourself, this guide should give you a good starting point to understand how Vue works. Ultimately, our todo list app will look a little like this: View more...Expert: Bestpal (Chatting) Application Using Huawei Clouddb, Auth Service, Cloud Function, and Push KitAggregated on: 2022-02-24 22:05:03 Introduction In this article, we will learn about chat options between two people, including how they can share texts with each other. The application needs to have instant messaging so once a user sends the message to a friend over the application, the friend will receive the push notification at the given time. The quintessence of an app like the instant application is available and reacts to ongoing actions. Also, push notifications can be an excellent promotional tool that can be used to inform users about updates and new functionalities. View more...Save hours on your setup of K8ssandra with the new config builderAggregated on: 2022-02-24 20:50:03 Setting up K8ssandra in your workflow just got a whole lot easier. With the new Config Builder you can be running Apache Cassandra® on Kubernetes in a matter of minutes. The purpose of K8ssandra is to make it easy to run Apache Cassandra® on Kubernetes. We recently took another big step in that direction by releasing the K8ssandra config builder. View more...Why GitOps Is So Important to Businesses TodayAggregated on: 2022-02-24 20:20:03 Why Gitops Matters for Business Success At a recent event, Weaveworks’ Chief Operating Officer Steve George explained exactly why GitOps is so important to businesses. It’s an important point to make because, as a fast-growing technological approach, GitOps is usually discussed from the perspective of the technologist. As a result, most practitioners are now familiar with the concept of GitOps, if not the practical details. In the boardroom, however, knowledge levels remain low – despite the fact that a significant body of data now suggests that GitOps delivers measurable business value. In the video, Steve explains three things: View more...How To Reuse Your Ansible Roles To Build Docker Images With PackerAggregated on: 2022-02-24 20:20:03 In this article, I will show you how to reuse your Ansible roles to build Docker images using Packer.If you are like me, you have probably used Ansible for a while. You probably have Ansible roles that you use to install and manage software on-premise and VM. Now you want to reuse those roles to build your own custom Docker images to use for development, testing, or production. This is possible and very useful with minor changes to the Ansible roles. In fact, with Docker, you start with a very minimalistic environment and you can't take for granted some components that you will find preinstalled on major Linux distros. View more...Deploying Concourse CI on AliCloud KubernetesAggregated on: 2022-02-24 19:05:03 In this article, I'm going to show you how to deploy Concourse CI in the Alibaba Cloud-managed Kubernetes service with a Helm chart. After that, we will set up a simple pipeline in Concourse CI with Fly CLI. Concourse CI is a nice automation tool that brings YAML native CI/CD pipelines to your Kubernetes cluster. High-level overview: View more...Session State Design Patterns in Java: Client, Server, and Database Session State Design PatternsAggregated on: 2022-02-24 18:50:03 In the video below, we take a closer look at Session State Design Patterns in Java including the client, server, and database session state design patterns. Let's get started! View more...The Future Trends Driving Open-Source Database ProgramsAggregated on: 2022-02-24 17:35:03 Introduction There are now thousands of options for deciding what open source project to choose for in-house development or what project to join as a contributor. According to the open-source Wikipedia page, there are “more than 180,000 open-source projects available and more than 1,400 unique licenses, the complexity of deciding how to manage open-source use within ‘closed-source’ commercial enterprises has dramatically increased.” There are infinite combinations for what an open-source tech stack might look like for a given project. However, the petabytes of data these apps produce will end up in one location: Databases. And specifically, open-source databases, tools, and middleware to optimize and access that data. So, if you want to back a winner in choosing a project to contribute to or build upon, open-source database programs are a good bet. What is driving the shift from proprietary, vendor-driven innovation to the open-source model for data management? We outline the top trends shaping the future of open source database programs. And if you have not started by joining an open-source project, we highlight a few example projects where you can help lead the way. Cloud Computing and SaaS The one-two punch of open source code repositories and cloud computing have permanently disrupted tech innovation. ‘Data is new oil’ has collided with ‘software is eating the world’ to create the SaaS industry. And it’s all in the cloud. Developers can scale services to fit their needs, customize applications, and access cloud services from anywhere, on any device with an internet connection. For users, SaaS software is already developed ‘out of the box’ and automatically paired with a database where the expectation is that any action or query performed in the software will get an instant response whether on desktop or mobile. In a sense, this all works like magic to users but to developers, it’s a daily challenge to come up with new computing models and code to keep it all running. Open-source communities have become the engine that drives this innovation. Under this relatively new computing model, developers can get applications to market quickly, without heavy investments in infrastructure costs and maintenance. This was simply not possible 20 years ago. It’s turning virtually every company into a software-driven company. The cloud, paired with open source databases, gives developers access to the innovative storage and access technologies available to the Amazons and Googles of the world, beyond what proprietary vendors can possibly do to keep up. In its latest quarter reported in September 2021, Oracle’s proprietary database license revenue was down 8% over last year, but its cloud business was up 40%. Take traditional banks with their proprietary databases and code. Suddenly they find themselves competing for share-of-wallet with challenger banks like Chime. Chime only exists in the cloud (they have no branches) and present itself as a mobile-first banking SaaS app. They have built a billion-dollar company using a cloud-first, open-source strategy that established banks are scrambling to equal. Hybrid Cloud Hybrid Cloud is where the open-source databases will shine. As the name implies, hybrid clouds use a combination of on-premises, private cloud, and third-party cloud services with orchestration between the platforms. Common applications work between the models. This configuration has grown recently to support the need by enterprises to keep certain workloads on-premises while enjoying the benefits the cloud has to offer. Open source allows them to have a common set of tools, even if the databases are different, that are adapted to all environments for use cases such as disaster and recovery and balancing workloads. Big Data The rapidly increasing volume and complexity of data are due to growing mobile traffic, cloud-computing traffic, and the proliferation of new technologies including IoT and AI. According to Research And Market’s 2020 report on data usage, over 2.5 quintillions (that’s 1018) bytes of data are generated every day. The need is for constant innovation in data storage and retrieval to keep up. Open source is showing itself to be the best approach to innovation in data science, along with hardware optimization and coding efficiency. Data is the most crucial reason open-source database projects will remain among the most popular (second only to operating systems). It keeps piling up, and new applications like IoT and social media produce vast amounts of it daily, and in high volume, at high velocity, and highly variable formats. There need to be ways to analyze all this data, at scale. This is where open-source databases are outperforming traditional ones. Even though the dynamics of open source and community-developed projects have changed in recent years, communal development is still the best way to promote innovation in data access for 99% of the applications out there. Database Agnostic Tools and Middleware The new reality is a technology universe where firms have a more distributed approach to database services. The need is to explore multiple database instances from various database vendors to create hybrids that can be hosted on-prem, cloud or both, but simplified by a standard set of tools and middleware to access the data. Whether the database is SQL or NoSQL there is a commonality underpinning modern relational databases in tables, rows, and columns. This evergreen structure allows new access tools to emerge that unite data distributed across hybrid infrastructures. For example, open-source solutions such as ShardingSphere have SQL agnostic tools to query and retrieve data across distributed data stores. Call it a fear of commitment on the part of customers, but the trend is that customers don’t want to be locked into a single massive vendor like Microsoft or IBM anymore. Source Code Access Vendor lock-in was considered a good thing 30 years ago. You had one ‘neck to choke’ if something went wrong, and the vendor had a staff of engineers on hand to patch and update continually. You also paid a fortune for the licenses and a hefty annual fee to support and upgrade the software. A single Oracle-based app in the enterprise can have a lifetime cost running into the millions of dollars, just for the database software and maintenance, not including development. Vendor lock-in is no longer cool in the era of agile development and ‘break things fast’ code sprints. The key to open-source is the ‘source’ part. Having access to communally curated source code allows developers to make changes based on their needs and priorities, not of the software vendor. Open Source Communities Access to the source code is not just valuable to a single developer or company. It’s valuable to the entire ecosystem of open-source community members. It’s a virtuous cycle where the more people contribute to make the software stable and useful, the more people will join a project, and so on. Much like how a good blog post or a tweet spreads virally, great open-source software leverages network effects. It is the community that is the source of promotion for that virality. Dozens of contributor communities and thousands of developers worldwide are happily iterating open-source code for database projects built natively as distributed systems from the ground up. If worked on by a diverse community, this approach leads to more stable software than a single team of developers hacking away at bugs in a proprietary system. Examples of forward-thinking open-source database communities include Apache ShardingSphere, CockroachDB, Yugabite, and ClickHouse. For example, ShardingSphere has over 450 contributors to its open-source codebase in Asia alone and is spreading rapidly around the world. Significant growth in contribution and adoption for database software is certain in the coming years as companies demand ever greater access, speed, and control of their growing data streams. Momentum is on the side of open-source database projects. There are rich communities of open source contributors who worked out the major flaws of 0.x versions, create libraries, repositories, documentation, and even YouTube videos to ‘pay it forward’ for new contributors. A 2020 survey by O’Reilly Media and IBM polled 3,400 developers and tech managers in 2020. The survey reported: 94% of respondents rated open-source software equal or better than proprietary software. 70% of respondents preferred open-source cloud providers. 65% of respondents agreed that contributing to open-source projects results in better professional opportunities. The Virtual Software Catalog Open-source apps are easy to find. Do a Google search for an app like ‘open-source data back up and restore’ and the top result shows there at least 17 of these in the top search result, ‘The Top 17 Free and Open Source Backup Solutions’, and probably many more. As of Jan 2020, GitHub reports having 40+ million users and 190+ million repositories (including 28 million public repositories). You can search GitHub in many ways, for example, GitHub supports advanced search in certain fields, like repository title, description, and README. If you want to find some cool repository to learn database stuff, you can search like this: in:name database. You are more likely to find a relevant solution ready to modify in the open-source software universe than in a proprietary product suite. CIOs and Security More than two-thirds of CIOs are concerned about losing their freedom to cloud providers. As a result, this has become another main driver of open-source database adoption. In the age of ransomware, data security is a matter of survival for enterprises. Open-source technology enables organizations to take complete control over their security needs by providing full access to source code and configuration to extend the software however they like. There is certainly a counter-argument to the security of open-source. Rapid adoption by enterprises seems to be settling the argument in favor of open-source. No company will remain untouched by the power of open-source database progress. Emerging Examples As this multiverse progresses, we will experience a tapestry of emerging technologies that will become the top choice for open-source database programs. As an example, the emerging open-source ecosystem provided by Apache Shardingsphere with their technology agnostic distributed database plug and play modules provides ease of use and adoption for developers as contributors or in the enterprise. Kubernetes (the cloud container orchestration technology by Google is now open source) is another key API of choice for open-source database deployments that programmers can benefit from. In the next 5 years, open-source development will be driven by necessity. Industry trends predict that open-source won’t be an option, it will be the standard. As a result, corporations will have to embrace it to stay relevant. View more...The Best Node.js IDEs in the Market Right NowAggregated on: 2022-02-24 16:35:03 The demand for Node.js specialization has been at a peak for quite some time. This is not surprising, since it is not every day that one comes across an environment that provides extensive cross-platform features and is also great at making a Javascript code run even in the absence of a web browser. In fact, 85% of the node.js users actually use it for the purpose of web development! However, it is also important to make sure that the code we want to run has been properly edited and put through debugging before actually running it. This is where an Integrated Development Environment (IDE) comes in. View more...How Much Does It Cost To Create a Flutter App in 2022?Aggregated on: 2022-02-24 16:05:03 Due to Google’s unwavering support and developer’s confidence in the language, cross-platform app development is increasingly becoming a primary approach by all top mobile app development companies today. Yet the concept of app development using Flutter is new to the market. Especially the app development cost and why one should opt for the same. View more...Kubeflow Machine Learning Tips and Tricks – February 2022Aggregated on: 2022-02-24 14:35:03 Without wasting any time, let’s dive right in! Your Questions Our Answers 1. Is there a way to auto-stop notebooks that are idle for a long time, such as overnight? We are looking to reduce resource usage. View more...How Much Does It Cost To Create a Flutter App in 2022?Aggregated on: 2022-02-24 13:35:03 Due to Google’s unwavering support and developer’s confidence in the language, cross-platform app development is increasingly becoming a primary approach by all top mobile app development companies today. Yet the concept of app development using Flutter is new to the market. Especially the app development cost and why one should opt for the same. This article shares essential information on why Flutter app development is trending and what are reasons one should opt for it. View more...Tips for Managing Multi-Cluster Kubernetes Deployment With High EfficienciesAggregated on: 2022-02-24 13:05:03 Kubernetes is emerging as the go-to solution for managing complex app development environments. According to a study conducted by Statista, the market share for Kubernetes technology in 2021 was as high as 5.49%. The study also predicts that by 2024, the revenue figure for such container management services and software would be as high as $944 million. By helping development professionals manage containerized applications with high efficiency and runtime environment specificities, this technology is paving the way for a hassle-free mechanism for running complex, multi-container environments and parallel development workflows on the same hardware. View more...Debugging Tutorial: Java Return Value, IntelliJ Jump to Line, and MoreAggregated on: 2022-02-24 11:35:03 Introduction I just published the 3rd episode of the "140 Second Duckling" tutorial series and I'm getting into the rhythm of doing them. I posted the 2nd episode last week and in this post, I'll dig deeper into both. I tackled a lot of basic stuff about debugging but I picked two big headliners that a surprising amount of developers aren't familiar with. E.g., how many times did you step over a return statement and cursed? View more...Keith Jarrett's Agile CraftsmanshipAggregated on: 2022-02-24 11:05:03 Many non-technical skills, qualities, and mindsets are part of software craftsmanship. Today I want to talk about two: Resilience Improvisation Resilience helps us cope with difficulties by not giving up too soon. Improvisation deals with compromise and creativity in the face of the unexpected. The intuition to distinguish negotiable best practices from unchangeable truths is what agility is about. In earlier posts, I drew analogies between people from art and fiction (Stanley Kubrick, Woody Allen, and Gomer Goof). View more...The Ultimate Guide on Client-Generated IDs in JPA EntitiesAggregated on: 2022-02-24 11:05:03 ID generation in the client instead of the database is the only option for distributed apps. But generating unique IDs in such apps is hard. And it's essential to generate them properly because JPA will use IDs to define entity states. The safest option is to use UUIDs and Hibernate's generators, but there are more options starting from custom generators to dedicated ID generation servers. In the previous article, we discussed server-generated IDs for JPA entities. All the ID generation strategies described in the article are based on one fundamental principle: there is a single point that is responsible for generating IDs: a database. This principle might become a challenge: we depend on a particular storage system, so switching to another (e.g., from PostgreSQL to Cassandra) might be a problem. Also, this approach does not work for distributed applications where we can have several DB instances deployed on several data centers in several time zones. View more...Automated CI/CD of Multiple Projects Using TeamCity’s Kotlin DSLAggregated on: 2022-02-23 23:35:02 In a previous article, I described a way to organize low-latency products as multiple code bases which are bound together with a Maven Bill of Materials (BOM). Understandably, this requires setting up continuous integration and deployment for a large number of similar projects. Maintaining such a setup manually in the face of change while ensuring its consistency will take a lot of effort. In this article, I will describe how the team at Chronicle Software has tackled these issues in different projects by writing code that does this for us, in the form of Kotlin DSL for TeamCity. This guide will show how to configure the same set of CI/CD builds for multiple Maven project repositories of similar layouts programmatically, following the DRY (don’t repeat yourself) principle. Following it will require a base knowledge of git, Maven, and TeamCity but would not require knowledge of the Kotlin language, since all of the displayed code is self-explanatory. View more...Building a Kotlin Mobile App with the Salesforce SDKAggregated on: 2022-02-23 21:35:02 Nowadays, users expect mobile apps to act as counterparts to the websites and platforms they use on the web. Mobile applications give users the ability to carry their data with them, granting them the flexibility to interact with platforms wherever they go. This usability makes sense, and we are all familiar with it. Developing a mobile experience that’s seamlessly integrated with the functionality of your website can be intimidating. For starters, how should you store and retrieve data if the mobile app loses connectivity? What happens when two mobile users try to update the same data at the same time? How can you just make sure your app’s data is in sync, given that it has limited storage space? View more...AWS DevOps Engineer Salary: The Ultimate Guide for 2022Aggregated on: 2022-02-23 17:50:02 If you are looking to venture into the DevOps market, it’s essential to be well informed about the state of the market. Most importantly, you need to know the difference in DevOps Engineers’ salaries in the US for entry-level salaries and how wages grow with years of experience. Apart from that, you also need to choose which of the three certifications (AWS, GCP, and Azure) may set you on the road to a well-paying career. In this article, we explore all you need to know about the salary range for AWS DevOps Engineers looking to work in San Francisco, California. View more...AI Is Not New, So Why Are We Seeing an Explosion in AI’s Capability?Aggregated on: 2022-02-23 17:50:02 Digging Into the ‘Why Now’ Question Behind the AI Explosion Researchers, academics, and philosophers have been trying to endow machines with human-like capabilities since antiquity, but most historians would trace the beginning of AI as we know it today to the Dartmouth Summer Research Project on Artificial Intelligence (AI) over the summer of 1956 (“Dartmouth workshop,” 2020). In the 60+ years since that kickoff, researchers have tried many techniques to model intelligence, with two major schools of thought emerging – with “Classical AI” as distinct in theory and practice from “Modern AI”. Classical AI Classical AI relies on machines operating autonomously within a set of logical rules. Building AI meant representing the world in a set of data structures (such as trees or lists or sets) and then using rules (such as and, or, if-then-else, and so on) to reason within that knowledge space. For example, one can create rules-based translation software by representing language as a set of words, and then perform machine translation by translating those words from one language to another, and then reordering the words within defined rules regarding the order of nouns and verbs, and adjectives. View more...Top 10 Infrastructure as Code (IaC) Tools for 2022Aggregated on: 2022-02-23 15:50:02 Introduction Infrastructure as Code (IaC) revolutionized how companies design and build IT infrastructure by providing a reliable and robust way from the ground up. IaC allows DevOps teams to set up infrastructure resources, e.g., load balancers, virtual machines, and networks, using descriptive models and languages. Previously, setting up a large number of physical servers could take several hours. Now, with the correct IaC tool, you can have these servers entirely configured and ready to run in production in a fraction of the time. View more...Realtime Challenges for Audience EngagementAggregated on: 2022-02-23 11:50:02 What Is Audience Engagement? A simple example of online audience engagement could be a Livestream with a host and a chat system for audience members to interact with each other in real-time. Other audience engagement solutions include features such as chat or QAs for participants to communicate while sharing an experience, such as a Watch Party, polls, quizzes, and leaderboards. Device and User Presence One aspect of audience engagement is the ability to know who’s participating in a virtual event or a user’s “presence”. Closely linked to presence is the user’s state, for essential functionality such as indicators when someone is typing a message into a chat window, or the real-time location of a device. View more...Data Mapping Best Practices | A Brief Guide to Types, Approaches, and ToolsAggregated on: 2022-02-23 11:50:02 Mapping data between software applications is a time-consuming process that requires in-depth preparation and strategy, good knowledge of data sources and targets, and depending on your approach, hands-on development. In any application integration, data migration, and in general, any data management initiative, data mapping is one of the most critical steps. One could even argue that the integrations project success depends largely on correct mapping of source to target data. View more...I Trained a Machine Learning Model in Pure SQLAggregated on: 2022-02-23 10:50:02 In the article Deep Neural Network implemented in pure SQL over BigQuery, the author claimed to use pure SQL to implement a deep neural network model. But after I opened his repo, I found that he used Python to implement iterative training, which was not truly pure SQL. In this post, I’ll share how I trained a machine learning model in pure SQL on TiDB, an open-source distributed SQL database. Major steps included: View more...Trino, Superset, and Ranger on Kubernetes: What, Why, How?Aggregated on: 2022-02-23 10:05:02 This article is an opinionated SRE point of view of an open-source stack to easily request, graph, audit and secure any kind of data access of multiple data sources. This post is the first part of a series of articles dedicated to MLOps topics. So, let’s start with the theory! What Is Trino? Trino is an open-source distributed SQL query engine that can be used to run ad hoc and batch queries against multiple types of data sources. Trino is not a database, it is an engine that aims to run fast analytical queries on big data file systems (like Hadoop, AWS S3, Google Cloud Storage, etc), but also on various sources of distributed data (like MySQL, MongoDB, Cassandra, Kafka, Druid, etc). One of the great advantages of Trino is its ability to query different datasets and then join information to facilitate access to data. View more... |
|
|