Joydip Kanjilal
CODE Author
Joydip Kanjilal is an MVP (2007-2012), software architect, author, and speaker with more than 25 years of experience. He has more than 20 years of experience in Microsoft .NET and its related technologies. Joydip has authored nine books, more than 500 articles, and has reviewed more than a dozen books. He is based out of Hyderabad, India.
Detailed Biography
Joydip Kanjilal is an MVP (2007-2012), software architect, author, and speaker with more than 25 years of experience. He has more than 20 years of experience in Microsoft .NET and its related technologies. Joydip has authored nine books, more than 500 articles, and has reviewed more than a dozen books. He is based out of Hyderabad, India.
Contact Information:
Articles Authored
-
Building Microservices Architecture Using CQRS and ASP.NET Core
Last updated: Thursday, December 19, 2024
Published in: CODE Magazine: 2025 - Jan/Feb
Joydip Kanjilal explores the Command Query Responsibility Segregation (CQRS) design pattern and its application in microservices architectures built with ASP.NET Core. You'll learn the benefits of using CQRS, including scalability, performance optimization, and maintainability, by isolating read and write operations. Kanjilal provides a comprehensive guide on implementing CQRS with code examples, focusing on creating, updating, and deleting operations using ASP.NET Core Web API, MediatR for mediation, and Entity Framework Core.
-
Threads, Asynchrony, Parallelism, and Concurrency in C#
Last updated: Thursday, October 24, 2024
Published in: CODE Magazine: 2024 - November/December
Joydip walks you through fundamental computing concepts that enhance application performance and scalability. The article provides a comprehensive exploration of threads, tasks, and multiprocessing, illustrating how they relate to asynchrony, parallelism, and concurrency. Through detailed explanations and code examples, Kanjilal demonstrates how these concepts can be implemented in C# using Visual Studio 2022 and .NET 9.0. Emphasizing best practices, Joydip guides developers in avoiding common pitfalls like deadlocks and race conditions, while highlighting when to use each approach based on application needs.
-
Implementing the Outbox Pattern with Kafka and C#
Last updated: Thursday, October 24, 2024
Published in: CODE Magazine: 2024 - September/October
Joydip delves into the outbox pattern as a reliable method for ensuring data consistency and reliable event publishing in microservices architectures. He provides a comprehensive guide on implementing this pattern using Apache Kafka and C# within ASP.NET Core applications, covering key components, benefits, and drawbacks. The article includes a detailed walkthrough of setting up Kafka, creating database tables, and developing both producer and consumer services. Additionally, Joydip discusses real-world use cases and alternatives to the outbox pattern, such as Two-Phase Commit and Saga Pattern, to give readers a holistic view of the pattern's practical applications and limitations.
-
Store Application Performance Metadata in a Database Using AOP in ASP.NET Core
Last updated: Thursday, December 26, 2024
Published in: CODE Magazine: 2024 - July/August
Joydip explores programming paradigms (object-oriented, procedural, and aspect-oriented programming) and looks at how AOP (aspect-oriented programming) can help you optimize performance and store performance metadata in a database.
-
From SOAP to REST to GraphQL
Last updated: Monday, December 30, 2024
Published in: CODE Magazine: 2024 - May/June
This article by Joydip Kanjilal provides an overview of the evolution of web APIs from SOAP to REST to GraphQL. By understanding the progression from SOAP to REST to GraphQL, developers can make informed decisions when choosing the right API design for their projects. The article includes code examples and instructions for building applications using SOAP, REST, and GraphQL.
-
Distributed Caching: Enhancing Scalability and Performance in ASP.NET 8 Core
Last updated: Tuesday, December 31, 2024
Published in: CODE Magazine: 2024 - March/April
Joydip covers the pros and cons of distributed caching and describes in-memory caching, distributed caching, and client-side caching. The article also covers various caching strategies, challenges, and best practices, and Joydip teaches you how to implement caching in ASP.NET Core using frameworks like NCache and MemCached.
-
Automatic Resource Management in .NET 7 Core
Last updated: Tuesday, December 31, 2024
Published in: CODE Magazine: 2024 - January/February
Joydip covers the core concepts of resource management in .NET Core and then helps you build something with it.
-
Developing Real-Time Web Applications with Server-Sent Events in ASP.NET 7 Core
Last updated: Wednesday, January 8, 2025
Published in: CODE Magazine: 2023 - September/October
Joydip shows you how to build real-time web applications with Server-Sent Events (SSE) in ASP.NET Core, including the core concepts of SSE, the features, benefits, and downsides of SSE, and how to implement real-time updates, etc.
-
Building Microservices Architecture Using GraphQL and ASP.NET 7 Core
Last updated: Wednesday, November 13, 2024
Published in: CODE Magazine: 2023 - July/August
This article provides an overview of GraphQL, its features and benefits, and how it compares and contrasts with REST and gRPC. It also explains how to take advantage of GraphQL to build microservices-based real-time applications in ASP.NET Core 7 and provides an overview of GraphQL schemas and their components.
-
Building an Event-Driven .NET Core App with Dapr in .NET 7 Core
Last updated: Wednesday, January 8, 2025
Published in: CODE Magazine: 2023 - March/April
If you need to be able to create event-driven applications quickly and efficiently, Joydip suggests exploring Distributed Application Runtime (Dapr).
-
An Introduction to Distributed Tracing with OpenTelemetry in .NET 7
Last updated: Wednesday, January 8, 2025
Published in: CODE Magazine: 2023 - January/February
OpenTelemetry is an open-source distributed tracing framework. Companies that use it can make more informed decisions about their operations. Learn to use it through an example ASP.NET 7 project.
-
A Deep Dive into Working with gRPC in .NET 6
Last updated: Thursday, January 9, 2025
Published in: CODE Magazine: 2022 - November/December
You can take advantage of multiple platforms, protocol buffers, and HTTP/2 painlessly using gRPC, and Joydip shows you how.
-
Webinar Bonus Article: Improving String Performance in .NET 7
Last updated: Thursday, January 9, 2025
Published in: CODE Magazine: 2022 - November/December
This bonus article accompanies Joydip's CODE Presents webinar of the same name, presented November 16, 2022. To watch the webinar recording, visit https://www.codemag.com/CodePresents.
-
Benchmarking .NET 6 Applications Using BenchmarkDotNet: A Deep Dive
Last updated: Thursday, January 9, 2025
Published in: CODE Magazine: 2022 - September/October
In his story about how to set up benchmarks in Visual Studio 2022, Joydip teaches you how to create baselines, and then execute many types of benchmarks and interpret the results.
-
Writing High-Performance Code Using Span<T> and Memory<T> in C#
Last updated: Thursday, January 9, 2025
Published in: CODE Magazine: 2022 - July/August
C# 7.2 has introduced two new types: Span and Memory. If you need to work with large chunks of memory in a high performance manner, these new types provide a faster way to work with arrays and subarrays, strings and subscrings, and unmanaged memory buffers. Joydip dives in and finds that they’re incredibly useful.
-
Distributed Caching in ASP.NET Core 6 Using Redis in Azure
Last updated: Friday, January 10, 2025
Published in: CODE Magazine: 2022 - May/June
Whether you realize it or not, you’ve been benefiting from caching for years. Joydip tells you how and why to use caching to your best advantage.
-
A Deep Dive into the Back-End for Front-End Pattern
Last updated: Tuesday, January 14, 2025
Published in: CODE Magazine: 2022 - March/April
In the current climate of using thin-client applications, you might hit a bump with your user interface integration. Joydip looks at the BFF (back-end for front-end) pattern in ASP.NET 6 Core to solve this problem.
-
Working with Apache Kafka in ASP.NET 6 Core
Last updated: Tuesday, January 14, 2025
Published in: CODE Magazine: 2022 - January/February
Kafka is an open-source high throughput, low latency messaging system for distributed applications. Joydip shows you how it’s what you’ve been waiting for.
-
Designing Microservices Architecture for Failure
Last updated: Thursday, January 16, 2025
Published in: CODE Magazine: 2021 - November/December
You’ve heard about microservices and how they help teams divvy up the workload. Joydip examines them even more closely to show you how you can use them as part of your test cycle, too.
-
Deploying an ASP.NET 5 App to Azure Kubernetes Service with Azure DevOps Starter
Last updated: Tuesday, January 21, 2025
Published in: CODE Magazine: 2021 - September/October
Setting up a build-and-release project in Kubernetes can eat up a lot of your time. Joydip shows you how Starter can help you build automated CI/CD pipelines and use Kubernetes and containers to deploy efficiently to Azure Kubernetes Service.
-
Test Your REST APIs Using Insomnia REST Client
Last updated: Thursday, January 23, 2025
Published in: CODE Magazine: 2021 - July/August
APIs are everywhere! Joydip shows you how to take advantage of them using a new, free, cross-platform desktop framework, Insomnia, with its user-friendly interface and sophisticated features.
-
Implementing JWT Authentication in ASP.NET Core 5
Last updated: Thursday, January 23, 2025
Published in: CODE Magazine: 2021 - May/June
Learn to use JSON Web Tokens (commonly known as JWT) to secure the data that's transmitted over the wire between APIs and the clients that consume the APIs.
-
Building Multi-Tenant Applications Using ASP.NET 5
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2021 - January/February
This overview of multi-tenant architecture describes the challenges and solutions to using them. Ultimately, multi-tenant gets cheaper over time. Follow along to implement a multi-tenant application in ASP.NET 5
-
A Deep Dive into ASP.NET Core Localization
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2020 - September/October
Joydip shows you how to build multilingual applications in ASP.NET Core using Visual Studio 2019 to enable a broader reach for your applications.
-
Synchronizing Databases Using Microsoft Sync Framework
Last updated: Wednesday, March 31, 2021
Published in: CODE Magazine: 2019 - July/August
If you’ve got multiple data stores, you have to keep them synced or you’ve got trouble on your hands. Joydip makes it look easy using Sync Framework.
-
Declarative Data Parallelism Using Parallel LINQ
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2011 - January/February
Applications can be single threaded or multithreaded. A single-threaded application is one in which the processor executes threads in a sequence, i.e., a thread would be scheduled by the operating system only if the execution of the currently running thread is complete. This approach doesn’t provide much system throughput (a measure of the amount of work done in unit time).