Notes, summaries, assignments, exams, and problems for Computer science

Core Web Development Concepts: Node.js, Express, React, Redux, MongoDB

Computer science38.95 KB

Node.js Fundamentals

Understanding Node.js Modules

Modules in Node.js are reusable pieces of code that can be exported from one file and imported into another. Each file in Node.js is considered a module, operating within its own scope. Modules help organize code into separate files for better maintainability and reusability.

Types of Node.js Modules:

  1. Core Modules: Built-in modules provided by Node.js, pre-installed and ready to use.
  2. Local Modules: Custom modules created by developers for specific application logic.
  3. Third-party Modules: Modules installed via npm (Node Package Manager), extending Node.js functionality.

Key Built-in Node.js Core Modules

Core modules are essential, pre-installed components of Node.js. You can use them directly in your...

Continue reading "Core Web Development Concepts: Node.js, Express, React, Redux, MongoDB" »

Python Tuples: Essential Concepts and Operations

Computer science2.38 KB

Introduction to Tuples

  • Immutable: Cannot be changed after creation.
  • Syntax: Defined using parentheses ().
  • Versatile: Can store multiple data types.
  • Performance: Faster than lists due to immutability.

Common Use Cases for Tuples

  • Returning multiple values: Functions can return multiple values as a tuple.
  • Representing records: Ideal for structured data like names, ages, and addresses.
  • Dictionary keys: Tuples can be used as keys in dictionaries.

Basic Tuple Operations

Length

Returns the number of elements in the tuple.
Example: len((1, 2, 3)) Output: 3

Repetition

Repeats the tuple a specified number of times.
Example: (1, 2) * 3 Output: (1, 2, 1, 2, 1, 2)

Iteration

Loop through elements of a tuple.
Example: for x in (1, 2, 3): print(x) Output: 1, 2, 3

Comparison

...
Continue reading "Python Tuples: Essential Concepts and Operations" »

C TCP Sliding Window Client Example with Timeout

Computer science3.49 KB

C TCP Sliding Window Client Example

Source code with timeout and acknowledgment handling

Note: This example demonstrates socket programming in C using a sliding window and a receive timeout. It sends numbered frames, waits for acknowledgments, and resends frames on timeout.

Key points

  • Uses setsockopt to set a receive timeout (SO_RCVTIMEO)
  • Sends sequential frames and handles acknowledgments
  • Resends a window of frames when acknowledgments are not received
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <time.h>
#include <sys/time.h>
#include <unistd.h>
#include <arpa/inet.h>
#define MAX 80
#define PORT 8080
#define SA struct sockaddr
...
Continue reading "C TCP Sliding Window Client Example with Timeout" »

Digital Logic: Moore's Law, Logic Gates, and Number Systems

Computer science708.55 KB

Lecture 1: Moore's Law

Moore's Law: The number of transistors on microchips doubles every two years.

Lecture 2: Logic Gates

I7WgAAAABJRU5ErkJggg==

i3AAAAABJRU5ErkJggg==

+NnQQWHnrkU5hEgARmEjCXFieBuVQxHFZoESCBhRZfu1ongdmFNPtxFQIkMFepI+jBkMCCho4VvYwACczL2qMNLDy0x6cIGoEjR45Iq1atZNWqVbqNnTt3SpUqVYJujxWdQYArMGdwZ68OI4AY19dff10GDBggbdu2lblz50p8fLzDo2L3ZhEggZlFjOXDBgEEmaekpEhcXBzJy6NaJYF5VHEcNhEgAiIkMM4CIkAEPIsACcyzquPAiQARIIFxDhABIuBZBEhgnlUdB04EiAAJjHOACBABzyJAAvOs6jhwIkAESGCcA0SACHgWARKYZ1XHgRMBIkAC4xwgAkTAswiQwDyrOg6cCBABEhjnABEgAp5FgATmWdVx4ESACJDAOAeIABHwLAIkMM+qjgMnAkSABMY5QASIgGcRIIF5VnUcOBEgAiQwzgEiQAQ8iwAJzLOq48CJABEggXEOEAEi4FkESGCeVR0HTgSIAAmMc4AIEAHPIkAC86zqOHAiQAT+DyAtVcWtdpgpAAAAAElFTkSuQmCC

PKhJg4vKJJngcj4CICTBwugs1dMQJeQYCJwyua5HkwAi4iwMThItjcFSPgFQSYOLyiSZ4HI+AiAkwcLoLNXTECXkGAicMrmuR5MAIuIsDE4SLY3BUj4BUEmDi8okmeByPgIgJMHC6CzV0xAl5BgInDK5rkeTACLiLAxOEi2NwVI+AVBJg4vKJJngcj4CICTBwugs1dMQJeQYCJwyua5HkwAi4iwMThItjcFSPgFQSYOLyiSZ4HI+AiAkwcLoLNXTECXkGAicMrmuR5MAIuIsDE4SLY3BUj4BUEmDi8okmeByPgIgJMHC6CzV0xAl5BgInDK5rkeTACLiLAxOEi2NwVI+AVBP4HSdmP4LA25GYAAAAASUVORK5CYII=

5hQAAAAASUVORK5CYII=

eg8CIAACIAACfhGAQPiFDYVAAARAAARAwNkEIBDOjj96DwIgAAIgAAJ+EYBA+IUNhUAABEAABEDA2QT+D4sjTswCubX7AAAAAElFTkSuQmCC

o3LOcXr2Tof4HmKwTSBU6n03g8Hv9jfn5+pseNz2fo4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXYBQ99+AfITIBAvYOjjKxaQAIF2AUPffgHyEyAQL2Do4ysWkACBdgFD334B8hMgEC9g6OMrFpAAgXaBf18koFmMFdorAAAAAElFTkSuQmCC

wFbJNthuSOezwAAAABJRU5ErkJggg==

AND, OR, and NOT gates are universal.

Logic word problem steps:

Example: In a bank, there were four employees: the bank manager, assistant manager, teller, and the security guard. The bank has a single vault for the storage of their money. This vault was designed so that it needs four signals to open it. These four signals are from the bank manager, assistant manager, teller, and the security guard. For the vault to open, it needs the following conditions:

  1. No single employee can open the vault.
  2. It can be opened with three employees as long as one of them is the manager.
  3. It can be opened by the manager together with the assistant
...
Continue reading "Digital Logic: Moore's Law, Logic Gates, and Number Systems" »

Nmap, Netcat, and Metasploit Commands Cheat Sheet

Computer science7.67 KB

Nmap Options

-PE: Quickly check if host is up.

-sn: Disable port scanning (host discovery).

-n: Disables DNS resolution (checks IP online without looking up hostnames).

-O: OS detection.

-A: OS detection, Version detection, Script scanning, traceroute.

-sV: Service detection (banner info, version).

-vV: Provides verbose output.

-sC: Scan with default scripts for additional info gathering.

--min-rate=5000: Ensures scan sends at least 5k packets per second.

nmap --script smb-enum-shares.nse -p 445 (ip): List shares and their properties.


To see scripts starting with X: ls /path/X

To execute script with script tracing: sudo nmap -script=smb-os-discovery -script-trace target_ip

To enumerate the SMB share files: sudo nmap -script=smb-enum-shares target_ip

Vulnerability...

Continue reading "Nmap, Netcat, and Metasploit Commands Cheat Sheet" »

Mastering Stacks, Deques, Trees, and Graph Data Structures

Computer science21.54 KB

A stack is a fundamental data structure in computer science that follows the Last In, First Out (LIFO) principle. This means that the last element added to the stack is the first one to be removed. You can think of it like a stack of plates: you can only add or remove the top plate.

### Key Concepts of a Stack:

1. Basic Operations:
   - Push: This operation adds an element to the top of the stack.
   - Pop: This operation removes the element from the top of the stack and returns it.
   - Peek (or Top): This operation returns the top element of the stack without removing it.
   - IsEmpty: This operation checks whether the stack is empty.

2. Implementation:
   Stacks can be implemented using arrays or linked lists. Here are the details for...

Continue reading "Mastering Stacks, Deques, Trees, and Graph Data Structures" »

Python Regex Essentials & Understanding 'self' in OOP

Computer science2.55 KB

Python Regular Expressions: Pattern Matching Power

Regular expressions (regex) are a powerful tool for pattern matching and text manipulation. They allow you to search for patterns within strings, extract specific information, and perform text transformations. Python provides the re module for working with regular expressions.

Basic Regular Expression Components

  1. Literals: Characters that match themselves.
  2. Metacharacters: Special characters with special meanings, such as . (matches any character) and * (matches zero or more occurrences).
  3. Character Classes: [...] matches any single character within the brackets.
  4. Anchors: ^ matches the start of a string, $ matches the end of a string.
  5. Quantifiers: * matches zero or more occurrences, + matches one or
...
Continue reading "Python Regex Essentials & Understanding 'self' in OOP" »

Digital Logic Circuits: Flip-Flops, Comparators, Decoders, and Registers

Computer science4.04 KB

Digital Logic Circuits

Flip-Flops

Clocked RS Flip-Flop Drawbacks

Clocked RS flip-flops have some drawbacks, such as susceptibility to race conditions, where the output can become unpredictable if the inputs change too close to the clock edge. They also require careful handling of the inputs to avoid metastability issues, which can lead to incorrect output states. Additionally, they can have higher power consumption compared to other flip-flop types due to the need for a clock signal.

JK Flip-Flop Operation

Content about JK Flip-Flop operation, characteristic table, characteristics equation, circuit diagram, and timing diagram would be added here.

Magnitude Comparator

What is a Magnitude Comparator?

A magnitude comparator is a digital circuit that compares...

Continue reading "Digital Logic Circuits: Flip-Flops, Comparators, Decoders, and Registers" »

Computer Architecture Essentials and Cheat Sheet

Computer science3.32 KB

Certainly! Here is a cheat sheet for computer architecture:

1. Central Processing Unit (CPU)

  • The "brain" of the computer that executes instructions.
  • Consists of the Control Unit (CU) and the Arithmetic Logic Unit (ALU).
  • Fetches instructions from memory, decodes them, and executes them.

2. Memory Hierarchy

  • Registers: Fastest and smallest storage units located within the CPU.
  • Cache: High-speed memory that stores frequently accessed data.
  • Main Memory (RAM): Larger storage used to hold data and instructions.
  • Secondary Storage: Non-volatile storage devices like hard drives and SSDs.

3. Instruction Cycle

  • Fetch: The CPU fetches the next instruction from memory.
  • Decode: The instruction is decoded to determine the operation.
  • Execute: The instruction is executed
...
Continue reading "Computer Architecture Essentials and Cheat Sheet" »

Troubleshooting Wireless Network Issues: A Comprehensive Guide

Computer science3.83 KB

It permits traffic from wireless clients in 10.10.10 y 10.10.20The solution must have active PEFNG licensesHave Radius server send different roles for users in different departments.Apply role-based firewall policiesChange user to any in the user any svc-dhcp permit ruleClientMatchAirwave combines information from more sources, such as Radius authenticating servers and APsWireless security camera operating on channel 8To support more POE devices directly connected to the MCSet the VLANs associated with desired subnets in the WLAN settingsRADIUS serverAddition of custom rules to control access for authenticated guestsIt removes any commands that are not supported on that MC or have dependency errorsMesh Portal APChoose ClearPass or the other

...
Continue reading "Troubleshooting Wireless Network Issues: A Comprehensive Guide" »