updating the knowledge base

This commit is contained in:
2026-01-01 01:42:17 +00:00
parent edbbabcf78
commit 53f279f7d6
7 changed files with 152 additions and 1 deletions

View File

@@ -14,3 +14,4 @@ In this file I want to include technical coding information. This will include t
- [[id:ae343652-96fe-4341-8a36-ec3a1abd0dc6][technical-java-notes]]
- [[id:bdb493df-db92-4c93-9558-0b10fdff3048][linux_moc]]
- [[id:e448cd99-afee-4702-947f-644bb34dc1aa][database_moc]]
- [[id:F32F8F09-3DEC-4FD1-8CFA-401A316E906B][xor]]

View File

@@ -4,6 +4,10 @@
#+title: Backlog
#+filetags: :backlog:
* Ideas
- Building a code smells coverage checker for the ~output~ dir
* To sort:
- https://forge.medium.com/a-simple-tool-for-personal-growth-dc1e822aa229

View File

@@ -0,0 +1,77 @@
:PROPERTIES:
:ID: 22737796-6D31-49D5-84F2-F7BC73E45144
:END:
#+title: Concepts
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.
* 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.
- [[id:F32F8F09-3DEC-4FD1-8CFA-401A316E906B][xor]]
- [[id:6820973F-613E-441A-BC1D-8FE5CD9BD6F7][solid_principles]]
* 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
- 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
- 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

39
20260101011126-xor.org Normal file
View File

@@ -0,0 +1,39 @@
:PROPERTIES:
:ID: F32F8F09-3DEC-4FD1-8CFA-401A316E906B
:END:
#+title: xor
XOR stands for exclusive or. It is a logical operation that outputs true only when the inputs differ (one is true, the other is false). If both inputs are the same (both true or both false), the output is false.
Here is the truth table for XOR:
+-------+-------+---------+
| A | B | A XOR B |
+-------+-------+---------+
| false | false | false |
+-------+-------+---------+
| false | true | true |
+-------+-------+---------+
| true | false | true |
+-------+-------+---------+
| true | true | false |
+-------+-------+---------+
In programming, XOR is often represented by the caret symbol (^). For example, in many programming languages, you can use the XOR operator like this:
#+begin_src python
a = True
b = False
result = a ^ b # result will be True
#+end_src
In simple terms it means "one or the other, but not both".
Some similar concepts include:
- OR (inclusive or): Outputs true if at least one input is true.
- AND: Outputs true only if both inputs are true.
- NOT: Outputs the opposite of the input (true becomes false, false becomes true).
- NAND: Outputs false only if both inputs are true (the opposite of AND).
- NOR: Outputs true only if both inputs are false (the opposite of OR).
- XNOR: Outputs true only when both inputs are the same (the opposite of XOR).

View File

@@ -0,0 +1,20 @@
:PROPERTIES:
:ID: 6820973F-613E-441A-BC1D-8FE5CD9BD6F7
:END:
#+title: solid_principles
The SOLID principles are a set of five design principles that help software developers create maintainable, scalable, and flexible software systems. The principles were introduced by Robert C. Martin (Uncle Bob) and are widely used in object-oriented programming.
The SOLID principles are:
1. **Single Responsibility Principle (SRP)**: A class should have only one reason to change, meaning it should have only one job or responsibility. This makes the class easier to understand and maintain.
2. **Open/Closed Principle (OCP)**: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. This means that you should be able to add new functionality without changing existing code, which helps prevent bugs and maintain stability.
3. **Liskov Substitution Principle (LSP)**: Subtypes must be substitutable for their base types without altering the correctness of the program. This means that objects of a derived class should be able to replace objects of the base class without affecting the behavior of the program.
4. **Interface Segregation Principle (ISP)**: Clients should not be forced to depend on interfaces they do not use. This means that it's better to have many small, specific interfaces rather than a few large, general ones, which helps reduce dependencies and improve flexibility.
5. **Dependency Inversion Principle (DIP)**: High-level modules should not depend on low-level modules; both should depend on abstractions. Additionally, abstractions should not depend on details; details should depend on abstractions. This principle encourages the use of interfaces and abstract classes to decouple high-level and low-level components.
[[id:F3875F0F-5C9E-4BB1-A79C-6000B9558115][solid_principles_examples]]

View File

@@ -0,0 +1,5 @@
:PROPERTIES:
:ID: F3875F0F-5C9E-4BB1-A79C-6000B9558115
:END:
#+title: solid_principles_examples

View File

@@ -25,6 +25,7 @@ A complete alphabetical index of all published pages.
- [[id:5a207a1c-6f02-40d5-b42e-38daaa0aec10][c_notes]]
- [[id:f9838952-9753-471b-a2cc-d72e01a53ef6][career_capital]]
- [[id:dd55d635-59de-4ed9-8ff0-423782c2e0ae][clean-code]]
- [[id:22737796-6D31-49D5-84F2-F7BC73E45144][Concepts]]
* D
- [[id:e448cd99-afee-4702-947f-644bb34dc1aa][Database MOC]]
- [[id:d4f96bfb-b83d-449b-9f74-f602a1a3c2d3][deliberate_practice]]
@@ -88,12 +89,14 @@ A complete alphabetical index of all published pages.
* R
- [[id:EA93341B-20C0-48A2-BD88-F24ED3C540DA][recipes-done]]
- [[id:F7D68FF4-CAD0-4791-BAE4-AC20B84A8785][recipes-ideas]]
- [[id:65F747B1-3CB2-429A-9E26-ED8BC169E689][recipes-main]]
- [[id:65F747B1-3CB2-429A-9E26-ED8BC169E689][recipes-moc]]
* S
- [[id:99533f2d-a4e8-41d0-a605-c7d4cef6f995][self_hosting]]
- [[id:f09cb4ed-1407-4187-9002-de2c5db13a8f][server_moc]]
- [[id:2d7f1ccc-99d7-4c45-8fe7-4b87080edb01][so_good_they_cant_ignore_you]]
- [[id:efe0360d-8d81-4372-833d-ad58e67d17c6][socket_programming_in_c]]
- [[id:6820973F-613E-441A-BC1D-8FE5CD9BD6F7][solid_principles]]
- [[id:F3875F0F-5C9E-4BB1-A79C-6000B9558115][solid_principles_examples]]
- [[id:acba0d25-08db-4784-8cc2-fe5c437ba723][stanford_marshmallow_experiment]]
- [[id:bf277242-4f09-46a2-aa6b-1d75ce0025ac][systemd_services]]
* T
@@ -119,3 +122,5 @@ A complete alphabetical index of all published pages.
- [[id:462F091B-9156-48B3-8665-0BE36C95C182][wp-sadness]]
- [[id:cfc4ce06-7862-49b7-9a4f-e515d690cd38][wp-urge-surfing-blorg]]
- [[id:8CD2F4C4-22C2-4ECC-8F5F-C4779F8AC0F1][wp-week-12-reflection]]
* X
- [[id:F32F8F09-3DEC-4FD1-8CFA-401A316E906B][xor]]