Skip to content

Instantly share code, notes, and snippets.

@NikiforovAll
Last active October 27, 2022 11:25
Show Gist options
  • Select an option

  • Save NikiforovAll/5fec3ce8ae233884c1675639963b6e04 to your computer and use it in GitHub Desktop.

Select an option

Save NikiforovAll/5fec3ce8ae233884c1675639963b6e04 to your computer and use it in GitHub Desktop.
improving-as-a-software-developer.md

ASP.NET Core in Action, Second Edition by Andrew Lock

Chapter 1. Getting Started

  • Constructs HttpContext

Part 2. Building complete applications

3 Handling requests with the middleware pipeline

  • DeveloperExceptionPageMiddleware
  • ExceptionHandlerMiddleware
    • 3.18 figure (shows how the error page redirect flow works). Re-executing, in-memory
    • errors during re-execution are dangerous
  • StatusCodesMiddleware
  • Summary ⭐

4 Creating a website with Razor Pages

  • Razor Pages > MVC
  • Actions in Controllers vs Razor Pages handlers
  • 4.2.3 When to choose MVC controllers over Razor Pages
  • 4.3.2 Returning responses with ActionResults
  • Summary ⭐

5 Mapping URLs to Razor Pages using routing

  • 5.4.2 Adding additional constraints to route parameters
  • RedirectToAction/RedirectToPage vs IUrlHelper vs LinkGenerator
  • 5.7 Customizing conventions with Razor Pages
  • You can control the routing conventions used by ASP.NET Core by configuring the RouteOptions object, such as to force all URLs to be lowercase, or to always append a trailing slash.
  • AddRazorPagesOptions
  • AddPageRoute (adds extra route template)
  • Summary ⭐

6 The binding model: Retrieving and validating user input

  • Binding sources: form values, route values, query string values
  • FromHeader, FromBody, FromForm, FromQuery, FromRoute
  • ModelBinderAttribute
  • Binding model, Model State
  • System.ComponentModel.DataAnnotations
  • ModelState.ModelStateDictionary

7 Rendering HTML using Razor views

  • Summary ⭐

8 Building forms with Tag Helpers

  • Summary ⭐

9 Creating a Web API for mobile and client applications using MVC

  • Content negotiation and input/output formatters

10 Service configuration with dependency injection

  • Summary ⭐

11 Configuring an ASP.NET Core application

  • Summary ⭐

12 Saving data with Entity Framework Core

13 The MVC and Razor Pages filter pipeline

  • Authorization filters—IAuthorizationFilter or IAsyncAuthorizationFilter
  • Resource filters—IResourceFilter or IAsyncResourceFilter
  • Action filters—IActionFilter or IAsyncActionFilter
  • Page filters—IPageFilter or IAsyncPageFilter
  • Exception filters—IExceptionFilter or IAsyncExceptionFilter
  • Result filters—IResultFilter or IAsyncResultFilter
  • IOrderedFilter
  • ActionFilterAttribute:IResultFilter,IActionFilter
    • contex.Result - short-circuit the pipeline
  • ControllerBase implements IActionFilter so you can override it for single Controller case.
  • Exception Filters won't catch exception in resource and result filters that why it is important to not throw errors in them
  • ExceptionFilterAttribute
  • ResultFilterAttribute
  • FormatFilterAttribute, ProducesAttribute
  • context.HttpContext.Response.GetTypedHeaders().LastModified
  • IResultFilter does not invoked in case of short-circuting, if you don want this to happen use IAlwaysRunResultFilter
  • TypeFilerAttribute and ServiceFilerAttribute in relation to DI
  • Listing: 13.8
  • IFilerFactoryIFilerFactory
  • Summary ⭐

14 Authentication: Adding users to your application with Identity

  • Summary ⭐

15 Authorization: Securing your application ⭐

  • Policy>requirements>handlers
  • Summary ⭐

16 Publishing and deploying your application

17 Monitoring and troubleshooting errors with logging

  • Summary ⭐

18 Improving your application’s security

  • This  chapter  has  been  a  whistle-stop  tour  of things  to  look out  for
  • Summary ⭐

19 Building custom components ⭐

  • Building custom middleware
  • Creating simple endpoints  that generate a response using middleware
  • Using configuration values  to set up  other configuration providers
  • Replacing the built-in DI container with a third-party container
  • https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders
  • Listing 19.7, creating middlewaremiddleware
  • RoutingMiddleware, EndpointMiddleware
  • Listing 19.9
  • IEndpointConventionBuilder
  • Summary ⭐

20 Building custom MVC and Razor Pages components

21 Calling remote APIs with IHttpClientFactory  ⭐

  • Summary ⭐

22 Building background tasks and services ⭐

23 Testing your application

Software Development

  • "C# in Depth" by Jon Skeet (Book) 🟥
  • "C# 8.0 and .NET Core 3.0" by Mark J. Price (Book) 🟨
  • "Programming C# 8.0 - Build Cloud, Web, and Desktop Applications" by Ian Griffiths (Book) 🟥
  • "Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming" by Stephen Cleary (Book)
  • "Threading in C#" by Joe Albahari (Book, website)
  • ASP.NET Core in Action, Second Edition by Andrew Lock (Book) 🟥
  • Entity Framework Core in Action, Second Edition by Jon P Smith (Book) 🟥
  • "Under the Hood of .NET Memory Management" by Chris Farrell (Book) 🟦
  • ".NET Microservices: Architecture for Containerized .NET Applications" by Cesar de la Torre (Book) 🟨
  • "Learn Docker in a Month of Lunches" by Elton Stoneman (Book) 🟨
  • "Unit Testing Principles, Practices, and Patterns.pdf" by Vladimir Khorikov (Book) 🟦
  • https://docs.microsoft.com/en-us/dotnet/core/about (Docs) 🟥
  • https://docs.microsoft.com/en-us/aspnet/core/ (Docs) 🟨
  • https://github.com/arialdomartini/Back-End-Developer-Interview-Questions (Git Repository) 🟨

System Design and Architecture

Software Craftsmanship

  • "The Pragmatic Programmer, From Journeyman To Master" by Andrew Hunt (Book) 🟨
  • "97 Things Every Programmer Should Know" by Kevlin Henney (Book) 🟨

C# in Depth by Jon Skeet

This is a really good book to get comfortable with C# programming language.

  • Complete body of knowledge for csharp
  • Little information about .NET Framework

This is nice to revisit and get comfortable with advanced features.

Higlights

  • Chapter 10. Conside code
  • Chapter 6. Async Implementation
  • Chapter 3. LINQ and everything that comes with it
  • Chapter 12. Pattern matching.

Evernote Reference

C# 8.0 and .NET Core 3.0 by Mark J. Price

This book is a good source for hands-on experience and referencce to learn deaper via links and related material.

Highlights

  • Chapter 7. Packaging
  • Chapter 9. Working with Streams
  • Chapter 11. Working with Databases and EF Core
  • Chapter 12. LINQ
  • Chapter 16. MVC
  • Chpater 18. Web Services

Evernote reference

Programming C# 8.0 - Build Cloud, Web, and Desktop Applications by Ian Griffiths

Really good book that covers .NET fundamentals and essentials. A good source to come back to grup some specific knowledge in interesting areas.

Highlights

  • Chapter 3. Types
  • Chapter 5. Collections
  • Chapter 7. Object lifetime
  • Chapter 8. Exceptions
  • Chapter 10. LINQ
  • Chapter 12. Assemblies
  • Chapter 15. Filles and Streams
  • Chapter 16. Multitasking
  • Chapter 17. Asynchrnous Language Features

Evernote reference

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment