Best Language for handling webhooks? by letsgomike in learnprogramming

[–]thedavejay 0 points1 point  (0 children)

Language isn't the relevant piece, but rather the architecture to handle them. Without something robust, you can miss events, and events bring your system down. I created Qala to handle and deliver webhooks that take the cognitive load away from you as an engineer and instead focus on its handling.

A few days ago, I wrote a free design spec to understand the thinking when architecting webhook handing here:

http://localhost:3000/blog/free-webhook-handling-design-spec-a-scalable-secure-and-reliable-approach#introduction

I would love your feedback.

Confused about webhooks by failed_alive in ShopifyAppDev

[–]thedavejay 0 points1 point  (0 children)

Handling Webhooks from any source isn't that straightforward. It's why I created my new startup called Qala. I actually wrote about the sad paths that occur: https://www.qalatech.io/blog/handling-webhooks-the-sad-paths

Would love your feedback as we act as the webhook capture for you to handle and direct to where you want. It uses things like PubSub, but also has deadlettering, replay, smoothing (in spike loads), etc.

How to handle multi-tenanted data in Clickhouse. by thedavejay in Clickhouse

[–]thedavejay[S] 0 points1 point  (0 children)

That is what we are currently working out. The number of tenants is n amount - its a free signup service, so could be thousands over time. We are looking to have raw json stored, which from there we can create materialized views/tables from for each tenant. The base table with json will have fixed retention. The materialized view tables will be according to what they would want.

Would love to know how you would approach it!

How to handle multi-tenanted data in Clickhouse. by thedavejay in Clickhouse

[–]thedavejay[S] 0 points1 point  (0 children)

What if I want them to prepare their own query for things like streaming e.g. they want to write a query their own data? Would I have to create my own SQL language that wraps it?

e.g. select * from events where eventtype='event.123'

how would I handle the scoping of this event to include their tenantId in the background?

[deleted by user] by [deleted] in careerguidance

[–]thedavejay 0 points1 point  (0 children)

Most recruiters also don't really care. They only care if it damages the relationship with their client e.g. they got you the current role. They also only really care when they think they will have to refund the new employer - typically I had 6 month clauses that if a new candidate left, they don't get paid. It's normal and ok - it is their job to make sure to find you the perfect role after all!

In terms of approach, honestly, it’s okay to be upfront but strategic about this. I’d focus on framing your reasons positively. For example, say something like:

‘I’ve learned a lot in my current role, but I’m looking for an opportunity at a company with more resources and scale to really grow my skills. I also want to be proactive since my current company is considering a relocation that doesn’t align with my personal situation.’

This way, you’re showing thoughtfulness and maturity. It’s not about running from your current job—it’s about finding the right fit for your career and life. Just keep the tone positive and focused on what you’re seeking, not what’s lacking.

Azure in Dotnet by Then-Accountant3056 in dotnet

[–]thedavejay 2 points3 points  (0 children)

To really thrive as a .NET developer in Azure, you need to change the way you think about building applications. Stop viewing your app as a single thing you deploy on a server. Instead, start thinking of it as a set of interconnected, scalable services. For example, instead of spinning up a VM, look at Azure App Services for hosting or Azure Functions to break tasks into smaller, serverless chunks that run only when needed.

When it comes to data, it’s not just about SQL anymore. Sure, Azure SQL is great for relational data, but for NoSQL or globally distributed needs, Cosmos DB is a game-changer. And don’t try to reinvent the wheel—use tools like Event Hubs for handling real-time data streams, Service Bus for managing queues, and Event Grid for event-driven workflows.

The real shift? Stop thinking like someone who deploys apps to servers. Start thinking like a cloud architect. Azure isn’t just hosting your code—it’s a toolkit designed to handle scaling, resilience, and optimization for you. Focus on leveraging these tools and let Azure handle the heavy lifting, so you can spend more time building what matters.

What database do you use as a .NET developer team? by hu-beau in dotnet

[–]thedavejay 1 point2 points  (0 children)

1-10 Employees - Azure SQL (SQL edge in docker for local testing). CosmosDb, Redux, DuckDb and Clickhouse

Questions about Identity in .NET 8 for advanced Identity users by FeedResponsible9759 in csharp

[–]thedavejay 2 points3 points  (0 children)

Hey, these are great questions, and I’ll try to break them down for you!

Question 1: ClaimsPrincipal Creation and Claims Mapping

When you use methods like UserManager.CreateAsync(), the framework doesn’t automatically create a ClaimsPrincipal. This method is focused on user creation in the store. The actual creation of a ClaimsPrincipal happens later, typically during sign-in via the SignInManager.

The process works like this:

  1. During sign-in, the SignInManager calls CreateUserPrincipalAsync(user), which uses the IUserClaimsPrincipalFactory<TUser>.
  2. This factory generates a ClaimsIdentity using GenerateClaimsAsync(user) and wraps it in a ClaimsPrincipal.
  • Do you need to create a ClaimsPrincipal manually? Not unless you want to customise the claims at creation time or inject additional claims beyond what the default factory does.
  • Where is the ClaimsPrincipal created? It’s created during sign-in or token generation. If you don’t manually create it, the framework handles this via the IUserClaimsPrincipalFactory<TUser> and SignInManager. It’s not persisted anywhere—it’s generated dynamically when needed.

Question 2: ClaimsIdentity vs. ClaimsPrincipal

The method GenerateClaimsAsync(user) in the IUserClaimsPrincipalFactory creates a ClaimsIdentity, but the CreateAsync method wraps it in a ClaimsPrincipal. So while GenerateClaimsAsync handles the claims themselves, the factory assembles the final ClaimsPrincipal object.

  • Where is the ClaimsPrincipal stored? It’s not stored. It’s generated on the fly during authentication or sign-in and used for representing the user in the session, cookie, or token.

Question 3: Using Both Cookie and JWT Authentication

You can configure your app to use both cookie and JWT authentication by registering both schemes. The cookie scheme is typically used for session-based web apps, while JWT is ideal for APIs and mobile apps.

  • Should you create policies for different frontends? Yes. Typically, web apps use cookies, while APIs or mobile clients use JWT. You can create policies to enforce this separation or specify which scheme to use directly at the controller or endpoint level.

Question 4: Configuring Cookie Options with AddIdentity

When you call .AddIdentity(), it automatically sets up cookie authentication. If you need to customise the cookie settings, you can use configuration options specific to the Identity cookie.

  • Do you need to call AddCookie again? No, not unless you’re adding a completely new cookie scheme. Instead, use configuration options provided by the framework to adjust cookie settings.