My D's P's L's Js _ Day10 _ Git & GitHub {7}; CS50'sT {4}; Other Developments {10}.
My Daily's Programming's Learning's Journeys
\ Let's Begin ! \
Git and GitHub {7} _
Creating and Removing Files and Folders :
A shell(Terminal) is a command-line interface (Terminal) that allows users to interact with the operating system by entering commands.
- The shell acts as an intermediary between the user and the operating system, facilitating the execution of various tasks and operations.
Comand prompt (cmd.exe) on windows and Bash (ubuntu etc) on linux, are the examples of OS specific Shells.
We are'nt able to run the Git commands directly on the Command prompt of the windows. (nowadays after tweeking some settings will).
Source tree : Rather using CLI, using GUI is Using user friendly interface.
- SourceTree is a free Git and Mercurial client for Windows and Mac that provides a graphical interface for managing and interacting with your repositories. It allows you to visually track changes, commit, push, pull, and perform other version control operations easily. SourceTree simplifies the process of working with Git and Mercurial repositories by providing a user-friendly interface rather than using the command line. Some Basic #Command_Prompts : -
ls
: List command : lists all of the files that are inside the folder (Directory) you are presently working in.
- SourceTree is a free Git and Mercurial client for Windows and Mac that provides a graphical interface for managing and interacting with your repositories. It allows you to visually track changes, commit, push, pull, and perform other version control operations easily. SourceTree simplifies the process of working with Git and Mercurial repositories by providing a user-friendly interface rather than using the command line. Some Basic #Command_Prompts : -
pwd : Present Working Directory command.
mkdir
: Make Directory :mkdir FolderName
: create a directory with the FolderName you want.cd
: Change Directory :cd FolderName
: Your pwd will be FolderName.cd ..
: Moving back one folder out off present one to previous one.
rm -rf FolderName
: to Completely (Forced) Remove the FolderNmae folder with it's whole contents.- here
-rf
is a Flag. (the added flag).
- here
touch
: to create a new file with its extension.:touch FileName.Extension
.rm FileName.Extension
: to Remove that file. (No need extra flag).In windows command prompt ie. cmd.exe. after activating bash, all bash shell commands can be run successfully.
but in windows power shell the
touch
command prompt of bash shell is not recognizable.- for that it has saperate command line which is
echo $null >> FileName.Extension
.
- for that it has saperate command line which is
HarvardX CS50T{3}_
CS50's Understanding Technology.
Resource Or Reference : HarvardX CS50T
Internet(2) :
#Ports:
Per TCP, the world has standardized numbers that represent different services
If 5.6.7.8 is Google’s IP address, 5.6.7.8;80 (port 80) lets use know that we want a webpage
80 means http (hypertext transfer protocol)
- The language that web servers speak
Google will send the request to their web server via http
Many websites use secure connections with SSL or HTTPS, which uses the port 443
Email uses port 25
Other ports exist as well
#Protocols:
Protocols are just sets of rules
- Humans use these all the time, such as the protocol for meeting people: handshakes
When a request is made to Google for an image, HTTP tells Google how to respond appropriately
#UDP:
User Datagram Protocol
Doesn’t guarantee delivery
Used for video conferencing such as FaceTime
- Packets can be dropped for the sake of keeping the conversation flowing
Used anytime you want to keep data coming without waiting for a buffer to fill
#IPs in More Detail:
IP addresses are limited
In the format #.#.#.#, each number is 8 bits, so 32 bits total
This yields 232 or about 4 billion possible addresses
- We’re running out of addresses for all computers
Current version of addresses is IPv4
Moving towards IPv6
- Uses 128 bits, yielding 2128 possible addresses
How do you find your IP address?
On a Mac, go to system preferences an poke around a bit
Private addresses exist
10.#.#.#, 192.168.#.#, or 172.16.#.#
Only with special configuration can someone talk to your computer
Your personal device is not a server, so people should not need to access them directly
- Your device needs to request data from servers
Even email is stored on a server such as Gmail and your device makes a request to that server to access that email
Looking at advanced settings…
Subnet mask is used to decide if another computer is on the same network
Router (aka Gateway) has its own address
- Routs data in different directions
On windows:
- Shows DNS servers as well
#Routers:
Routers have bunches if wires coming and going out of them
They have a big table with IP addresses and where data should be routed to get to that destination (its RAM?)
- Often, the data is routed to some next router
Routers purpose is to send data in the direction of a destination
- The next router will send it to another until it reaches a destination
The internet is a network of networks (with their own routers)
Often multiple ways to go from A to B
Based in US Military logic to prevent downtime if a particular router goes down
When multiple packets are sent, like cat.jpg from Google, they can each take a different path, still getting to their destination eventually
- Sometimes the internet is busy and the quickest path changes
#Traceroute:
How long does it take for this process of data transfer to take on the internet?
Traceroute is a program that sends packets to each router on a path to a destination, reporting the time it takes to reach that router
From Sanders Theatre to
Google.com
:
Image source : CS50T
From Sanders Theatre to Google.com
1-2: A few unnamed routers at Harvard
3-4: More Harvard routers
5-6: Level3 is a ISP
7+: The routers are denying the request
Other Developments {10} _
Other Notes.
Notes_
- Hii
# Programming Language Vs. Scripting Language_
The main difference between a programming language and a scripting language is the way they are used and the level of control they provide.
Programming Language: A programming language is a formal language designed to communicate instructions to a computer or computing device to perform specific tasks. These languages are generally more complex, have a strict syntax, and are used to build large, complex, and standalone applications or software. Examples of programming languages include Java, C++, Python, and C#. Example: Let's take Python as an example. Python is a popular programming language that is used to create a wide range of applications, from web development and data analysis to machine learning and automation. With Python, you can write code that can perform complex operations, handle data structures, and even create graphical user interfaces (GUIs).
Scripting Language: A scripting language, on the other hand, is a language that is used to automate tasks or control the behavior of a larger system or application. Scripting languages are typically simpler and more focused on specific tasks, such as system administration, file manipulation, or web automation. They are often used to write "scripts" that are executed by a host application or environment. Examples of scripting languages include Bash (for Linux/Unix shell scripting), PowerShell (for Windows system administration), and JavaScript (for web scripting). Example: Let's take Bash (Bourne-Again SHell) as an example. Bash is a scripting language that is widely used in Linux and Unix-based operating systems. With Bash, you can write scripts that automate various system tasks, such as file management, network configuration, and system monitoring. These scripts are typically shorter and more focused on a specific task compared to a full-fledged programming language.
In summary, the main difference is that programming languages are designed for building complex, standalone applications, while scripting languages are used for automating specific tasks or controlling the behavior of larger systems. The level of control and complexity is generally higher in programming languages compared to scripting languages.