Level 2
18 / 4 / 2024
Task1:Javascript
The main aim of this task is to learn the basics of javascript and create a small webpage which takes the names and marks of ten students and calculates the :
- Percentage of each student
- Class average
- Rankings of the students
JavaScript is a versatile programming language commonly used for web development. It runs directly in the browser, allowing for dynamic interaction with web pages without needing to rely on server-side processing.
Task2:Async Javascript
Asynchronous programming is a programming paradigm that allows multiple tasks to be executed concurrently, rather than sequentially. In an asynchronous program, tasks can start and complete independently of each other, and the program doesn't have to wait for one task to finish before starting another.
Common patterns and mechanisms for asynchronous programming include:
- Callbacks: Functions that are passed as arguments to other functions and are called once an asynchronous operation completes.
- Promises: Objects representing the eventual completion or failure of an asynchronous operation. They allow attaching callbacks to handle the success or failure of the operation.
- Async/Await: A more recent addition to JavaScript, async functions enable writing asynchronous code in a synchronous-like manner using the async and await keywords, making it easier to work with asynchronous code and handle errors.
For the given Marvel task, we implement a small callback based program that displays the steps of a food recipe (consisting of at least 10 steps).
Task3:Promises
The Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value. A Promise is a proxy for a value not necessarily known when the promise is created. It allows you to associate handlers with an asynchronous action's eventual success value or failure reason...
Promises v/s Calbacks
Promises are the preferred choice for handling asynchronous operations in modern JavaScript code. They offer improved readability and error handling, making it easier to manage complex asynchronous workflows.
Benefits of Promises
- Improves Code Readability
- Better Handling of Asynchronous Operations
- Better flow of control definition in asynchronous logic
- Better Error Handling
Task4:Get familiar with the command line on ubuntu and do the following subtasks:
Hiii Read a resourceful article on all the major commands used in the Terminal. Read the history of Linux, the improvements in its versions and the develpoment of modern operating systems. In these task I have learnt
- how to create a folder or file using only Ubuntu terminal.
- Created 2600 folders in a folder just as mentioned in the marvel task.
- learnt to concatenate two text files, so that it displays the texts in them together.
- learnt major Ubuntu commands like: pwd cd mkdir cd ls touch
Task5:VI
The default editor that comes with the Linux/UNIX operating system is called vi (visual editor). Using vi editor, we can edit an existing file or create a new file from scratch. we can also use this editor to just read a text file.
Vi is a powerful and widely used text editor in Unix and Linux systems. Open a File: vi /path/to/file (opens an existing file, creates a new file if it doesn't exist) Edit a System File: sudo vi /etc/fstab Command Mode: Entered when opening a file in VI, used for navigating and making changes
→ →Deleting Characters: Use x to delete a character
→ →Deleting Lines: Use dd to delete an entire line
→ →Copy and Paste: Use v to select text, y to copy, and p to paste
→ →Insert Mode: Entered with i, allows entering text directly into the file
→ →Exiting Insert Mode: Press Escape to return to Command Mode
→ →Save and Quit: Use :wq to write the file to disk and quit VI
Learnt the basics of vi and created a markdown file in vi illustrating the various features of vi that i personally found as fascinating. Below is the markdown article that was written in VI:
Task6:Linux Continued
Regex which stands for Regular Expressions, are patterns that describe a set of strings that match the pattern. They are used to match character combinations in strings.
- Piping is a powerful feature in Linux that allows you to connect the output of one command to the input of another command. This is done using the pipe symbol, which is a vertical bar |
- The last command in Linux is used to display the list of all the users logged in and out since the file /var/log/wtmp was created.
- The grep command in Unix/Linux is a powerful tool used for searching and manipulating text patterns within files.
The task required us to extract login times within a date/time range from the login logs. Used the last command. Had to create a folder called logs and the extracted information was put into a .txt file. And then this folder was zipped using gzip and tar. I even unzipped it and saved it a nee folder...
Task7:Introduction to Cloud Computing
- Learnt the three main cloud service models (IaaS, PaaS, SaaS) and explored their characteristics
- Learnt about the various deployment models (public, private, hybrid, community clouds) and where and when to use each.
- Researched on major cloud service providers (AWS, Azure, GCP) and their offerings. Objective of the task is to get familiar with the process of setting up a local file sharing solution. At the end i was able to share files between devices, and access shared files from different devices.
Task8:Introduction to Cybersecurity
- I learnt about the Basics of cybersecurity: confidentiality, integrity, availability (CIA)
- Researched about various types of cyber threats like malware, phishing, etc.....
- The main objective of the task is to introduce Crypotography . At the end i gained knowledge about various ciphers and was able to decode them. I Converted & documented the text-"CYBERSECURITY IN MARVEL" into Caesar cipher, Pigpen cipher, Morse code, Rail fence cipher, Polybius cipher & Playfair cipher
...