Console.bLog(studyNotes)
Tags: programming, csharp, dotnet, sql
Published: 2021-02-05 11:38:43

##27/09/23 - Doing some leetCode 
And again, it's been a while. Thought it may be a good time to get some content here again.
Been working on some algorithm stuff on leet code. Not doing amazingly well so definitely a good option.

##08/10/21 - Update
It's been quite a while since I wrote here. Partly because I have been busy getting my head down at my new job, but mostly because I was only really writing here to improve my chances of getting a job. 
I have not progressed my abilities in coding a lot since being here and feel massively overwhelmed by how much I don't know (hello valley of despair (Dunning-Kruger effect)). This role has me picking through massively complex code, trying to understand how it works so I can implement the most basic of functionality.
It gets tedious being in a state of feeling out of your depth for such a long stretch of time. 

##04/03/21 - Investigated Inversion of Control

##26/02/21 - HackerRank 30 days of code in 2 days.
Completed 10 challenges while completing my last day at my old boring job. More time tomorrow so I should hopefully finish them :D

##24/02/21 - ASP.NET (MVC) 5 CORE course
- [x] 1. Exploring Basic Pattern Of MVC
 - ASP.NET comes in 3 flavours web pages, web forms and MCV
 - **MVC FLOW**
 - Browser sends request to MVC web app
 - Global.asax routes the request using routeData
 - The routing operation calls the controller and MvcHandler method is called
 - Controller deals with request using Model Object
 - Final output is passed from Model to View which passes the webpage back to the browser.
- [x] 2. Understanding Basics Of MVC
 - Folder name conventions
 - - App_data : Database files
 - - Content : Images and CSS
 - - Controllers : Controller classes
 - - Models : Model classes
 - - Scripts : JS and JQuery
 - - Views : All views of MVC application
- [ ] 3. MVC With Frameworks And Plugins
- [ ] 4. Building Web Application With MVC
- [ ] 5. Implementing Security With MVC
- [ ] 6. Deploying And Testing Asp.Net MVC Web Applications

##17/02/21 - Job offer
Fantastic news today. I was offered a job as an associate software engineer at RDT. 

##14/02/21 - Happy valentines day
Completed a 'digital assessment' for Sky. It was a personality and intelligence test rather than coding specific. Hopefully I'll get some good news this week which would make the outcome irrelevant.

##12/02/21 - Started ASP.NET (MVC) 5 CORE course
Notes moved up.

##11/02/21 - Continued with API tutorial
Tested the API's POST and Get methods with postman.

###Tasks for today
 - [x] Routing and URL paths
 - [x] Return values
 - [x] The PutTodoItem method
 - [x] The DeleteTodoItem method
 - [x] Prevent over-posting

Purchased Udemy course on '[ASP.NET (MVC) 5 CORE: Web Development, JQuery & RESTful API](https://www.udemy.com/course/aspnet-mvc-5-core-web-development-jquery-restful-api/)' which I shall be working on after the MS tutorial.
Also purchased '[TDD in C# From A to Z](https://leanpub.com/c/tdd)' which I shall start after the course above.

##10/02/21
Completed a few challenges on [CodeWars](https://www.codewars.com/users/l1felus7/completed_solutions) with a focus on writing more test cases before beginning to code.

##08/02/21 - Continued with API tutorial
So after battling with the Azure cloud shell for most of Friday I found another MS tutorial that uses Visual Studio [here](https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio). 

###Tasks
- [x] Create a web API project.
- [x] Add a model class and a database context.
- [x] Scaffold a controller with CRUD methods.
- [x] Configure routing, URL paths, and return values.
- [x] Call the web API with Postman.

Current progress can be found [here](https://github.com/david-j-monk/RESTfulAPI)

Amended task to remove the TDD part. I'll research this separately as I have no idea how to test it at the moment.

####Bits to remember 
```
            HTTP methods
C -> Create -> POST
R ->  Read  -> GET
U -> Update -> PUT
D -> Delete -> DELETE
```
##05/02/21 - TDD, ASP.NET CORE, .NET 5, Inversion of control
Following a chat with potential employer, I have been advised to research the aforementioned technologies.
Learning plan - Create a RESTful API using TDD, ASP.NET Core and .NET 5.

Watched a [youtube video](https://www.youtube.com/watch?v=zjVgQNfAEOs) on 'Changes in .NET 5, C# 9, and Visual Studio 2019'
Watched [youtube video](https://www.youtube.com/watch?v=bgk8N_rx1F4) on '.NET 5 REST API Tutorial'

Started the '[Create a web API with ASP.NET Core](https://docs.microsoft.com/en-gb/learn/modules/build-web-api-aspnet-core/)' tutorial on MS's learn section.

##03/02/21 - Front end dev
Continued working on website. Trying to get an Instagram feed embedded onto homepage. (succeeded)

##03/02/21 - Front end dev 
Started working on a website for my friend's business [The Bao Baron](https://www.thebaobaron.co.uk). Creating a single page app using react.

##20/01/21 - Python
More Codewars challenges solved in-between home-schooling.
https://www.codewars.com/users/l1felus7/completed

##16/01/21 - python
Started following a Data Science tutorial on YouTube.
https://www.youtube.com/watch?v=JwSS70SZdyM

https://github.com/david-j-monk/DataScience

##15/01/21 - python
Completed more python challenges and enjoying how my complicated looking solution makes more sense to me than an apparent good answer.

My solution
```
def find_outlier(integers):

    for x in range(len(integers)-2):
        if (integers[x] + integers[x+1])%2==0:
            continue
        else:
            if (integers[x] + integers[x+2])%2==0:
                return integers[x+1];
            else:
                return integers[x];
            
    return integers[len(integers)-1];
```
Their solution (not a clue what's going on 🤣)
```
def find_outlier(integers):
    parity = [n % 2 for n in integers]
    return integers[parity.index(sum(parity) == 1)]
```

##14/01/21 - python
Completed some python challenges to learn the syntax

##12/01/21
Following the Data Scientist roadmap from [Rebecca Vickery](https://medium.com/@rebecca.vickery), I hope to extend my skills and be confident in applying for jobs in this field by the end of Feb 2021 


###Skills to learn
**Python 3**
Current knowledge-
I have used it once while helping a friend with his project.
Seemed pretty straightforward on my first jaunt. Suspect my mind will change rapidly.

**Pandas**
Current knowledge-
Never heard of it

**SQL and NoSQL**
Current knowledge-
A good couple of years using SQL in various forms, most notably Oracle SQL as this was one of my university modules in the 2nd and 3rd year.
Used NoSQL in my final project using Azure Cosmos DB.

**Cloud**
Current knowledge-
Used AWS during my work placement during the summer holidays after my second year. Not very in depth knowledge over any of the systems but have broad understanding of many of the features available. Worked mostly with EC2 servers and databases.

My final project was hosted on Azure devops and was using continuous integration through pipelines. Azure Cosmos DB was used as the app's database.

**Airflow**
Current knowledge-
Never heard of it.

**Software engineering**
Three years of university studying computing has given me a reasonable understanding of software engineering. Nothing is going to beat real world experience though. I have knowledge of various life-cycle principles and their pro's and con's. A small project I could handle; a large one, definitely not.

[Part 1](https://medium.com/vickdata/programming-skills-a-complete-roadmap-for-learning-data-science-part-1-7913b289751b)
[Part 2](https://medium.com/vickdata/data-analysis-a-complete-roadmap-for-learning-data-science-part-2-25f8d1abc1fd)
[Part 3](https://medium.com/vickdata/maths-and-statistics-a-complete-roadmap-for-learning-data-science-part-3-e1ec585195cf)