Author Archives: Dan Patrascu-Baba

About Dan Patrascu-Baba

,Net Developer. Focusing on both the .Net world and Microsoft Azure. Experienced speaker and trainer.

Middleware in ASP.Net Core – part I

Published by:

Middleware is a very important topic in ASP.Net Core since it enables you to add very important functionality, like adding necessary configuration to deploy ASP.Net Core and Angular together. But at the same time there are a lot of misunderstandings regarding middleware in ASP.Net Core among developers that are new to the platform. That’s why I think it’s a good start to highlight the most important concepts regarding middleware so that new developers can get started much quicker with ASP.Net Core.

The concept of middleware

I won’t try to give a real and exhaustive definition of middleware (you can find this on the Microsoft documentation). Instead, I will try to depict a picture of how middleware in ASP.Net cor relate to the application you’re developing. So let’s imagine that you already have an ASP.Net Core application that is hosted somewhere and I want to make a request to that application. So when I send my GET request, it will first hit Kestrel, the web server built into ASP.Net Core. For the request, that’s the entry point to the application. Continue reading

Deploy ASP.Net Core back end with Angular front end

Published by:

Single page applications (SPA) have become a standard in the web development world by now, reshaping the way web applications are designed. Traditionally a web browser (client) would send out a GET request to a server and the server would return an HTML page. Nowadays we have SPAs that rely on web APIs for data retrieval and that run like real applications in a browser. That’s why in the .Net ecosystem having  .Net Core web APIs with Angular 2+ front end is a common scenario and it might be useful to look into different basic deployment strategies. Before I go any further, I want to point out that this article is aimed for junior developers, developers that are new to the .Net ecosystem or for all those that are on their way to become software developers. Continue reading

Azure AD B2C vs Firebase

Published by:

Coming from the Microsoft world it was natural for me to immediately jump to Azure AD B2C when I needed to implement authentication in an Angular 5 application. However, things weren’t so rosy, so I had to look for alternatives after an entire day playing around with Azure AD B2C and so I met Google Firebase. And after more days of playing around and comparing pros and cons, I thought it might be useful for others to share some thoughts on these two products.

What was everything about?

I am currently working on a personal project that might be some day a consumer app. Since I like Angular a lot, it was a natural choice for me to use it for my front end work. The larger picture involves also a .Net Core API and all needed application layers. When I started to work on the front end, one of the first things I wanted to do is to implement authentication. Here it’s important to note that my project will hopefully be some day a consumer app. So that’s why I was looking at Azure AD B2C and not the (let’s say) normal Azure AD. Continue reading

Do you want to become a software developer? Here’s how!

Published by:

So, do you want to become a software developer and you didn’t graduate computer science? Do you feel that “your time has passed” and you still think that there’s a lot more to achieve? Well, this post is for you, so you might want to keep on reading! If you ask yourself if this is even possible, well…. yes it is! I’ve studied philosophy and theology and still I’m working for almost ten years in the IT industry, I’m playing around with code for around 2 years and now I’m a software developer. Is it easy? Not at all! Or it depends on what “easy” means for you. But it’s achievable and here are a few guidelines on how you can become a software developer.  Continue reading

Create your own reusable C# libraries targeting .Net Standard

Published by:

A while back I tried to “demistify” the main concepts around .Net Core, .Net Standard and .Net Framework, since there were (and still are) a lot of questions and concerns regarding these topics on social media. This time, I’ve decided to go one step further and show you all these concepts at work . This article is intended for beginner .Net developers or self-taught developers like me, which struggle to find a clear path in a jungle full of information that is not always accurate.  Continue reading

Building SPAs with C#

Published by:

Looking at this title, many developers would say “Are you mad? You can’t build single page applications with C#! You need a front end framework, like Angular, React or Vue”. Right now I can’t say that I can prove them wrong, but I can definitely at least say that building SPAs with C# is in fact possible. For now it’s only experimental, but the ASP.NET team announced an experimental project called Blazor. Blazor is an experimental web UI framework based on C#, Razor, and HTML that runs completely in the browser via WebAssembly. This really opens new perspectives on the fact that you may build modern SPAs using C# and the entire .NET stack.  Continue reading

C# enum friendly names

Published by:

If you develop using C# and the .Net ecosystem, chances are that you will need to use enums at a certain point. The enum keyword is used to declare an enumeration, a distinct type that consists of a set of named constants called the enumerator list. Enums are easy to use and especially useful if you have to work with some data data you don’t necessarily want to put in a database. Here’s a very short example of an enum: Continue reading

SQL design patterns for multi tenant applications

Published by:

Cloud computing is now growing at a very fast pace for over 4 years now. Strictly related to the increased adoption of cloud technologies there is also an increasing interest in software as a service, as companies of all sizes around the world realized the benefits of paying a subscription for the software they use. In these perspective, software development companies and independent developers around the world build now multi tenant applications. However, multi tenant applications are a tricky from the planning phase, since customer data needs to be strictly isolated, the application itself must be highly available and easily scalable. And, as I also briefly mentioned in my previous article, everything starts from the database. That;s why I would like to briefly point out the main SQL design patterns for multi tenant applications.

In practical examples I will refer mostly to Azure SQL databases and the .NET ecosystem, although the main design patterns are still valid for any relational databases you might want to use. A lot of these aspects are described in different Microsoft Azure documentation articles. My goal is to summarize information that is otherwise dissipated in different sources. Continue reading

Databases for modern web applications

Published by:

Databases are one of the first things to think about when developing new software, especially web applications. I know that at a first sight, this topic seems to be a little odd: you simply use a relational database like SQL or MySQL ant that’s it, right? Well, I think that modern web applications are a little bit more complex and it might be worth considering other options and that’s why I would like to tackle this topic.

Traditional relational databases are clearly a goo fit for static applications. By static I think about applications that don’t change very often or that don’t require a huge amount of read and write operations. For example, if I would like to build my own blog at a certain time, I would surely choose SQL. And if I think about the data model for a blog post, it could be designed as something like this: Continue reading

It’s not only about code that works

Published by:

It’s been a month since I became a full time software developer at Amdaris and I thought it might be fun to write down some things I’ve learned during this exciting 30 days. This might be useful for people that are in the same position I was during my last year: having some dev knowledge, but finding it difficult to make a bold steps towards a full time developer role. My insights won’t be deeply technical right now and I will definitely avoid very specific .NET topics.

I didn’t know what to expect at the beginning, but for now every single minute was worth this change, because I really had a lot to learn. My first big challenge was getting fully familiar wit Git, branches, commits, pull requests, user stories and so on. These concepts were not necessarily new to me, but I really didn’t know exactly how they are put in practice during day to day activities. Discovering how developers collaborate using specific tools was so great, that I started to work with repositories also for my “personal” projects, since I can clone a specific repository to whichever machine I am working at a specific moment and I can continue to work even if I’m not always on the same computer. If you’re wondering, I am using Visual Studio Team Services to do that.  Continue reading