<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/itnext/best-of/2024/10" -->

---
title: Best ITNEXT posts — October 2024 | daily.dev
description: The most upvoted ITNEXT posts from October 2024, curated by the daily.dev community.
canonical: https://daily.dev/sources/itnext/best-of/2024/10
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/itnext/best-of/2024/10
og:type: website
og:site_name: daily.dev
og:title: Best ITNEXT posts — October 2024 | daily.dev
og:description: The most upvoted ITNEXT posts from October 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of ITNEXT — October 2024

1. 1  
[](https://daily.dev/posts/why-is-grpc-so-much-faster-than-a-json-based-rest-api--e9cngqfrm "Why is gRPC so much faster than a JSON-based REST API?")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Why is gRPC so much faster than a JSON-based REST API?  
gRPC is faster than a JSON-based REST API primarily due to its use of HTTP/2 and Protobuf. HTTP/2 reduces request wait times through asynchronous requests and connection reuse. Protobuf, being binary-based, is more compact and faster during serialization/deserialization compared to JSON. While gRPC offers significant performance benefits, it also introduces complexities in load distribution, troubleshooting, and managing contracts. It's recommended for scenarios needing high performance and capable of handling its complexities, though REST + JSON remains a viable option.  
119  
1
2. 2  
[](https://daily.dev/posts/a-few-unshakable-principles-for-writing-better-code-pcgxjox0w "A Few Unshakable Principles for Writing Better Code")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
A Few Unshakable Principles for Writing Better Code  
Explore essential principles for writing better, cleaner code. The author shares insights on effective code practices, emphasizing that functions should perform one task and maintain a consistent return type. Highlighting the value of code readability, abstraction, and functional programming concepts such as map-reduce, the guide provides practical examples to illustrate these points.  
103  
3
3. 3  
[](https://daily.dev/posts/ambiguous-architectural-patterns-m0smbnkrh "Ambiguous architectural patterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Ambiguous architectural patterns  
The post discusses ambiguous architectural patterns such as Monolith, Microkernel, Domain Services, Cells, and Nanoservices. It highlights how these terms have evolved and sometimes been misinterpreted or redefined over time, leading to confusion. It stresses the importance of understanding these differences to avoid miscommunication and inefficiency in software development.  
73
4. 4  
[](https://daily.dev/posts/pipelines-in-architectural-patterns-arkqmyt2i "Pipelines in architectural patterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Pipelines in architectural patterns  
Unidirectional data flow is integral to several architectural patterns, including Pipes and Filters, Choreographed Event-Driven Architecture (EDA), Command Query Responsibility Segregation (CQRS), and Model-View-Controller (MVC). Each pattern relaxes or enforces certain constraints such as type, identity, and temporal order of data packets, allowing for flexible data processing and transformation in various use cases. Pipes and Filters involve strict stepwise processing, while EDA and CQRS introduce complexity and flexibility by aggregating and storing events. MVC entirely abandons type and identity constraints in favor of broader functionality.  
72  
1
5. 5  
[](https://daily.dev/posts/middleware-ymvwpwo9e "Middleware")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Middleware  
Middleware acts as a low-level layer providing connectivity and communication for a system of services, improving scalability and error recovery. It's commonly used in backend systems, offering variants such as message brokers, service meshes, and enterprise service buses. Middleware enhances dynamic scaling, helps in deployments, and ensures message delivery but may introduce latency and complexity.  
53
6. 6  
[](https://daily.dev/posts/self-hosting-a-container-registry-5uwbaq5am "Self-Hosting a Container Registry")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Self-Hosting a Container Registry  
Self-hosting a container registry allows developers to maintain control over their container images, ensuring greater security and compliance with regulations. The guide provides step-by-step instructions to set up a registry server using Docker and Docker Compose, covering the configuration of Docker registry, Nginx for SSL/TLS handling, and domain setup. Alternatives like using Kubernetes or managed services like Harbor are also discussed.  
47  
1
7. 7  
[](https://daily.dev/posts/real-world-inspirations-for-architectural-patterns-pelqe2t5h "Real-world inspirations for architectural patterns")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Real-world inspirations for architectural patterns  
Architectural patterns in software engineering are influenced by real-world examples and natural systems. Basic metapatterns like Monolith, Shards, Layers, and Services provide foundational structures, while extension and specialized patterns such as Middleware, Shared Repository, Proxy, and others offer more intricate designs to address specific needs. Understanding these parallels can enhance creativity and flexibility in software design.  
42
8. 8  
[](https://daily.dev/posts/hexagonal-architecture-ao5at2inp "Hexagonal Architecture")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Hexagonal Architecture  
Hexagonal Architecture isolates business logic from external dependencies using two-way adapters, protecting from vendor lock-in and allowing late changes of third-party components. It supports cross-platform development and eases testing but may hinder performance optimizations and requires careful preliminary API design.  
33
9. 9  
[](https://daily.dev/posts/fuzz-testing-go-http-services-utrurxxqh "Fuzz Testing Go HTTP Services")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Fuzz Testing Go HTTP Services  
Fuzz testing, or fuzzing, is an automated software testing technique used to find bugs, crashes, and security vulnerabilities by inputting large amounts of random data into a program. It is now integrated into Go’s standard library as of Go 1.18, making it part of the regular testing package. Fuzz testing can reveal bugs that traditional testing might miss and is a recommended practice for improving the robustness of code, including HTTP services. The post provides step-by-step instructions for creating fuzz tests in Go, including an example for fuzzing HTTP handlers using Go's \`httptest\` package.  
30  
1
10. 10  
[](https://daily.dev/posts/mesh-y45cyxivq "Mesh")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Mesh  
Mesh is an architectural pattern that uses interconnected, layered shards as middleware, enhancing scalability and fault tolerance in distributed environments. It supports dynamic scaling and high availability but may introduce communication artifacts and performance overhead. Meshes vary significantly by structure, connectivity, and layers, and are implemented in various forms such as Peer-to-Peer Networks, Leaf-Spine Architecture, Actors, and Service Meshes.  
22
11. 11  
[](https://daily.dev/posts/how-the-cka-certification-has-changed-from-2021-to-2024-pbqw3pifj "How the CKA Certification Has Changed from 2021 to 2024")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
How the CKA Certification Has Changed from 2021 to 2024  
The CKA certification has undergone some changes from 2021 to 2024\. The cost increased from $299 to $399, and the certification validity period was shortened from three years to two. The exam environment also shifted from running in a standard browser to using the Pearson VUE Secure Browser with a Linux VM. Despite these changes, the content of the exam tasks seems largely unchanged, which disappointed some test-takers. This post shares personal recertification experience, insights, task examples, and practical tips for those preparing for the CKA exam.  
22
12. 12  
[](https://daily.dev/posts/advantages-of-storing-configuration-in-container-registries-rather-than-git-9hr1pdsav "Advantages of storing configuration in container registries rather than git")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Advantages of storing configuration in container registries rather than git  
Storing configuration files in container registries offers several advantages over using git, such as better scalability, performance, and security. Container registries support rich metadata, signatures, policy enforcement, and standard APIs, making them highly suitable for managing deployable assets. This approach aligns with current trends towards using universal artifact storage and simplifies the configuration management toolchain.  
20
13. 13  
[](https://daily.dev/posts/swagger-ui-generation-from-existing-express-code-zjbr1wk2r "Swagger UI Generation from Existing Express Code")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 2y  
Swagger UI Generation from Existing Express Code  
This guide covers the process of generating Swagger UI for an existing Express codebase. It discusses the usage of the swagger-autogen package to create an OpenAPI V3 (or swagger.json) file by scanning the Express routes. Additionally, the post explains how to render the generated JSON file on a specific route using the swagger-ui-express library, and how to set up OAuth2 implicit flow for secure API testing.  
17

[See all ITNEXT archives](/sources/itnext/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/itnext/best-of/2024/10#page","url":"https://daily.dev/sources/itnext/best-of/2024/10","name":"Best ITNEXT Posts — October 2024","description":"The most upvoted ITNEXT posts from October 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/itnext/best-of/2024/10#items","numberOfItems":13,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/why-is-grpc-so-much-faster-than-a-json-based-rest-api--e9cngqfrm","name":"Why is gRPC so much faster than a JSON-based REST API?"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/a-few-unshakable-principles-for-writing-better-code-pcgxjox0w","name":"A Few Unshakable Principles for Writing Better Code"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/ambiguous-architectural-patterns-m0smbnkrh","name":"Ambiguous architectural patterns"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/pipelines-in-architectural-patterns-arkqmyt2i","name":"Pipelines in architectural patterns"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/middleware-ymvwpwo9e","name":"Middleware"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/self-hosting-a-container-registry-5uwbaq5am","name":"Self-Hosting a Container Registry"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/real-world-inspirations-for-architectural-patterns-pelqe2t5h","name":"Real-world inspirations for architectural patterns"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/hexagonal-architecture-ao5at2inp","name":"Hexagonal Architecture"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/fuzz-testing-go-http-services-utrurxxqh","name":"Fuzz Testing Go HTTP Services"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/mesh-y45cyxivq","name":"Mesh"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/how-the-cka-certification-has-changed-from-2021-to-2024-pbqw3pifj","name":"How the CKA Certification Has Changed from 2021 to 2024"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/advantages-of-storing-configuration-in-container-registries-rather-than-git-9hr1pdsav","name":"Advantages of storing configuration in container registries rather than git"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/swagger-ui-generation-from-existing-express-code-zjbr1wk2r","name":"Swagger UI Generation from Existing Express Code"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"ITNEXT","item":"https://daily.dev/sources/itnext"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/itnext/best-of"},{"@type":"ListItem","position":5,"name":"October 2024"}]}]}
```

