Home
Tags:

Tech notes

Programming and CS Concepts

Data:

Clean Code. Coding Principles. Conventions

  1. Intro
  2. Meaningful Names
  3. Functions
  4. Comments
  5. Formatting
  6. Objects and Data structures
  7. Error Handling. Exceptions
  8. Boundaries
  9. Unit tests
  10. Classes
  11. Systems
  12. Emergence
  13. Concurrency
  14. Successive Refinement
  15. Refactoring SerialDate
  16. Smells and Heuristics
    • General
      • broken windows: They used the metaphor of broken windows.3 A building with broken windows looks like nobody cares about it. So other people stop caring. They allow more windows to become broken. Eventually they actively break them. They despoil the facade with graffiti and allow garbage to collect. One broken window starts the process toward decay.
      • The Boy Scout Rule: Leave the campground cleaner than you found it.
        • If we all checked-in our code a little cleaner than when we checked it out, the code simply could not rot. The cleanup doesn’t have to be something big. Change one variable name for the better, break up one function that’s a little too large, eliminate one small bit of duplication, clean up one composite if statement.
      • G5: Duplication. Don't repeat yourself (DRY)
      • G23: Prefer Polymorphism to If/Else or Switch/Case (Question for self: how to do it? Needs a concrete example.)
      • G25: Replace magic numbers with named constants

Coding Principles:

Takes time but saves more than it takes

Architecture

Web:

  • REST
  • Microservices

Design patterns

Creational:

  • Singleton
  • Factory
  • Builder -

Structural:

  • Adapter
  • Facade

Behavioral:

  • Strategy

C# Language and the .NET Framework

Prerequisites:

Set up on Linux:

C# Language Features:

C# Language and the .NET Framework:

Types and Collections:

Data:

Unit testing:

Unit testing concrete items:

Networking:

Security: https://learn.microsoft.com/en-us/dotnet/standard/security/

Web Apps and ASP.NET

  • WebApplicationBuilder
  • Dependency Injection (design pattern, programming technique)
  • Logging & Audit
  • (Security) Authentication, authorization, claims
  • Configuration
  • Routing

JavaScript

Web: HTML, CSS

  • HTML
  • CSS
    • class and ID naming conventions

Other programming languages

Python

To do: ...

C

To do: ...

Java

Environment and set up on arch linux

IDEs, code editors, etc

Databases

Linux and Windows:

Windows only:

Other:

Containers

Docker:

Running sonarqube analysis for a local project from docker.

Web servers

A web server serves HTML web pages and other files via HTTP to clients like web browsers. The major web servers can be interfaced with programs to serve dynamic content (web applications). [1]

Linux:

Windows:

Other:

  • Reverse proxy
  • Load Balancing

Linux Desktop

Music:

Office Suite: Libreoffice

Linux System

Commands:

Filesystem. Users and Permissions:

  • Users
  • chmod 744

Networking:

Locale, Language, Keyboard Layout:

System Management:

  • systemd systemctl: Used for managing systemd services and the system itself (starting, stopping, and checking the status of services).

System Logs and Monitoring:

  • journalctl: A command for querying and displaying messages from the journal, which is the logging system used by systemd.

Disk and Filesystem Management

Finding out information:

Linux Directory Structure (organisation):

Other:

Multimedia:

  • ffmpeg - multimedia conversion and processing tool

Shell:

turn on/off mode that prints contents of the dir when cd-ing into it alias function

run app that accepts torrent magnet links until i press ctrl-c

Terminal:

  • ST terminal
  • find a normal terminal, for example Alacritty

Terminal Multiplexer:

Command Line Tools and Scripting

Where to place what scripts:

  • alias: 1 command, no arguments
  • zfunctions: 1 command, with arguments
  • Scripts: > 1 command

Scripting:

Editing files:

Searching files, directories:

Documents:

Linux Distributions

Arch / Manjaro

Administration:

Raspberry Pi OS

Initial:

Administration:

Server Administration

Remote login:

git server

Windows System

Scripting

Security. Cryptography. Encryption. Decryption. Digital Signatures. Certificates. Secure Communications.

Cryptography Fundamentals:

Protocols:

Encryption Standards:

Encryption Algorithms:

  • RSA
  • DSA
  • ElGamal

Computer Networking

Application Layer Protocols:

Transport Layer Protocols:

  • TCP
  • UDP

Internet layer:

Routing and hosting:

Other:

Financial Services

Messaging platform:

International Standards

Data representation and formatting standards, which help with data exchange and communication. Which include ISO standards, etc.

Examples:

Financial Services (banking, finance, etc):

Other

Glossary

General:

Unit testing: