Victor Samuel (@capriconvic) 's Twitter Profile
Victor Samuel

@capriconvic

Content creator, Freelance writer, Crypto enthusiast, Junior .NET Fullstack developer

ID: 1131975889401602048

calendar_today24-05-2019 17:30:57

894 Tweet

309 Followers

521 Following

Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—›๐—ผ๐˜„ ๐—ฑ๐—ผ ๐˜„๐—ฒ ๐—ณ๐—ถ๐—ป๐—ฑ ๐—ฟ๐—ผ๐—ผ๐˜ ๐—ฐ๐—ฎ๐˜‚๐˜€๐—ฒ๐˜€ ๐—ผ๐—ณ ๐˜๐—ฒ๐—ฐ๐—ต๐—ป๐—ถ๐—ฐ๐—ฎ๐—น ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ๐˜€? Why do software projects fail despite great technology and skilled teams? Often, the root of a problem isn't a technical glitch but a human one. Initially developed by Sakichi Toyoda for

๐—›๐—ผ๐˜„ ๐—ฑ๐—ผ ๐˜„๐—ฒ ๐—ณ๐—ถ๐—ป๐—ฑ ๐—ฟ๐—ผ๐—ผ๐˜ ๐—ฐ๐—ฎ๐˜‚๐˜€๐—ฒ๐˜€ ๐—ผ๐—ณ ๐˜๐—ฒ๐—ฐ๐—ต๐—ป๐—ถ๐—ฐ๐—ฎ๐—น ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ๐˜€?

Why do software projects fail despite great technology and skilled teams? Often, the root of a problem isn't a technical glitch but a human one. 

Initially developed by Sakichi Toyoda for
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

Still mocking your database in integration tests? Thatโ€™s fine for unit tests. But if you want to test real behavior, you need a real database. This is where Testcontainers comes in. It spins up lightweight, disposable containers during test runs โ€” like PostgreSQL, MySQL, or

Still mocking your database in integration tests?

Thatโ€™s fine for unit tests.

But if you want to test real behavior, you need a real database.

This is where Testcontainers comes in.

It spins up lightweight, disposable containers during test runs โ€” like PostgreSQL, MySQL, or
Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐—ณ๐—น๐—ผ๐˜„ ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—œ๐˜€ ๐—ก๐—ผ๐˜ ๐—ช๐—ต๐—ฎ๐˜ ๐—ฌ๐—ผ๐˜‚ ๐— ๐—ฒ๐—ฎ๐—ป ๐—œ๐˜ ๐—œ๐˜€ In the interview with Scott Hanselman, ๐—ฅ๐—ผ๐—ฏ๐—ฒ๐—ฟ๐˜๐—ฎ ๐—”๐—ฟ๐—ฐ๐—ผ๐˜ƒ๐—ฒ๐—ฟ๐—ฑ๐—ฒ, ๐—›๐—ฒ๐—ฎ๐—ฑ ๐—ข๐—ณ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐—ถ๐—ป๐—ด ๐—ฎ๐˜ ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐—ณ๐—น๐—ผ๐˜„, revealed the story about the

๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐—ณ๐—น๐—ผ๐˜„ ๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—œ๐˜€ ๐—ก๐—ผ๐˜ ๐—ช๐—ต๐—ฎ๐˜ ๐—ฌ๐—ผ๐˜‚ ๐— ๐—ฒ๐—ฎ๐—ป ๐—œ๐˜ ๐—œ๐˜€

In the interview with Scott Hanselman, ๐—ฅ๐—ผ๐—ฏ๐—ฒ๐—ฟ๐˜๐—ฎ ๐—”๐—ฟ๐—ฐ๐—ผ๐˜ƒ๐—ฒ๐—ฟ๐—ฑ๐—ฒ, ๐—›๐—ฒ๐—ฎ๐—ฑ ๐—ข๐—ณ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ๐—ฒ๐—ฟ๐—ถ๐—ป๐—ด ๐—ฎ๐˜ ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ ๐—ข๐˜ƒ๐—ฒ๐—ฟ๐—ณ๐—น๐—ผ๐˜„, revealed the story about the
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

Running your .NET apps with Docker Compose? It works. But there might be a better way. Managing environment variables, setting up service dependencies, and wiring connection strings can get messy fast. I recently migrated one of my Docker Compose setups to .NET Aspire. Aspire

Running your .NET apps with Docker Compose?

It works. But there might be a better way.

Managing environment variables, setting up service dependencies, and wiring connection strings can get messy fast.

I recently migrated one of my Docker Compose setups to .NET Aspire.

Aspire
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

Need pixelโ€‘perfect PDF reports in .NET? Skip proprietary libraries and use HTML templates plus PuppeteerSharp. Build your report as an HTML Handlebars template, compile it with data, then render to PDF via a headless browser.

Need pixelโ€‘perfect PDF reports in .NET?

Skip proprietary libraries and use HTML templates plus PuppeteerSharp.

Build your report as an HTML Handlebars template, compile it with data, then render to PDF via a headless browser.
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

ASP .NETย Core error handling: - Custom middleware: wrap the pipeline in try/catch - Log errors & return JSON ProblemDetails - Use IProblemDetailsService to standardize responses - Adopt IExceptionHandler from .NETย 8 for focused handlers

ASP .NETย Core error handling:
- Custom middleware: wrap the pipeline in try/catch
- Log errors & return JSON ProblemDetails
- Use IProblemDetailsService to standardize responses
- Adopt IExceptionHandler from .NETย 8 for focused handlers
Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜€ ๐˜๐—ต๐—ฒ ๐—•๐˜‚๐—ถ๐—น๐—ฑ๐—ฒ๐—ฟ ๐—ฃ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป? Builder lets you construct complex objects step by step, so you don't need constructors with many parameters. The pattern allows you to produce different types and representations of an object using the same construction

๐—ช๐—ต๐—ฎ๐˜ ๐—ถ๐˜€ ๐˜๐—ต๐—ฒ ๐—•๐˜‚๐—ถ๐—น๐—ฑ๐—ฒ๐—ฟ ๐—ฃ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐—ป?

Builder lets you construct complex objects step by step, so you don't need constructors with many parameters. 

The pattern allows you to produce different types and representations of an object using the same construction
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

How do you pass data to a background job? With IHostedService, itโ€™s tricky. Youโ€™d need to save the state to a database first, then have your background service read from it. Not ideal. Quartz makes this much easier. When you schedule a job, you can pass in data directly. No

How do you pass data to a background job?

With IHostedService, itโ€™s tricky.

Youโ€™d need to save the state to a database first, then have your background service read from it. Not ideal.

Quartz makes this much easier.

When you schedule a job, you can pass in data directly. No
.NET (@dotnet) 's Twitter Profile Photo

Here's your comprehensive guide to understanding and building Model Context Protocol (MCP) Servers for C# developers. Itโ€™s a great hands-on resource for exploring MCP and AI assistant integration in .NET environments. ๐Ÿ“š msft.it/6012spDTp

Here's your comprehensive guide to understanding and building Model Context Protocol (MCP) Servers for C# developers. Itโ€™s a great hands-on resource for exploring MCP and AI assistant integration in .NET environments. ๐Ÿ“š msft.it/6012spDTp
Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—›๐—ผ๐˜„ ๐—ผ๐—ป๐—ฒ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—ฏ๐˜‚๐—ด ๐—ฎ๐˜ ๐—š๐—ผ๐—ผ๐—ด๐—น๐—ฒ ๐—–๐—น๐—ผ๐˜‚๐—ฑ ๐—ฐ๐—ฟ๐—ฎ๐˜€๐—ต๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐—ป๐—ฒ๐˜ On June 12, Google Cloud went down, and with it, much of the Internet Spotify, Fitbit, Gmail, Google Drive, Vertex AI, and dozens of other services failed for hours The

๐—›๐—ผ๐˜„ ๐—ผ๐—ป๐—ฒ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—ฏ๐˜‚๐—ด ๐—ฎ๐˜ ๐—š๐—ผ๐—ผ๐—ด๐—น๐—ฒ ๐—–๐—น๐—ผ๐˜‚๐—ฑ ๐—ฐ๐—ฟ๐—ฎ๐˜€๐—ต๐—ฒ๐—ฑ ๐˜๐—ต๐—ฒ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐—ป๐—ฒ๐˜

On June 12, Google Cloud went down, and with it, much of the Internet

Spotify, Fitbit, Gmail, Google Drive, Vertex AI, and dozens of other services failed for hours

The
Ekene Chris (@iamekenechris) 's Twitter Profile Photo

These videos will give you practical skills and real-world examples, exactly what you need to confidently build AI automations. youtu.be/5TxSqvPbnWw?siโ€ฆ youtu.be/wzmX9sWB5Jg youtu.be/0JOc29kbFE0 youtu.be/K4umMvog02M youtu.be/CG0Sg-gEigw youtu.be/_ZvnD73m40o

Uncle Bob Martin (@unclebobmartin) 's Twitter Profile Photo

Every time an AI uses the first person pronoun "I" in reference to itself -- it is a lie. There is no I in there. The AI is not a being. The AI is a table of numbers. Every time an AI uses that first person pronoun to refer to itself it is a lie being told by the creators, and

Anton Martyniuk (@antonmartyniuk) 's Twitter Profile Photo

Junior developer uses EF Core directly in Controller. Middle developer uses Controller-Service-Repository. Senior developer uses Clean Architecture. Architect uses EF Core in Controller back again. Why does this happen? Because real-world projects benefit from simple

Junior developer uses EF Core directly in Controller.

Middle developer uses Controller-Service-Repository.

Senior developer uses Clean Architecture. 

Architect uses EF Core in Controller back again.

Why does this happen?

Because real-world projects benefit from simple
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

Your .NET apps need a reverse proxy. Why? - Secure entry point - Central auth & TLS (termination) - Load balancing - Request aggregation I just dropped a video showing how to build one with YARP in ASP.NET Core. Check it out: youtu.be/DcIi-XPqmTQ

Your .NET apps need a reverse proxy.

Why?

- Secure entry point
- Central auth & TLS (termination)
- Load balancing
- Request aggregation

I just dropped a video showing how to build one with YARP in ASP.NET Core.

Check it out: youtu.be/DcIi-XPqmTQ
Julio Casal (@julioc) 's Twitter Profile Photo

Still building auth from scratch? Stop. Use this instead: Keycloak is a free authentication server that gives you secure logins, password management, and JWTs out of the box โ€” so you can focus on building your app, not reinventing auth. In just 45 minutes, youโ€™ll go from

Still building auth from scratch? Stop.

Use this instead:

Keycloak is a free authentication server that gives you secure logins, password management, and JWTs out of the box โ€” so you can focus on building your app, not reinventing auth.

In just 45 minutes, youโ€™ll go from
Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—›๐—ผ๐˜„ ๐—๐—ถ๐—ฟ๐—ฎ ๐—ฏ๐—ฒ๐—ฐ๐—ฎ๐—บ๐—ฒ ๐Ÿฏ๐Ÿฏ๐˜… ๐—ณ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ ๐—ฏ๐˜† ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—ฃ๐—ฟ๐—ผ๐˜๐—ผ๐—ฏ๐˜‚๐—ณ When you're dealing with ๐—ผ๐—ป๐—ฒ ๐—ฏ๐—ถ๐—น๐—น๐—ถ๐—ผ๐—ป ๐—๐—ถ๐—ฟ๐—ฎ ๐—ถ๐˜€๐˜€๐˜‚๐—ฒ๐˜€ ๐—ฝ๐—ฒ๐—ฟ ๐˜€๐—ถ๐˜๐—ฒ, every byte matters. Their Issue Service was drowning in JSON, and they knew they had to make a change. The

๐—›๐—ผ๐˜„ ๐—๐—ถ๐—ฟ๐—ฎ ๐—ฏ๐—ฒ๐—ฐ๐—ฎ๐—บ๐—ฒ ๐Ÿฏ๐Ÿฏ๐˜… ๐—ณ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ ๐—ฏ๐˜† ๐˜‚๐˜€๐—ถ๐—ป๐—ด ๐—ฃ๐—ฟ๐—ผ๐˜๐—ผ๐—ฏ๐˜‚๐—ณ

When you're dealing with ๐—ผ๐—ป๐—ฒ ๐—ฏ๐—ถ๐—น๐—น๐—ถ๐—ผ๐—ป ๐—๐—ถ๐—ฟ๐—ฎ ๐—ถ๐˜€๐˜€๐˜‚๐—ฒ๐˜€ ๐—ฝ๐—ฒ๐—ฟ ๐˜€๐—ถ๐˜๐—ฒ, every byte matters. Their Issue Service was drowning in JSON, and they knew they had to make a change.

The
Dr Milan Milanoviฤ‡ (@milan_milanovic) 's Twitter Profile Photo

๐—›๐—ผ๐˜„ ๐——๐—ก๐—ฆ ๐˜„๐—ผ๐—ฟ๐—ธ๐˜€? If you're a web developer or DevOps engineer, you should know what happens when you type https:// website .com into your browser and press Enter. The first step is to translate this text-based domain into a machine-readable numerical IP address. This

๐—›๐—ผ๐˜„ ๐——๐—ก๐—ฆ ๐˜„๐—ผ๐—ฟ๐—ธ๐˜€?

If you're a web developer or DevOps engineer, you should know what happens when you type https:// website .com into your browser and press Enter.

The first step is to translate this text-based domain into a machine-readable numerical IP address. This
Anton Martyniuk (@antonmartyniuk) 's Twitter Profile Photo

10 Secrets Senior developers use to make Controllers 10x better, that middles and juniors don't know. What are they? ๐Ÿ‘‡ ๐Ÿญ. ๐—ž๐—ฒ๐—ฒ๐—ฝ ๐—–๐—ผ๐—ป๐˜๐—ฟ๐—ผ๐—น๐—น๐—ฒ๐—ฟ๐˜€ ๐—ง๐—ต๐—ถ๐—ป โ†ณ Controllers should not hold your business logic. โ†ณ They should just handle requests and responses. โ†ณ Move

10 Secrets Senior developers use to make Controllers 10x better, that middles and juniors don't know.

What are they? ๐Ÿ‘‡

๐Ÿญ. ๐—ž๐—ฒ๐—ฒ๐—ฝ ๐—–๐—ผ๐—ป๐˜๐—ฟ๐—ผ๐—น๐—น๐—ฒ๐—ฟ๐˜€ ๐—ง๐—ต๐—ถ๐—ป
โ†ณ Controllers should not hold your business logic.
โ†ณ They should just handle requests and responses.
โ†ณ Move
Anton Martyniuk (@antonmartyniuk) 's Twitter Profile Photo

If you want to level up your .NET skills, try building a ๐—ฃ๐—ฒ๐—ฟ๐˜€๐—ผ๐—ป๐—ฎ๐—น ๐—™๐—ถ๐—ป๐—ฎ๐—ป๐—ฐ๐—ฒ ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ฟ that feels like a real production system. This project is simple to understand, but deep enough to teach real architecture. ๐Ÿ“Œ Here's what we're building You can track

If you want to level up your .NET skills, try building a ๐—ฃ๐—ฒ๐—ฟ๐˜€๐—ผ๐—ป๐—ฎ๐—น ๐—™๐—ถ๐—ป๐—ฎ๐—ป๐—ฐ๐—ฒ ๐—ง๐—ฟ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ฟ that feels like a real production system.

This project is simple to understand, but deep enough to teach real architecture.

๐Ÿ“Œ Here's what we're building

You can track
Milan Jovanoviฤ‡ (@mjovanovictech) 's Twitter Profile Photo

I spent 2 days speeding up an API endpoint... And I made it 15x faster. The endpoint did heavy calculations and pulled data from several services, so it didnโ€™t scale. My process was simple: - Find the slowest code - Fix the queries - Cut external calls - Add caching last

I spent 2 days speeding up an API endpoint...

And I made it 15x faster.

The endpoint did heavy calculations and pulled data from several services, so it didnโ€™t scale.

My process was simple:

- Find the slowest code
- Fix the queries
- Cut external calls
- Add caching last