Uploading large files to S3 using traditional single-request methods can be pretty challenging.
Network interruptions can happen, wasting bandwidth and time, and it gets pretty unreliable as files get bigger.
Here, Chisom teaches you how to upload large objects to S3 with AWS CLI multipart upload.
https://t.co/gTFsEApuJm
How do you enforce architecture rules in code?
Compilers won’t catch violations. Code reviews are hit or miss.
There’s a better way: architecture tests.
They’re automated checks that verify structure and design, written in C#.
Use them to:
• Enforce project dependency flow
• Restrict coupling between components
• Apply naming conventions
Here’s how to write your first one in minutes: https://t.co/kvkQGIh1Os
And remember: architecture should speed you up, not box you in.
𝗕𝗼𝗼𝗸𝘀 𝗘𝘃𝗲𝗿𝘆 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿 𝗠𝘂𝘀𝘁 𝗥𝗲𝗮𝗱 𝗶𝗻 𝟮𝟬𝟮𝟰.
You probably already noticed that I'm a big fan of reading. I usually read 3-4 books per month. There are two ways to learn from knowledgeable people: to work directly with them or to read what they have written. The first option is the best, yet it is often impossible to do. So, we have books written by people who are probably the best at this in the world at the time of writing.
If we look at the software engineering world, there are many gems, but I will recommend the best books per area of work. These books will help you become good at specific technology and a great software engineer overall.
𝟭. 𝗚𝗲𝗻𝗲𝗿𝗮𝗹:
🔹 The Pragmatic Programmer by David Thomas and Andrew Hunt (https://t.co/NCSpr3ZhGb)
🔹 Code Complete: A Practical Handbook of Software Construction (https://t.co/OXMYyabHma)
🔹 Modern Software Engineering by David Farley (https://t.co/2X5eWCHcni)
🔹 Software Engineering at Google (Free - https://t.co/GXZxoCbrva)
𝟮. 𝗖𝗼𝗱𝗶𝗻𝗴 𝗽𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀:
🔹 Clean Code by Uncle Bob Martin (https://t.co/4Ml52XBKKb)
🔹 Head First Design Patterns by Eric Freeman (https://t.co/4jXkPd8vcK)
🔹 Refactoring by Martin Fowler (https://t.co/8fbR93LNy0)
𝟯. 𝗗𝗮𝘁𝗮 𝘀𝘁𝗿𝘂���𝘁𝘂𝗿𝗲𝘀 𝗮𝗻𝗱 𝗮𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺𝘀:
🔹 Grokking Algorithms by Aditya Bhargava (https://t.co/1q2hWfaONO)
𝟰. 𝗗𝗮𝘁𝗮:
🔹 Learning SQL by Alan Beaulieu (Free - https://t.co/44iy3v91JQ)
𝟱. 𝗧𝗲𝘀𝘁𝗶𝗻𝗴:
🔹 Growing OO Software by Tests by Steve Freeman (https://t.co/joi6Q8nm4W)
🔹 TDD by Example by Kent Beck (https://t.co/IxVGfJymQu)
🔹 Unit Testing Principles, Practices, and Patterns by Vladimir Khorikov (https://t.co/7VyFPkUpZS)
🔹 The Art of Unit Testing by Roy Osherove (https://t.co/rqNoqJH49t)
Read the rest of the list: https://t.co/8tDUsYTd2W
#programming #learning #books
Google Dork - API Endpoints ⚙️
site:example[.]com inurl:api | site:*/rest | site:*/v1 | site:*/v2 | site:*/v3
Find juicy API Endpoints for further testing 🎯
How do you modularize a monolith?
The modules are split based on logical boundaries, grouping together related functionalities.
I'll explain how to create these modules in your application, starting from a monolith and isolating modules.
Here's how: https://t.co/7nEZHd9A6Q
Top 9 Architectural Patterns for Data and Communication Flow
🔹 Peer-to-Peer
The Peer-to-Peer pattern involves direct communication between two components without the need for a central coordinator.
🔹 API Gateway
An API Gateway acts as a single entry point for all client requests to the backend services of an application.
🔹 Pub-Sub
The Pub-Sub pattern decouples the producers of messages (publishers) from the consumers of messages (subscribers) through a message broker.
🔹 Request-Response
This is one of the most fundamental integration patterns, where a client sends a request to a server and waits for a response.
🔹 Event Sourcing
Event Sourcing involves storing the state changes of an application as a sequence of events.
🔹 ETL
ETL is a data integration pattern used to gather data from multiple sources, transform it into a structured format, and load it into a destination database.
🔹 Batching
Batching involves accumulating data over a period or until a certain threshold is met before processing it as a single group.
🔹 Streaming Processing
Streaming Processing allows for the continuous ingestion, processing, and analysis of data streams in real-time.
🔹 Orchestration
Orchestration involves a central coordinator (an orchestrator) managing the interactions between distributed components or services to achieve a workflow or business process.
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
API Gateway is the Swiss knife for your microservices.
It sits between the client and the collection of backend services, playing the role of a single entry point that accepts all requests.
But that’s not all an API Gateway does.
Depending on your requirements, it can perform various functions such as:
[1] Parameter Validation for the various attributes within the HTTP request
[2] Whitelist checks to allow or deny requests based on pre-defined rules
[3] Authentication and authorization by talking to an identity provider
[4] Rate Limiting requests based on application-defined rules and reject requests if the limit is violated.
[5] Route the requests to the relevant service based on path-matching.
[6] Service Discovery by contacting the service registry and finding the appropriate service instances.
[7] Request transformation from one protocol to another if needed. For example, REST to gRPC and vice-versa.
[8] Handling errors for some basic issues
[9] Circuit breakers for preventing cascading failures and provide fallback responses to the client
[10] Caching common responses
[11] Logging request data and error data for efficient monitoring.
So - do you use API Gateways?
And what sort of gateway features do you use in your applications?