My D's P's L's Js _ Day9 _ Open Source {6}; CS50'sT {3}; Other Developments {9}.

My D's P's L's Js _ Day9 _ Open Source {6}; CS50'sT {3}; Other Developments {9}.

My Daily's Programming's Learning's Journeys

·

6 min read

\ Let's Begin... \

Open Source {6}_

Introduction to Open Source (6) :

Note: Source : codecademy. >>> OPEN SOURCE REPOSITORY DOCS(1)

LICENCE Files

  • Although open source software can be freely viewed by anybody, using it -particularly as a part of proprietary software- can be a sensitive subject.

  • Many open source developers prefer their projects only be used with appropriate author attribution and/or only by other open source software.

  • The “LICENSE” file in a repository is typically used to describe the licensing terms for the repository: restrictions for what circumstances it is allowed to be used.

  • Most developers choose to use industry standard licenses used by many other open source projects. ChooseALicense.com is a great resource that helps you compare licenses that have been read over and vetted by law. One commonly used license is the MIT license!

Instructions In the workspace, we will demonstrate how to use the MIT license for your project.

  1. Click the I want it simple and permissive. option for the MIT license.

  2. Read through the MIT license, then copy the contents of the license.

  3. Head back to your repository in a new browser tab or window under the URL https://github.com/<username>/<repository>.

  4. Click the Add file button and then Create new file. Name the file LICENSE.md.

  5. Paste the contents of the MIT license from choosealicense.com/licenses/mit/ into the file, replacing year and name with this yeaConcept Reviewr and your name.

CODE_OF_CONDUCT Files

  • Any project on the internet open to the public, open source repository or otherwise, needs a code of conduct, or policy around what is or isn’t acceptable behavior.

  • Open source projects can involve many people who might not have the same understanding of what constitutes acceptable conduct on the internet.

  • A code of conduct formalizes and helps explain the project’s policies.

  • Open source projects typically place their code of conduct in a “CODE_OF_CONDUCT” file in their repository.

  • A great number of standard code of conduct policies exist. Many open source projects, including several run by Codecademy, use a standard one named the “Contributor Covenant”.

  • Let’s add that file to your repository!

Instructions

  1. Visit https://contributor-covenant.org in the web browser and read through the two sections there: “A Code of Conduct for Open Source Communities” and “Before You Adopt Contributor Covenant”. Click Run once you’re done reading.

  2. Click on “English (Markdown version)” lower in the page to access the text in Markdown format. Copy the contents of that page. Click Run once it’s copied.

  3. Back in your repository, click the Add file button and then Create new file. Name the file CODE_OF_CONDUCT.md.

  4. Paste the contents of the Contributor Covenant’s code_of_conduct.md into the file, replacing [INSERT CONTACT METHOD] with an email of yours.

Tip: You can use whatever valid email you want on the file. Make sure it’s an email you’re ok with being visible on the internet.

Review

Congratulations, you now know how to add the following files to your code repository to adhere to the conventional structure of an open source project.

  • Github About: filling out and reading the metadata for a repository

  • README.md: with a title, summary, and example code snippet

  • LICENSE.md: copying from a choosealicense.com license of the learner’s choice

  • CODE_OF_CONDUCT.md: copying the contents of the Contributor Covenant

Instructions Congratulations on completing the lesson!

Concept Review Want to quickly review some of the concepts you’ve been learning? Take a look at this material's cheatsheet!

Community Forums Still have questions? View this exercise's thread in the Codecademy Forums.

Note: Source : codecademy. ^^^

Note: I am following along these lessons by codecademy, and can be seen in synchronous (like date etc.) over GitHub too.

HarvardX CS50T {3}_

CS50's Understanding Technology. Resource Or Reference : HarvardX CS50T

Internet :

#Introduction:

  • We use the internet on a daily basis and have constant access and connectivity

  • Home network

homenetwork.png

  • Homenetwork

    • Cable modem, DSL modem, or FIOS device

      • Connects to the internet

      • Pay monthly for an ISP (Internet Service Provider)

        • Verizon, Comcast, etc.
      • Could have built in wireless connectivity for your devices - May need an additional home router - Devices connect to a router via cables or wifi

# IP:

  • Every computer on the internet has an IP (Internet Protocol) address

    • Of the form #.#.#.#

      • Four numbers separated by dots of the values 0-255

      • Other IP address formats exist today as well

    • Like postal addresses, they uniquely identify computers on the internet

      • Any device connected to the internet has an IP address

        • Allows other computers to talk to it
  • ISPs assign a IP address to your computer (router)

    • Used to be physically configured

    • DHCP (Dynamic Host Configuration Protocol)

      • Software that ISPs provides to allow your computer to request an IP address

      • DHCP servers respond with a specific IP address for your Home

    • Multiple devices can connect to your home network

      • The home router supports DHCP and assigns IP addresses to your devices

DNS:

  • We access websites using domain names (Facebook.com, Google.com, etc.), but it turns out that these sites too have IP addresses

  • DNS (Domain Name System) servers convert domain names into IP addresses

Packets:

  • Computers communicate by sending packets, which are like virtual envelopes sent between computers

    • Ultimately still 0s and 1s
  • As an analogy, suppose we want to find a cat image on the internet

  • So, we send a request to a server, say Google, like “get cat.jpg”

    • We place this request in an envelope
  • On the envelope, we list out IP as the return address

  • However, for the recipient of the request, we don’t know the IP address for Google

    • Have to rely on DNS

    • Send a request to our ISPs DNS server for Google’s IP address

      • If the ISP’s DNS server doesn’t know a website’s IP address, it has been configured to ask another DNS server

      • There exist root servers that know where to look to for an IP address if it exists

  • After sending the request off, we’ll get a response ms later

  • Image:

  • The cat will be sent back in one or more packets

    • If the cat image is too large for a single envelope, sending it in one packet could take up internet traffic

    • To solve this, Google will divide the cat image into smaller fragments

      • Put the fragments into different envelopes

      • Write information on the envelopes

        • Return address: Google’s IP address

        • Delivery address: Our IP address

        • List the number of packets on each envelope (1 of 4, 2 of 4, etc.)

TCP/IP:

  • IP goes beyond addresses

    • Set of conventions computers and servers follow to allow intercommunication
  • Fragmentation like in the envelope example are supported by IP

    • If missing a packet, you can logically infer which packet you’re missing based on the ones received

      • However, IP doesn’t tell computers what to do in this case
  • TCP (Transmission Control Protocol) ensures packets can get to their destination

    • Commonly used with IP (TCP/IP)

    • Supports sequence numbers that help data get to its destination

      • When missing a packet, a computer can make a request for the missing packet

      • The computer will put packets together to get a whole file

    • Also includes conventions for requesting services (port identifiers)

      • To make sure Google knows we’re requesting a webpage and not an email or other service

Other Developments {9} _

Recap, Ques, & Other Notes :

That's it for Today!

See UuuU