Giter VIP home page Giter VIP logo

csharp-mentoring-plan's Introduction

C# Mentoring Plan

Last revised: 2022 Feb (see commit history for more detail)

Prerequisites

A fairly modern macOS or Linux computer.

Some C#, Java, C++, or D experience, otherwise the language & programming concepts will be a bit too unfamiliar.

Some familiarity with the commandline will be helpful.

Getting started with Dotnet 6

We will code the main backbone of this application using dotnet 6 (.NET 6), the latest (as of 2022 Feb) version of Dotnet, Microsoft's main software development kit. Specifically, we will be using the ASP.NET framework and related software libraries.

This is the dotnet homepage:

This is a tutorial you can follow to install dotnet and test that it works:

Once you have installed dotnet, you should continue the tutorial, just to test that everything is working and you have a basic understanding of how you can use it.

Don't worry if it seems irrelevant to you - you shouldn't be here for much longer than 5 minutes, and you don't need to study things in depth here, as you can always come back in the near future if you forget something.

Why is it called dotnet or .NET?

Because dotnet is the name of the command we run, and because it's easier to type fluently than .NET, and it's also easier to search "on the net" for "dotnet" than ".NET"!

Why dotnet 6?

Because dotnet 6 has a number of improvements to dotnet 5, which will help ease strangers to C# in. We're also past the era of ".NET Core" and ".NET Framework" confusion. I also really like file scoped namespaces.

Why dotnet at all?

Because Microsoft has really good documentation for getting started with ASP.NET, because there's job opportunities to motivate learners, and because I feel it's almost easier to get started with dotnet on many different computers than Java.

BUT I also think C# is close enough to Java in that it offers a good learning experience for business programming. Later, someone might want to get familiar with the JavaScript ecosystem, which is much more decentralised and less strict, but also has a lot of job opportunities as well.

Finally, unlike the Java ecosystem, the .NET ecosystem is growing quite fast, so it gives beginners an example of the churn in the tech industry, without being as dramatic as Python or JavaScript. You can even see roadmaps.

Getting started with ASP .NET

The next step is to show you how you can get started with an ASP.NET project.

Follow this tutorial to start an ASP.NET project.

FUTURE (TODO)

  • Formulating a personal project plan.
  • Frontend to database and everything in between.
  • Operational security (e.g. don't commit secrets, identifying information, EXIF metadata on image assets, etc.
  • Library usage, and licensing concerns.
  • Mocking up a database, and gradually moving to multiple dev/production environments then to Supabase.
  • Deploying a docker application.
  • The nitty gritty getting this publically accessible.

Please be patient as I continue to add detail to this plan.

csharp-mentoring-plan's People

Contributors

ceigey avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.