News AggregatorUsing A/B Testing To Make Data-Driven Product DecisionsAggregated on: Thu Aug 03 2023 20:16:22 GMT+0000 (Coordinated Universal Time) As the world becomes increasingly data-driven, businesses and organizations constantly look for ways to optimize their strategies and improve their performance. AB testing is a powerful tool in their arsenal, which allows them to test different product or service versions to see which performs better. In this brief guide to AB testing, we'll explore the basics of this powerful technique and how it can drive better results and outcomes for your business. View more...What Is Code Review and How It Can Save Time: A Developer GuideAggregated on: Thu Aug 03 2023 19:01:22 GMT+0000 (Coordinated Universal Time) "At Cisco, costs per customer support call were $33, and the company wanted to reduce the number of calls per year from 50,000. Code review was used both to remove defects and to improve usability. —Rhodecode" View more...How Is AI Revolutionizing the World of Internet of Things?Aggregated on: Thu Aug 03 2023 18:01:22 GMT+0000 (Coordinated Universal Time) In the digital era, the combination of AI and IoT has given rise to an inspiring technological phenomenon. AI, with its ability to simulate human intelligence, combined with IoT. It is revolutionizing the world in ways that were once only imaginable in science fiction. This dynamic duo is transcending boundaries and, as a result, reshaping industries and creating a smarter, more interconnected world. This blog explores AI transforming the realm of IoT. Also, tell you the profound impact it is making on various aspects of our lives. View more...DevSecOps: Enhancing Security With Vulnerability Scanning of Images and Source Code in CI/CDAggregated on: Thu Aug 03 2023 17:01:22 GMT+0000 (Coordinated Universal Time) Many companies strive to adopt the DevOps approach for software development and delivery. Alongside this, they face increasing security challenges, leading to the implementation of new innovative software development methods. The need for security in the software deployment process is evident. Therefore, integrating security into CI/CD workflows should be done carefully to account for the ever-evolving technological landscape. View more...Penetration Testing: A Comprehensive GuideAggregated on: Thu Aug 03 2023 15:31:22 GMT+0000 (Coordinated Universal Time) Cybersecurity threats are real, and with the enhanced proliferation of digitization in the business landscape today, websites have become an integral part of business communication with customers and partners. Therefore, companies look for new and secure ways to protect their web applications. Penetration testing or popularly termed Pen testing, is acknowledged as a reliable methodology to protect web applications from cyber attacks. The critical factor is that vulnerabilities in web applications have enhanced in the last few years, mainly because of the lack of validation and sanitization of the input data. Detecting the existing vulnerabilities in the web application is crucial before its release to ensure its reliability and build high-quality and secure web applications. View more...The Role of Continuous Testing in Delivering Quality Digital ExperiencesAggregated on: Thu Aug 03 2023 13:31:22 GMT+0000 (Coordinated Universal Time) We all want to deliver quality experiences to our customers. Before we can ensure a quality experience for our customers, it is essential to establish a clear definition of quality specific to the product we are developing. Once established, embracing continuous testing becomes crucial as it can increase the speed at which features are delivered to customers, enhancing the overall customer experience. Quality is subjective. W. Edwards Deming wrote that “quality can only be defined in terms of the agent.” The development team will need to understand quality from the point of view of each of the agents for the product they are working on. An example would be If you were to consider agents for a book. The first agent for a book is the writer, and for the writer, quality could be, considering whether they got their message across. Another agent would be a printer; for the printer, quality would relate to the size of the print run, the quality of the paper, and the quality of the ink. The publisher is another agent for a book. For the publisher, quality may be whether they sold many books. The reader is another agent; for the reader, quality would be whether the book was a good read or contained some spark of information. The development team needs to work out who the agents are for their products and what quality is for them. Some of the agents will be external, such as a manager at one of their customer’s offices, and some of the agents will be internal such as Customer Success. Once the team has identified the agents, it can then develop a testing strategy to achieve a quality experience for each of the agents. View more...How Continuous Testing Can Improve DevOps EfficiencyAggregated on: Thu Aug 03 2023 13:01:22 GMT+0000 (Coordinated Universal Time) What Is DevOps? The best way for businesses to accelerate the pace, efficiency, and quality of their development pipeline is through DevOps. DevOps has an outstanding track record because it significantly changes how engineering teams work together to develop, test, and produce software. DevOps is broad and inclusive, encompassing the use of new frameworks and development practices and a complete philosophy and way of thinking that motivates various implementations throughout our industry. “DevOps is a methodology in the software development and IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle. DevOps is complementary to agile software development; several DevOps aspects came from the agile way of working.” – from Wikipedia View more...Podman Compose vs Docker ComposeAggregated on: Wed Aug 02 2023 22:01:22 GMT+0000 (Coordinated Universal Time) In this blog, you will take a look at Podman Compose. With Podman Compose, you can use compose files according to the Compose Spec in combination with a Podman backend. Enjoy! Introduction A good starting point and a must-read is this blog provided by RedHat. In short, Podman Compose is not directly maintained by the Podman team, and neither is Docker Compose, of course. Podman Compose has a more limited feature set than Docker Compose and in general, it is advised to use Kubernetes YAML files for this purpose. See "Podman Equivalent for Docker Compose" for how this can be used. However, the Podman team will fix issues in Podman when required for Podman Compose. It is also possible to use Docker Compose in combination with Podman, as is described in the post "Use Docker Compose with Podman to Orchestrate Containers on Fedora Linux." View more...Visualizing a Career PathAggregated on: Wed Aug 02 2023 20:31:22 GMT+0000 (Coordinated Universal Time) If you work for a larger organization, the chances are that you may sooner or later find yourself reporting to someone with a very different background and, as a result, perspective on an organization, roles, etc.; for example, someone with a developer background reports to a marketer. Trying to explain a career and how it has led you to a place and how you might wish it to progress is difficult if the person you’re talking with has little exposure or understanding. Or, it could be simply that the person you’re talking to is a visual thinker. This is where I found myself recently. So, to facilitate a conversation, I thought I'd try to describe my career and desired direction more visually. After all, CV-style bio/representations are rather abstract, focus on a timeline, and need a domain understanding to appreciate the value. View more...Comparing ModelMapper and MapStruct in Java: The Power of Automatic MappersAggregated on: Wed Aug 02 2023 20:01:22 GMT+0000 (Coordinated Universal Time) In Java applications, data mapping is a common task that involves converting objects from one type to another. This process can become complex and tedious, especially when dealing with large and nested classes. To simplify this task, developers often turn to automatic mapping frameworks. Two popular choices for automatic mapping in Java are ModelMapper and MapStruct. In this article, we will compare these frameworks and explore why using an automatic mapper is beneficial over manual mapping. The Need for Automatic Mappers Before delving into the comparison, let’s understand why automatic mappers are preferred over manual mapping. Here are some key reasons: View more...6 Effective Strategies for Kubernetes Observability in Hybrid Cloud EnvironmentsAggregated on: Wed Aug 02 2023 19:31:22 GMT+0000 (Coordinated Universal Time) 2023 has seen rapid growth in native-cloud applications and platforms. Organizations are constantly striving to maximize the potential of their applications, ensure seamless user experiences, and drive business growth. The rise of hybrid cloud environments and the adoption of containerization technologies, such as Kubernetes, have revolutionized the way modern applications are developed, deployed, and scaled. View more...How To Approach Dependency Management in Java [Video]Aggregated on: Wed Aug 02 2023 19:16:22 GMT+0000 (Coordinated Universal Time) In the video below, we will cover real-life considerations when working with dependencies in Java: How to find and trust the right dependencies How to consistently keep them updated How to protect against vulnerabilities How to handle team backlash against adding new dependencies And more! :) View more...jQuery vs. Angular: Common Differences You Must KnowAggregated on: Wed Aug 02 2023 18:01:22 GMT+0000 (Coordinated Universal Time) A robust digital presence is essential in today's business landscape. Web development evolves constantly with new frameworks and libraries for dynamic web applications. These platforms connect with your audience and boost business productivity. Embracing these advancements is vital for success in a competitive market. For a successful online presence, prioritize a visually appealing UI, seamless navigation, top-notch content, mobile responsiveness, user-centric features, and efficient time-to-market. Choose the proper framework to reduce development time and ensure effectiveness. View more...Data IntegrationAggregated on: Wed Aug 02 2023 17:01:22 GMT+0000 (Coordinated Universal Time) Data integration is the process of combining, transforming, and unifying data from various sources, such as databases, applications, and systems, into a single, coherent view. It involves bringing together diverse datasets to create a comprehensive and accurate representation of an organization's information assets. In today's fast-paced and data-driven world, organizations are flooded with information from multiple sources. Without proper integration, this data often remains siloed and disjointed, making it difficult for businesses to gain meaningful insights. Data integration plays a pivotal role in breaking down these barriers, empowering companies to make informed decisions based on a holistic understanding of their data. View more...4 Email Validation and Verification Techniques for App DevelopersAggregated on: Wed Aug 02 2023 16:01:22 GMT+0000 (Coordinated Universal Time) Today, most businesses rely quite heavily on social media to keep in contact with existing and potential customers. However, from a marketing and customer service perspective, email is still king. The trouble is that email is an aging technology filled with a plethora of security issues. For proof of that, look no further than the companies still puzzling over how to stop spam from inundating their mailboxes. That means software developers still need to integrate email functionality—like user address collection and direct email communications—into customer-facing applications. As they do, they need to find ways to mitigate the array of security issues that come with doing so. That effort typically begins with email validation and verification. Email validation and verification methods can help developers harden their applications against email abuse attacks. It can also help keep email databases collected via their apps free of bogus information. But there's more than one way to programmatically validate and verify emails these days. Choosing the right one for the job depends on the purpose of the functionality and how accurate you need it to be. To help developers with this critical task, here are five ways to incorporate email validation and verification into your apps in order of their overall accuracy and utility. View more...The Future of Cloud Computing: Unleashing the Power of the CloudAggregated on: Wed Aug 02 2023 14:31:22 GMT+0000 (Coordinated Universal Time) In recent years, cloud computing has emerged as a game-changer for businesses of all sizes. The ability to store and access data and applications over the internet has revolutionized the way companies operate, enabling them to be more agile, efficient, and scalable. As the demand for cloud services continues to grow, cloud computing providers are at the forefront of innovation, offering a wide range of solutions to cater to the diverse needs of businesses worldwide. The Evolution of Cloud Computing Cloud computing has come a long way since its inception. The concept of cloud computing dates back to the 1960s when J.C.R. Licklider first described the idea of an "intergalactic computer network." However, it wasn't until the late 1990s and early 2000s that cloud computing started gaining traction with the rise of the internet. View more...Why Developers Should Contribute To Open SourceAggregated on: Wed Aug 02 2023 14:16:22 GMT+0000 (Coordinated Universal Time) Open-source software has revolutionized the world of technology, enabling developers to collaborate, innovate, and build upon existing projects. One of the key pillars of open source is the involvement of developers from around the globe, offering their time, skills, and expertise to enhance and expand these projects. In this article, we explore the reasons why developers should actively contribute to open source and how it can benefit their professional growth and the software industry as a whole. Collaboration and Learning Opportunities Exposure to diverse perspectives: Contributing to open-source projects provides developers with an invaluable opportunity to collaborate with a global community of like-minded individuals. By working with people from various backgrounds, developers gain exposure to new ideas, perspectives, and approaches, fostering a rich learning environment. Enhancement of problem-solving skills: Open source projects often pose unique challenges that require innovative solutions. By contributing to these projects, developers have the chance to sharpen their problem-solving skills as they navigate through complex issues with the support of the open-source community. Access to mentorship: The open-source community is made up of seasoned experts who are often willing to offer guidance and mentorship to aspiring developers. By engaging in open-source projects, developers can tap into a vast network of experienced professionals, gaining valuable insights and advancing their skill set. Career Advancement Showcase of abilities and expertise: Open source contributions serve as a tangible demonstration of a developer's abilities and expertise. Employers value candidates who actively participate in open-source projects as it showcases their commitment, passion, and willingness to learn and improve continuously. Expanded professional network: Engaging in open-source projects allows developers to build meaningful connections with other professionals in the industry. These connections can lead to new job opportunities, collaborations, and professional growth, opening doors to further career advancements. Stronger resumes: Having open-source contributions listed on a resume adds depth and credibility to a developer's profile. It highlights their ability to work collaboratively, take initiative, and contribute to the software community, setting them apart from other job applicants. Growth and Improvement of Skills Learning from project codebases: Open source projects often have extensive codebases that expose developers to different programming languages, frameworks, and libraries. By studying these codebases and contributing to their development, developers enhance their understanding of best practices, coding standards, and optimization techniques. Refining coding and documentation skills: Contributing to open source encourages developers to write clean, maintainable code that is easily understandable by others. In doing so, developers refine their coding and documentation skills, making them more effective communicators and collaborators. Understanding software development workflows: Open source projects typically follow established software development workflows, including version control systems, issue tracking, and code reviews. By actively participating in these processes, developers gain firsthand experience and understanding of these workflows, preparing them for future professional projects. Making a Positive Impact on the Software Community Contributing to the greater good: Open source projects strive to provide software solutions that benefit the community at large. By actively contributing, developers become agents of positive change, helping to improve and advance the software industry as a whole. This sense of purpose and community is deeply fulfilling and can be a driving force for developers to continue contributing to open-source projects. Giving back to the community: Developers often rely on open-source software for their own projects. Contributing to open source is a way to give back to the community that has supported and empowered them throughout their careers. By sharing their knowledge and expertise, developers help create a virtuous cycle of growth and innovation within the software community. Conclusion Contributing to open source is a rewarding endeavor for developers, offering a multitude of benefits that extend far beyond coding proficiency. The collaborative and learning opportunities, career advancements, skill growth, and positive impact on the software community are all reasons why developers should actively engage in open-source projects. By participating in open source, developers not only enhance their own professional growth but also contribute to the advancement and evolution of the entire software industry. So, let's embrace the power of open source and join the thriving community of developers working together to build a better future. View more...Effective Debugging Techniques for Software DevelopersAggregated on: Tue Aug 01 2023 23:31:21 GMT+0000 (Coordinated Universal Time) Hey there, fellow developers! I'm Rocky, and I'm excited to share with you some awesome insights on effective debugging techniques. Debugging is an essential part of our software development journey, and let's be real, it can be both challenging and rewarding. We've all been through those moments where bugs seem to hide and taunt us, making our lives a bit more interesting. In this article, I want to take you on a debugging adventure where we'll explore some practical and time-tested approaches to tackle those pesky bugs head-on. We'll dive into various tools, strategies, and tips that will not only help you squash bugs faster but also make you a debugging ninja in no time! View more...Understanding Package.json II: ScriptsAggregated on: Tue Aug 01 2023 21:31:21 GMT+0000 (Coordinated Universal Time) Welcome to the world of Javascript development, where building, testing, and deploying applications can be complex and time-consuming. As developers, we strive to automate these tasks as much as possible, and that's where npm scripts come in. npm scripts are powerful and flexible tools that allow us to define custom commands and automate repetitive tasks with ease. They can help us save time, reduce errors, and improve collaboration within our teams. In this blog post, we'll explore the basics of npm scripts and how they can simplify your Node.js development workflow. We'll cover the syntax and structure of npm scripts, how to run them, and some common use cases. Whether you're a seasoned Node.js developer or just getting started, this guide will help you unlock the full potential of npm scripts and streamline your development process. View more...Product Discovery for Agile TeamsAggregated on: Tue Aug 01 2023 21:31:21 GMT+0000 (Coordinated Universal Time) TL; DR: Product Discovery for Agile Teams While Scrum excels at building and releasing Increments, it does not guarantee that those are valuable—garbage in, garbage out. Scrum teams can equally make things no one is interested in using. The critical artefact to create value is the Product Backlog, “an emergent, ordered list of what is needed to improve the product.” (Source.) However, Scrum does not elaborate on how the Product Owner identifies Product Backlog-worthy work items. That would be the job of the process that feeds into the Product Backlog: product discovery. View more...How Do I Run My Go Applications in a Serverless Way - Part 2Aggregated on: Tue Aug 01 2023 21:01:21 GMT+0000 (Coordinated Universal Time) The first part of this series introduced you to the AWS Lambda Go API Proxy, and how its framework/package-specific adapter implementations (for gorilla/mux, echo and net/http) allows you to run existing Go applications as AWS Lambda functions fronted by Amazon API Gateway. If you haven't already, I encourage you to take a look at it in order to get a basic understanding of the AWS Lambda Go API Proxy. The AWS Lambda Go API Proxy also supports Gin, which is one of the most popular Go web frameworks! This follow-up blog post will demonstrate how to take an existing URL shortener service written using the Gin framework and run it as a serverless AWS Lambda function. Instead of using AWS SAM, we will change things up a bit and use the AWS CDK to deploy the solution. View more...How To Get the Comments From a DOCX Document in JavaAggregated on: Tue Aug 01 2023 20:31:21 GMT+0000 (Coordinated Universal Time) Contemporary document collaboration tools help make it possible to push projects from start to finish on tighter deadlines than ever before. Where pre-digital project collaboration relied on manual markups and annotations to modify/improve critical reports and memos before their distribution, contemporary teams across a variety of industries can accomplish the same essential goals – and much, much more – using the simple revision tools accessible to all users in DOCX files. Suggestions, changes, and callouts can be added by any team member to a DOCX document in a SharePoint site drive, drastically minimizing the time it takes to publish and share final products with stakeholders. Underneath the hood, it’s Microsoft’s OpenXML document format that makes this team-oriented file manipulation possible. Because DOCX format is structured as a zip file composed of multiple XML-based files, comments and other revisions are physically separated from the document’s core content, and data that define the relationships between these separate files are stored in a folder of its own. View more...Building a Serverless Application on AWS With AWS SAMAggregated on: Tue Aug 01 2023 18:16:21 GMT+0000 (Coordinated Universal Time) Welcome to this step-by-step guide on building a serverless application on AWS using AWS SAM (Serverless Application Model). In this tutorial, we will walk you through the process of defining and managing AWS resources, such as AWS Lambda functions, SQS queues, and SNS topics, using SAM template model code. Additionally, we'll set up an event trigger for the Lambda function using the SQS queue, create a new IAM role with the necessary permissions, and deploy the SAM application to AWS. Prerequisites Before we begin, make sure you have the following prerequisites in place: View more...Proper Java Exception HandlingAggregated on: Tue Aug 01 2023 17:16:21 GMT+0000 (Coordinated Universal Time) Let's talk about sore points. Due to my duties, I have to work with many different services (make edits, conduct code reviews ...); different teams usually write all these services, and whenever it comes to handling errors and forwarding them from the service, sometimes my eyes start watering. Let me try to tell you what code, in my opinion, is not acceptable for error handling and how it should be in my opinion. In general, initially, the problem is hidden in the flaw in the analytics of the service. Often, there is no requirement in terms of reference on how errors should be thrown. As a rule, this happens for two reasons; the first is the rush to develop a new service, and the second is that the analyst trusts the experience of the developer. In such cases, the analyst simply tells the developer, "Well, give me an example of an error message later, and I will attach it in confluence." View more...LLM(Large Language Models) For Better Developer Learning of Your ProductAggregated on: Tue Aug 01 2023 16:31:21 GMT+0000 (Coordinated Universal Time) Developing a tech product is not just about coding and deployment. It’s about the learning journey that goes into building and utilizing it as well. Especially, if you have a developer-oriented product, it is about ensuring that developers understand your product at a deep level through the docs, tutorials, and how-to guides, improving both their own skills and the quality of the work they produce. Nowadays AI can not only generate docs from code but also makes it easy to find specific information or answer questions about your product using a chatbot for a better developer experience. It is life-changing for these project docs maintainers. This article explores how LLMs(Large Language Models) and LLM apps can be leveraged for effective and efficient developer education, which can boost the utilization of your product. View more...The Intersection of CDP and AI: How Artificial Intelligence Is Revolutionizing Customer Data PlatformsAggregated on: Tue Aug 01 2023 14:01:21 GMT+0000 (Coordinated Universal Time) In today's data-driven world, Customer Data Platforms (CDPs) play a pivotal role in helping businesses harness and utilize customer data effectively. These platforms consolidate data from various sources, providing valuable insights into customer behavior and preferences. They enable businesses to comprehensively understand their customers, facilitating targeted marketing campaigns, personalized experiences, and informed decision-making. View more...What Do You Mean by Debugging in C?Aggregated on: Tue Aug 01 2023 13:31:21 GMT+0000 (Coordinated Universal Time) Debugging in C is the process of locating and fixing mistakes, bugs, and other problems in a C program. It involves detecting and correcting logical, syntactic, and runtime issues to guarantee the program works correctly. Debugging is an important skill for C programmers since it improves code quality, ensures program accuracy, and increases overall software development efficiency. In this explanation, we will look at the principles of C debugging, typical approaches, tools, and best practices for debugging C programs. View more...Java: A Time-Tested Programming Language Still Going StrongAggregated on: Tue Aug 01 2023 13:31:21 GMT+0000 (Coordinated Universal Time) Consistently in the top rankings of the TIOBE index for the past two decades, and with a current TIOBE ranking of 4, Java has proved to be one of the most popular programming languages even after more than 25 years of its creation. With an ever-changing technological landscape, where technology emerges and perishes in the blink of an eye, the Java language's continuous success is no miracle but a testament to its time-tested usefulness in helping build complex applications across industries worldwide. In this article, we will take a look at the points that still make Java a favorite among the tech community worldwide. View more...A Plain English Guide To Reverse-Engineering the Twitter Algorithm With LangChain, Activeloop, and DeepInfraAggregated on: Mon Jul 31 2023 19:46:20 GMT+0000 (Coordinated Universal Time) Imagine writing a piece of software that could understand, assist, and even generate code, similar to how a seasoned developer would. Well, that's possible with LangChain. Leveraging advanced models such as VectorStores, Conversational RetrieverChain, and LLMs, LangChain takes us to a new level of code understanding and generation. View more...Apache APISIX Without etcdAggregated on: Mon Jul 31 2023 19:31:20 GMT+0000 (Coordinated Universal Time) etcd is an excellent key-value distributed database used internally by Kubernetes and managed by the CNCF. It's a great option, and that's the reason why Apache APISIX uses it too. Yet, it's not devoid of issues. First, some mention scalability, but one can expect this from a distributed data store that values consistency. Another issue may be the need for more familiarity with etcd. It's relatively new, so your Ops team may need help operating it correctly while having decades of operating MySQL or Postgres. Finally, only a few etcd users are aware that it lacks maintainers: View more...The Power of Automation in DevOps: Streamlining Software Development and DeliveryAggregated on: Mon Jul 31 2023 18:31:20 GMT+0000 (Coordinated Universal Time) In today's constantly evolving digital landscape, staying ahead of the competition requires organizations to innovate continuously. Additionally, delivering high-quality software at an accelerated pace has become essential. This is where DevOps comes into play. DevOps, short for Development and Operations, is a set of practices that brings together software development and IT operations teams. They collaborate and automate processes, enabling organizations to build, test, and release software faster and more reliably. Automation is a key component of DevOps success. By leveraging automation tools and methodologies, DevOps teams can: View more...How to Structure a Platform Team – An Illustrative ModelAggregated on: Mon Jul 31 2023 17:01:20 GMT+0000 (Coordinated Universal Time) Platform teams are an integral part of an IT solution delivery organization. Every IT organization has a way of structuring its platform team based on its context and multiple considerations, including alignment with the Development or Operations of other units, position in the reporting hierarchy, business portfolio alignment – common vs. federated setup, etc. However, one thing that is likely to be common across these structures for platform teams is that it is a common service provider to the Dev and Ops teams. It is most likely a 'horizontal' team providing tooling support, frameworks, platforms, and even standards and benchmarks for the solution delivery and operations teams. This article describes an illustrative model to structure the platform team and outlines the team's responsibilities, metrics, and approach to Governance. View more...Key Developer Concepts and Tools in Software Supply Chain SecurityAggregated on: Mon Jul 31 2023 16:46:20 GMT+0000 (Coordinated Universal Time) Software supply chain security is a threat area that was popularized by SolarWinds and Log4j. For the first time there was widespread awareness of how exploiting popular software artifacts (libraries, frameworks, etc.) can give hackers entry, where they can then pivot to all sorts of mischief. It's become the next buzzword in cybersecurity and the intersection of DevSecOps. As the latest evolution of the so-called "shift left" security trend, it's really about baking the concept of provenance (who created software, who has touched it, ensuring that it has not been tampered with) into the build process, up through production applications. View more...Building a Sustainable Future by Minimizing the Carbon Footprint in .NETAggregated on: Mon Jul 31 2023 16:01:20 GMT+0000 (Coordinated Universal Time) In recent years sustainability has become an important focus for most of the IT companies. As technology continues to play a significant role in our lives, IT companies have recognized their responsibility to minimize their environmental impact and promote sustainable practices. In the article, we will explore a reference .NET architecture that minimizes the carbon footprint, allowing us to build a greener and more sustainable future. Serverless Computing Embrace Azure Functions to implement serverless computing. By using this cloud service, you may scale automatically based on demand and do away with the need to manage servers. Azure Functions effectively distribute resources, cutting down on energy use and, in turn, your carbon impact. With this method, you only pay for the time that is spent executing the plan, which makes it economical and environmentally responsible. View more...Embracing AI for Software Development: Solution Strategies and ImplementationAggregated on: Mon Jul 31 2023 13:46:20 GMT+0000 (Coordinated Universal Time) Artificial Intelligence (AI), once just a notion from the realms of future prediction, has become an indispensable element of our day-to-day existence, significantly revolutionizing industries worldwide. A prime example of an arena thoroughly transformed by AI is software development. Currently, the inclusion of AI capabilities into software development endeavors isn't merely a fancy addition but a requisite that brings a plethora of advantages. By employing AI, software developers have the capacity to augment application functionality, automate repetitive tasks, enrich user experiences, and even foresee upcoming trends and patterns. This article endeavors to offer a deeper understanding of how AI can be assimilated into your existing software development projects, thereby fostering innovation, streamlining procedures, and in the grand scheme, forging more sturdy and intuitive software solutions. Demystifying AI and Unveiling Its Potentials Artificial Intelligence, often abbreviated as AI, isn't just a trendy buzzword. It's a distinct field within computer science that equips machines with abilities akin to human intelligence. The intention isn't to conjure up visions of a sci-fi landscape but to amplify the potential of your software. View more...What Is Bespoke Software Development: A Complete GuideAggregated on: Mon Jul 31 2023 13:31:20 GMT+0000 (Coordinated Universal Time) Businesses of all sizes increasingly depend on software to achieve their objectives, and this holds true across all sizes and niches, from startups to big names. After all, we live in a digital age. In recent times, however, the term "Bespoke Software Development" is one that has continually shown up when deciding on technological applications for business. But to get to its development, we must understand what Bespoke software is and why it is so important. This article will provide a comprehensive guide to embracing bespoke software development through its definition, importance, advantages, alternative, and a few examples to give a general idea of Bespoke Software Development. View more...Kubernetes Evolution: Transitioning from etcd to Distributed SQLAggregated on: Fri Jul 28 2023 15:31:19 GMT+0000 (Coordinated Universal Time) I recently stumbled upon an article explaining how to replace etcd with PostgreSQL. This transition was seamless with the Kine project, which serves as an external etcd endpoint, translating Kubernetes etcd requests into SQL queries for an underlying relational database. Inspired by this approach, I decided to explore Kine's potential further by switching from etcd to YugabyteDB, a distributed SQL database built on PostgreSQL. View more...How To Build a Cross-Platform Interactive Poll Application With .NET and AWSAggregated on: Fri Jul 28 2023 15:01:19 GMT+0000 (Coordinated Universal Time) This story started back in December 2021 at the first post-COVID AWS re: Invent conference. We were staffed at the Welcome Desk of the AWS Developer Community Lounge. The first few minutes were awkward when people started to flow in. People were walking in front of the Welcome desk, and as soon as we made eye contact, they walked away in the opposite direction. An idea came over us; we were missing an icebreaker activity. We started mini-polls at the Welcome desk asking attendees about their favorite programming language, favorite swag, favorite AWS service, etc. Below is a picture of how we utilized the Welcome desk to poll attendees. As we are always looking at improving our customers' experience, we quickly imagined how we could enhance the setup. Questions like "What if people could vote on touch screens and see poll results in real-time" popped up. We ended up with this mock-up of the vision we had. View more...Evolving Data Strategy at Major Canadian BankAggregated on: Fri Jul 28 2023 14:16:19 GMT+0000 (Coordinated Universal Time) With the ever-increasing amount and variety of data, constantly growing regulations and legislation requirements, new capabilities and techniques to process the data, to become a data-driven organization, CIBC goes through enormous changes in all aspects of leveraging, managing, and governing the data. To address the requirements of this new reality, CIBC embraced the data mesh paradigm and developed a generic two-part data pattern. On the business side, the pattern introduced a data product strategy to define data domains and data products end-to-end owned by the cross-functional data product teams. On the technology side, CIBC has implemented a data mesh architecture to support the data product strategy. The central part of this architecture is represented by a data management platform providing a shared platform and data management and governance services. The article introduces and discusses guiding principles driving the data strategy. View more...Back to the Future: Server-Side Web Pages With Kotlin (Pt. 1)Aggregated on: Fri Jul 28 2023 12:31:19 GMT+0000 (Coordinated Universal Time) Web development has undergone a variety of changes since the internet became popularized in the 1990s: First came the most basic of the basic: HTML pages that were completely statically rendered, with no dynamism whatsoever. Later came technologies like the Common Gateway Interface that allowed for generating HTML code for a webpage programmatically. Then came templating engines like JavaServer Pages (now Jakarta Server Pages), ASP.NET, and Thymeleaf that enabled developers to work with template files that were predominantly “HTML-looking” with programming code intermixed. Next came Javascript-based “client-side scripting” frameworks like Angular, React, and Vue, which transformed web development into two separate disciplines: the “backend” development that contained the traditional web server and business logic code along with “front-end” development (using the frameworks above) that would be concerned with a website’s visualization and receive data from the backend. However, this is not to say that development trends only advance in one direction and never backward. For example, NoSQL databases like MongoDB quickly gained popularity in no small part due to their ability to hold unstructured data compared to traditional SQL databases like PostgreSQL and MySQL, yet those latter databases have evolved as well and can now contain unstructured data via the JSONB and JSON data types, respectively. Likewise, new Javascript frameworks like Next.js are starting to offer options for server-side rendering alongside their now-traditional client-side rendering capabilities. Again, server-side templating engines like Thymeleaf have also continued to evolve, with Thymeleaf releasing a new version of the framework last December. View more...Comparing MongoDB and Couchbase in Java Enterprise ArchitectureAggregated on: Thu Jul 27 2023 22:01:18 GMT+0000 (Coordinated Universal Time) In today's rapidly evolving enterprise architecture landscape, MongoDB and Couchbase have emerged as two prominent contenders in NoSQL databases. This comprehensive guide explores the key differences, comparisons, and trade-offs between these powerful solutions, shedding light on their unique features and strengths. As we delve into NoSQL databases, we'll present practical examples of using MongoDB and Couchbase with Java in real-world enterprise architectures. This hands-on approach will provide insights into their individual performance and capabilities and demonstrate how to switch swiftly between them, ensuring seamless adaptation to project requirements. View more...Build a To-Do Application With React and FirebaseAggregated on: Thu Jul 27 2023 22:01:18 GMT+0000 (Coordinated Universal Time) To-do applications are one of the ways you can use to manage a set of tasks. As developers, learning how to build a to-do application will also help to understand certain concepts one of which includes an understanding of how to build an application with a database. In this article, you will learn how to build a to-do web app by making use of React.js and Firebase Database. View more...The Evolution of Software Development: From Waterfall to Agile to DevOps and BeyondAggregated on: Thu Jul 27 2023 20:16:18 GMT+0000 (Coordinated Universal Time) In the dynamic world of technology, the methods and processes we use to create software have undergone significant transformations. The evolution of software development methodologies is a testament to our continuous pursuit of efficiency, quality, and adaptability. In the early days, software development was a linear and rigid process, often compared to constructing a building. This approach, known as the Waterfall model, was the first structured software development methodology. However, as the complexity and scale of software projects grew, the need for a more flexible and iterative approach became apparent. View more...What Happens When an AI Company Falls Victim to a Software Supply Chain VulnerabilityAggregated on: Thu Jul 27 2023 19:01:18 GMT+0000 (Coordinated Universal Time) On March 20th, 2023, OpenAI took down the popular generative AI tool ChatGPT for a few hours. It later admitted that the reason for the outage was a software supply chain vulnerability that originated in the open-source in-memory data store library 'Redis.' As a result of this vulnerability, there was a time window (between 1-10 am PST on March 20) where users could accidentally access other users' chat history titles and possibly expose payment-related information such as names, email addresses, payment addresses, credit card type and last four digits of the payment card number. View more...Mixing SQL and NoSQL With MariaDB and MongoDBAggregated on: Thu Jul 27 2023 17:16:18 GMT+0000 (Coordinated Universal Time) Let's say you have an application developed in Node.js (or any other platform). This application connects to a MongoDB database (NoSQL) to store ratings on books (number of stars given and a comment). Let's also say that you have another application developed in Java (or Python, C#, TypeScript… anything). This application connects to a MariaDB database (SQL, relational) to manage a catalog of books (title, year of publishing, number of pages). You are asked to create a report that shows the title and rating information for each book. Notice that the MongoDB database doesn't contain the title of the books, and the relational database doesn't contain the ratings. We need to mix data created by a NoSQL application with data created by a SQL application. View more...Cluster Autoscaler Helm Chart: How To Improve Your EKS ClusterAggregated on: Thu Jul 27 2023 15:31:18 GMT+0000 (Coordinated Universal Time) Kubernetes autoscaling quickly gets tricky, but developers can save time and effort thanks to all the ecosystem's tools that make configuration and management easier. One of them is Helm. Helm charts are there to help teams define, install, and upgrade complex Kubernetes applications. And the Cluster Autoscaler Helm Chart does some of the heavy lifting for you around autoscaling. But how exactly does this Helm chart work? And are there any alternatives you could use to make cluster autoscaling even easier? View more...The Future of Web Development: Predictions and PossibilitiesAggregated on: Thu Jul 27 2023 14:01:18 GMT+0000 (Coordinated Universal Time) The universe of web improvement has gone through a beautiful development since its initial days during the commencement of the web. The method involved with creating and overseeing sites and online applications has gone through astounding progressions, molding the computerized scene we witness today. In this cutting-edge time, web improvement holds the most extreme importance, given the developing vitality of a robust web-based presence for organizations and people. It assumes a significant part in impacting client encounters and working with consistent cooperation on the immense territory of the web. As we dig further into this article, we will investigate the expectations and open doors that loom not too far off, promising to upset our insight and usage of the web concerning web improvement. Current State of Web Development Web improvement is constantly developing, driven by progressions in innovation and the changing necessities of clients. Web developers currently use different innovations like HTML, CSS, JavaScript, and structures like Respond, Rakish, or Vue.js to fabricate dynamic and responsive sites. Nonetheless, they face difficulties connected with cross-program similarity, security weaknesses, and the requirement for quicker stacking pages. View more...Continuous Deployment: Accelerating Software Delivery and Improving AgilityAggregated on: Thu Jul 27 2023 13:16:18 GMT+0000 (Coordinated Universal Time) In today’s fast-paced digital landscape, businesses constantly seek ways to deliver software faster, enhance customer experiences, and stay ahead of the competition. Continuous Deployment (CD) has emerged as a game-changing practice that enables organizations to streamline software delivery, increase agility, and reduce time-to-market. Continuous Deployment (CD) is an agile software development approach that addresses this challenge by enabling organizations to automate the release process and deliver software changes to production frequently and reliably. In this article, we will explore the concept of Continuous Deployment, its benefits, best practices, and how organizations can effectively implement it. View more...Is Your Latest Data Really the Latest? Check Your Data Update MechanismAggregated on: Wed Jul 26 2023 19:01:17 GMT+0000 (Coordinated Universal Time) In databases, data update is to add, delete, or modify data. Timely data update is an important part of high-quality data services. Technically speaking, there are two types of data updates: you either update a whole row (Row Update) or just update part of the columns (Partial Column Update). Many databases support both of them but in different ways. This post is about one of them, which is simple in execution and efficient in data quality guarantee. View more...Doubly Linked List in Data Structures and AlgorithmsAggregated on: Wed Jul 26 2023 18:01:17 GMT+0000 (Coordinated Universal Time) The linked list concept is used quite commonly in the real world. When we use Spotify to play the next song in the queue, the concept of a single linked list that we learned comes into action. But what exactly can one do to play the previous song in the queue? In this blog, we shall understand another concept associated with data structures, which is a Doubly Linked List. We shall also discuss its implementation using C and real-time applications. View more... |
|
|