News AggregatorMigrating From Heroku To RenderAggregated on: 2022-05-13 22:50:52 From time to time, there are words or phrases that I hear repeated enough to the point where I eventually think, “Hmm, I should check this out.” Render was one of those words. On Twitter, I have seen various conversations where people want to migrate from Heroku to another service. Some of the issues people have raised include: View more...Building a Kotlin Mobile App with the Salesforce SDK, Part 3: Synchronizing DataAggregated on: 2022-05-13 22:05:52 This is our final post in our three-part series demonstrating how to use the Salesforce Mobile SDK to build an Android app that works with the Salesforce platform. In our first post, we showed you how to connect to your org. Our second post showed you how to edit and add data to your org from your app. This post will show you how to synchronize data from your Salesforce org to your mobile device and handle scenarios such as network loss. Let’s get right into it! Working With Mobile Sync One of the hardest aspects of mobile development is dealing with data synchronization. How do you handle the situation when you need to add a new broker, but you’re offline? Or what if two agents are updating the same broker: how can you handle the merging of those two changes? View more...Open-Source Schema-Driven Asset Management Tool Designed to Enhance Climate ResilienceAggregated on: 2022-05-13 21:35:52 This article is an introduction to a community-led open-source critical asset management project called CAMS. The article provides some context to the project origin as well as some examples of the application schema and queries to provide an understanding of its build. It is based on a graph database and is aimed at helping nations, cities, and communities build their climate resilience. Hurricane Maria Climate change is warming the temperatures of the seas. This is causing dire troubles for island nations, cities, and communities. Tropical storms are becoming more frequent and ferocious and battering these places with merciless force. View more...A Guide to Events in VueAggregated on: 2022-05-13 20:50:52 As with any framework, Vue lets us add reactivity to our applications and websites through events. The great thing about Vue events is they mimic vanilla Javascript, so all the events you're used to using in Javascript can also be used in Vue. Vue Basics If you are brand new to Vue, I would recommend reading my guide on making your first Vue application or creating components in Vue first. View more...How to Upload/Download a File to and From the Server?Aggregated on: 2022-05-13 20:05:52 In the video below, we take a closer look at how to upload/download a file to and from the server? Let's get started! View more...4 Different Ways to Work With Nebula Graph in Apache SparkAggregated on: 2022-05-13 20:05:52 A common question many Nebula Graph community users have asked is how to apply our graph database to Spark-based analytics. People want to use our powerful graph processing capabilities in conjunction with Spark, which is one of the most popular engines for data analytics. In this article, I will try to walk you through four different ways that you can make Nebula Graph and Apache Spark work together. The first three approaches will use Nebula Graph’s three libraries: Spark Connector, Nebula Exchange, and Nebula Algorithm, whereas the fourth way will leverage PySpark, an interface for Spark in Python. View more...How to Perform Visual Regression Testing Using CypressAggregated on: 2022-05-13 20:05:52 Software testing is a critical phase of the SDLC process. Early testing saves a lot of cost and effort — low-quality software can lower customer retention by impacting user engagement negatively. It is therefore essential to build software that is bug-free to increase sales and make the product that much more popular. There are different types of testing, such as smoke, sanity, integration, regression, unit testing, and API testing. Regression testing is one of the most important kinds of testing, especially when new features or updates are added to an existing application. View more...Real-Time Supply Chain With Apache Kafka in the Food and Retail IndustryAggregated on: 2022-05-13 19:05:52 The supply chain in the food and retail industry is complex, error-prone, and slow. This article explores real-world deployments across the end-to-end supply chain powered by data streaming with Apache Kafka to improve business processes with real-time services. The examples include manufacturing, logistics, stores, delivery, restaurants, and other parts of the food and retail business. Case studies include Walmart, Albertsons, Instacart, Domino's Pizza, Migros, and more. The Supply Chain in the Food and Retail Industry The food industry is a complex, global network of diverse businesses that supplies most of the food consumed by the world's population. It is far beyond the following simplified visualization :-) View more...Modernize Legacy Code in Production: Rebuild Your Airplane Midflight Without CrashingAggregated on: 2022-05-13 18:35:52 I spent over a decade as a consultant working for dozens of companies in many fields and pursuits. The diversity of each code base is tremendous. This article will try to define general rules for modernizing legacy code that would hopefully apply to all. But it comes from the angle of a Java developer. When writing this, my primary focus is on updating an old Java 6 era style J2EE code to the more modern Spring Boot/Jakarta EE code. However, I don’t want to go into the code and try to keep this generic. I discuss COBOL and similar legacy systems too. Most of the overarching guidelines should work for migrating any other type of codebase too. View more...The Right Way to Hybridize Your Product Development TechniqueAggregated on: 2022-05-13 17:35:52 In this post, we'll be talking about how to combine the best aspects of two different product development techniques to create a hybrid approach that saves you time and money while helping you avoid risks to your company. Introduction You see, creatives (myself included) are often very passionate about what we do and would love nothing more than to do it all on our own. View more...Best Practices for Resource Management in PrestoDBAggregated on: 2022-05-13 15:20:52 Resource management in databases allows administrators to have control over resources and assign a priority to sessions, ensuring the most critical transactions get a significant share of system resources. Resource management in a distributed environment makes accessibility of data more accessible and manages resources over the network of autonomous computers (i.e., Distributed systems). The basis of resource management in the distributed system is also resource sharing. PrestoDB is a distributed query engine written by Facebook as the successor to Hive for the highly scalable processing of large volumes of data. Written for the Hadoop ecosystem, PrestoDB is built to scale to tens of thousands of nodes and process petabytes of data. To be usable at a production scale, PrestoDB was built to serve thousands of queries to multiple users without facing bottle-necking and “noisy neighbor” issues. PrestoDB makes use of resource groups in order to organize how different workloads are prioritized. This post discusses some of the paradigms that PrestoDB introduces with resource groups, as well as best practices and considerations to think about before setting up a production system with resource grouping. View more...Flutter vs React Native. How to Cover All Mobile Platforms in 2022 With No HassleAggregated on: 2022-05-13 14:50:52 Mobile app development is a must for any business that pursues top-notch customer experience. When we hear about a new exciting product or service appearance, in most cases, we won’t ask ourselves whether the company provides mobile app support or not. Instead, we grub our smartphones, always at hand, to decide if a new app is worthy of becoming our day-to-day companion. The current state of technology frees us from the need to reinvent the wheel. There’s no more need to hire several teams to build mobile apps for different platforms since the cross-platform approach helps erase the difference between them. Today, we will look at Flutter and React Native to decide who outplays who in terms of community, performance, and other factors. Who Is Who in the World of Cross-platform Development Flutter is Google’s invention. One of the main distinctive features of Flutter enables programmers to use the same code base for creating an app that will work in browsers and on mobile devices. So if you're on a tight budget and want to cut costs of reaching both mobile and web users, it can be a decent choice. View more...Rebuild System Databases in SQL ServerAggregated on: 2022-05-13 12:20:52 In this article, we will talk about system database corruption. It means that one or more system databases are corrupted. Corruption in system databases, such as master databases, is a big problem because SQL Server will stop. Let’s see how to fix this problem. About System Databases System databases are databases used internally by SQL Server and are necessary for its operation. View more...Debugging Deadlocks and Race ConditionsAggregated on: 2022-05-12 21:50:51 Thread debugging has the reputation of being one of the most arduous tasks for developers. I beg to differ. Asynchronous debugging is so much worse. It’s supposed to solve threading problems, and to some degree, async helps… But it doesn’t make debugging simpler. I will get into that in the next post. Today we'll discuss the process of debugging threading issues and dealing with deadlocks and race conditions in the debugger. View more...Time Synchronization in Distributed Systems: TiDB's Timestamp OracleAggregated on: 2022-05-12 21:20:51 Today, distributed databases lead the market, but time synchronization in distributed systems remains a hard nut to crack. Due to the clock skew, the time in different nodes of a distributed database cannot be synchronized perfectly. Many computer scientists have proposed solutions such as the logic clock by Leslie Lamport (the 2013 Turing Award winner), the hybrid logical clock, and TrueTime. PingCAP’s TiDB, an open-source distributed NewSQL database, adopts timestamp oracle (TSO) to deliver the time service and uses a centralized control service — Placement Driver (PD) — to allocate the monotonically increasing timestamps. View more...IoT Product Development Guide for StartupsAggregated on: 2022-05-12 19:50:51 Ninety percent of companies in the 2021 Microsoft IoT Signals survey have already adopted the Internet of Things solutions to reduce operating costs, unlock additional revenue streams, and gain a competitive edge. Yet, 35% of IoT projects stall at the proof-of-concept (POC) stage, while 75% of all IoT initiatives never materialize into market-ready products. View more...Untangling the Potential of IoT Protocols and StandardsAggregated on: 2022-05-12 18:50:51 At a time, when the number of Internet of Things (IoT) devices is continuously increasing, cases of DDoS (Distributed Denial of Service) attacks are also being witnessed at frequent intervals. Gartner reports that by 2020, the number of IoT devices will approximately reach 25 billion. It means that it is time when businesses, customers, and other stakeholders should know about the IoT protocols and standards, which can potentially keep the possibilities of security breaches at bay. Guide to IoT Protocols and Standards IoT communication protocols are modes of communication that protect and ensure optimum security to the data being exchanged between connected devices. View more...How Does the Database Understand and Execute Your Query?Aggregated on: 2022-05-12 18:50:51 A vector query in Milvus is the process of retrieving vectors via scalar filtering based on a boolean expression. With scalar filtering, users can limit their query results with certain conditions applied to data attributes. For instance, if a user queries for films released during 1990-2010 and scores higher than 8.5, only films whose attributes (release year and score) fulfill the condition. This post aims to examine how a query is completed in Milvus 2.0 from the input of a query expression to query plan generation and query execution. Query Expression Expression of the query with attribute filtering in Milvus adopts the EBNF(Extended Backus–Naur form) syntax. The image below is the expression rules in Milvus. The EBNF syntax of a logical expression. Logical expressions can be created using the combination of binary logical operators, unary logical operators, logical expressions, and single expressions. Since EBNF syntax is itself recursive, a logical expression can be the outcome of the combination or part of a bigger logical expression. A logical expression can contain many sub-logical expressions. The same rule applies in Milvus. Suppose a user needs to filter the attributes of the results with many conditions. In that case, the user can create his own set of filtering conditions by combining different logical operators and expressions. View more...ERP Integration Guide | Common Scenarios, Challenges, and MethodsAggregated on: 2022-05-12 18:05:51 The phrase “We are only as strong as we are united, as weak as we are divided,” though coming from the fictional character of Albus Dumbledore in the Harry Potter saga, can also perfectly illustrate the importance of ERP integration to companies. An ERP system is often considered the backbone of an enterprise, whether eCommerce, supply chain, manufacturing, or healthcare business. But to unfold the full potential of their ERP system, companies will need to integrate it with other applications to ensure a consistent data flow, provide access to accurate information across the entire company, and automate enterprise business processes. So, let’s dive into why we should integrate ERP with other enterprise business systems in the first place, what the common scenarios are and what advantages they bring, and review the 3 current popular methods for ERP system integrations. View more...Top Six Kubernetes Best Practices for Fleet ManagementAggregated on: 2022-05-12 17:05:51 Provisioning a Kubernetes cluster is relatively easy. However, each new cluster is the beginning of a very long journey, and every cluster you add to your Kubernetes fleet increases management complexity. In addition, many enterprises struggle to keep up with a rapidly growing number of Kubernetes clusters spread across on-prem, cloud, and edge locations—often with diverse Kubernetes configs and using different tools in different environments. Fortunately, there are a number of K8s best practices that will help you rein in the chaos, increase your Kubernetes success, and prepare you to cope with fast-growing and dynamic Kubernetes requirements. This blog describes six strategic Kubernetes best practices that will put you on the path to successfully managing a fleet. View more...Waterfall Vs. Agile Methodologies: Which Is Best For Project Management?Aggregated on: 2022-05-12 16:35:51 “Chaos was the law of nature; Order was the dream of man.” ― Henry Adams View more...Getting Started With Redis on AWS the Easy WayAggregated on: 2022-05-12 16:05:51 Like most of the services, Amazon MemoryDB for Redis is fully integrated with Amazon VPC and always launches your cluster in a VPC. It means that you cannot access it from outside your VPC. While initially exploring these services (MSK, Elasticache for Redis, etc.), I usually followed the documentation that involved setting up EC2, SSH-ing into the instance, installing/copying stuff (language, runtime, code, client, etc.), and then tried things out. Most often, the first step is the hardest, and it's important for developers to have the least amount of friction as possible to "get going." I looked for simpler ways and found AWS Cloud9 to be super useful. It was quick, predictable, and had a bunch of useful tooling readily available. View more...Continuous Integration Patterns and Anti-PatternsAggregated on: 2022-05-12 16:05:51 Reap the full benefits of enhanced code quality, better testing practices, and early error detection with proper implementation of continuous integration processes. This Refcard explains detailed patterns and anti-patterns for core areas of CI, including version control, the build stage, pipeline monitoring, documentation, as well as communication and collaboration across teams and within the organization. View more...How to Create Components in SvelteAggregated on: 2022-05-12 15:35:51 In my last article, we looked at how to make your first Svelte application using SvelteKit. Today we'll look at the next step - how to make components, so you can start to build real Svelte applications. What Are Components, and Why Do We Need Them? Components are a common theme in all modern frontend frameworks. Essentially, as we started to build more and more complicated applications, we found that we were reusing the same types of things all the time. For example, a registration form may appear in multiple different places and use exactly the same code. View more...The Evolution of Configuration Management: IaC vs. GitOpsAggregated on: 2022-05-11 21:35:51 Misconfigurations are the leading cause behind security incidents in Kubernetes-orchestrated or otherwise containerized environments. Without proper configuration in place, applications would run into problems ranging from noncompliance and inconsistencies to performance bottlenecks, security vulnerabilities, and functionality failure. Therefore, configuration management is a critical component in a software development lifecycle for maintaining systems in a desired, consistent state. According to Red Hat’s State of Kubernetes Security report, misconfigurations were the leading cause behind security incidents in Kubernetes-orchestrated or otherwise containerized environments. Without proper configuration in place, applications would run into problems ranging from noncompliance and inconsistencies to performance bottlenecks, security vulnerabilities, and functionality failure. This would make cloud-native systems unstable and cause them to become a liability to businesses. For this reason, configuration management is a critical component in a software development lifecycle for maintaining systems in a desired, consistent state. However, the way configuration management is done has been evolving over the years. This post traces the history of configuration management, focusing on how GitOps handles this critical aspect of running cloud-native applications today. View more...How to Watch for Nested Changes in VueAggregated on: 2022-05-11 21:05:51 Vue is a reactive language, meaning when the data changes, we can automatically have that represent itself in the HTML. To help us with this, we can use watchers in vue to watch for a change in data, and then do something to the HTML, or send a message to the user about it. This works fine for simple datasets, but if we start to have data that is deeper than one level, it becomes harder to watch it properly for changes. View more...How to Generate Fake Test DataAggregated on: 2022-05-11 20:35:51 Are you also often uninspired when you need to think of useful test data for your unit tests? Is ‘John Doe’ your best test friend? Do not worry, Java Faker comes to the rescue! In this blog, you will learn how to generate your test data. 1. Introduction Making up test data is one of the hardest tasks when writing tests. Often you will see 123 when numbers are being used, or John Doe when a name is needed. But this also means that the test will always run with the same data. This is on the one hand a good thing because your tests needs to be stable, but on the other hand a pitty because you also want to find errors. And this is more likely when random test data is being used. View more...Top Soft Skills to Identify a Great Software EngineerAggregated on: 2022-05-11 20:35:51 Software developers are often thought to be people that are technically sound and have a very logical approach while dealing with any issues. However, regardless of the hard skills they acquire, it is equally important that software engineers have specific soft skills. These interpersonal attributes when corroborated to their technical skills tend to make the greatest software developers of all times. Here are some of those soft skills that one must look for in a software engineer to bring an all rounder candidate on board. Skills of Software Engineer That You Must Look Out For Communication Good communicators can bring a lot of benefits to the team. Regardless of the profession, it is one skill that can lead to the effective elaboration of tasks, clear description of expectations and the requirements of the projects. An effective communicator delivers thoughts clearly and this could be figured out in the first round of the interview itself. However, besides being an effective communicator, a great software developer is a good listener too. View more...Transactions vs. Analytics in Apache KafkaAggregated on: 2022-05-11 19:50:51 Workloads for analytics and transactions have very unlike characteristics and requirements. The use cases differ significantly. SLAs are very different, too. Many people think that Apache Kafka is not built for transactions and should only be used for big data analytics. This blog post explores when and how to use Kafka in resilient, mission-critical architectures and when to use the built-in Transaction API. Analytical and Transactional Workloads Let's begin by defining the terms. The YouTube channel 'Databases Demystified' has a great episode: Analytical vs. Transactional. I use and enhance its explanation in the following subsections. View more...Synchronization Methods for Many-To-Many AssociationsAggregated on: 2022-05-11 18:50:51 The many-to-many association is a common thing in data modeling. In JPA entities, it is implemented as collections that store associated entities from the other side of the association. To keep collections consistent on both sides, developers usually implement data synchronization methods. This article will highlight common issues that happen when adding synchronized methods for many-to-many bidirectional associations in JPA entities. Many-To-Many Bidirectional Associations: Why Synchronize? Before speaking about sync methods, let's look at bidirectional associations and their implementation in JPA in detail. Imagine a blog application where we can mark every post with several tags. We can make two JPA entities for this application: Post and Tag with appropriate attributes like ID, text, etc. Now we need to establish the association between one post and many tags. To do this, let's define a tags attribute on the Post entity, the type of this attribute is Set<Tag>. Notice that each tag can be reused for more than one post. In this case, we can create the posts attribute of type Set<Post> in the Tag entity. This is the bidirectional many-to-many association: we have references to several entities on both sides of the association. And now, our data model looks like this: View more...Choosing Between GraphQL Vs RESTAggregated on: 2022-05-11 18:20:51 REST has long been a popular architectural paradigm for creating APIs, but GraphQL's rise in popularity in recent years has put REST's reign in jeopardy. When it comes to establishing or leveraging API architecture design, the debate between GraphQL and REST is raging, and most firms are split between the two. While REST is generally recognized as the industry standard for creating APIs, GraphQL has been heralded as a new technology capable of overcoming REST's limitations. REST and GraphQL are two data retrieval technologies. The main distinction between GraphQL and RestAPIs is that GraphQL is a query language standard, whereas REST is an architectural idea for network-based computing. View more...JUnit 5 Tutorial: Nice and Easy [Video]Aggregated on: 2022-05-11 18:05:51 Ever looked for a comprehensive intro to JUnit 5 that is fun and entertaining at the same time? Then have a look at this brand-new episode of the "Marco Codes" YouTube channel: JUnit 5 Tutorial - Nice & Easy. In this video, you'll learn how to use JUnit 5 like a professional. Understand what Maven/Gradle dependencies you'll need, how to write tests, how to use other assertion libraries like AssertJ and asserting JSON & XML, and explore new JUnit 5 features like @ParameterizedTests, @TestFactorys, and @ExtendWith. By the end of the tutorial, there won't be many questions left when it comes to JUnit 5. View more...How to Hash, Salt, and Verify Passwords in NodeJS, Python, Golang, and JavaAggregated on: 2022-05-11 17:05:51 Storing passwords can be a nuance due to the liability of them being compromised. To make matters worse, users tend to reuse passwords across services which makes storing them securely even more important. The aim behind storing passwords securely is that even if the database containing them is compromised, the attacker can’t decipher any user’s actual password. This rules out storing passwords in plain text. View more...Open Source Security RisksAggregated on: 2022-05-11 17:05:51 What Are Open-Source Vulnerabilities? While open-source software drives rapid innovation, it introduces many challenges. On the one hand, it provides developers with ready-made software to add functionality to existing applications or even use it as the foundation for a new product. However, it also introduces security risks. Open-source security has become a cornerstone of modern application security. Open-source vulnerabilities emerge when open-source software contains or creates security risks. A vulnerability may occur due to careless integration of components, lack of security functionality, poorly written code, and malicious code. Threat actors exploit open source vulnerabilities to launch various attacks, which enable them to abuse resources, steal data, and damage systems. View more...Businesses Discover the Shocking Cost of Bad DataAggregated on: 2022-05-11 16:50:51 Big data has become incredibly important for many companies all over the world. Unfortunately, the growing emphasis on big data has led to some poor decision-making. Many entities are prioritizing data scalability at the expense of data quality. As a result, bad data is costing them a lot of problems. In the USA alone, bad data - any poorly structured or managed data - costs the country over $3 trillion every year. Whether it’s created from data engineers accidentally adding an extra zero, a discrepancy in how things are formatted, or even problems with the data system itself, a lot can go wrong with data. View more...Kafka Fail-Over Using Quarkus Reactive MessagingAggregated on: 2022-05-11 16:05:51 Background Recently, I came across a scenario where, at first glance, we needed an active-active Kafka cluster with bi-directional replication using MirrorMaker2. However, while diving deeper into the nuances of the solution that this particular project demanded, a number of factors showed this wasn't really the case. For example, a look at how the producers/consumers will handle temporary failure and/or guarantee exactly-once processing downstream added a ton of complexity to the problem. By taking a step back to the design board, we changed the approach to an active-standby scenario. In this scenario, the active cluster will replicate all its configs, consumer groups, and topics to the standby cluster that will become active in case of failure. However, this posed a problem: how can I get the minimum possible downtime in my producers without the need to restart them with the new configuration for the new cluster? View more...A Simple Guide to Heaps, Stacks, References, and Values in JavaScriptAggregated on: 2022-05-11 15:35:51 A common concept in software engineering, in general, is the idea of reference versus value. JavaScript has an interesting way of storing variables, objects, and functions, and misunderstanding this can lead to confusion further down the road. Developers need to know how these concepts work since it is fundamental to JavaScript. This article will cover how JavaScript manages values and references, which will pay dividends when working on complicated applications and websites. Memory Storage in JavaScript To understand what we mean when we say JavaScript stores values and references, we need to understand where JavaScript stores them. There are two places JavaScript stores this data: View more...Stupid Things Orgs Do That Kill Productivity w/ Netflix, FloSports & Refactoring.clubAggregated on: 2022-05-11 00:35:50 We want to make the Dev Interrupted podcast a vital, enjoyable part of your week. Please take 2 minutes and answer our new Listener Survey. It lets us know a bit about you, what you want from Dev Interrupted and what you want from podcasts in general! At LinearB, we like to think we spend all our time figuring out how to unlock developer potential. To find ways to let devs do more of the work they love and reduce the amount of time they spend dealing with needless hurdles, idling and churn. View more...Securely Authenticate to Google Cloud From GitHubAggregated on: 2022-05-11 00:35:50 Recently, I designed a simple metrics-tracking system. A Python script queries different providers' APIs for metrics, e.g., Twitter, GitHub, etc. The idea is to run this script each day, store them in Google BigQuery, and provide an excellent data visualization in Google Data Studio. I'm a big fan of automation, so I'm using GitHub Actions. Accessing Google Cloud With a Service Account I query the different APIs with different Python libraries. All of them allow authenticating by passing a parameter. In general, it's a token. One can store the value in a GitHub secret, get it as an environment variable in the GitHub Action and use it in the code. View more...Product Owner Anti-PatternsAggregated on: 2022-05-11 00:05:50 No other role in Scrum can contribute to mediocre outcomes like the Product Owner—garbage in, garbage out. Therefore, the following list of some of the most common Product Owner anti-patterns might be a starting point to reflect on the role; maybe, there is room for improvement? If you recognize some anti-patterns in your daily work, why don’t you ask the rest of the Scrum Team for support? For example, run a Retrospective with teammates and stakeholders on how the team is doing regarding figuring out what is worth building. View more...Composable ArchitectureAggregated on: 2022-05-10 23:05:50 Introduction There has been a change in basic assumptions by which the software selections happen in an organization. Though principles, policies, and guidelines dictate the same, in most cases the following factors have a direct bearing in the selection of products, technologies, and development: Existing skills within an organization Availability of the chosen skill in the market Protection of existing investment in infrastructure, IP, human resources How the chosen product/technology deals with the existing IT landscape And of course, other tangible benefits such as TCO, ROI, time to market, etc. Let us get into the brass tacks of composable architecture. Every architecture is made up of domains and capabilities mapped to the domains. Each capability can be fulfilled by one or more solution components and vice versa. View more...Don't Underestimate DocumentationAggregated on: 2022-05-10 22:35:50 Documentation Sounds Like an Annoying, Boring Thing Maybe you feel that documenting the project or your code is an extra annoying step. Often, documentation for projects is outdated and irrelevant. In such cases, most of the expertise is hidden in analysts or just developers. In this article I'll try to explain why having a good documentation culture will make projects much more stable and successful. Writing Good Documentation Often Makes a Big Difference There is no specific rule on how to make perfect documentation, but obviously plain text without details is much worse than documentation with screenshots, diagrams, and images. It takes time to write a quality manual, but it's worth it because it solves many problems at once, including slow onboarding processes, slow communication, single-person projects, and lack of team support. View more...Exporting and Importing Projects in EclipseAggregated on: 2022-05-10 22:35:50 I admit that I have (a few? or not so few) bad habits: one of them is that usually, I find a way to do things, and if that works, I stick with it. I know that there are other ways to do things, but hey, why bother? and sometimes a good friend asks an excellent question (are there any bad questions?), and this lets me review the way I’m doing things. and here is such a thing: exporting and importing projects in eclipse. Archive Files With Drag & Drop Here is how I usually move or copy a project to another machine: View more...Templates Are Indispensable for GitOps-Driven AutomationAggregated on: 2022-05-10 21:05:50 Kubernetes gained popularity as it simplifies the scalability and management of containerized applications. It enables you to deploy and manage nodes, pods, containers, services, and configuration maps across the entire application lifecycle. It was difficult to achieve such flexibility and control with scripts. But thanks to Kubernetes’ declarative approach to infrastructure, you can define precise changes at any scale. Kubernetes also empowers you to integrate multiple tools to facilitate automated scheduling, deployment, monitoring for the containers. One such tool is Helm, a CNCF-adopted automation framework that has gained popularity not just in Kubernetes circles, but in the GitOps ecosystem as well. In this post, we look at how Helm helps automate the deployment of cloud-native applications on Kubernetes the GitOps way. What Is Helm? Although described as a package manager, Helm is a powerful tool to automate installation, deployment, upgrade, and management of Kubernetes applications. Managing Kubernetes manifests is a task that grows in complexity as systems scale. A single deployment needs multiple YAML files with duplicated and hardcoded values. This required a better way to manage Kubernetes YAML files through a simple packaging format, which led to Helm Charts. However, Helm’s scope goes beyond templating. View more...Getting Started With IaCAggregated on: 2022-05-10 21:05:50 Infrastructure as code (IaC) means that you use code to define and manage infrastructure rather than using manual processes. More broadly, and perhaps more importantly, IaC is about bringing software engineering principles and approaches to cloud infrastructure. In this Refcard, explore the fundamentals of IaC and how to get started setting up your environment. View more...COBOL Copybook Transformation to JSON in Mule4Aggregated on: 2022-05-10 20:35:50 What Is COBOL Copybook? A COBOL copybook is a type of flat file that describes the layout of records and fields present in the file. Example of Copybook data: View more...Deployment of Low-Latency Solutions in the CloudAggregated on: 2022-05-10 19:50:50 Traditionally, companies with low-latency requirements deployed to bare-metal servers, eschewing the convenience and programmability of virtualization and containerization in an effort to squeeze maximum performance and minimal latency from “on-premises” (often co-located) hardware. More recently, these companies are increasingly moving to public and private “cloud” environments, either for satellite services around their tuned low-latency/high-volume (LL/HV) systems or in some cases for LL/HV workloads themselves. View more...13 Tips to Write Better Posts for DevelopersAggregated on: 2022-05-10 19:50:50 You want to start a blog, or perhaps you already have one and want to improve your style. Maybe you’re writing documentation and struggling to make it concise and clear. Whatever the case, you have a blank screen in front of you and a head full of ideas. How do you start? How do you write a blog that other developers will enjoy? Here are 13 things I’ve learned over my years of writing for developers. View more...Check if an Object Contains All Keys in an Array in JavaScriptAggregated on: 2022-05-10 19:50:50 Sometimes in JavaScript, we have an object which we need to conform to a specific set of keys. This is possible through type enforcement in TypeScript, but if we want to do certain things if the keys don't exist, then we have to take a different approach. For example, suppose we are receiving the following object from an array, where firstName, lastName, and age are all needed for an operation we want to complete. For example View more...After COVID, Developers Really Are the New KingmakersAggregated on: 2022-05-10 19:50:50 Several years ago, pre-COVID, I wrote the article Developers are the New Kingmakers. Today, companies see the value of developers as being even greater. Since the pandemic began, we've seen a renewed focus on digital transformation. Companies and industries are transforming two to three times faster than they were prior to COVID. Businesses have moved online and become more data-driven than ever before. This has created a demand for application development and data analytics skills. View more... |
|
|