News AggregatorExecution Type Models in Node.jsAggregated on: 2023-05-15 16:15:33 There are strong reasons why Node.js is so popular nowadays. Async programming model, cross-platform with a large community and open-source modules. It’s possible to write server-side on JavaScript, and it is fast and efficient. Node.js is designed to handle multiple asynchronous I/O operations efficiently. Node.js apply different execution types, and this article will explain how execution types work with practical usage in Node.js. Types of Execution V8 engine compiles JavaScript code into machine code that will be performed by the computer’s processor, which can have multiple cores. Node.js has only one main event loop thread, a mechanism used to handle async and non-blocking I/O operations. Non-blocking means an asynchronous programming paradigm that allows you to perform several operations at the same time without blocking the execution of the main program. View more...Improve Application Latency With Read Replicas Using YugabyteDB [Video]Aggregated on: 2023-05-15 15:45:33 Scalability and low latency are crucial for any application that relies on real-time data. One way to achieve this is by storing data closer to the users. In this post, we'll discuss how you can use YugabyteDB and its read replica nodes to improve the read latency for users across the globe. View more...Microservices Decoded: Unraveling the Benefits, Challenges, and Best Practices for APIsAggregated on: 2023-05-15 14:45:33 In today's fast-paced software development landscape, microservices have emerged as a popular architectural pattern. But what exactly are microservices? In a nutshell, microservices are a way of structuring an application as a collection of loosely coupled, fine-grained services that communicate through lightweight protocols. This architectural style enables teams to develop and deploy services independently, offering flexibility and scalability to the software development process. The fundamental idea behind microservices is to break down an application into smaller, self-contained services, each responsible for a specific business capability. Let's take the example of an online marketplace application. Instead of treating the entire application as a monolithic entity, microservices architecture allows us to identify distinct features like search, shopping cart, payments, and order history as independent services. These services can be developed and maintained separately, promoting code modularity and enhancing overall system agility. View more...How To Use Pdb to Debug Common Python ErrorsAggregated on: 2023-05-15 14:15:33 Are you exhausted from drowning in an overwhelming flood of print statements while debugging your Python code? Longing for a superior solution to effortlessly identify and rectify common Python errors? Your search ends here with Pdb, the Python debugger that streamlines issue resolution with unparalleled ease. In the ever-growing realm of Python, developers seek dependable tools for swift and efficient code debugging. Enter Pdb, a powerful solution enabling step-by-step code traversal, variable inspection, and strategic breakpoints. With its streamlined interface, Pdb is an indispensable companion for Python developers striving to debug like seasoned pros. Join us as we explore the depths of Pdb's capabilities and unleash your debugging prowess! View more...Fun Is the Glue That Makes Everything Stick, Also the OCPAggregated on: 2023-05-15 13:30:33 This is part two of my series on the OCP-17. In my first post, I explained why it’s still worthwhile to tackle the trick questions and arcane details of this exam. Each of us has our own sense of how much knowledge is good enough to get a job done, like writing Java code. The examiners at Oracle probably put the bar much higher than you. If you can’t somehow make the journey fun, you’re bound to give up. So, your motivation needs an upgrade, and you must put in the right practice. In this post, we will look at both. Amateur Versus Professional Practice Not all practice makes perfect. Poor practice doesn’t even make you proficient. It’s not the hours that count, although Malcolm Gladwell in Outliers claimed you need at least 10,000. This sweeping statement with its conveniently round number is questionable science, to say the least. Excellence itself is not a well-defined notion. People’s innate aptitudes are not created equal. Some are born geniuses. But most importantly, the hours you put in must be effective. View more...Boosting Similarity Search With Stream ProcessingAggregated on: 2023-05-15 13:30:33 The goal of similarity search and vector databases is to find similar results to the search query for unstructured data, such as text, images, and videos. The unstructured data first is vectorized, and stored in a vector format. There are publicly available tools to create vectors from unstructured data; similarly, there are vector databases to store and perform similarity searches. This is important because of the rising popularity of Large Language Models (LLMs) and their combination with vector databases. Here, we present a hybrid approach by taking the strengths of vector databases and boosting them with traditional search and filtering techniques based on real-time stream processing. Vector databases are good for building high-performance vector search applications. On the other hand, Hazelcast can be used for real-time stream processing and fast data storage for structured data (filters, tags, and contextual data). Some vector databases offer filtering on structural data, which can be used or replaced with Hazelcast. In either case, Hazelcast can be used to enrich your query results, from additional resources. View more...10 Traits That Separate the Best Devs From the CrowdAggregated on: 2023-05-12 22:15:32 In a Nutshell We work hard to improve our tech and soft skills. But our character traits, our mindset - we take it for granted. An innate, fixed part of who we are. And thus, we let it run on autopilot. This way of thinking is harmful. Not only is your mindset critical for a successful software development career (maybe even more than your skills), but it's also under your control. True senior devs acknowledge that character traits are malleable, are self-aware of their mindset, and deliberately work on it. This is the superpower that makes them stand out from the crowd and accelerates their career. In this post, I'll discuss the 10 most critical traits of a successful developer, why they are important, and share a few tips on how you can shape them. Three Things You Need To Succeed as a Software Developer Professional software development is a complex discipline that requires a diverse set of abilities to succeed. We can group them into three main categories: Technical Skills This is the most obvious group. To be a successful developer, you need to be good at your trade: programming languages and frameworks, clean code principles, architecture, testing, debugging, and so on. You also need to be skillful with your tools: version control, command line, and IDE. View more...Six Best-In-Class AI Tools Every CTO Needs To KnowAggregated on: 2023-05-12 22:15:32 Ah, AI. It's getting everywhere, isn't it? It has us fascinated and sometimes maybe a little spooked. Time for the truth: teams that don’t leverage AI will fall behind. View more...Remediating Incidents With the GitGuardian API [Cheat Sheet Included]Aggregated on: 2023-05-12 21:45:32 When a hardcoded secret is detected in your source code, you can rely on GitGuardian to help you prioritize, investigate, and remediate the incident. When you think of the GitGuardian platform, most people picture the dashboard. From this view, you can quickly see high-level incident information that can help you triage your incidents, assign them to workspace members and begin the process of fixing the issue. The team has put a lot of thought and effort into making this a very user-friendly interface that customers can quickly learn and leverage when dealing with secrets sprawl. The GitGuardian API Some teams might prefer to leverage the power of the GitGuardian platform without using the dashboard directly in some cases. This is entirely possible thanks to the powerful GitGuardian API, which is available to all customers. With our API, you can interact with incidents, teams, workspace members, and audit logs; or even implement your own secrets scanning. View more...Real-Time Presence Platform System DesignAggregated on: 2023-05-12 21:45:32 The system design of the Presence Platform depends on the design of the Real-Time Platform. I highly recommend reading the related article to improve your system design skills. The original article was published on systemdesign.one website. What Is the Real-Time Presence Platform? The presence status is a key feature to make the real-time platform engaging and interactive for the users (clients). In layman’s terms, the presence status shows whether a particular client is currently online or offline. The presence status is popular on real-time messaging applications and social networking platforms such as LinkedIn, Facebook, and Slack [2]. The presence status represents the availability of the client for communication on a chat application or a social network. View more...The Top 5 Future Trends in Programming Every Expert Needs To EmbraceAggregated on: 2023-05-12 20:30:32 As technology continues to evolve at an unprecedented pace, the field of programming is undergoing constant transformation. As a programming expert, it is crucial to stay ahead of the curve and be prepared for the future. In this article, we will explore the top five future trends in programming that every expert needs to be ready for. From emerging languages to new paradigms, these trends will shape the programming landscape in the coming years. Artificial Intelligence and Machine Learning: Artificial Intelligence (AI) and Machine Learning (ML) have become integral parts of various industries, and programming experts need to be well-versed in these technologies. AI-powered systems are revolutionizing areas such as natural language processing, image recognition, and data analysis. As a programmer, you should familiarize yourself with popular ML frameworks like TensorFlow and PyTorch and learn how to develop and deploy AI models. Understanding concepts like neural networks, deep learning, and reinforcement learning will be essential for creating intelligent software solutions. Internet of Things (IoT) Programming: The Internet of Things is rapidly expanding, connecting everyday devices and enabling them to communicate and share data. From smart homes to industrial automation, IoT programming is becoming increasingly important. Programmers will need to specialize in working with IoT platforms and protocols such as MQTT and CoAP. Furthermore, expertise in developing low-power, resource-constrained applications and ensuring security and privacy in IoT ecosystems will be in high demand. Cross-Platform and Mobile Development: The dominance of mobile devices continues to grow, and programming experts must adapt to this shift. Cross-platform development frameworks like React Native and Flutter are gaining popularity, allowing developers to create mobile apps for multiple platforms using a single codebase. Learning these frameworks and understanding mobile-specific design patterns and user experience considerations will be crucial for building successful mobile applications. Blockchain and Smart Contracts: Blockchain technology is not limited to cryptocurrencies; it has the potential to transform various industries by providing secure, transparent, and decentralized solutions. Programming experts should understand the fundamentals of blockchain and how to develop decentralized applications (DApps) using platforms like Ethereum. Additionally, smart contracts, which are self-executing contracts with the terms of the agreement directly written into the code, will require expertise in languages such as Solidity. Acquiring knowledge of blockchain and smart contract development will open up new avenues for programmers in sectors like finance, supply chain management, and healthcare. Quantum Computing: While still in its early stages, quantum computing has the potential to revolutionize computation by solving problems that are currently infeasible for classical computers. As quantum computing continues to advance, programming experts will need to familiarize themselves with quantum programming languages like Q# and learn to develop algorithms for quantum computers. Quantum cryptography, quantum simulation, and optimization are some areas where quantum computing will have a significant impact. Conclusion As programming continues to shape the world around us, it is crucial for experts to stay updated with emerging trends. The future of programming lies in artificial intelligence, machine learning, IoT, cross-platform mobile development, blockchain, smart contracts, and quantum computing. By embracing these trends and acquiring the necessary skills, programmers can position themselves at the forefront of technological innovation. Adaptability, continuous learning, and a passion for exploration will be key to thriving in the ever-evolving field of programming. View more...Three Scalable Next.js Architecture BoilerplateAggregated on: 2023-05-12 20:30:32 Next.js is a React framework that allows you to build server-side rendered React applications. It is a great tool for building web applications, but it can be difficult to scale your application as it grows. In this article, we will look at some of the best Next.js boilerplates for building scalable web applications. The community of Next.js developers has created a lot of boilerplates that you can use to start your project. These boilerplates are great for building scalable web applications. They are also easy to extend and maintain. In this article, we will look at some of the best Next.js boilerplates for building scalable web applications. View more...Global Supply Chain With Kafka and IoTAggregated on: 2023-05-12 20:30:32 A supply chain is a complex logistics system that converts raw materials into finished products distributed to end-consumers. The research company IoT Analytics found eight key technologies transforming the future of global supply chains. This article explores how data streaming helps to innovate in this area. Real-world case studies from global players such as BMW, Bosch, and Walmart show the value of real-time data streaming to improve the supply chain by building use cases such as automated intralogistics, tracking and tracing of vehicles, and proactive and context-specific decision-making with MES and ERP integration. Eight Key Technologies Transforming the Future of Global Supply Chains "The Digital Supply Chain market is starting to accelerate, according to new research by IoT Analytics. Eight supply chain technology innovations are helping to make global supply chains more robust, including AS/RS technology, intralogistics robots, IoT track and trace, AI-enabled software, and supply chain digital twins." View more...Building a Live Code Sharing Platform With Dyte and ReactAggregated on: 2023-05-12 20:00:32 Code sharing is an essential aspect of programming.With the rise of remote work and virtual collaboration, developers need reliable tools for code sharing that offer real-time communication, video and audio conferencing, and a friendly user interface. Codeshare.io is one such example.But today, we're going to roll up our sleeves and build our very own code-sharing playground using Dyte.io. Buckle up!Dyte is a developer-friendly platform that offers powerful SDKs to build live experiences within our product. In this blog, we will walk you through the process of building a code-sharing platform with Dyte.io and ReactJs. Let’s start! Step 0: Setting up the Dyte Account Before anything, we would need to set up a Dyte account. For this, first visit Dyte.io and then hit Start Building. On the next page, Sign in with Google or GitHub account to get your free Dyte account. You will find your API keys under the API Keys tab on the left sidebar. Keep your API keys secure, and don’t share them with anyone. View more...Cleaning Up AI-Generated Images With CodeFormer: A Complete GuideAggregated on: 2023-05-12 19:00:32 Sometimes, AI-generated photos come out a little bit… wonky. Maybe they’re low quality, or perhaps there are weird artifacts that make the image look less than perfect. But fear not! CodeFormer is here to save the day, helping you fix up those images in no time. In this guide, I’ll introduce you to the CodeFormer model, show you how it works, and explain how to use it to fix up a slightly warped AI-generated photo. I’ll walk you through the exact steps I used to clean up the weird image I got from another AI model, shown below: This dude looks terrible and scary. Original generation from Arcane-Diffusion. This image came from the arcane-diffusion model, which I was using for another blog post. I’ll show you how you can use the same workflow I followed to clean up your own generated images and even upscale them to look better. I’ll do this walkthrough using the Replicate Python SDK, but there are also many other languages supported on Replicate. View more...Terraform Explained in Five MinutesAggregated on: 2023-05-12 18:30:32 What Is Terraform? Terraform is an open-source “Infrastructure as Code” tool created by HashiCorp. A declarative coding tool, Terraform enables developers to use a high-level configuration language called HCL (HashiCorp Configuration Language) to describe the desired “end-state” cloud or on-premises infrastructure for running an application. It then generates a plan for reaching that end-state and executes the plan to provision the infrastructure. View more...How To Implement Istio Ambient Mesh in GKE or AKSAggregated on: 2023-05-12 18:30:32 Why Do You Need Istio Ambient Mesh? It is given that Istio is a bit resource intensive due to sidecar proxy. Although there are a lot of compelling security features that can be used, the whole Istio (the sidecar) has to be deployed from day one. Recently, the Istio community has reimagined a new data plane — ambient mode — which will be far less resource-intensive. Istio ambient mesh is a modified and sidecar-less data plane developed for enterprises that want to deploy mTLS and other security features first and deploy an advanced network later. Ambient mesh has two layers: View more...Managing Data Residency: Concepts and TheoryAggregated on: 2023-05-12 17:30:32 Cloud computing has opened a Pandora's Box of many original issues compared to sound old on-premise systems. I believe that chief among them is data residency or data location: Data localization or data residency law requires data about a nation's citizens or residents to be collected, processed, and/or stored inside the country, often before being transferred internationally. Such data is usually transferred only after meeting local privacy or data protection laws, such as giving the user notice of how the information will be used and obtaining their consent. View more...Tactics and Strategies on Software Development: How To Reach Successful Software [Video]Aggregated on: 2023-05-12 16:15:32 The dream of any software engineering team and organization is to achieve success in their software and impact the business directly. However, the most challenging point is explaining how to achieve this success and get metrics. In this video, you'll learn more about this through strategy and tactics in software engineering. When we talk about the metrics, it becomes even more challenging mainly because we look at the metrics focused on tech, such as the number of tasks, commits, more code, and deployment frequency. But delivering a version does not necessarily mean you're impacting the business. Let's start talking about this mistake: the passion for tech. View more...Java String Templates TodayAggregated on: 2023-05-12 15:45:32 In our last post, we introduced you to the Manifold project and how it offers a revolutionary set of language extensions for Java, including the ability to parse and process JSON files seamlessly in Java. Today, we will take a look at another exciting feature of the Manifold project: string templates. But before we get to that, some of the feedback I got from the previous post was that I was unclear about Manifold. Manifold is a combination of an IDE plugin and plugins to Maven or Gradle. Once used we can enhance the Java language (or environment) almost seamlessly in a fluid way. View more...System Testing and Best PracticesAggregated on: 2023-05-12 14:15:31 A system is a collection of interconnected components that work together to perform a defined function or set of functions. The components can be hardware, software, firmware, or a combination. In software, a system can refer to a collection of software modules, libraries, and frameworks that work together to achieve a specific goal. View more...Responsive Testing Tutorial: A Comprehensive Guide With Examples and Best PracticesAggregated on: 2023-05-12 13:30:31 Responsive website testing ensures that users have the best experience with your site, regardless of their device. The goal of testing responsive websites is to ensure a seamless experience across different digital devices. In this day and age, we live in a world where technology has enabled convenience, and we are now dependent on our devices to function. Because of the growing market for mobile devices, businesses are developing strategies to create user-friendly websites. They use mobile-first design, progressive web apps, single-page applications, and more. However, for a unified user experience across devices and platforms, we need to consider screen resolutions and device capabilities. View more...Enriching Kafka Applications With Contextual DataAggregated on: 2023-05-12 12:30:31 Developing high-performance large-stream processing applications is a challenging task. Choosing the right tool(s) is crucial to get the job done; as developers, we tend to focus on performance, simplicity, and cost. However, the cost becomes relatively high if we end up with two or more tools to do the same task. Simply put, you need to multiply development time, deployment time, and maintenance costs by the number of tools. Kafka is great for event streaming architectures, continuous data integration (ETL), and messaging systems of record (database). However, Kafka has some challenges, such as a complex architecture with many moving parts, it can’t be embedded, and it’s a centralized middleware, just like a database. Moreover, Kafka does not offer batch processing, and all intermediate steps are materialized to disk in Kafka. This leads to enormous disk space usage. View more...Experimentation: How Data Leaders Can Generate Crystal Clear ROIAggregated on: 2023-05-11 22:15:31 This article was written with Chetan Sharma, CEO of Eppo. Proving It Have you ever stood in the slide projector’s glow and pitched furrowed-brow executives a change that could swing millions in revenue? Or flip the mission of hundreds of employees? Shane and his data team navigated journalistic, product, and business interests to fine-tune the New York Times pay model. This highwire act helped transition The Gray Lady from an ad revenue to a subscriber-driven publication. View more...Empty Character Class in JavaScript RegexesAggregated on: 2023-05-11 21:45:31 I contributed to PCRE and wrote two smaller regular expression engines, but I still regularly learn something new about this topic. This time, it's about a regex that never matches. When using character classes, you can specify the allowed characters in brackets, such as [a-z] or [aeiouy]. But what happens if the character class is empty? View more...Using Apache Pulsar and Spring Boot for Real-Time Stream ProcessingAggregated on: 2023-05-11 21:45:31 Real-time stream processing has become a critical component of modern data-driven applications. Apache Pulsar is an open-source distributed messaging system that provides seamless horizontal scalability and low-latency processing of real-time data streams. Spring Boot is a popular Java framework that simplifies the process of building and deploying production-grade applications. In this article, we will explore how to use Apache Pulsar and Spring Boot for real-time stream processing. Getting Started With Apache Pulsar The first step in building a real-time stream processing application with Pulsar is to set up a Pulsar cluster. A Pulsar cluster consists of one or more brokers that handle incoming data streams and route them to the appropriate consumers. Pulsar provides a simple and straightforward way to set up a cluster using the Pulsar CLI tool. View more...Lewis Prescott: “We Throw Testing Parties and Monitor Edge Case Users”Aggregated on: 2023-05-11 21:45:31 How QA in Healthcare Can Make a Difference, Keeping a Human Face in the AI-Obsessed World Lewis Prescott is a QA Lead at Cera Care, a technology-enabled home care provider. As one of Europe’s fastest-growing companies, Cera Care redefines healthcare by moving more and more services out of hospitals and into people’s own homes. We’ve talked about the challenges of QA for apps used by non-tech-savvy people, the skills and qualities efficient QA specialists should have in this rise-of-the-AI era, and the benefits of “testing parties.” Parties, yes, you’ve read it right. View more...Thank You CODEOWNERS, It's Time for Code ExpertsAggregated on: 2023-05-11 21:15:31 Engineering teams no longer have to choose between Git blame or Git activity when it comes to assigning the best PR reviewer — they can now have both. Enhance your current CODEOWNERS workflows with new dynamic pull request routing and classification by gitStream, a PR automation tool built around ensuring that your code is getting the highest quality review possible. View more...GPT-3 Detected 213 Security Vulnerabilities... Or It Did NotAggregated on: 2023-05-11 21:15:31 For a better grasp of the subject under discussion, it would be preferable if you could first read Chris Koch's article: I Used GPT-3 to Find 213 Security Vulnerabilities in a Single Codebase. I had already written a lengthy comment to it. Then I decided to write another one. This time, I chose to put my thoughts into a complete post. I don't share the author's enthusiasm. Our trials with ChatGPT yielded far more modest and dubious findings, and you may read about them in the article: Is ChatGPT good enough at spotting bugs in code? View more...Repeatable Database Updates via LiquibaseAggregated on: 2023-05-11 20:30:31 The main purpose of this tutorial is to present a way of detecting modifications to a stored Liquibase change set that was previously applied and execute it again automatically. In order to illustrate this, a small proof of concept is constructed gradually. In the first step, the application configures Liquibase as its migration manager and creates the initial database schema. Then, modifications are applied to the running version, and lastly, the repeatable script is introduced and enhanced. Set-Up Java 17 Spring Boot v.3.0.2 Liquibase 4.17.2 PostgreSQL 12.11 Maven Proof of Concept As PostgreSQL was chosen for the database layer of this service, first, a new schema is created (liquirepeat). This can be easily accomplished by issuing the following SQL command after previously connecting to the database. View more...Non-Volatile MemoryAggregated on: 2023-05-11 20:30:31 Non-volatile memory access (NVM) is a technology that has gained significant attention over the past few years. It has brought a revolution in the memory storage industry by providing various benefits over traditional storage technologies. NVM refers to a type of memory that retains data even after the power has been turned off. This means that data stored in NVM is non-volatile and is suitable for use in a wide range of applications. In this article, we will explore the various forms of NVM, their advantages, limitations, and their potential applications. Forms of NVM NVM comes in various forms, including flash memory, magnetic RAM (MRAM), nanotube RAM (NRAM), resistive RAM (RRAM), and phase-change memory (PCM). Flash memory is the most commonly used form of NVM, and it is used in USB drives, digital cameras, and smartphones. Flash memory works by trapping electrons in a transistor’s floating gate. This makes it non-volatile as the information is retained when the power is off. The limitations of flash memory include wear-out and a limited number of write cycles. View more...Starting Off With LogTAggregated on: 2023-05-11 20:15:31 In researching loggers, I noticed this library LogT. This frontend tool is different from other logs with its unique feature of colorful labels. The term log refers to a logarithmic function or a log statement in a program. In coding, a log statement is used to record events or messages during the execution of a program, usually for debugging. View more...A Deep Dive Into the Differences Between Kafka and PulsarAggregated on: 2023-05-11 19:30:31 In this blog post, we will delve into the key differences between Apache Kafka and Apache Pulsar. By examining the core distinctions and unique features of these two messaging systems, we look to provide you with an initial understanding of their core mechanisms and implementation. We hope this analysis will not only assist you in making informed decisions when choosing between the two but also serve as a valuable resource to support further exploration and understanding of their functionalities. MQ vs. Pub/Sub Before diving into the differences between Pulsar and Kafka, let’s first review the historical context of Message Queues. We believe the background information contributes to your understanding of why some of the features in Kafka and Pulsar are designed in their specific ways. View more...Grey Box Testing Tutorial: A Comprehensive Guide With Examples and Best PracticesAggregated on: 2023-05-11 18:30:31 Grey box testing is the technique to debug and evaluate the vulnerabilities of software applications. In such a method, the testers have only limited knowledge of the internal structure or components of the software applications under test. In the Software Development Life Cycle (SDLC), testing is the crucial phase that verifies the quality of the software application. In this development cycle, different software testing techniques like black box and white box testing are used to evaluate the performance and function of software applications and ensure their quality. View more...Opportunities for Growth: Continuous Delivery and Continuous Deployment for TestersAggregated on: 2023-05-11 16:45:31 Development practices are constantly changing, and as testers, we must embrace change. One of the changes that we can experience is the move from monthly or quarterly releases to continuous delivery or continuous deployment. In addition, this move to continuous delivery or deployment offers testers the chance to learn new skills. A project that makes monthly or quarterly releases has a familiar rhythm, and the team builds toward the release date. The testers must test all the cards and conduct manual regression testing. Every test in the manual scripts needs to be executed, and possibly a report needs to be made on the results of these tests. Once the release has been made, it is possible that there will be bugs that were in the release that need to be fixed. The testers will also need to start running the same manual regression tests on the next release and report on them again. Testing for monthly or quarterly releases is a repetitive process. This process has been compared to the Greek myth of Sisyphus, who had to roll a stone to the top of a hill, and then when the stone rolled to the bottom of the hill, he had to roll it to the top of the hill again. View more...Harnessing the Power of MQTT for the Future of IoTAggregated on: 2023-05-11 16:15:31 The Internet of Things (IoT) has been transforming the way we live and work, and it is expected to continue to do so in the years to come. The ability to connect various devices and objects to the internet has opened up new opportunities for businesses and individuals alike. One of the most important technologies powering IoT is the MQTT protocol. In this article, we will explore seven MQTT technology trends that are shaping the future of IoT. Seven MQTT Technology Trends in 2023 1. MQTT 5.0 MQTT 5.0 is the latest protocol version and was released in 2018. It introduced many new features, making it more powerful and flexible than its predecessors. One of the most important additions is the ability to send structured data, including metadata, which allows for more efficient and accurate data exchange. Additionally, MQTT 5.0 supports bi-directional communication, enabling devices to send messages back to the broker. View more...How To Build Dockerfile Faster With PVC and Docker Cache ManagementAggregated on: 2023-05-11 14:30:31 In this article, we'll dive deep into interpreting Docker build commands, what PVCs(Persistent Volume Claims) are, how they work, and how Devtron can solve build time problems using PVCs in conjunction with docker build commands to store cache for faster build times. First, let's define a problem statement to set the context and clearly articulate the specific issue or challenge we are trying to address. How can we make Docker build faster and more efficiently? Before we understand how you can start implementing lighting build speeds, we must understand two important concepts; PVCs and Docker Build. These two concepts need two work in tandem to improve build speeds. View more...GitHub Restore and Disaster Recovery: Better Get ReadyAggregated on: 2023-05-11 13:45:31 First, in case you missed it, you may want to read my previous blog post about GitHub backup. I described the potential threats to GitHub environments: human errors (mistakes or malicious actions), outages, and cyber-attacks. While backup is an essential part of any disaster recovery strategy, the organization should pay special attention to some important aspects. In this blog post, I will cover all the aspects concerning building a reliable and agile Disaster Recovery (DR) strategy that will keep your business continuity with ease, and we will also see three use cases. View more...Dynamic Data Processing Using Serverless Java With Quarkus on AWS Lambda by Enabling SnapStart (Part 2)Aggregated on: 2023-05-11 03:15:31 This is the second article to teach developers how to make serverless Java for dynamic data processing with a NoSQL database. In the previous article, you learned how to design an entity class and implement abstract services to bind the DynamoDB client for the REST APIs locally. In case, you haven’t already read it, find the first tutorial here. You can also find the piggybank project in the GitHub repository. Let’s go into the outer loop practices in production using AWS Lambda and DynamoDB. View more...React Helpful Hints Series: Volume 1Aggregated on: 2023-05-10 23:45:30 At Solution Street, we love helping our clients solve their business problems through technology. When it comes to building responsive, dynamic web applications, we are big fans of the React ecosystem. React is a popular JavaScript framework that was developed by Facebook and has gained a massive following among developers due to its simplicity, modularity, and reusability. In this series of short “bloglets” our team will cover a wide array of React topics, including developer tips, issues, and experiences. We are hopeful that everyone from the beginner to the seasoned professional will find something useful in each post. And if you’re looking to build an amazing web application, we at Solution Street would enjoy talking with you and seeing how we can help! View more...How To Create a Question-Answering Model From ScratchAggregated on: 2023-05-10 23:45:30 Building your question-answering model might seem like it could be more manageable. This tutorial will walk you through step by step to get it done. Question and Answering is a natural language processing (NLP) technique used to answer questions based on data given or text. Question Answering models aim to develop a system that automatically understands questions passed in natural language and provides accurate or relevant answers. Question answering is widely used in various disciplines, such as Chatbots and virtual assistants, Education and E-Learning, information retrieval, and search engines. View more...OneStream Architecture ExplainedAggregated on: 2023-05-10 21:15:30 OneStream is a leading provider of Corporate Performance Management (CPM) software solutions. The platform provides an all-in-one solution that simplifies financial consolidation, planning, reporting, and analysis for businesses of all sizes. To achieve this, OneStream has a unique architecture that enables it to deliver a unified platform with all the necessary functionalities. In this article, I will discuss OneStream architecture and how it provides a robust and scalable solution for businesses. OneStream Architecture Overview OneStream architecture is designed as a multi-tier architecture, with each tier serving a specific function. The architecture consists of four main tiers: client, application, database, and platform. View more...Securing Access, Encryption, and Storage KeysAggregated on: 2023-05-10 20:45:30 The cloud platforms provide customers with technology and tools to protect their assets, including the most important one — data. At the time of writing, there's a lot of debate about who's responsible for protecting data, but generally, the company that is the legal owner of the data has to make sure that it's compliant with (international) laws and standards. In the UK, companies have to adhere to the Data Protection Act, and in the European Union, all companies have to be compliant with the General Data Protection Regulation (GDPR). Both the Data Protection Act and GDPR deal with privacy. International standards ISO/IEC 27001:2013 and ISO/IEC 27002:2013 are security frameworks that cover data protection. These standards determine that all data must have an owner so that it's clear who's responsible for protecting the data. In short, the company that stores data on a cloud platform still owns that data and is therefore responsible for data protection. View more...Using CDKTF To Create an AWS Lambda FunctionAggregated on: 2023-05-10 20:15:35 Having not done much infrastructure before, writing Terraform seemed a pretty daunting task. Learning HCL and its nuances in a declarative manner and configuring it all for different environments is a bit of a learning curve. Creating the same in code using an imperative style seems a better path for a developer. Setting Up This is a simple example of using Terraforms cloud development kit (CDKTF) to create a Lambda function in AWS in Typescript. View more...The Problem With the Modern Approach To LearningAggregated on: 2023-05-10 20:15:35 Do our personal learning preferences actually affect how well we learn? And what makes learning new skills — like a programming language — so hard in the first place? On this week’s episode of Dev Interrupted, we’re joined by Hywel Carver, founder & CEO at Skiller Whale. An expert in the principles and practices behind learning and knowledge retention, Hywel walks us through the best learning techniques for engineers. View more...Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1)Aggregated on: 2023-05-10 20:15:35 Java Virtual Threads, also known as lightweight threads, is an exciting new feature introduced in Project Loom. Virtual threads aim to simplify concurrent programming in Java by providing an efficient and easy-to-use concurrency model. View more...CloudFront vs. CloudFlare: Choosing the Right CDNAggregated on: 2023-05-10 19:30:30 Content Delivery Network (CDN) is not a new technology. In fact, it has been around for many years. Every internet user, knowingly or unknowingly, uses a CDN while watching a video, reading a newspaper, or enjoying a TV show. As CDN solutions become mainstream, organizations must choose the right CDN platform to seamlessly and securely serve content to end-users. CloudFront CDN and CloudFlare CDN are two popular services available on the market. This blog delves deep into the CloudFront vs CloudFlare debate to explore the similarities, differences, and features of both solutions in order to help organizations make an informed decision. What Is a CDN? CDN stands for content delivery network. It’s a network of geographically distributed servers and data centers designed to deliver higher performance and high availability of internet content. Whether streaming videos, high-resolution images, JavaScript files, or HTML pages, a CDN solution facilitates a quick transfer of site assets, ensuring faster delivery of website content. View more...What Are Events? Process, Data, and Application IntegratorsAggregated on: 2023-05-10 19:30:30 I first started developing SAP "Workflows" 25 years ago: five years prior to Gartner announcing that 'Event-Driven Architecture' (EDA) would be the "next big thing" to follow on from 'Service-Oriented Architecture' (SOA) – SOA likewise still in its infancy in 2003. What's interesting about this is that Workflows themselves are, and always have been, 'Event-Driven.' The advancement of any given Workflow from one step to the next step always depends upon a particular event (or events) occurring, such as 'PurchaseOrder.Approved'. As you might already know, SAP has been developing ERP software since 1972, making it by far one of the most experienced software vendors in the world to have built their product offerings around 'Business Processes': around 'Process Integration.' What's also interesting to note in this regard is that SAP very recently confirmed the tight link between 'Workflows' and 'Process Integration,' by regrouping and rebranding their Cloud-based "Workflow Management" solution into a new offering: "Process Automation" – apparently the first time in 25 years that their Workflow solution carries a name other than "Workflow …" View more...Classloaders in JVM: An OverviewAggregated on: 2023-05-10 19:00:30 Classloaders are an essential part of the Java Virtual Machine (JVM), but many developers consider them to be mysterious. This article aims to demystify the subject by providing a basic understanding of how class loading works in the JVM. What Are Classloaders In the Java Virtual Machine (JVM), classes are loaded dynamically and found through a process called class loading. Class loading is the process of loading a class from its binary representation (usually a .class file) into memory so that it can be executed by the JVM. This is where we need classloaders. Class loaders are used to load .class files into the memory. View more...Why Run Open Source Data Technologies in Your Own Cloud AccountAggregated on: 2023-05-10 18:30:30 Organizations have an increasingly important choice to make when enlisting managed services or database-as-a-service (DBaaS) providers for their open-source data technologies: go with one of the many providers that require data management to be hosted within their own domains, or insist on running in your own (cloud) provider account (RIYOA). In general, most DBaaS providers offer the simplicity of having just one bill to pay, which covers all cloud costs and instances. However, that simplicity comes at costs beyond the monetary—reduced visibility of what’s going on with your data, limitations to developer flexibility when trying to utilize data-layer technologies and restrictions on access to data itself. While less of an out-of-the-box option, retaining RIYOA control avoids these shortcomings and makes it significantly easier to shift to a new provider if a change becomes preferable at some point. View more... |
|
|