<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Surajv</title>
    <description>The latest articles on DEV Community by Surajv (@surajv).</description>
    <link>https://dev.to/surajv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F414701%2Fd863fa27-ad65-4c1e-ba58-8c8435f95359.jpeg</url>
      <title>DEV Community: Surajv</title>
      <link>https://dev.to/surajv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/surajv"/>
    <language>en</language>
    <item>
      <title>50+ Resources &amp; Opportunities in Tech</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Wed, 14 Apr 2021 07:22:13 +0000</pubDate>
      <link>https://dev.to/surajv/50-resources-opportunities-in-tech-14k1</link>
      <guid>https://dev.to/surajv/50-resources-opportunities-in-tech-14k1</guid>
      <description>&lt;p&gt;The year 2020 had been a roller coaster ride probably for all of us. &lt;br&gt;
I spent a lot of time cooped up in my home. Though this was the time when I discovered an ample amount of resources and opportunities that are available in the tech industry. &lt;br&gt;
I have compiled a list of resources which includes &lt;strong&gt;cheatsheets&lt;/strong&gt;, &lt;strong&gt;roadmaps&lt;/strong&gt;, &lt;strong&gt;interview preparation resources&lt;/strong&gt;, &lt;strong&gt;design resources&lt;/strong&gt;, etc.&lt;/p&gt;

&lt;p&gt;It also has a collection of &lt;strong&gt;opportunities&lt;/strong&gt; that are available in tech. &lt;/p&gt;

&lt;p&gt;While most of the opportunities would be useful for student developers, the resources are for all.&lt;/p&gt;

&lt;p&gt;Also, I've open-sourced the repository. I would love to have contributors! &lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/Surajv311/one4All" rel="noopener noreferrer"&gt;Link to the repo: here&lt;/a&gt;. &lt;/p&gt;




&lt;h3&gt;
  
  
  Table of contents:
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Resources
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Resources&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Opportunities &lt;strong&gt;for everyone&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Hackathons&lt;/li&gt;
&lt;li&gt;Campus Ambassador Opportunities&lt;/li&gt;
&lt;li&gt;Competitive Programming Contests&lt;/li&gt;
&lt;li&gt;Externship Opportunities&lt;/li&gt;
&lt;li&gt;Research Scholarships&lt;/li&gt;
&lt;li&gt;Open Source Programs&lt;/li&gt;
&lt;li&gt;Miscellaneous Opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Opportunities &lt;strong&gt;exclusively for women&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Scholarship Programs&lt;/li&gt;
&lt;li&gt;Diversity Hiring Programs&lt;/li&gt;
&lt;li&gt;Mentorship Programs&lt;/li&gt;
&lt;li&gt;Programming Contests&lt;/li&gt;
&lt;li&gt;Hackathon Contests&lt;/li&gt;
&lt;/ul&gt;







&lt;h2&gt;
  
  
  &lt;strong&gt;(List of Resources)&lt;/strong&gt;:
&lt;/h2&gt;



&lt;h3&gt;
  
  
  Resource
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Interview Preparation&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/Interviewprep" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Design Resources&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/design-resources-for-developers" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jobs List&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/Jobslist" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Project based learning&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/Project_based_learning" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;APIs &amp;amp; resources&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/apis_devops" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Roadmaps &amp;amp; resources&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/RoadmapsResources" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cheatsheets&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/awesome-cheatsheets" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Startup,CEO,Marketing&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/ceo" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Miscellaneous Repositories&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/miscRepositories" rel="noopener noreferrer"&gt;Visit&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;







&lt;h2&gt;
  
  
  &lt;strong&gt;(Opportunities for everyone)&lt;/strong&gt;:
&lt;/h2&gt;



&lt;h3&gt;
  
  
  Hackathons:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Microsoft Imagine Cup&lt;/td&gt;
&lt;td&gt;&lt;a href="https://imaginecup.microsoft.com/en-us/Events?id=0" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JP Morgan Code for Good&lt;/td&gt;
&lt;td&gt;&lt;a href="https://careers.jpmorgan.com/US/en/students/programs/code-for-good?search=&amp;amp;tags=location__AsiaPacific__India" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Initial screening is a coding round followed by a hackathon. Applications usually open in Feb for the APAC region.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Smart India Hackathon&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.sih.gov.in/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It has 2 editions- software and hardware &amp;amp; covers a wide variety of themes to build projects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pennapps Hackathon&lt;/td&gt;
&lt;td&gt;&lt;a href="https://pennapps.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hackmit&lt;/td&gt;
&lt;td&gt;&lt;a href="https://hackmit.org/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MLH Explorer&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fellowship.mlh.io/programs/explorer" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;You'll be collaborating in small groups with other developers on a series of short hackathon sprints.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple's Swift Student Challenge&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.apple.com/wwdc20/swift-student-challenge/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Some useful links to search for hackathons around you: &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angelhack.com/" rel="noopener noreferrer"&gt;Angelhack&lt;/a&gt;, &lt;a href="https://devpost.com/" rel="noopener noreferrer"&gt;Devpost&lt;/a&gt;, &lt;a href="https://devfolio.co/" rel="noopener noreferrer"&gt;Devfolio&lt;/a&gt;, &lt;a href="https://mlh.io/seasons/2021/events" rel="noopener noreferrer"&gt;MLH Hackathons&lt;/a&gt;, &lt;a href="https://www.hackerearth.com/" rel="noopener noreferrer"&gt;Hackerearth&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Campus Ambassador Opportunities:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Microsoft Learn Student Ambassador&lt;/td&gt;
&lt;td&gt;&lt;a href="https://studentambassadors.microsoft.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Students can apply in any year of their degree course. Applications open throughout the year.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Github Campus Expert&lt;/td&gt;
&lt;td&gt;&lt;a href="https://apply.githubcampus.expert/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications open twice a year in Feb and August.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GeeksForGeeks Campus Ambassador&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.geeksforgeeks.org/campus-ambassador-program-by-geeksforgeeks/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Sophomore and Prefinal year students can apply for the program. Applications open around May/June.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HackerEarth University Ambassador Program&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hackerearth.com/university/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hackerrank Campus Ambassador&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hackerrank.com/campus-ambassador-program" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cisco Devnet Campus Ambassador&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.cisco.com/site/student/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intel Software Innovator Program&lt;/td&gt;
&lt;td&gt;&lt;a href="https://devmesh.intel.com/member-programs/intel-software-innovator-program#:~:text=Intel%20Software%20Innovator%20Program%20The%20Intel%C2%AE%20Software%20Innovator,demonstration%20opportunities%20at%20industry%20events%20and%20developer%20gatherings." rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AWS Educate Student Ambassador&lt;/td&gt;
&lt;td&gt;&lt;a href="https://aws.amazon.com/education/awseducate/student-ambassador-program/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alexa student influencer&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.amazon.com/en-IN/alexa/alexa-student-influencer" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website for updates)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Competitive Programming Contests:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google Hashcode&lt;/td&gt;
&lt;td&gt;&lt;a href="https://codingcompetitions.withgoogle.com/hashcode" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in January. It's a team-based competitive programming competition.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google code jam&lt;/td&gt;
&lt;td&gt;&lt;a href="https://codingcompetitions.withgoogle.com/codejam" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in February.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Kickstart&lt;/td&gt;
&lt;td&gt;&lt;a href="https://codingcompetitions.withgoogle.com/kickstart" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It's hosted 8 times a year and the registration for the first competition (Round A) usually begins in February.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Facebook Hackercup&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.facebook.com/codingcompetitions/hacker-cup" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in July.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ACM ICPC&lt;/td&gt;
&lt;td&gt;&lt;a href="https://icpc.global/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It's a team-based competition. Registrations usually start in winter. The dates for different regions for selections may vary.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Topcoder Open&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.topcoder.com/community/member-programs/topcoder-open" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It has a design track and a programming track for the tournament.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Some useful links to practice and learn CP: &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codeforces.com/" rel="noopener noreferrer"&gt;Codeforces&lt;/a&gt;, &lt;a href="https://www.topcoder.com/" rel="noopener noreferrer"&gt;Topcoder&lt;/a&gt;, &lt;a href="https://www.codechef.com/" rel="noopener noreferrer"&gt;Codechef&lt;/a&gt;, &lt;a href="https://cp-algorithms.com/" rel="noopener noreferrer"&gt;CP-Algorithms&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Externship Opportunities:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MLH Externship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fellowship.mlh.io/programs/externship" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open twice a year for Summer and Spring. Students (&amp;amp; a limited number of non-student professionals) are selected.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crio Winter of Doing&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.crio.do/crio-winter-of-doing/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Working professionals or student developers in their final year of engineering can go for it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Github Externship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github-externships.github.io/externship/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The GitHub Externship is a 90 days fellowship program for pre-final year students of GitHub Campus Partner schools.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Research Scholarships:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(Follow the link)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/Research-Internships-for-Undergraduates" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Open Source Programs:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;(Follow the link)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/Uncodedtech/Open-Source-Programs" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Miscellaneous Opportunities:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google STEP Internship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://buildyourfuture.withgoogle.com/programs/step/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A chance to intern at Google. It's only for first and second-year undergrad students. Google India STEP intern applications usually open in November.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Palantir Technology (Global Impact) Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.palantir.com/students/scholarship/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It awards grants to students to support their education. The application usually opens in March.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ethereum India Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://eif2.devfolio.co/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It's an 8-week mentor-led program for those interested to dive deep into the ethereum ecosystem.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kaggle Contests&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.kaggle.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It hosts tons of Data Science contests every month.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Codechef's Go For Gold initiative&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.codechef.com/goforgold" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Cash prize will be awarded to any Indian team that secures a world rank lower than (current best) 18 in ICPC.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Udacity Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.udacity.com/scholarships" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It offers nano degree programs to deserving candidates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Venkat Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://buildyourfuture.withgoogle.com/scholarships/venkat-panchapakesan-memorial-scholarship/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Selected students will receive a financial grant towards tuition expenses and will be invited to visit the YouTube headquarters in the USA.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Samsung PRISM Programme&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.samsungprism.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Student and Professor form a team to work on real-world projects assigned by Samsung (Bengaluru). Also, get to interact with industry mentors.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Nonprofit Marketing Immersion&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.google.com/grants/get-help/nonprofit-marketing-immersion/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A challenge for those interested in digital marketing. The applications are open throughout the year.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NASA Space Apps Hackathon&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.spaceappschallenge.org/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Space Apps inspires communities to come together, think intensely, and create solutions to important problems. The event usually happens in Sept-Oct.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Also check out &lt;a href="https://scholarshiptrack.org/" rel="noopener noreferrer"&gt;Scholarshiptrack&lt;/a&gt; for more such opportunities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;







&lt;h2&gt;
  
  
  &lt;strong&gt;(Opportunities exclusively for women)&lt;/strong&gt;:
&lt;/h2&gt;



&lt;h3&gt;
  
  
  Scholarship Programs:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Nutanix Heart Women in Tech&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.nutanix.com/scholarships" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Female students from the countries (US, France, Netherland, India, Serbia), are awarded grants for their tuition fees.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D.E Shaw DESIS Ascend Fellowship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fellowships.deshaw.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;You'll be given a scholarship amount if selected.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Generation Google Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://buildyourfuture.withgoogle.com/scholarships/generation-google-scholarship-apac/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in March for the APAC region. Deserving candidates in their first/second year are awarded grants.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Adobe India Women-in-Technology Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://research.adobe.com/adobe-india-women-in-technology-scholarship/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in August.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Women Techmakers Engineering Fellows (WTEF)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://we.talentsprint.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in March. Deserving female candidates in their freshmen year are awarded grants and mentorship.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anitab.Org Grace Hopper Celebration&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ghc.anitab.org/attend/scholarships/academics/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;If selected you'll get a sponsored 3 day trip to the USA to attend GHC and also career opportunities at Tech giants.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Diversity Hiring Programs:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Flipkart Diversity Hiring&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.flipkartcareers.com/#!/joblist" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flipkart Runway&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dare2compete.com/o/flipkart-runway-flipkart-157441" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Deserving candidates get a chance to intern at Flipkart.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon WOW Internship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.amazon.jobs/en/teams/internships-for-students" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A 6-months internship opportunity at Amazon for deserving candidates.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Mentorship Programs:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Wootech Mentorship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://wootechnology.github.io/Website/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amazon ACMS Mentorship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.linkedin.com/pulse/amazon-acms-complete-guide-vrinda-goyal?trk=public_profile_article_view" rel="noopener noreferrer"&gt;Click for more info&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It's a mentorship cum internship opportunity for deserving candidates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;twitter developHER&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developher2020india.splashthat.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in July. A two-day program for sophomore and prefinal year women students with lots of learning events.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Microsoft Codess India&lt;/td&gt;
&lt;td&gt;&lt;a href="https://careers.microsoft.com/students/us/en/ind-programs" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Intuit Augment Program&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.surveymonkey.com/r/INTUIT_2020" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;This mentorship program is designed to make women industry-ready. Applications usually open in January.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Goldman Sachs WeTech Scholarship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.iie.org/WeTech-GoldmanSachs" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Deserving candidates are chosen from selected universities. Applications usually open in November.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google #IamRemarkable Facilitator&lt;/td&gt;
&lt;td&gt;&lt;a href="https://iamremarkable.withgoogle.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Women who code Mentorship&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.womenwhocode.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Micron Global Women's Mentorship Program&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dieti.unina.it/images/opportunita/Micron_Global_Women_s_Mentorship_Program_2021.pdf" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Applications usually open in March.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Programming Contests:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;code jam to I/O for women&lt;/td&gt;
&lt;td&gt;&lt;a href="https://codingcompetitions.withgoogle.com/codejamio" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;It's similar to code jam, but it's exclusively for women.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HackerRank Women's CodeSprint&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hackerrank.com/womens-codesprint-5" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Goldman Sachs Women's CodeSprint&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.hackerrank.com/goldman-sachs-womens-codesprint" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;(Check the website)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SheCodes, Indeed&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.shecodesindeed.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The contest is conducted in September. Check the website for more info.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Hackathon Contests:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Linkedin Wintathon&lt;/td&gt;
&lt;td&gt;&lt;a href="https://wintathon2020.splashthat.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;All prefinal &amp;amp; final year BTech/BE Women Students or a 1st / 2nd Year M.Tech Women Students can apply.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Adobe CoDiva&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.firstnaukri.com/careers/customised/landingpage/adobe/codiva/index.html" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Winners get prizes and a chance to work at Adobe. Open to prefinal and final-year candidates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;American Express Makeathon&lt;/td&gt;
&lt;td&gt;&lt;a href="https://american-express-makeathon-2021.hackerearth.com/" rel="noopener noreferrer"&gt;Visit the page&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Winners get a chance to intern/full-time opportunity at Amex.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;b&gt;&lt;br&gt;
⬆ Back To Top &lt;br&gt;
&lt;/b&gt;&lt;/p&gt;







&lt;p&gt;I hope you found this list useful. &lt;br&gt;
If you have a resource/opportunity to share please feel free&lt;br&gt;
to visit the GitHub &lt;a href="https://github.com/Surajv311/one4All" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>productivity</category>
      <category>computerscience</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Basics of Python in a nutshell!</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Wed, 21 Oct 2020 20:02:08 +0000</pubDate>
      <link>https://dev.to/surajv/basics-of-python-in-a-nutshell-dah</link>
      <guid>https://dev.to/surajv/basics-of-python-in-a-nutshell-dah</guid>
      <description>&lt;p&gt;Let's glide through all the basic concepts in Python : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To give single or multi-line comment use:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#single line comment 

""" multi-line 
comment"""

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;We can declare variables directly in Python without putting any data type unlike other languages like C/C++.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 8
y = "variable"
print(x) # to print a statement 
print(y)

a , b = "Hello" , "World"  # to assign values in single line 
print(a)
print(b)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To get the data type of any object:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 8
print(type(x))

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Basic operations in Python:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = 4 
b = 9
print(a+b) # addition
print(a-b) # subtraction
print(a/b) # division
print(a*b) # multiplication
print(a**b) # exponentiation

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The basic data structures in Python are: 
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-&amp;gt; List: An ordered collection that is changeable and allows duplicate members. &lt;br&gt; &lt;/p&gt;

&lt;p&gt;-&amp;gt; Tuple: An ordered collection that is unchangeable and allows duplicate members. &lt;br&gt; &lt;/p&gt;

&lt;p&gt;-&amp;gt; Set: An unordered and unindexed collection doesn't allow duplicate members.  &lt;br&gt; &lt;/p&gt;

&lt;p&gt;-&amp;gt; Dictionary: An unordered collection that is changeable and indexed. Also, it doesn't allow duplicate members. &lt;br&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;a = ["Hello", "World", "!"] #List
b = ("Hello", "World", "!") #Tuple
c = {"Hello", "World", "!"} #Set
d = {"name" : "Suraj", "age" : 18, "location": "India"} #Dict

```


* To understand the data structures in detail: 


1) List:



```
#To print items in list using for loop:
this_list = ["A", "B", "C"]
for x in this_list:   # don't forget indentation in python codes 
    print(x)

#To check if item is present in the list:
this_list = ["A", "B", "C"]
if "D" in this_list :
    print("present")

#Note: You may add print statements to view your results.

# Use the append() to append an item in the list:
this_list = ["A", "B", "C"]
this_list.append("D")

#To insert item at a specified index in the list:
this_list = ["A", "B", "C"]
this_list.insert(1, "D")

#To remove a specific item from the list:
this_list = ["A", "B", "C"]
this_list.remove("B")

#To pop last item from the list:
this_list = ["A", "B", "C"]
this_list.pop()

#To removes an item from a specified index
this_list = ["A", "B", "C"]
del this_list[1]

#To clear the entire list
this_list = ["A", "B", "C"]
this_list .clear()

#To find length of the entire list
this_list = ["A", "B", "C"]
len(this_list)

#To join two lists
this_list = ["A", "B", "C"]
another_list = ["D", 3, 4]
result_list = this_list + another_list 
# result_list would have elements from both list

#To convert List to Tuple:
this_list = ["A", "B", "C"]
tuple(this_list )

#To slice List:
this_list = ["A", "B", "C"]
this_list[3:8]  # slicing the list

```


2) Tuple:



```
# To print items in Tuple:
this_tuple = ("A", "B", "C")
for x in this_tuple:
    print(x)

#To find length of Tuple:
this_tuple = ("A", "B", "C")
print(len(this_tuple))

# Convert
this_tuple = ("A", "B", "C")
list(this_tuple) #converting tuple to list

#To find type of Tuple:
this_tuple = ("A", "B", "C")
print(type(this_tuple))

# To slice Tuples 
this_tuple = ("A", "B", "C", "D" , "E")
print(this_tuple[1:]) # to print items from index 1 
# to print items starting from index 2 to index 3 (i.e 4-1)
print(this_tuple[2:4]) 
print(this_tuple[::-1]) # to print in reverse manner

#To delete a tuple 
this_tuple = ("A", "B", "C")
del this_tuple 

```


3) Set:



```
# To print items in Set:
this_set = {"A", "B", "C"}
for x in thisset:
    print(x)

#To add items in set :
this_set = {"A", "B", "C"}
this_set .add("D")

#To update set :
this_set = {"A", "B", "C"}
this_set .update([1,2,3])

#To remove an item from a set:
this_set = {"A", "B", "C"}
this_set .remove("C")

#To pop item from set
this_set = {"A", "B", "C"}
this_set .pop()

#To clear everything from the set: 
this_set = {"A", "B", "C"}
this_set.clear()

#To add items form one set to another
this_set = {"A", "B", "C"}
another_set= {1, 2, 3}
this_set.update(another_set)
#Note: every time you run the command the items would be #shuffled which justify that items in set are unordered.

#Operations in Sets: 
this_set = {1,2,3,4,5}
another_set= {3,4,5,6,7}

print(this_set|another_set) #Union
print(this_set - another_set) #Difference
print(this_set &amp;amp; another_set) #Intersection

```


4) Dictionary:



```
#To print a Dictionary: 
# items are in key:value pairs
this_dict = {
  "Name": "Suraj",
  "Age": "18",
  "Year": 2020
}
print(this_dict) # You can also use a for loop.

#Adding new index key with value: 
this_dict = {"Name": "Suraj",  "Age": "18",  "Year": 2020}
this_dict["newItem"] = "newValue"

#To pop a value from a dictionary: 
this_dict.pop("Year") #specifying key value 

#To clear the Dictionary:
this_dict.clear()

#To copy items from one Dictionary to another : 
this_dict = {"Name": "Suraj",  "Age": "18",  "Year": 2020}
another_dict = this_dict.copy()
# then print 

#To delete a value from Dictionary:
this_dict = {"Name": "Suraj",  "Age": "18",  "Year": 2020}
del Dict["Age"] 

```



* Characters in Python :



```

character = "Hello World!"
print(character[1]) # to get character at index 1 
print(character[3:7]) # to get character at from index 3 to 6 
#It can also be done using negative indexes

#To find the length of the character
len(character)

#Some other basic functions:
character = "Hello World!"
print(character .lower()) # to convert to lowercase
print(character .upper()) # to convert to uppercase
print(character .replace("W", "Y")) # To replace characters in it
print(character .split(",")) # returns ['Hello World!']
```



* Logical operators in Python:  &amp;lt;br&amp;gt;
They are used to combine conditional statements. &amp;lt;br&amp;gt;


```
and      - returns True if both statements are true .
or   - returns True if one of the statements is true .
not  - reverses the result, returns False if the result is true .
```



* Loops in Python:



```
#For loop
num = 0 
for num in range(0, 10): 
    print(num) # to print numbers from the range

#While loop
while (num &amp;lt; 10):     
    num = num + 1
    print(num) # to print numbers

```



* If-else statements in Python:



```
num = 0 
for num in range(0, 10): 
    if(num&amp;lt;5):
        print(num) # to print numbers less than 5 
```




* Functions in Python:



```
def function(x):
    print("Function called")
    print("Value passed is ",x)

function(5)

# Now using lamda function.
# It can take any number of arguments, but can only have one #expression.
#syntax : lambda arguments : expression
function = lambda x : x*2
print("Returning a value twice the passed value:",function(10))
```



With this, we have slid through the basics. &amp;lt;br&amp;gt;
Hope it's been helpful!

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>OOPS! Did you know that?</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Tue, 22 Sep 2020 05:54:16 +0000</pubDate>
      <link>https://dev.to/surajv/oops-did-you-know-that-2gn</link>
      <guid>https://dev.to/surajv/oops-did-you-know-that-2gn</guid>
      <description>&lt;p&gt;When I was learning C++ in my beginning college semesters I faced a lot of confusion in understanding what exactly the concepts of OOPS meant.&lt;br&gt;&lt;br&gt;
I have made a lot of beginner-level mistakes and learned from them. As time passed by, OOPS became my favorite concept in the C++ language.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Here I would slide through some of the important concepts in OOPS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb22mw0cf05yn44lfjom1.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb22mw0cf05yn44lfjom1.jpeg" alt="ops.jpg" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before diving into the basics of OOPS, Its important to know what is a &lt;strong&gt;Class&lt;/strong&gt; and an &lt;strong&gt;Object&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Class&lt;/strong&gt;:&lt;br&gt;
It is a user-defined datatype that has member functions and different data variables. Memory is allocated to the Class only when an Object is defined.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Object&lt;/strong&gt;:&lt;br&gt;
It is an instance of the Class. In simple words, it is the blueprint of the Class.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// header files 
class Class_name
{ 
/*
Access specifier 
public variables: can be accessed from everywhere
protected variables: can be accessed by the classes of the same package
private variables: can be accessed within the same class only.
-&amp;gt;This is helpful when you learn the concept of Abstraction in OOPS. 
*/
public: 

// data variables
int variable_A;

// member functions
void print_function() 
{ 
cout &amp;lt;&amp;lt; "Value of variable is :" &amp;lt;&amp;lt; variable_A; 
} 
}; 

main() { 

// declaring object &amp;lt;Syntax: Class_name object_name&amp;gt;
Class_name object;  

/*accessing the variables in class and assigning value to it via object*/
object.variable_A= 20;  

// accessing member function in class 
object.print_function(); 

} 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now we will cover the four main concepts in OOPS.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Encapsulation and Abstraction&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a nutshell, Encapsulation means hiding your data in a package. Abstraction displaying only essential information and hiding the unnecessary details from the client/user. &lt;br&gt;
&lt;br&gt;&lt;br&gt;
Create a separate header file in which you would define your entire class. Then you can access the components of your class using the objects in your main function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// header file header.h 
#include &amp;lt;iostream&amp;gt;
using namespace std ;
// we are defining a class in our header file
class Classtwo
{
private:  // for data abstraction
int var = 5; 
public :
int functionOne(); // declaring functionOne inside class
};
int Classtwo::functionOne() // defining functionOne outside class
{
cout &amp;lt;&amp;lt; "functionOne is called(in header file)\n";
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//main.cpp
// other header files
#include "header.h"
// namespace...

main(){
/* class Classtwo is in header file*/
Classtwo objectOne;
objectOne.functionOne(); 
cout&amp;lt;&amp;lt; objectOne.var; // would output the value of var 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inheritance&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a nutshell, the derived class inherits properties from the base class.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//header files 
class Base // parent class
{
public :
int number =5;
};
class Derived: public Base // child class 
{
public :
void printFunction()
{
cout&amp;lt;&amp;lt;"Hello World";
}
};

main(){
Derived obj; /*object of 'Derived' class can access public components of 'Base ' class*/

cout&amp;lt;&amp;lt; obj.number ; 
//would output the number which is in Base class
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Polymorphism&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In a nutshell, it means having different forms. There are two types of polymorphism. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;-&amp;gt; Runtime Polymorphism:&lt;br&gt;&lt;/p&gt;

&lt;p&gt;It happens when we override a function in the program.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// header files 

class Virtual_one
{
public :
int fun_One()
{
cout&amp;lt;&amp;lt;"fun_One works in v1\n";
}
};
class Virtual_two : public Virtual_one 
{
public :
int fun_One()
{
cout&amp;lt;&amp;lt;"fun_One works in v2\n";
}
virtual int fun_() 
// 'virtual' is used for late binding and runtime polymorphism.
{
cout&amp;lt;&amp;lt;"fun_ works in v2\n";
}
};
class Virtual_three : public Virtual_two // inheritance
{
int fun_()
{
cout&amp;lt;&amp;lt;"fun_works in v3\n";
}
};

main()
{
Virtual_one objA;
Virtual_two objBA , *objBB = new Virtual_two(); 
/*defining pointer object BB*/

Virtual_three objC;
objBB = &amp;amp;objC; 
/*objBB pointer of Virtual_two carries address of objC*/

objA.fun_One();
/*fun_One of Virtual_one would be accessed as objA is of that class*/

objBA.fun_One();
/*fun_One of Virtual_two would be accessed as objBA is of that class*/

objBB-&amp;gt;fun_(); 
/*fun_ function is in Virtual_two and Virtual_three classes, we have used 'virtual' keyword for this*/

/* Note:
HERE objBB pointer(of Virtual_two class) carries address of objC(of Virtual_three class). So in objBB-&amp;gt;fun_(); The fun_() of Virtual_two class would be working, as objBB pointer belongs to that class.
But when you add the keyword 'virtual' : The fun_() of Virtual_three class would work. */

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;br&gt;&lt;br&gt;
-&amp;gt; Compiletime Polymorphism: &lt;br&gt;&lt;/p&gt;

&lt;p&gt;It happens when we overload a function or an operator in the program.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Consider a case of Operator Overloading:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// header files
class Op_ovrload 
{
int numberA;
int numberB ;
public :
int inputNum()
{
cin &amp;gt;&amp;gt; numberA &amp;gt;&amp;gt; numberB ; 
/*writing cin statements in class/header file is considered a bad practice though here it's just for simplicity of code*/
}

//  Without Overloading
Op_ovrload addTheSet(Op_ovrload tempObj)
{
Op_ovrload takeT_Obj ;

takeT_Obj.numberA = numberA + tempObj.numberA;
takeT_Obj.numberB = numberB + tempObj.numberB;

return takeT_Obj;
}

// With Overloading
Op_ovrload operator + (Op_ovrload tempObj) 
{ 
// tempObj is loaded as objB
Op_ovrload takeT_Obj ;

takeT_Obj.numberA= numberA + tempObj.numberA
takeT_Obj.numberB = numberB + tempObj.numberB;

return takeT_Obj;
}
};

main()
{
Op_ovrload objA ,objB , objC , objD;
// we would load values in objA and objB
objA.inputNum();
objB.inputNum();

objC = objA.addTheSet(objB);
objD = objA + objB;
/*objC and objD would output the same value. Here '+' has been overloaded*/
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Consider the other case of function overloading:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// header files 

void printFun(int number) { 
  cout &amp;lt;&amp;lt; " Value is" &amp;lt;&amp;lt; number; 
} 
void printFun(double  num) { 
  cout &amp;lt;&amp;lt; "Value is " &amp;lt;&amp;lt; num; 
} 
/*Hence we can see the function is overloaded.
The same name of functions with different parameters passed. */

main() 
{ 
printFun(320); 
printFun(48.95); 
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this, we come to an end covering the basic concepts. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Hope this article has been helpful! &lt;/p&gt;

</description>
      <category>oop</category>
      <category>cpp</category>
      <category>codenewbie</category>
      <category>firstyearincode</category>
    </item>
    <item>
      <title>5 mistakes that can be avoided as a beginner in FOSS contribution!</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Fri, 18 Sep 2020 04:16:28 +0000</pubDate>
      <link>https://dev.to/surajv/5-mistakes-that-can-be-avoided-as-a-beginner-in-foss-contribution-22gc</link>
      <guid>https://dev.to/surajv/5-mistakes-that-can-be-avoided-as-a-beginner-in-foss-contribution-22gc</guid>
      <description>&lt;p&gt;I was introduced to a computer when I was not even a decade old. Since then I have been using computers. I remember I used to use my PC just to watch movies in &lt;strong&gt;VLC Media player&lt;/strong&gt;. This was unknowingly my very first interaction with open-source software. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczsju46hk15tmripu17m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczsju46hk15tmripu17m.png" alt="vlc.png" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I grew up a bit and was given loads of homework from my school, I used to use the &lt;strong&gt;Firefox browser&lt;/strong&gt; to search my queries to get my tasks done. This was my second interaction with OSS.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqvw0jb7zx5he79v5oaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqvw0jb7zx5he79v5oaf.png" alt="mf.png" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I got admitted to a college and started learning to code in &lt;strong&gt;VS Code&lt;/strong&gt; I realized that this was my third interaction with OSS.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxx5kuz3v3yhi0j17ii6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvxx5kuz3v3yhi0j17ii6.png" alt="vsc.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Right now I am learning stuff related to Databases and surprisingly MySQL is also an OSS.&lt;/p&gt;

&lt;p&gt;All I want to point is that we are literally surrounded by OSS. Some of us realize it and some do not. Just think about that feeling if you get a chance to contribute to OSS which is used by millions of people how awesome you would feel about yourself. You would have created a strong digital footprint in the Tech world.&lt;br&gt;&lt;br&gt;
Now while there are many ways to contribute to open-source software. Firstly, it is important to know where are the repositories of such projects hosted. There are three well-known repo hosting sites that every newbie developer must be aware of &lt;strong&gt;GitHub&lt;/strong&gt;, &lt;strong&gt;GitLab&lt;/strong&gt;, &lt;strong&gt;BitBucket&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Now if you are new to open source then there are five mistakes that you can avoid to get a much better experience contributing: &lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Opensource is not just coding&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yes, you heard that right! When I was a beginner all I knew was that you must have a good grip on a tech stack, then only you would be able to contribute but that's not the case. &lt;br&gt;
You can start contributing to the documentation of a project. Or you could work on it's UI/UX designing. This would &lt;strong&gt;not&lt;/strong&gt; require a sound knowledge of code. Just a little experience with writing (for documentation) or knowing how to use Adobe tools/Figma (for UI/UX).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3rv9zuf1j2inb0hmgwht.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3rv9zuf1j2inb0hmgwht.jpeg" alt="doc.jpg" width="799" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Avoid jumping directly contributing to big organizations&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you start your open source journey after learning a skill you &lt;strong&gt;may&lt;/strong&gt; be very pumped up thinking that now you can change the world and put in some major contributions in repositories of big organizations with all the knowledge you have, but that's not the reality.&lt;br&gt;
It takes time to choose and understand the project that you are willing to contribute. It can be very demotivating if you have just begun. You can start with smaller repositories and once you get a grip on how the process of contribution actually works, you are good to go. &lt;br&gt;
I would strongly recommend that first, you start contributing to docs of small projects as it's easy for the first time. When you get familiarized with the way git works &amp;amp; how to push, pull, or make a PR; Then you can elevate your level. &lt;br&gt;
You can search for beginner level or first-timer issues on Github. For example for doc related issues follow &lt;a href="https://github.com/search?p=10&amp;amp;q=need+docs&amp;amp;type=Issues" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
Note that you can contribute to beginner level issues in a repo by searching the corresponding labels in the issues section in a repository.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To understand how to contribute to beginner level issues:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consider&lt;/strong&gt;, freeCodeCamp's repo: &lt;/p&gt;

&lt;p&gt;Click the labels tab in the issues section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm6i7xwna33q906it4jl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbm6i7xwna33q906it4jl.jpeg" alt="labels.jpg" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you may choose the type of issues you want to resolve and get into it :) &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjn9uvg8ees2v96dkd5vg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjn9uvg8ees2v96dkd5vg.jpeg" alt="l2.jpg" width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Spend time to first set up an environment on local PC&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have committed this mistake a lot when I started. It is ok if you are taking the time to set up your environment. &lt;br&gt;
Don't get demotivated if you are stuck with any bugs. Because if your environment is not set right then in no way you would be able to start contributing to the repo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiop0cawz58voeh7c97bf.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiop0cawz58voeh7c97bf.jpeg" alt="pc.jpg" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Get connected to the IRC mailing list/Slack/Gitter channel of the Organization if available&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you start contributing to OSS or set up your environment you may hit up with lots of doubts initially. In this case, it is best if you can contact the project admin or mentors of the project. &lt;br&gt;
Generally, if you are contributing to the project of an organization. You may find a mailing list, gitter/slack channels where you can contact the owners, and engage with the community to get your queries clarified. It's always best to google your doubt and do proper research in the background before asking a doubt with your mentors.&lt;br&gt;
Many beginners raise an issue in the repo mentioning that it's a problem in the project but mostly that's not the case.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndn4d1vafuy1mzjtizgh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fndn4d1vafuy1mzjtizgh.jpeg" alt="soc.jpg" width="798" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Have Patience&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Last but not the least, you must have patience.&lt;br&gt;
When you have raised an issue in the repo or asked a question in the community, you must have patience. Everyone manages his/her tasks in 24hrs only. Avoid messaging the mentors in person and rely on the community and your own debugging abilities. &lt;br&gt;
After all, it takes time for good things to happen.&lt;br&gt;
Once you get good exposure to the way how contributing to OSS works you can start contributing to bigger projects. You can participate in OSS events like GSoC/Outreachy/MLH/GSoD..and many more... &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can follow these links to get an overview of various OSS events that happen around the world: &lt;a href="https://github.com/Catalyst-IN/OpenSourceEvents-Frontend" rel="noopener noreferrer"&gt;OSS_1&lt;/a&gt; and &lt;a href="https://github.com/tapaswenipathak/Open-Source-Programs" rel="noopener noreferrer"&gt;OSS_2&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Long live Open Source! 😊&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
      <category>computerscience</category>
      <category>github</category>
    </item>
    <item>
      <title>My top 12 resources for learning Computer Science!</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Thu, 10 Sep 2020 06:01:33 +0000</pubDate>
      <link>https://dev.to/surajv/my-top-12-resources-for-learning-computer-science-1oil</link>
      <guid>https://dev.to/surajv/my-top-12-resources-for-learning-computer-science-1oil</guid>
      <description>&lt;p&gt;Learning computer science isn't just about coding and competitive programming. It's a field that demands innovation and development. &lt;br&gt;&lt;br&gt;
It can be in any specialization but one thing is for sure every Computer Science learner starts his journey with either Web development or App development. &lt;br&gt;&lt;br&gt;
Youtube is the best source of learning and what's the best part? It's absolutely free! All we invest is time :). &lt;br&gt;&lt;br&gt;
In this article, I would like to share the sources that I find useful and worth following - &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;h3&gt;
  
  
  Development
&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw" rel="noopener noreferrer"&gt;Web Dev Simplified&lt;/a&gt;&lt;br&gt;
It teaches web development skills and techniques in an efficient and practical manner. It covers topics from basics to advanced using the most popular and trending tech stacks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCmXmlB4-HJytD7wek0Uo97A" rel="noopener noreferrer"&gt;JavaScript Mastery&lt;/a&gt;&lt;br&gt;
The purpose of JavaScript Mastery is to help aspiring developers to take their development skills to the next level and build awesome apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/TechWithTim/featured" rel="noopener noreferrer"&gt;Tech With Tim&lt;/a&gt;&lt;br&gt;
He teaches Python Programming, Game Development, Pygame, Java Tutorials, and Machine Learning videos. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/Freecodecamp/featured" rel="noopener noreferrer"&gt;freeCodeCamp.org&lt;/a&gt;&lt;br&gt;
They are an open-source community of people who learn to code and build projects for nonprofits. They have got excellent teachers who cover almost every topic in Computer Science.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;
  
  
  Guided Projects
&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCbmb5IoBtHZTpYZCDBOC1CA/featured" rel="noopener noreferrer"&gt;Computer Science&lt;/a&gt;&lt;br&gt;
The content varies from teaching basic languages in an efficient manner to building projects fro solidifying concepts. It covers many different programming languages like Python &amp;amp;  C, and topics like Machine Learning, Artificial Intelligence (AI).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UC5DNytAJ6_FISueUfzZCVsw" rel="noopener noreferrer"&gt;Ania Kubów #JavaScriptGames&lt;/a&gt;&lt;br&gt;
One of the best channels to learn game development in JS through guided projects. Ania teaches you JavaScript,&lt;br&gt;
React, Html, CSS, and Express Tutorials in game form!&lt;br&gt;
She is from a financial background who has switched to tech because of her obsession with coding &amp;amp; her aim is to teach you how to code, not to care about how silly she looks doing it. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;
  
  
  Coding
&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCBr_Fu6q9iHYQCh13jmpbrg" rel="noopener noreferrer"&gt;Errichto&lt;/a&gt;&lt;br&gt;
He is a competitive programmer who has been a finalist of multiple big programming competitions like ICPC, Facebook Hacker Cup, and Google Code Jam. His videos include explaining Algorithms, competitive programming, coding interviews. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/KevinNaughtonJr/featured" rel="noopener noreferrer"&gt;KevinNaughtonJr&lt;/a&gt;&lt;br&gt;
He's a software engineer in New York City who makes videos about coding interviews and topics related to programming.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/CSDojo/featured" rel="noopener noreferrer"&gt;CS Dojo&lt;/a&gt;&lt;br&gt;
This channel is hosted by Y.K Sugi. He's an ex-Google engineer who makes videos about programming and computer science here. &lt;br&gt;&lt;br&gt;
{&lt;strong&gt;To be honest, his video quality is awesome&lt;/strong&gt; :) }&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;h3&gt;
  
  
  AI/ML/Maths
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw" rel="noopener noreferrer"&gt;3Blue1Brown&lt;/a&gt;&lt;br&gt;
Hosted by Grant Sanderson. This channel is some combination of math and entertainment, depending on your disposition. The goal is for explanations to be driven by animations and for difficult problems to be made simple with changes in perspective. &lt;br&gt;&lt;br&gt;
{ &lt;strong&gt;For me, this is by far one of the best channels I found when it comes to explaining this stuff!&lt;/strong&gt; }&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;
  
  
  UI/UX Designing
&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCVyRiMvfUNMA1UPlDPzG5Ow" rel="noopener noreferrer"&gt;DesignCourse&lt;/a&gt;&lt;br&gt;
This channel is hosted by Gary. He's created close to 100 courses from graphic design to advanced frontend development. He's a very experienced course instructor. He teaches full-stack development along with tutorials related to UI/UX, Frontend Dev, Backend Dev, Graphic Design, and more!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCMrvLMUITAImCHMOhX88PYQ" rel="noopener noreferrer"&gt;PiXimperfect&lt;/a&gt;&lt;br&gt;
It's hosted by Unmesh Dinda, is a free resource for learning Photoshop and Lightroom. PiXimperfect believes in learning the concept, rather than learning the steps so that you can translate "your" imagination visually to the world.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;h3&gt;
  
  
  Some other channels worth mentioning
&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/programmingwithmosh/featured" rel="noopener noreferrer"&gt;Programming with Mosh&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/c/TraversyMedia/featured" rel="noopener noreferrer"&gt;Traversy Media&lt;/a&gt; &lt;br&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;When it comes to websites, I prefer: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.qwiklabs.com/" rel="noopener noreferrer"&gt;Qwiklabs&lt;/a&gt; &lt;br&gt;
It provides you a hands-on experience on the Google cloud platform.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.udacity.com/" rel="noopener noreferrer"&gt;Udacity&lt;/a&gt; &lt;br&gt;
The introductory courses of this website itself are very rich in content! &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.geeksforgeeks.org/" rel="noopener noreferrer"&gt;GeeksforGeeks&lt;/a&gt; &lt;br&gt;
One of the best spots to get a good list of coding questions and interview/internship experiences.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://cp-algorithms.com/" rel="noopener noreferrer"&gt;CP-Algorithms&lt;/a&gt; &lt;br&gt;
It has got a wonderful list of the number of algorithms used in &lt;strong&gt;competitive programming&lt;/strong&gt; with a good explanation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/open-guides/og-aws#cloudwatch" rel="noopener noreferrer"&gt;AWS Guide (Github repo)&lt;/a&gt; &lt;br&gt;
A practical guide to learn about AWS Cloud Services. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
I hope this has been a useful reference for every reader :)&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Is Codespaces going to replace Gitpod?</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Sun, 06 Sep 2020 10:08:37 +0000</pubDate>
      <link>https://dev.to/surajv/is-codespaces-going-to-replace-gitpod-5g</link>
      <guid>https://dev.to/surajv/is-codespaces-going-to-replace-gitpod-5g</guid>
      <description>&lt;p&gt;So I was working on my project on Github when I got a message from one of my peers that Github has launched the &lt;strong&gt;β testing&lt;/strong&gt; mode of a new cloud-based development environment named Github Codespaces. So apparently I researched about it and found it quite interesting.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;These days I have noticed that everything is moving on the Cloud. Be it computing or saving resources, &lt;em&gt;the Cloud has become a one-stop solution for everything&lt;/em&gt;. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Who knows with the advancement I.O.T and Cloud, even the physical presence of our P.C's may disappear and everything would become Cloud based! &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Github Codespaces is an instant cloud-based dev environment which says of giving you a full V.S Code experience. A codespace includes everything you need to develop for a specific repository, including a text editor with syntax highlighting and autocomplete, a terminal, debugging tools, and Git commands, all within GitHub. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;You can also install Visual Studio Code extensions in your codespace to add more functionality. This sounds interesting because if that becomes the case I would be able to save a lot of space in my local storage ;). &lt;br&gt;&lt;/p&gt;

&lt;p&gt;It assures you that everything right from writing code, building, testing, debugging, and deploying can be done on the development environment in your browser. &lt;br&gt;&lt;br&gt;
Anyone can create a codespace for any public repository, or for any repository owned by their user account.  This surely makes life easier! &lt;br&gt;&lt;/p&gt;

&lt;p&gt;This would also help to push, pull, merge code right from the browser. The dependency on &lt;strong&gt;git&lt;/strong&gt; would be substantially reduced with this new feature.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;You can also contribute code from any device, using the VS Code or your browser. When you create a codespace, you can leave it open for as long as you wish but it will suspend automatically after 30 minutes of inactivity though you can reconnect at any time through Codespaces. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6kyzsschm8nbcxed2h0.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm6kyzsschm8nbcxed2h0.jpeg" alt="cs.jpg" width="800" height="581"&gt;&lt;/a&gt;&lt;br&gt;
You can follow entire detailed documentation on Codespaces &lt;a href="https://docs.github.com/en/github/developing-online-with-codespaces/about-codespaces" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I was very satisfied with this new move by Github until this word struck me: 'Gitpod'. I wondered what role would Gitpod play now? &lt;br&gt;&lt;/p&gt;

&lt;p&gt;For those who don't know what Gitpod is; It's similar to Codespaces. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Gitpod provides continuous dev environments for the development flows of common code hosting platforms. &lt;br&gt;
You can even run your code on the Gitpod dev environment just by pasting this link before your code URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://gitpod.io/#https://github.com/.....(code URL)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can run your code hosted on GitLab, GitHub, or Bitbucket repository.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Gitpod launches a prebuilt dev environment with just a single click.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoe9q92i7lwbstvnfax3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffoe9q92i7lwbstvnfax3.jpeg" alt="gp.jpg" width="800" height="618"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can follow the entire documentation  &lt;a href="https://www.gitpod.io/docs/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;br&gt;
&lt;br&gt; &lt;/p&gt;

&lt;p&gt;Gitpod is developed by &lt;strong&gt;TypeFox&lt;/strong&gt; whereas Codespaces is being developed by &lt;strong&gt;Github&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now after comparing the features of both I didn't find any significant difference. I wonder what features can Github include in Codespaces to bring in significant difference with Gitpod! &lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Any thoughts? :)&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>testing</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Git/Github in a nutshell !</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Sat, 08 Aug 2020 15:25:45 +0000</pubDate>
      <link>https://dev.to/surajv/git-github-in-a-nutshell-252d</link>
      <guid>https://dev.to/surajv/git-github-in-a-nutshell-252d</guid>
      <description>&lt;p&gt;In the world of software engineering, there are two words that resonate in the ears of every rookie developer and that is Git &amp;amp; Github. So what exactly is Git? &lt;/p&gt;

&lt;p&gt;Well, the &lt;em&gt;technical&lt;/em&gt; way of explaining Git is it's a version control system used to manage large projects. And coming to Github it's a web-based platform for developers to host their Git repositories. We will touch the simple explanation soon.&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;Get Set Go&lt;/em&gt; !)&lt;/p&gt;

&lt;p&gt;To understand the way good developers use Git/Github follow along :)&lt;/p&gt;

&lt;p&gt;(&lt;strong&gt;Note&lt;/strong&gt;: Ensure that you have installed the Git tool on your PC/Mac to correlate better.)&lt;/p&gt;

&lt;p&gt;I would be explaining the whole concept with a simple story. &lt;/p&gt;

&lt;p&gt;Consider building up a simple dinosaur game similar to what we play on Chrome when we are offline.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbhriomtprmgxd1u11w3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbhriomtprmgxd1u11w3.jpeg" alt="0.jpg" width="633" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you start gitbash in the directory where you are working follow these commands in the beginning to configure your info :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name "&amp;lt;your user name&amp;gt;"
git config --global user.email "&amp;lt;your user email&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Now starts our official meeting with Git!&lt;/em&gt;. Before you start building your project it is important to initialize an empty Git repository in your directory using gitbash with the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this, an empty &lt;strong&gt;.git&lt;/strong&gt; file would be created in your directory.&lt;br&gt;
A repository is like a &lt;strong&gt;storage space&lt;/strong&gt; where you build your projects. In other words, consider a basket of fruits. Here fruits would be the components of your project and the basket would be your repository.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://image.shutterstock.com/image-photo/basket-fruits-strawberries-apple-orange-260nw-503977312.jpg" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxgvqpwrcnstfi5kjuvd1.jpeg" alt="basket.jpg" width="562" height="361"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;We have activated Git in our directory &amp;amp; now we will create files for our project. Say, we created a python file to build our game &amp;amp; started working...&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fast forward 2hrs&lt;/em&gt;....&lt;/p&gt;

&lt;p&gt;By now let's say that you built a few components of the game like a dinosaur, clouds, trees as obstacles in the path of the dinosaur. &lt;/p&gt;

&lt;p&gt;Now just consider a case where you &lt;em&gt;accidentally&lt;/em&gt; deleted the files in your project or say someone added an unnecessary piece of code in your project. Now to revert back you may have to unnecessarily engage yourself to either create those files again or debug your code. &lt;/p&gt;

&lt;p&gt;To avoid such a scenario it is important that you create a &lt;em&gt;checkpoint&lt;/em&gt; after you complete certain parts of your project. In other words, you create a saved state of your project such that when you make any unnecessary changes &amp;amp; wish to jump back to this state, you can do that with Git. Follow the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add &amp;lt;filename.extension&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this command, your files enter what we call the &lt;em&gt;staging area&lt;/em&gt;. It's like telling Git that you are going to save the current states of the files.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "&amp;lt;message&amp;gt;"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this, you command Git to save this state(current state) of the project in your history so that if I make any unnecessary changes and I want to jump back then it would be possible.&lt;/p&gt;

&lt;p&gt;Now you can type this command to ensure that you have successfully committed the files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is a good practice to use the&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 command after every commit you make.&lt;/p&gt;

&lt;p&gt;So now you have successfully created a checkpoint of your project.&lt;/p&gt;

&lt;p&gt;Remember, every commit you make has a unique commit id which can be used to visit back that state.&lt;/p&gt;

&lt;p&gt;Coming back to our game, now that you have saved a state you proceed further building up other components of your game.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fast forward 2hrs&lt;/em&gt;....&lt;/p&gt;

&lt;p&gt;Now let's say you have successfully made your dinosaur to run on the path after coding for two more hours. You now decide to add some colors to your game like as shown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz05lpn4h0gibkk57zyj.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz05lpn4h0gibkk57zyj.jpeg" alt="2.jpg" width="613" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But &lt;em&gt;say&lt;/em&gt; you are not sure if adding colors in the game would do any better to your project. In such a case you would want to have both the versions of your game so that you can compare them in an instant. &lt;/p&gt;

&lt;p&gt;In such cases, it is not wise to copy the entire code, create a new project with small alterations, and test the upgrade. Rather you can use the concept of branches in Git.&lt;/p&gt;

&lt;p&gt;Now, what is a branch in Git? &lt;/p&gt;

&lt;p&gt;Imagine a river, your project is the main river flowing as you keep on building. In terms of Git, this main river would be called the &lt;strong&gt;master branch&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Now say that your river bifurcates into another parallel stream of water or it forms a distributary. In terms of Git, it's like having a copy of your project which is not in the main branch. Here you can make any changes and your main branch remains intact. This would be called a subsidiary branch of your master branch. There can be many branches from your master branch that could be used for testing new features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foq1w2dir1o3auqdhkkx6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foq1w2dir1o3auqdhkkx6.jpeg" alt="branch.jpg" width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now later the bifurcated streams of the river again merge into one later. In terms of Git, it's like merging the changes which you made in your subsidiary branch to the master branch.&lt;/p&gt;

&lt;p&gt;Now to correlate this with our project. We are unsure about the color improvement, hence it's best to create a branch where we can do all the testing and commit our changes in this branch. If we are satisfied we can later merge it into our master branch.&lt;br&gt;
To create a separate branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch &amp;lt;name of branch&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now to enter into the branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout &amp;lt;branchname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now do any changes or testing with your new features here. If you are happy with the results you are now ready to merge it with your master branch. &lt;/p&gt;

&lt;p&gt;To merge your current branch with the master branch you must first switch back to the master branch using the same command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you are ready to merge the branch using the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge &amp;lt;branch name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember that there might be times where you might get some merge conflicts. In this case, do look into those parts of code. &lt;/p&gt;

&lt;p&gt;With this knowledge, we have successfully added colors in our game :)&lt;/p&gt;

&lt;p&gt;Now say that you have multiple commits and now you want to check an old commit. You would need the commit id for your old commit and for that you can type the command :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would provide you with a list of all the commits you have made in your project. You can use the keyword &lt;strong&gt;'q'&lt;/strong&gt; to quit from the list. Now after getting the commit id you can type this command :&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout &amp;lt;commit id&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;You would notice Git telling you that you are in a detached state. You have jumped back to an old state, hence your code would be reverted back into the state that commit saved. &lt;/p&gt;

&lt;p&gt;It just means that you have stepped back into history and are not flowing with the current state in the master branch which would be the head state. To return back to the head state you can simply type :&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git checkout master&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Now once you are done with your project it's time to save your repository on the internet. The repository on your PC would be called a &lt;strong&gt;local repository&lt;/strong&gt; and the repository that you host on the internet would be called a &lt;strong&gt;remote repository&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;There are many websites that let you host repositories like &lt;strong&gt;Github&lt;/strong&gt;, &lt;strong&gt;BitBucket&lt;/strong&gt;, &lt;strong&gt;Gitlab&lt;/strong&gt;, etc. The most popular among them is Github.&lt;/p&gt;

&lt;p&gt;Now to proceed further ensure that you have created your Github account.&lt;br&gt;
Now create a remote repository through your Github account. The repo can be public or private. You may add the README file later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mzpnv6l6fand4ggefwl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mzpnv6l6fand4ggefwl.jpeg" alt="repos.jpg" width="742" height="619"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To link your local repository with remote repository command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin &amp;lt;link - https://....&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To push your master branch :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin master  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some developers push every commit they make on their local repo to remote repo via :&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This ensures that your local repo is in sync with the remote repo.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can even push any subsidiary branch on Github. To do the same, first checkout into that branch and then type the command :&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git push -u origin &amp;lt;branch&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Similarly, if you make any changes in your remote repo and want to incorporate those changes in your local repo then you can simply use :&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git pull&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;which would directly fetch and merge the changes &lt;strong&gt;if&lt;/strong&gt; there are no merge conflicts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm964qz4v8j7lobz3t20.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm964qz4v8j7lobz3t20.jpeg" alt="git.jpg" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; : (Some important commands that you may find useful)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To remove files that were staged:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git reset &amp;lt;filename.extension&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To compare the working tree to the staging area file(the file that is added by git add):
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git diff&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To compare the staging area file with the last commit:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git diff --staged&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To delete the file from the directory:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git rm  &amp;lt;filename.extension&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To remove the file from the staging area:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git rm -r --cached  &amp;lt;filename.extension&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To get the last 2 commits from the log,(it can be any number):
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git log -p -2&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To clone someone's remote repository into your local PC:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git clone &amp;lt;repo url&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To checkout and create a new branch at the same time:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;git checkout -b &amp;lt;branch name&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Viola ! you have now successfully learned how to use Git. To gain much more familiarity start building projects use Git as much as you want :)&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>beginners</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>An insight to get/post requests in Nodejs !</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Mon, 27 Jul 2020 17:48:47 +0000</pubDate>
      <link>https://dev.to/surajv/an-insight-to-get-post-requests-in-nodejs-d8a</link>
      <guid>https://dev.to/surajv/an-insight-to-get-post-requests-in-nodejs-d8a</guid>
      <description>&lt;p&gt;It was a few months back when I had picked up the basics of web development by learning HTML, CSS &amp;amp; Javascript and got acquainted with libraries like Bootstrap 4.0 and JQuery.&lt;/p&gt;

&lt;p&gt;Now the next step was to move to the backend side of the web development. Since I had already learned javascript, I considered learning Nodejs with Express.&lt;br&gt;
In the initial phase of my learning, things flew above my head especially the get &amp;amp; post requests part. But for a comeback, I made a very simple calculator as my project. And it was a great learning experience this way. A quick guide to my &lt;em&gt;simple&lt;/em&gt; project : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Start by creating two files by the name, say: calculator.html &amp;amp; server.js in the directory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now first we will code the basic structure of our html file using the HTML boilerplate as shown.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6yry6flvkq25sbmjb7u.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6yry6flvkq25sbmjb7u.jpeg" alt="1.jpg" width="800" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Add input tags of type=text &amp;amp; a button tag inside a form tag in the body of the html file as shown.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivzs1t99r9114dzah372.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fivzs1t99r9114dzah372.jpeg" alt="2.jpg" width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You may notice the two attributes in the form tag i.e 'action' &amp;amp; 'method', these would be explained in the upcoming points.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With this, the HTML part is done &amp;amp; now we would switch to our server.js file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is important to know &lt;em&gt;what exactly is a server&lt;/em&gt;? In simple words, when you (would be called as a &lt;strong&gt;client&lt;/strong&gt;) search any query in your web browser your query swims through the internet and reaches the doorstep of the &lt;strong&gt;server&lt;/strong&gt; making a request (In other words your browser makes a &lt;em&gt;get request&lt;/em&gt; to a server) to which the server &lt;em&gt;responds&lt;/em&gt; with desired results which reach back to you via your browser swimming again :). Servers are located in data centers around the world.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Before moving to js file you must ensure that you have initialized node package manager aka &lt;strong&gt;npm&lt;/strong&gt; and have Node.js installed in PC. Follow the below snippets in your terminal to initialize &lt;em&gt;npm&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd &amp;lt;your current directory&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install express body-parser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now you are good to go! &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Coming back to our js file, we must now import our packages namely &lt;em&gt;express&lt;/em&gt; &amp;amp; &lt;em&gt;body-parser&lt;/em&gt; that we have installed via &lt;em&gt;npm&lt;/em&gt;.&lt;br&gt;
.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jvvvh9dbp2npi99tf79.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8jvvvh9dbp2npi99tf79.jpeg" alt="4.jpg" width="712" height="94"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now we would create a local server on our PC as shown. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer1o9u2b8julnrlfis0g.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fer1o9u2b8julnrlfis0g.jpeg" alt="3.jpg" width="733" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After saving the js file, you must input the following in the terminal :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node server.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This would start running the server on port 3000.&lt;br&gt;
You would see a note popping up in your terminal stating &lt;em&gt;port created&lt;/em&gt;. In simple words, you have created a server that has an address of &lt;em&gt;localhost:3000&lt;/em&gt;. Your browser would make a request on this port &lt;em&gt;locally&lt;/em&gt; and then your local server would be made to respond to the query. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Now open your browser &amp;amp; type &lt;strong&gt;localhost:3000&lt;/strong&gt; in your search. &lt;br&gt;
You may get a notice from browser as &lt;strong&gt;Cannot GET /&lt;/strong&gt;, this is because when a request is made by the browser the server does not have any file to render.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Note: You may have to restart your server (i.e quit the server using ctrl+c command and running the server.js file via node again) every time you make any changes in your server.js code. To avoid that hassle you may install nodemon package by :&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g nodemon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;To run nodemon instead of node:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nodemon server.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
Now to render your HTML file, in server.js we would include : &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbo3ld2053ivbfle6lhc.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbo3ld2053ivbfle6lhc.jpeg" alt="5.jpg" width="784" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The "/" symbol represents your home route. Recollect that in our HTML file we had put our action attribute in form tag equal to "/".You may have different routes like "/about" or "/contact". Suppose you create a "/about" route then to access the route you may have to search: &lt;em&gt;localhost:3000/about&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hence when you search, your browser makes a get request to your server at localhost &amp;amp; then your server renders the HTML file. Hence now you may be able to correlate why we were getting a &lt;strong&gt;Cannot GET /&lt;/strong&gt; error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now, when you give input and press the submit button you would get the  &lt;strong&gt;Cannot POST/&lt;/strong&gt; error. This is because our have not set up the post response in our server.js.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
We must tap into the individual pieces of data or  in our HTML we use the body-parser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh96ofxb6n8q3gim9q6i.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyh96ofxb6n8q3gim9q6i.jpeg" alt="6.jpg" width="706" height="67"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Now we must write the logic of our code by using the individual pieces of data inside our  tag. We would write the logic of a simple addition between two numbers. Then we would post the result on our home route as that is the route where we give our input in the current scenario.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fto9auwzbf1yg8j1453ud.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fto9auwzbf1yg8j1453ud.jpeg" alt="7.jpg" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this, we have successfully created a basic backend server that can perform get/post requests. &lt;br&gt;
In simple words, GET is used to fetch information, and POST is used to push information.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I hope this simple article on get/post request has been a good read! &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>npm</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How did I install TensorFlow after struggling for a week !</title>
      <dc:creator>Surajv</dc:creator>
      <pubDate>Sat, 27 Jun 2020 07:18:33 +0000</pubDate>
      <link>https://dev.to/surajv/how-did-i-install-tensorflow-after-struggling-for-a-week-f3a</link>
      <guid>https://dev.to/surajv/how-did-i-install-tensorflow-after-struggling-for-a-week-f3a</guid>
      <description>&lt;p&gt;Now I know, after reading the title many of you might question me like am I serious? Did I took so much time to install one of the most popular machine learning libraries — ‘&lt;strong&gt;TensorFlow&lt;/strong&gt;’ on my pc? And my answer is a perfect ‘&lt;em&gt;yes&lt;/em&gt;’ for that! By the way, I am a windows user :)&lt;/p&gt;

&lt;p&gt;I had recently picked up some new skills and I felt now’s the time to put my knowledge into application. So I remember it was Saturday afternoon and I grabbed my pc with adrenaline pumped up mentally ready to make my very first project using the TensorFlow library. I had planned a very simple project — based on classification using TensorFlow.&lt;/p&gt;

&lt;p&gt;So before starting my project I installed &lt;strong&gt;Anaconda and Jupyter Notebook&lt;/strong&gt; on my PC.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For those who do not know what Anaconda and Jupyter Notebook are , let me help you out :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anaconda is an open-source distribution of Python and R which helps to simplify package management. Now in simple words, when you install a lot of packages in your environment for a project you must have a tool to manage the packages you have installed or the ones that you may install, here anaconda comes to rescue. I followed &lt;a href="https://docs.anaconda.com/anaconda/install/windows/" rel="noopener noreferrer"&gt;this documentation&lt;/a&gt; and installed the Anaconda on my PC.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9huu59w3hr61966jq1w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi9huu59w3hr61966jq1w.jpeg" alt="Anaconda" width="800" height="456"&gt;&lt;/a&gt;&lt;em&gt;Anaconda&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Jupyter Notebook is a server-client application that allows you to run your notebook documents via a web browser on a localhost server. In simple words, it’s just like any other editor that you use but this editor runs on a local server in a web browser. It supports &lt;strong&gt;&lt;em&gt;Ju&lt;/em&gt;&lt;/strong&gt;lia, &lt;strong&gt;&lt;em&gt;Pyt&lt;/em&gt;&lt;/strong&gt;hon,&lt;strong&gt;&lt;em&gt;R&lt;/em&gt;&lt;/strong&gt; language. I installed jupyter notebook following&lt;a href="https://jupyter.readthedocs.io/en/latest/install.html" rel="noopener noreferrer"&gt; this documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F100wrj8k4v3xpe68r0kv.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F100wrj8k4v3xpe68r0kv.jpeg" alt="Jupyter Notebook" width="323" height="485"&gt;&lt;/a&gt;&lt;em&gt;Jupyter Notebook&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can also install Jupyter Notebook from the anaconda navigator which would be installed on your system once you install anaconda.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7k02fou5cmhanqtqokye.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7k02fou5cmhanqtqokye.jpeg" alt="Anaconda Navigator" width="800" height="425"&gt;&lt;/a&gt;&lt;em&gt;Anaconda Navigator&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With the prerequisite installations done, now comes the ‘&lt;em&gt;environment&lt;/em&gt;’. Before running TensorFlow you must create an environment. In simple words , just like living beings survive in a habitat, similarly, you must create an environment to run TensorFlow library and other packages before building your project.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can create an environment without any code just by using the Anaconda Navigator.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtl6wplxku8vzlkqhchm.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtl6wplxku8vzlkqhchm.jpeg" alt="Creating environment using navigator" width="800" height="371"&gt;&lt;/a&gt;&lt;em&gt;Creating environment using navigator&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So you can visit the environment tab (&lt;em&gt;present on the left&lt;/em&gt;) in the navigator and then click on ‘create’ as depicted which would create an environment for you. You can name the environment as TensorFlow.&lt;/p&gt;

&lt;p&gt;Once the environment is created you can now install the TensorFlow package.&lt;/p&gt;

&lt;p&gt;To install the package you can simply go to the ‘not installed’ option in the dropdown and search for a package you want to install as depicted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qscf4hjao7b3lpek2uf.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qscf4hjao7b3lpek2uf.jpeg" alt="Anaconda Navigator" width="800" height="364"&gt;&lt;/a&gt;&lt;em&gt;Anaconda Navigator&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You are all set now!&lt;/p&gt;

&lt;p&gt;After all the installations are done you can access the Jupyter Notebook with the libraries loaded.&lt;/p&gt;

&lt;p&gt;An important point to note while installing TensorFlow is :&lt;/p&gt;

&lt;p&gt;TensorFlow is a library which is able to and is used to perform heavy tasks. There are two versions of TensorFlow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GPU version&lt;/strong&gt; of TensorFlow(which uses the NVIDIA/AMD GPU if present on your PC)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CPU version&lt;/strong&gt; of TensorFlow(which uses the CPU).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here from GPU, I mean the dedicated GPU. If your PC has a GPU then apart from installing TensorFlow library you need to install the CUDA and CUDNN packages on your PC. If your PC only has a CPU then you need not install these additional packages .&lt;/p&gt;

&lt;p&gt;To check if your PC has a GPU or not :&lt;/p&gt;

&lt;p&gt;Simply go to ‘search box’ on your pc and type in ‘device manager’ .&lt;/p&gt;

&lt;p&gt;You will see a dialogue box like this opened.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6pn3s8zqe2c27v2mtqo.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu6pn3s8zqe2c27v2mtqo.jpeg" alt="Device Manager" width="800" height="585"&gt;&lt;/a&gt;&lt;em&gt;Device Manager&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now simply go to display adapters and check if you have a dedicated GPU.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In the above picture, there is no dedicated GPU. Hence if I install TensorFlow on this PC then the CPU version of TensorFlow would be running on my Jupyter Notebook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After surfing different sites I figured out this way ( and I believe that this is the easiest way without much coding required).&lt;/p&gt;

&lt;p&gt;With this, we come to an end to my installation journey:)&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>python</category>
      <category>jupyter</category>
      <category>tensorflow</category>
    </item>
  </channel>
</rss>
