In this node lies notes relating to theoretical concepts tying with maths and/or computer science. I will need to find a way to categorise different notes, but it's a wip. # Microlise: ## ESS - [ESS](id:abe43fdc-e90d-4c2c-9320-cc7929f0c99a) - [SEB Search Improvement — Couchbase Caching](id:0b6e7dc0-1171-4dc4-982e-a5d95765e09c) ## AI Training: - [Data Camp AI Training](id:ceeb2ad1-b091-49d8-8cd6-752f28a6fd86) # Mathematical Concepts Part of being a software engineer is having a good grasp of mathematical concepts. Here are some notes on various mathematical concepts that I find useful. - [XOR](id:F32F8F09-3DEC-4FD1-8CFA-401A316E906B) # Core Programming Concepts - [Powershell MOC](id:360df04d-ea24-4f04-b8e1-3595f34aac4d) - [Solid Principles](id:6820973F-613E-441A-BC1D-8FE5CD9BD6F7) - [Big O Notation, Time and Space Complexity](id:275988a8-59d8-40c8-a8b4-47118d6eb834) - [Design patterns](id:631b2086-4b8f-4fe3-829d-be1dc014e293) WIP - [CI/CD Example - Sitevisits](id:2767b5ac-f2c9-4b1e-ab87-82c43cdec4c1) - [CI/CD Summary](id:5b714c6c-7eaf-4f3f-b4f6-2166ff3a9963) - [Software Development Methodologies](id:67ad330b-cc11-4e8e-b054-12b9da45ea60) - [MVP and MVT](id:fdb8fa52-0c9d-4332-9f32-53bc6fee24b9) - [Test Driven Development](id:2729599d-ae2b-4f22-b73d-bf22d81e0767) Some core programming concepts that are essential for software development. The things I need to add here are: # APIs - [RESTful API](id:6a5bf6dd-d0ec-43e4-8e07-9956f4715f10) - [API Architecture](id:49b195c8-e116-40ca-86e8-62c65dbb5a4f) (Just needs spell checks and re read) - [API Intro Notes](id:e7f082e4-1b9f-4ebe-96d6-94d92e80a07e) - [ASP.NET Core Web API Fundamental Notes](id:b2fd7038-42a8-4cbe-882b-92fbe2c12a11) (todo) # Database Related - [Database Permissions, Roles, and Accounts](id:b4858f6a-b05c-47f2-972e-905e0bb2c352) - [SQL Joins](id:de3bef27-81c9-49d1-85bb-edceb9a80e65) # Misc - [Windows Services](id:faa7f193-5af6-4a2f-a73e-540f833a7fd0) - [Dynamic Link Library (DLL)](id:e717c252-0e15-4403-898f-93163dd1b147) # Security: - [Cross Site Scripting (XSS)](id:01c89142-7e14-42b2-bd01-743656908fd2) # Concepts to learn and talk about (cs and maths) - ~~xor~~ - ~~big O notation~~ - ~~time complexity~~ - ~~space complexity~~ - data structures - algorithms - design patterns - functional programming - object-oriented programming - relational databases vs non-relational databases - ~~Database permissions, roles and accounts~~ - networking basics - operating systems fundamentals - concurrency and parallelism - software development methodologies (Agile, Scrum, etc.) - version control systems (Git, etc.) - testing methodologies (unit testing, integration testing, etc.) - security best practices - cloud computing basics - containerization (Docker, Kubernetes, etc.) - DevOps practices - ~~CI/CD pipelines~~ - microservices architecture - API design and development - ~~restful apis~~ - web development fundamentals (HTML, CSS, JavaScript) - mobile app development basics - machine learning basics - data science fundamentals - big data concepts - blockchain basics - cryptography fundamentals - user experience (UX) design principles - software architecture patterns (MVC, MVVM, etc.) - debugging techniques - performance optimization strategies - software documentation best practices - ethical considerations in software development - emerging technologies in software development - career development in software engineering - soft skills for software engineers (communication, teamwork, etc.) - project management basics for software projects - open source contribution best practices - remote work best practices for software engineers - continuous learning strategies for software engineers - data types - bytes and bits - number systems (binary, decimal, hexadecimal) - logic gates - set theory - graph theory - combinatorics - probability theory - statistics - linear algebra - calculus - discrete mathematics - compilers - interpreters - automata theory - formal languages - Turing machines - computability theory - MVPs and MVTs