10 / 11 / 2024
A simple real-time chat application built with Node.js and Socket.io. This application allows users to send and receive messages instantly without needing to refresh the page.
Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It allows multiple people to work on a project simultaneously without interfering with each other’s work.
GitHub is a web-based platform that uses Git for version control and provides additional features for collaboration, project management, and code hosting.
Git Bash is a command line interface for Git on Windows. It provides a Unix-like shell environment and allows you to use Git commands as well as bash commands.
The Open Systems Interconnection (OSI) model describes seven layers that computer systems use to communicate over a network.
Recieving data - bottom up approach
Transmitting data - top down approach
Physical Layer: Manages physical connections between devices, using cables or wireless technology, and transmits raw binary data (0s and 1s) with bit rate control.
Data Link Layer: Establishes connections between directly connected devices, breaking data into frames. It includes Logical Link Control (LLC) for error checking and Media Access Control (MAC) for device addressing.
Network Layer: Routes data by breaking it into packets and finding optimal paths across networks using IP addresses.
Transport Layer: Segments data for transmission and reassembles it on arrival. It handles flow and error control to ensure accurate delivery.
Session Layer: Opens, manages, and closes communication sessions between devices, enabling checkpointing to resume interrupted data transfers.
Presentation Layer: Prepares data for the application layer by encoding, encrypting, and compressing it for secure and compatible transmission.
Application Layer: Interfaces with user applications like browsers and email, using protocols like HTTP, FTP, SMTP, and DNS for data exchange.
Cryptography is the act of using codes or ciphers to protect secrets. Encryption techniques are methods of securing data by converting it into unreadable formats that can only be reverted by authorized users. Common techniques include:
Symmetric Encryption: Uses a single key for both encryption and decryption (e.g., AES, DES).
Asymmetric Encryption: Uses a public key for encryption and a private key for decryption (e.g., RSA).
Hash Functions: Generates a fixed-size hash value from data, often for verifying integrity (e.g., SHA-256).
code
An Internet Protocol (IP) address is the unique identifying number assigned to every device connected to the internet.
Web scraping is an automatic method to obtain large amounts of data from websites.
Most of this data is unstructured data in an HTML format which is then converted into structured data in a spreadsheet or a database so that it can be used in various applications.
Beautiful Soup is a Python package for parsing HTML and XML documents, including those with malformed markup.
It creates a parse tree for documents that can be used to extract data from HTML, which is useful for web scraping.
Kali Linux is a Linux distribution designed for digital forensics and penetration testing.
It is maintained and funded by Offensive Security.
The software is based on the Debian Testing branch: most packages Kali uses are imported from the Debian repositories.
Penetration testing, often referred to as pen testing, is a critical practice in the field of cybersecurity.
SSH (Secure Shell) is a protocol used to securely access remote machines over a network.
It encrypts data sent between the client and server, providing a secure way to manage servers, transfer files, or execute commands remotely.
The Secure Shell (SSH) protocol is a method for securely sending commands to a computer over an unsecured network.
Setting up a MySQL database and creating a simple CRUD (Create, Read, Update, Delete) application using Node.js helped get familiarize with database management and querying.