<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[COSC - Medium]]></title>
        <description><![CDATA[CBIT Open Source Community - Medium]]></description>
        <link>https://medium.com/cosc?source=rss----392c7b51d16e---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>COSC - Medium</title>
            <link>https://medium.com/cosc?source=rss----392c7b51d16e---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 22 May 2026 02:37:21 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/cosc" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Python-A Perfect Programming Language for Beginners (Part-1)]]></title>
            <link>https://medium.com/cosc/python-a-perfect-programming-language-for-beginners-part-1-342fb9f000c?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/342fb9f000c</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[python3]]></category>
            <dc:creator><![CDATA[Sanjeev Boppidi]]></dc:creator>
            <pubDate>Sun, 23 May 2021 09:42:08 GMT</pubDate>
            <atom:updated>2021-05-23T09:42:08.162Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-u1FuRiiqGXol9G6QiChEQ.png" /></figure><p>Hey there! Interested in programming or just wondering how all the apps you use in your phone, work? What’s the thing that drives these processes? What can I do to improve this app? How should I go about doing it? Well, don’t worry. Let’s introduce you to the world of coding and show you the best language to start with. The answer is simple — Python. The perfect language for aspiring programmers to start with.</p><h3><strong>Why should you learn Python?</strong></h3><p>Have you ever tried to start learning programming but got confused as to which language you should learn first? Well, worry no more because Python is the best one. It is easy to read and comprehend. It covers all the basics as well as the highly advanced aspects of coding. It can be used in various fields ranging from basic apps and games to advanced web applications, from timers to machine learning, and from calculators to predictors that use Artificial Intelligence. Everything is covered by this language. We will also explain the features that make this language so good for beginners … so keep reading.</p><h3><strong>Prerequisites</strong></h3><p>Because of the simplicity of this language, you don’t need any experience in the field of coding. All you need is a notebook, a laptop with Python IDLE, and yourself. That’s it!</p><h3><strong>Features</strong></h3><ul><li><em>Easy to understand</em> — this is one of the easiest languages to learn as you feel like mixing Logic and English.</li><li><em>Portable</em> — It simply means that a code written on one machine can be used in other machines as well and that too without errors.</li><li><em>High level Language.</em></li><li><em>Free and open source</em> — it is a free language and open source making it a perfect fit for library developers to work with.</li><li><em>Object Oriented</em> — this is one of the few object-oriented programming languages which means it can utilise the OOP approach of programming.</li><li><em>A huge selection of libraries</em> — There are a lot of large function libraries designed just for this language, it being open-source, portable, and extensible.</li></ul><p>To sum up, this is a great language if you are looking to start at level ‘<em>easy</em>’ but want to expand your area later. The features offered by this language are easy, great and necessary, making it a perfect programming language at entry level.</p><p>Writer: <a href="https://medium.com/u/10233191a393">Arjun Gandotra</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=342fb9f000c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/python-a-perfect-programming-language-for-beginners-part-1-342fb9f000c">Python-A Perfect Programming Language for Beginners (Part-1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Complete guide to MySQL (Part 1)]]></title>
            <link>https://medium.com/cosc/complete-guide-to-mysql-part-1-bf22bc05cb29?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/bf22bc05cb29</guid>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[ddl]]></category>
            <category><![CDATA[mysql]]></category>
            <category><![CDATA[database]]></category>
            <dc:creator><![CDATA[G Satvika Reddy]]></dc:creator>
            <pubDate>Thu, 20 May 2021 04:19:32 GMT</pubDate>
            <atom:updated>2021-05-20T04:19:31.928Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UfyrhwXucKUQNRJt9WeY8w.png" /></figure><blockquote><em>Welcome to a series on MySQL! In this part of our series, we’ll be going over Data Definition Language and something that’s often overlooked, but important nonetheless — data types. But before we jump into the details lets understand what MySQL is!</em></blockquote><ul><li><strong>MySQL</strong> is a relational database management system based on the Structured Query Language, which is the popular language for accessing and managing the records in the database.</li><li>MySQL is open-source and free software under the GNU license.</li><li>It is supported by Oracle Company.</li><li>It follows the working of Client-Server Architecture.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/430/1*hoBEyJ7E0msiAU8MfoLhsw.png" /><figcaption>Client-Server Architecture</figcaption></figure><p><strong>What is Database?</strong></p><ul><li>It is an application that stores the organised collection of records.</li><li>It allows us to organise data into tables, rows, columns, and indexes to find the relevant information very quickly.</li><li>Examples : MySQL, Sybase, Oracle, MongoDB, PostgreSQL, SQL Serve</li></ul><p><strong>What can be done using MySQL?</strong></p><ul><li>It allows us to implement database operations on tables, rows, columns, and indexes.</li><li>It defines the database relationship in the form of tables (collection of rows and columns), also known as relations.</li><li>It provides the Referential Integrity between rows or columns of various tables.</li><li>It allows us to update the table indexes automatically.</li><li>It uses many SQL queries and combines useful information from multiple tables for the end-users.</li></ul><p><strong><em>Fun Fact : </em></strong><em>“MySQL is named after the daughter of co-founder Michael Widenius whose name is “My”.”</em></p><p><strong>Features of MySQL:</strong></p><ul><li>Easy to use</li><li>It’s secure</li><li>Client-Server Architecture</li><li>Free to download</li><li>It is scalable</li><li>Speed</li><li>High flexibility</li><li>Compatible on any operating system</li><li>Allows rollback</li><li>Memory efficiency</li><li>High performance</li><li>High productivity</li><li>GUI support</li></ul><p><strong>But there are few disadvantages too!</strong></p><ul><li>MySQL version less than 5.0 doesn’t support ROLE, COMMIT, and stored procedure.</li><li>It does not support a very large database size as efficiently.</li><li>It doesn’t handle transactions very efficiently, and it is prone to data corruption.</li><li>It is accused that it doesn’t have a good developing and debugging tool compared to paid databases.</li><li>It doesn’t support SQL check constraints.</li></ul><h4><strong><em>Download MySQL from </em></strong><a href="https://dev.mysql.com/downloads/installer/"><strong><em>https://dev.mysql.com/downloads/installer/</em></strong></a></h4><p>Now lets talk about the various Data Types that are accepted in MySQL</p><h3><strong>Data Types:</strong></h3><ul><li>It specifies a particular type of data.</li><li>It also identifies the possible values for that type, the operations that can be performed on that type, and the way the values of that type are stored.</li></ul><h4><strong><em>Numeric data type:</em></strong></h4><ul><li><strong>TINYINT</strong></li></ul><p>— signed (-128 to 127)</p><p>— unsigned (0 to 255)</p><p>— Takes 1 byte for storage</p><ul><li><strong>SMALLINT</strong></li></ul><p>— signed (-32768 to 32767)</p><p>— unsigned (0 to 65537)</p><p>— Takes 2 bytes of storage</p><ul><li><strong>BIGINT</strong></li></ul><p>— signed (-9223372036854775808 to 9223372036854775807)</p><p>— unsigned (0 to 18446744073709551615)</p><p>— Takes 8 bytes of storage</p><ul><li><strong>FLOAT</strong></li></ul><p>— It is a floating-point number that cannot be unsigned.</p><p>— Takes 2 bytes for storage</p><ul><li><strong>DOUBLE</strong></li></ul><p>— It is a double-precision floating-point number</p><p>— Cannot be unsigned</p><p>— Takes 8 bytes for storage</p><ul><li><strong>DECIMAL</strong></li></ul><p>— An unpacked floating-point number that cannot be unsigned.</p><p>— In unpacked decimals, each decimal corresponds to one byte.</p><ul><li><strong>BIT</strong></li></ul><p>— Used for storing bit values into the table column.</p><p>— Range of 1 to 64</p><ul><li><strong>BOOL</strong></li></ul><p>— Used only for the true and false condition.</p><p>— It considers numeric value 1 as true and 0 as false.</p><ul><li><strong>BOOLEAN</strong></li></ul><p>— Same as bool</p><h4><strong>Date and time data type</strong></h4><ul><li><strong>YEAR[(2|4)</strong>] :</li></ul><p>— Year value as 2 digits or 4 digits.</p><p>— The default is 4 digits.</p><p>— It takes 1 byte for storage.</p><ul><li><strong>DATE</strong>:</li></ul><p>— Displayed as ‘yyyy-mm-dd’.</p><p>— It takes 3 bytes for storage</p><ul><li><strong>TIME</strong>:</li></ul><p>— Displayed as ‘HH:MM:SS’.</p><p>— It takes 3 bytes plus fractional seconds for storage.</p><ul><li><strong>DATETIME</strong>:</li></ul><p>— Displayed as ‘yyyy-mm-dd hh:mm:ss’.</p><p>— It takes 5 bytes plus fractional seconds for storage.</p><ul><li><strong>TIMESTAMP(m)</strong>:</li></ul><p>— Displayed as ‘YYYY-MM-DD HH:MM:SS’.</p><p>— It takes 4 bytes plus fractional seconds for storage.</p><h4><strong>String data type:</strong></h4><p>It is used to hold plain text and binary data</p><ul><li><strong>CHAR(size)</strong>:</li></ul><p>— Size is the number of characters to store.</p><p>— Maximum size = 255 characters</p><p>— Fixed-length strings.</p><ul><li><strong>VARCHAR(size)</strong>:</li></ul><p>— Variable-length string</p><p>— size is the number of characters to store.</p><p>— Maximum size = 255 characters</p><ul><li><strong>TEXT(size)</strong>:</li></ul><p>— Maximum size of 65,535 characters.</p><ul><li><strong>MEDIUMTEXT(size)</strong>:</li></ul><p>— Maximum size of 16,777,215 characters</p><ul><li><strong>LONGTEXT(size)</strong>:</li></ul><p>— Maximum size of 4GB or 4,294,967,295 characters</p><ul><li><strong>BINARY(size)</strong>:</li></ul><p>— Size is the number of binary characters to store.</p><p>— Fixed length strings</p><p>— Maximum upto 255 characters</p><ul><li><strong>VARBINARY(size)</strong>:</li></ul><p>— Variable length string</p><p>— Maximum upto 255 characters</p><ul><li><strong>ENUM</strong>:</li></ul><p>— It is short for enumeration, which means that each column may have one of the specified possible values.</p><p>— It uses numeric indexes (1, 2, 3…) to represent string values.</p><p>— takes 1 or 2 bytes</p><p>— maximum of 65,535 values.</p><ul><li><strong>SET</strong>:</li></ul><p>— It can hold zero or more, or any number of string values.</p><p>— They must be chosen from a predefined list of values specified during table creation.</p><p>— Takes 1, 2, 3, 4, or 8 bytes that depends on the number of set members.</p><p>— It can store a maximum of 64 members.</p><p><strong>DATA DEFINITION LANGUAGE (DDL):</strong></p><p>It deals with database schemas and descriptions of how the data should reside in the database.</p><ol><li><strong>CREATE</strong>:</li></ol><ul><li>To create a database and its objects like (table, index, views, store procedure, function, and triggers)</li></ul><p><em>Query Syntax:</em></p><p>CREATE TABLE [IF NOT EXISTS] table_name(</p><p>col_1 datatype,</p><p>col_2 datatype,</p><p>……..,</p><p>table_constraints</p><p>);</p><p><em>Query:</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/263/0*bp0ew6fz1i2lzP3o" /></figure><p>Output:</p><p>Table Created</p><p><strong>2. ALTER</strong>:</p><ul><li>The ALTER statement is always used with “ADD”, “DROP” and “MODIFY” commands according to the situation</li></ul><p><strong>ADD a column in the table</strong></p><p><em>Query Syntax:</em></p><p>ALTER TABLE table_name</p><p>ADD new_column_name column_definition</p><p>[ FIRST | AFTER column_name ];</p><p>Query:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/224/0*xQDw_UY6LaoqhNlw" /></figure><p>Output:</p><p>Table Altered</p><ul><li><strong>MODIFY column in the table</strong></li></ul><p><em>Query Syntax:</em></p><p>ALTER TABLE table_name</p><p>MODIFY column_name column_definition</p><p>[ FIRST | AFTER column_name ];</p><p><strong>Query:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/240/0*dE7GpewDb0PLNukc" /></figure><p>Output:</p><p>Table Altered</p><ul><li><strong>DROP column in table</strong></li></ul><p><em>Query Syntax:</em></p><p>ALTER TABLE table_name</p><p>DROP COLUMN column_name;</p><p><strong>Query:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/181/0*vRtKtlcuYfuBxByV" /></figure><p>Output:</p><p>Table Altered</p><ul><li><strong>RENAME table</strong></li></ul><p><em>Query Syntax:</em></p><p>ALTER TABLE table_name</p><p>RENAME TO new_table_name;</p><p>Query:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/199/0*XfBUj6788cE_3SW-" /></figure><p>Output:</p><p>Table Altered</p><ul><li><strong>TRUNCATE</strong>:</li></ul><p>Remove all records from a table, including all spaces allocated for the records are removed</p><p><em>Query Syntax:</em></p><p>TRUNCATE TABLE TABLE_NAME;</p><ul><li>We first insert values into the table to check this query:</li></ul><p>Query for inserting values:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*2MfaXclAI2I5FWnM" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*4RocEnvSRmvnXjPt" /></figure><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*l5NgzLlnDq7N429K" /></figure><ul><li>Now let’s check the data in the table:</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/307/1*bRrOfgJRmfgbwe7aE-b-SA.png" /></figure><p>Output:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*GHL0HZe-gE3RoPYs" /></figure><ul><li>Truncating the table:</li></ul><p>Query:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/293/1*jQJxl8T3QU7yAXCHzYw3Aw.png" /></figure><p>Output:</p><p>Table Truncated</p><ul><li>Let’s check the data in the table again</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/307/1*bRrOfgJRmfgbwe7aE-b-SA.png" /></figure><p>Output:</p><p>No Data Found</p><p>Here the data in the table is lost but not the table itself.</p><p><em>Summing up , we had a brief look at the concept of MySQL , the data types and the DDL queries . I hope this blog was worth reading and helpful in gaining knowledge about MySQL.</em></p><p><strong><em>Stay connected to learn more !</em></strong></p><p>Written By - <a href="https://medium.com/u/eaf6940c8479">Varsha Gajula</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bf22bc05cb29" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/complete-guide-to-mysql-part-1-bf22bc05cb29">Complete guide to MySQL (Part 1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Getting started with Linux Operating Systems — Installing Ubuntu (Part 1)]]></title>
            <link>https://medium.com/cosc/getting-started-with-linux-operating-systems-installing-ubuntu-part-1-c14ecec4a3c2?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/c14ecec4a3c2</guid>
            <category><![CDATA[ubuntu]]></category>
            <category><![CDATA[virtualbox]]></category>
            <category><![CDATA[bootable-usb]]></category>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[installation]]></category>
            <dc:creator><![CDATA[Saurabh Challawar]]></dc:creator>
            <pubDate>Thu, 20 May 2021 04:19:12 GMT</pubDate>
            <atom:updated>2021-05-20T04:19:12.435Z</atom:updated>
            <content:encoded><![CDATA[<h3>Getting started with Linux Operating Systems — Installing Ubuntu (Part 1)</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*yjcJBfN8BQRNdfNe.jpg" /></figure><p><strong>Method 1 of 2: Installation of Ubuntu on VirtualBox</strong></p><p>Writer: <a href="https://medium.com/u/e7eea28c9537">Meghana Reddy</a></p><p>Step 1- Go to<a href="https://www.virtualbox.org/wiki/Downloads"> https://www.virtualbox.org/wiki/Downloads</a></p><p>Step 2- Click on Windows Host</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/650/0*7nUVGof3IZ7t2xCp" /></figure><p>Step 3- Virtual box.exe file will be downloaded.</p><p>Step 4- Install VIRTUAL BOX just by clicking next and so on.</p><p>Step 5-Go to ubuntu.com and download UBUNTU FOR DESKTOP.</p><p>Step 6- Open VIRTUAL BOX and click NEW and enter necessary details.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/555/0*DTj6IXZkjTljpLUX" /></figure><p>Step 7- Click on next and leave the default options only. At last, you can see this page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/558/0*MiwQLMTJBbfY6el9" /></figure><p>Step 8 — Click on settings of UBUNTU and go to ADVANCED SETTINGS. Choose the below options.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/562/0*MM9gNAocPihD1JMs" /></figure><p>Bidirectional will allow the user to share files between the host (WINDOWS OS ) and the new one.</p><p>Step 9- Go to STORAGE → Click on CD icon → Click on add diSk image file → Choose the iso file → CLICK ON OK. Leave remaining all as default.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/542/0*zEc9ycsPoy7t7FWv" /></figure><p>Step 10- Now go to UBUNTU and click on START. Leave it until the below page appears.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/543/0*tX4xv6m769e0vvBF" /></figure><p>Step 11- Select ENGLISH and click on INSTALL UBUNTU → Select your keyboard version → Click on continue.</p><p>Step 12- Click the options below and click on CONTINUE.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/594/0*iEW-7LFcSpX9PWkS" /></figure><p>Step 13- Let the ERASE option be selected, as it won&#39;t erase anything on our OS because we are installing it in VIRTUAL BOX.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/590/0*Vnd4-7Y0kX8YRgGi" /></figure><p>Step 14- Click on continue and so on. Next, give a username and password for UBUNTU on your virtual box.</p><p>Step 15- At last click on the INSTALL button.</p><p>Step 16- This page will appear when installation is complete.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/604/0*wKz57sy1J5NBQgX8" /></figure><p>Step 17- Click on RESTART NOW → ENTER USERNAME AND PASSWORD → WELCOME PAGE.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/577/0*vO2sVTh6Ua-0YIU_" /></figure><p>Step 18- Open terminal in UBUNTU and enter the command to install all necessary packages →ENTER PASSWORD →Press Y.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/579/0*F90KV8RkkXWkK3lJ" /></figure><p>Step 19- Close the terminal and CLICK ON DEVICES → CLICK ON INSERT GUEST ADDITIONS CD IMAGE → CLICK ON RUN.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/577/0*PW-axstXc6f9BQAG" /></figure><p>Step 20- Click ENTER when installation is over in terminal and click on RESTART.</p><p>Step 21- Maximize the window to use in fullscreen mode.</p><p>Step 22- UBUNTU OS IS READY.</p><p><strong>Method 2 of 2: Installing Ubuntu on an External HDD/SSD using a Bootable USB</strong></p><p>Writer: <a href="https://medium.com/u/5427af178e3d">Abhignya Bulusu</a></p><p><strong>Step 1</strong>: <strong>Download ubuntu</strong></p><p>Go to<a href="https://ubuntu.com/"> https://ubuntu.com/</a> and go to the downloads tab</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*W4726d0QDeLJI7Zl" /></figure><p>Go to Ubuntu desktop and download the iso file (optical disc image file) or you can download the torrent file too.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*aBZbLFmam_wPp7fP" /></figure><p><strong>Step 2: Create a live USB or drive of ubuntu</strong></p><p>Go to<a href="https://rufus.ie/en_US/"> https://rufus.ie/en_US/</a>, scroll down and download the latest version of Rufus (3.14) and launch the Rufus tool. Plugin your USB and make sure that you do not have any data on this USB or drive</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*xZguKCzny03AKUT0" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/453/0*lF7xMQzGTzyS-2hP" /></figure><p>Leave the Partition scheme and target system as default, that is MBR and BIOS respectively and select the URL path to the folder where the ISO file is downloaded. Then click on start</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/450/0*rXnc8sOPgVybCLnT" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/0*7VGQrzCRwhKc_7nm" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/458/0*W3jyRw4xncoVqi7s" /></figure><p>Close the Rufus tool and check if the iso image has been completely written into the USB. Now hit the start button and wait for the process to complete</p><p><strong>Step 3: Boot Up Ubuntu from USB</strong></p><p>Turn off your system and remove all other USB devices, such as printers, memory cards, etc. Then Insert the Ubuntu USB drive into the system and turn on your machine.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*yOmweZlSZSQupi99" /></figure><p>Go to the Power button in the start menu and click on restart while also simultaneously pressing Shift. Once you see your boot menu, pick the Ubuntu media to boot from. USB is usually labelled USB.</p><p><strong>Step 4: Run Ubuntu</strong></p><p>Click on install Ubuntu (If you want to try out how that OS works you can do that by clicking on Try Ubuntu)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/452/0*fysUhcQv5CRkWLCR" /></figure><p><strong>Step 5: Select a keyboard Layout</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/501/0*XxnPL-gqfQfRz_Xh" /></figure><p><strong>Step 6: Chose the starting installation mode</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/520/0*B817yLUm8N_OHV2D" /></figure><p><strong>Step 5: Chose the installation type</strong></p><p>If you chose ‘something else’ then a hard disk partition table will show up.</p><p>In that, select the option free space and hit on the plus ‘+’ button to create the Ubuntu partition.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*vRyAieepL4WhsiXe" /></figure><p>You have to create four partitions in this way.</p><p><strong>1) Root</strong></p><p>Size = 20000 MB recommended</p><p>Type for the new partition = Primary</p><p>Location for the new partition = Beginning of this space</p><p>Use as = EXT4 journaling file system</p><p>Mount point = /</p><p><strong>2) Swap</strong></p><p>Size = set based on your requirements</p><p>Type for the new partition = Primary</p><p>Location for the new partition = Beginning of this space</p><p>Use as = swap area</p><p>Note:</p><p>· If you have 2GB or less RAM, Use double the size of the RAM for the swap area.</p><p>· If you have 3–6 GB of RAM, use the same size of the RAM for the swap area.</p><p>· If the RAM size 8GB or more, use half the size of RAM for the swap area.</p><p><strong>3) Home</strong></p><p>Size = remaining free space</p><p>Type for the new partition = Primary</p><p>Location for the new partition = Beginning of this space</p><p>Use as = EXT4 journaling file system</p><p>Mount point = /home</p><p>After you are ready with Root, Swap and Home, click on <strong>Install Now.</strong></p><p><strong>Step 6: </strong>Set the time zone</p><p><strong>Step 7: </strong>Enter a username, hostname and a password</p><p><strong>Step 9:</strong> Restart the system</p><p><strong>Step 10</strong>: You can choose the Operating System (Windows or Ubuntu) from the GRUB Screen</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c14ecec4a3c2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/getting-started-with-linux-operating-systems-installing-ubuntu-part-1-c14ecec4a3c2">Getting started with Linux Operating Systems — Installing Ubuntu (Part 1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Git and GitHub — Absolute User Manual for Novice (Part 1)]]></title>
            <link>https://medium.com/cosc/git-and-github-absolute-user-manual-for-novice-part-1-553a29ea43d3?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/553a29ea43d3</guid>
            <category><![CDATA[git]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[version-control]]></category>
            <dc:creator><![CDATA[Gudapati Greeshma]]></dc:creator>
            <pubDate>Wed, 19 May 2021 04:56:32 GMT</pubDate>
            <atom:updated>2021-05-19T04:57:37.689Z</atom:updated>
            <content:encoded><![CDATA[<h3>Git and GitHub — Absolute User Manual for Novice (Part 1)</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*6i5XIfD2e5p2IFJW" /></figure><p>Git is an open source Distributed Version Control System .More than 70% of developers use git ,making it the most used VCS in the world .Git is commonly used for both open source and commercial development with significant benefits to individuals ,teams etc. This blog consists of git installation ,creating a new project/new repository ,git commands and a lot more. Before moving on to Git and GitHub we’ll first understand what a Version Control System is.</p><p><strong>What is a Version Control System?</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/770/0*dVFdI8axVileJqTs" /></figure><p>Version Control, one of the most basic and crucial things in software development. We all know that a particular software product is created by so many people. Each person has their own contribution to the project. So VCS helps us in keeping track of all the modifications done by the contributors and also can help in easy collaboration.</p><p>There comes the crucial role of the Version Control System. VCS (Version Control System) is a software tool that helps in recording changes made to files by keeping a track of all the modifications done to the code. This software helps the developer team to efficiently communicate and manage all the changes that are made. We can create something called a “branch” for each developer and they can make their changes. The changes done in each branch are tested properly individually and then later merged into one main branch where all these different branches of code start working together. This software not only keeps track of changes done but also is helpful in organizing things properly which helps in a good development.</p><p><strong>Why do you think VCS is Important ?</strong></p><p>Why do you think that VCS is important? There are so many reasons for that. VCS helps in fast project development by providing efficient collaboration. As we have discussed already, one developer can sit anywhere in this world where he has the internet and can collaborate through their VCS. If at all some change x causes the project to stop working then it can be reverted back to the previous working version. Also there will be many changes done to a project repository so VCS helps in keeping a record of changes like who changed it, when did they change, what did they change and why did they change. These are some of the main benefits that you get through VCS.</p><p>Two main terminologies that a person must know before using VCS are Repository and Copy of Work (Checkout). Repository is like a database of changes where all the edits and history of versions of the project are available. But a copy of work is a personal copy of all the files in a project and you can edit this copy without affecting the work of others and you can finally commit your changes to a repository when you are done.</p><p><strong>What are the different types of VCS?</strong></p><p>We have three different types of Version Control Systems :</p><p>1)Local Version Control Systems</p><p>2)Centralized Version Control Systems</p><p>3)Distributed Version Control Systems.</p><ul><li><strong>Local Version Control System</strong></li></ul><p>Local Version Control Systems are like the basic forms of VCS that have a database in it to keep track of all the changes that are made by you locally under revision control. This RCS is one of the most common VCS tools. It stores all the history of changes done to a file and we can get back an older version of the file whenever we want it back.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/510/0*8ULik6uK4nv_ld12" /></figure><ul><li><strong>Centralized Version Control System</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/535/0*jv2L0cDH4k0ehORD" /></figure><p>Centralized Version Control Systems contain only one repository and each user will be getting their own copy of the repository to work on it. You can make your changes in the copy that you have and those changes should be committed and can be sent to the repository and the others can update them in their local systems. This helps in easy collaboration of many developers on one single project. Also administrators can have control over who can do what. Centralized VCS have their own drawbacks too and there by came an idea of DVS (Distributed Version Control System). The main drawback is failure of the main hard disk of the central database where the main repository is stored. If this is damaged then we lost our whole work and we will be left with nothing.</p><p>Example: Tortoise SVN</p><ul><li><strong>Distributed version Control System</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/450/0*dv8CbCtNRFi8RzTd" /></figure><p>Distributed Version Control Systems have multiple repositories. Each contributor will have their own copy locally and one repository. All the users will have a central repository on the server. So a user can commit changes but these are not reflected to other contributors and you commit them locally. You need to push it into the central repository to make your update visible to other contributors. Other contributors who want your changes in their working copy need to pull the updates to their local repository and then they update. The most popular distributed version control systems are GIT and Mercurial. In further blogs we will be learning to use Git to have an efficient collaboration with your friends to work on a project.</p><p><strong>Want to know about GIT History?</strong></p><p>GIT is a free and open source software that can keep track of a file’s complete history and full version tracking. GIT was first created by Linus Torvalds 2005. The main reason for him to develop GIT is to develop Linux kernel with other developers’ contributions. Core maintainer of this software is Junio Hamano.</p><p>The development of the software was first started on 3rd April, 2005 and its first version was released on 7th November, 2005. Torvalds names all his projects with funny names, and ‘GIT’ was also one of them. ‘Git’ means “unpleasant person” in British. The man page (form of software docue=mentation found on UNIX or UNIX like Operating System) describes GIT as “the stupid content tracker”. The latest version of git is GIT 2.31 which was originally released on 15, March 2021.</p><p><strong>How to install GIT ?</strong></p><p>We know that GIT is a free and open source software, anybody can download it. It is available for macOS, Windows and Linux operating systems. Let us see how we can download GIT on our PC’s now.</p><p>Click on the following link: <a href="https://git-scm.com/downloads">https://git-scm.com/downloads</a></p><p>(Same link for all the above mentioned OS)</p><p><strong>macOS Installation</strong></p><p>Prerequisites (Homebrew)</p><p>Homebrew installation</p><ul><li>Go to the following website <a href="https://brew.sh/">https://brew.sh/</a> and do as shown below</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xvdvzqAP8VOCXd9m" /></figure><ul><li>Open terminal on your mac</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*koUuvflq6VHPg3N_" /></figure><ul><li>Paste the command that you’ve copied, into the Terminal and click “return” and then Enter your mac password</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ccp9EoPIoQVtOA0b" /></figure><ul><li>Homebrew will be downloaded and installed.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2u1iOigmGssKV_A6" /></figure><ul><li>You need to add the command “brew” to the path (Warning is shown above). At the end you can find some commands on the terminal itself under Next Steps showing you how to add brew to your path. Just copy paste it into your terminal and click return (in my case it is echo <em>‘eval “$(/opt/homebrew/bin/brew shellenv)”’ &gt;&gt;/Users/charannnnn/.zprofile eval “$(/opt/homebrew/bin/brew shellenv)”</em> )</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*dYmd1J1mwcFkvem4" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*7A1IrCzwnkhz36tK" /></figure><ul><li>Check if brew is installed by typing the following command in the terminal “brew — version”. If it is shown as below then brew is successfully installed in your mac.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zx_TCjF9l6tStRMN" /></figure><p>We have successfully installed Homebrew, now let us use it to install Git on mac.</p><p>Install Git on macOS using Homebrew</p><ul><li>Click on the following link <a href="https://git-scm.com/downloads">https://git-scm.com/downloads</a> and click on macOS.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*bYcs7m8-DOg_P7EC" /></figure><ul><li>Copy the command “brew install git” from the website.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*pmiBkO5V61NmebWl" /></figure><ul><li>Paste it on your terminal and then click return</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*k18QeiXgpUD9L8rp" /></figure><ul><li>git will be downloaded.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cmLqz8cWGna7zSg4" /></figure><ul><li>To check if git is installed. Type git — version.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ps3d86rimIDoEO3_" /></figure><p><strong>Windows Installation</strong></p><ul><li>Click on the following link <a href="https://git-scm.com/downloads">https://git-scm.com/downloads</a> and then click on Windows.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Ylv3jv2QXkf7kCLc" /></figure><ul><li>Browse to the download location and click on the file to launch installer.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/617/0*zYTNX_zwh2w_r6mu" /></figure><ul><li>Review the GNU General Public License, and when you’re ready to install, click <strong>Next</strong>.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wy2DatXsoespBArB" /></figure><p>Leave the default, unless you have reason to change it, and click <strong>Next</strong>.</p><ul><li>Depending on the version of Git you’re installing, it may offer to install experimental features. Leave them unchecked and click on install.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*obsTuSJbu-AUR7Ky" /></figure><ul><li>Once the installation is complete, tick the boxes to view the Release Notes or Launch Git Bash, then click <strong>Finish</strong>.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*3K-5l_ZOXndXgj6V" /></figure><ul><li>Therefore, The Git installation is completed. Now you can access the <strong>Git GUI</strong> and <strong>Git Bash</strong>.</li></ul><p>Git GUI looks like this</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*GBHEbnUZ8oJrV4ef" /></figure><p>Git bash looks like this</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*bvrVNQpe8_eQf3-h" /></figure><ol><li>To check whether Git is installed, type git –version</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*P2HWHXiOEhlobzvz" /></figure><p><strong>How to create an account on Git hub ?</strong></p><ul><li>Go to <a href="https://github.com/">https://github.com/</a>. Click on Sign up.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rqEZZn1WyW0Rw3kM" /></figure><ul><li>Create an account by filling the items present in the form there and click create account.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*BnSL3vCc-o1NhjMO" /></figure><ul><li>Click on Complete setup found in the page opened next.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2nPY7limlxErXp7n" /></figure><ul><li>Verify your email now by going to your mail inbox by clicking on the link that you received.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Qu6T4M_FmHitkfst" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*BKyw4o-iAep0Svur" /></figure><ul><li>You have created your GitHub account successfully.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2o8lBPBHaQe096TX" /></figure><p>By now you must be knowing about Version Control System ,how to install Git and GitHub and also you must be able to create your own account in GitHub . Hope this blog is useful to make yourself productive in this pandemic by learning interesting facts about Git and GitHub.</p><p>Writer : <a href="https://medium.com/u/2b6bb6240fe1">Koppula Sai Charan</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=553a29ea43d3" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/git-and-github-absolute-user-manual-for-novice-part-1-553a29ea43d3">Git and GitHub — Absolute User Manual for Novice (Part 1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Complete Guide to ReactJS (Part 1)]]></title>
            <link>https://medium.com/cosc/the-complete-guide-to-reactjs-part-1-df47e22603de?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/df47e22603de</guid>
            <category><![CDATA[reactjs]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[single-page-applications]]></category>
            <dc:creator><![CDATA[Khush Jain]]></dc:creator>
            <pubDate>Wed, 19 May 2021 04:08:20 GMT</pubDate>
            <atom:updated>2021-05-19T04:25:07.660Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*KLECKuR2MtD8PKJf.jpg" /></figure><h3><strong>What is React?</strong></h3><p><strong>React</strong> (also known as <strong>React.js</strong> or <strong>ReactJS</strong>) is an open source, front end, JavaScript library for building user interfaces or UI components. It is maintained by Facebook and a community of individual developers and companies.</p><p>React can be used as a base in the development of single-page or mobile applications. React is not a framework, it is a library which focuses on building user-interface. React does not focus on the other aspects of web applications like routing or HTTP requests but React has a rich ecosystem which enables it to play well with other libraries and is more than capable of building a full-fledged web application.</p><h3><strong>Why learn React?</strong></h3><p>The first reason you should learn ReactJS is because it is the most loved and used web library among professional developers.</p><p>It is created and maintained by Facebook. When a company as big as FB uses and invests in React it naturally has a huge community, which is quite helpful while learning as well.</p><p>It has become increasingly popular among developers and is also one of the most sought out skill sets currently.</p><p>React has a component-based architecture. This let’s you break down your application into small, encapsulated parts which can then be composed to make more complex UIs.</p><p>React is easier to use as it requires minimal coding and because of its simplicity.</p><p>React is declarative. This means that you tell React what you want in the user-interface and React will build the actual User-Interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*TeRylqFpoYN0Vfig" /></figure><h4><strong>Prerequisites</strong></h4><ul><li>HTML, CSS and JavaScript fundamentals.</li><li>JavaScript-‘this’ keyword, filter, map and reduce.</li><li>ES6 -let &amp; const, arrow functions, template literals, default parameters, object literals, rest &amp; spread operators and destructuring assignment.</li></ul><h4><strong>Tools</strong></h4><ul><li>Node (can be downloaded from nodejs.org)</li><li>Text Editor (Visual Studio Code is recommended)</li></ul><h3><strong>Generating a simple React app</strong></h3><p><a href="https://github.com/facebook/create-react-app">Create React App</a> is a comfortable environment for <strong>learning React</strong>, and is the best way to start building <strong>a new </strong><a href="https://reactjs.org/docs/glossary.html#single-page-application"><strong>single-page</strong></a><strong> application</strong> in React.</p><p>It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have <a href="https://nodejs.org/en/">Node &gt;= 10.16 and npm &gt;= 5.6</a> on your machine. To create a project, run the following commands in terminal:</p><pre>npx create-react-app my-app<br>cd my-app<br>npm start</pre><h4><strong>Components in React</strong></h4><p>In React, a component represents a part of the user interface, they are the building blocks of any React application. A React application has five components — HEADER, SIDENAV, MAIN CONTENT, FOOTER and a component which contains every other component (ROOT (or) APP).</p><p>Components are reusable, they can be used with different properties to display different information. For example, Sidenav can be used as left sidenav as well as right sidenav.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AOFoTS-QyU02AEKQL2N3eQ.jpeg" /></figure><p>Components are of two types -</p><ol><li>Stateless Functional Components</li><li>Stateful Class Components</li></ol><p>Functional Components — These are just JavaScript functions, they receive an object of properties which is referred to as props as the input and returns HTML (JSX) which describes the UI. Example:</p><pre>Function Welcome(props) {</pre><pre> return (&lt;h1&gt; Hello World, {props.name} &lt;/h1&gt;);</pre><pre>}</pre><p>Class components — Class components are ES6 classes, it can optionally receive props as input and returns HTML (JSX). Class components can also maintain a private internal state which maintains its private information to describe the user interface. Example:</p><pre>Class Welcome extends React.Component</pre><pre>{</pre><pre> Render() {</pre><pre>  return (&lt;h1&gt; Hello, {this.props.name} &lt;/h1&gt;);</pre><pre> }</pre><pre>}</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yIF18OdSVViPS5bY-lsODA.jpeg" /><figcaption>Functional vs Class Component</figcaption></figure><h4>JSX</h4><p>JavaScript XML (JSX) is an extension to the JavaScript language syntax. JSX is not a necessity to write React applications but it makes your code simpler and elegant. JSX provides a syntax which is simpler and understood easier by the developers and it also transpiles to pure JavaScript which is understood by the browser.</p><p>Writer: <a href="https://medium.com/u/7a49a9cf23a6">Nitin9</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=df47e22603de" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/the-complete-guide-to-reactjs-part-1-df47e22603de">The Complete Guide to ReactJS (Part 1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Juggling Django — A Beginner’s Guide (Part 1)]]></title>
            <link>https://medium.com/cosc/juggling-django-a-beginners-guide-b11cb540e670?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/b11cb540e670</guid>
            <category><![CDATA[python-web-developer]]></category>
            <category><![CDATA[django]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[backend-development]]></category>
            <dc:creator><![CDATA[Komali Beeram]]></dc:creator>
            <pubDate>Wed, 19 May 2021 03:56:48 GMT</pubDate>
            <atom:updated>2021-05-19T04:44:36.133Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Juggling Django — A Beginner’s Guide (Part 1)</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HVKOLLX7wprRbHTl2IPDcQ.png" /></figure><p>Welcome! Whether you have decided to be ‘productive in pandemic’ by learning trending technologies or learnt Python and want to explore the web development domain or explored front-end development and confused between all the back-end options, you have come to the right place.</p><p>This blog aims to give you a head start in Django — a web framework in Python.</p><blockquote><strong>Fun fact — The name Django derived from the famous guitarist Django Reinhardt. He had only three fingers but was a master at it.</strong></blockquote><p>Before starting, let’s understand what exactly is a <strong><em>web framework</em></strong>. It is a code library that makes web development quicker and easier by giving basic patterns for building reliable, scalable and maintainable web applications. Think of it as a way to create shortcuts that can prevent otherwise overwhelming and repetitive code. For example, you may have written some code from scratch to save data in a database for your web application. Instead of rewriting that code from scratch each time you make a website or web service, you can use existing features in a web framework. A few of the most popular and successful web frameworks include Django, Express, Ruby on Rails.</p><h3><strong>Why should you learn Django?</strong></h3><ul><li><strong>Based on Python</strong> — Python is one of the easiest and most popular programming languages out there supporting coming of age technologies like ML and AI.</li><li><strong>Developer-friendly Documentation</strong> — Django has been best at documentation from the beginning, from the point it became open source in 2005 till date. It is like a very well-established library for developers constantly updated by the active community.</li><li><strong>Rapid development</strong> — You will not need expert-level knowledge to make a fully functional website. You will also not need to create separate server files to design and connect the database or create an admin panel for handling the back-end. Django takes care of many such tasks.</li><li><strong>SEO and security </strong>— Using Search Engine Optimization(SEO), you can add your website to the search engine such that it appears in the top results. Django also covers the security loopholes by default which are generally left open for the back-end developers to complete.</li><li><strong>ORM — </strong>Django ORM provides an elegant and powerful way to interact with the database. ORM stands for Object Relational Mapper. It is just a fancy word describing how to access the data stored in the database in an Object-Oriented fashion.</li></ul><blockquote><strong>Fun fact — Disqus, YouTube, Instagram, Spotify, Dropbox, NASA, Pinterest, Mozilla, Quora, Reddit, Bitbucket, Udemy, National Geographic are some of the countless companies using Django in their back-end.</strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/342/1*1dRHMHGVOKr5Oypfro_Z5A.png" /></figure><h3><strong>Prerequisites</strong></h3><ul><li>Knowledge of Python. (basic syntax, data types, writing functions, built-in libraries)</li><li>Basic understanding of Object-Oriented Programming.</li><li>Download pip.</li><li>Set up a virtual environment.</li><li>Download required dependencies.</li></ul><p>A <strong>virtual environment</strong> is a tool that helps to keep dependencies required by different projects separate by creating isolated <strong>environments</strong> for them. Use a new virtual environment whenever you work on any Python-based project to ensure that updating the version of any dependency on your system doesn’t affect existing projects.</p><h4><strong>Setting up a virtual environment</strong></h4><p>The commands are different for Mac/Linux users. So check out the video link below. Here are the steps for Windows users.</p><p>First, open the command prompt(type in the search box on the home screen) and use the cd command to move to a specific location like Desktop or any other folder on your computer. (cd stands for change directory)</p><pre>$ cd &lt;path_of_the_preferred_location&gt;</pre><p>You will find the path of a specific location in file explorer.</p><p>We will now use the venv module that’s already present in the Python standard library. (no need to install separately)</p><p>To create a new virtual environment, run the following in the command prompt.</p><pre>$ python -m venv &lt;name_of_virtual_env&gt;</pre><p>Run the command dir to confirm the creation of our new virtual environment.</p><pre>$dir</pre><p>Now, to activate the new virtual environment, run the following:</p><pre>$ &lt;name_of_virtual_environment&gt;\Scripts\activate.bat</pre><p>At this point, if you run the pip list command to view all existing dependencies, you will see only 2 — pip and setuptools. We will download the required dependencies using the pip install command wherever required in the future.</p><pre>$ pip list</pre><pre>$ pip install &lt;name_of_dependency&gt;</pre><p>To exit from the virtual environment, use the command deactivate.</p><pre>$ deactivate</pre><p>Once you deactivate a virtual environment, all the dependencies installed get deleted. Hence, we need to store all of these dependencies in a file called requirements.txt to install them again.</p><pre>$ pip freeze &gt; requirements.txt</pre><p>The pip freeze command displays a list of all dependencies. The above command is a short-hand notation that stores the output of the pip freeze command in a new file requirements.txt created in the same directory displayed in the command line.</p><p>To install all the dependencies after activating the virtual environment again, use the following command:</p><pre>$ pip install -r requirements.txt</pre><p>To delete a virtual environment, use the following command:</p><pre>$ rmdir &lt;name_of_virtual_env&gt; /s</pre><p>Here, rmdir stands for remove directory. /s is to ensure that every subdirectory, empty or not, is deleted.</p><p>And that’s it. We have learnt to set up our virtual environment. To distinguish different virtual environments from one another in the long run, use a unique name or store the environment directory in the project.</p><p>If you had any issues following along, here are some video tutorials for <a href="http://youtube.com/watch?v=APOPm01BVrk">windows</a> and <a href="https://www.youtube.com/watch?v=Kg1Yvry_Ydk">Mac/Linux</a>.</p><blockquote><strong>Fun fact — It cost $7 million to develop Django. After 16 years of release, the Django development community consists of 1200 members today!</strong></blockquote><p>Phew! The virtual environment set-up is finally done. Now we install all the required dependencies.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/274/1*ySUu9bJH4Rsgu9eELnGnxw.jpeg" /></figure><h3><strong>Installing Django</strong></h3><p>Activate the virtual environment you created. We will now install Django.</p><p>$ pip install django</p><p>To confirm the installation, run the following command that displays the installed version.</p><pre>$ python -m django — version</pre><p>To display the list of all Django-specific commands, run the following command:</p><pre>$ django-admin</pre><h3><strong>Creating a project</strong></h3><p>To create a brand new project, type the below command. Make sure that the project name must contain only lower-case letters and underscores to improve readability.</p><pre>$ django-admin startproject &lt;name_of_new_project&gt;</pre><p>You will find a new project folder in the current directory (the location you mentioned in the cd command) with the name you specified above. Open this folder using a code editor of your choice. I recommend Sublime Text or VSCode. Once you open the project folder, you will notice many files Django already created for us.</p><p>Do not worry! Let us see them one by one.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/571/1*DT-bH-mSenp_FHLSy-bdRw.jpeg" /><figcaption>Django Folder Structure</figcaption></figure><p>If the name of the project is <strong><em>django_project</em></strong>. Then,</p><ul><li>The <strong><em>outer</em></strong> <strong><em>django_project/</em></strong> is the root directory. Django root directory is the default app that Django provides you when you use the startproject command. It is a container for your project. Its name does not matter to Django; you can rename it to anything you like.</li><li><strong><em>manage.py</em></strong> is a command-line utility that lets you interact with this Django project like when you have to run, deploy, debug and test the project.</li><li>The <strong><em>inner django_project/</em></strong> directory is the actual Python package for your project. Its name is the Python package name you will need to use to import anything in the project. It has the configuration files of project settings like __init__.py, settings.py, wsgi.py and urls.py.</li><li>The<strong><em> __init__.py </em></strong>file is empty and it exists in the project only for one purpose, which is conveying to the Python interpreter that the inner django_project folder is a package(a collection of modules or code blocks for frequently used operations).</li><li>The <strong><em>settings.py</em></strong> file is the main file where we will be adding all our project applications, middleware applications and configure default settings.</li><li>The <strong><em>urls.py</em></strong> file contains the project level URL information. The purpose of this file is to connect the web apps(distinct features) within the project.</li><li>And finally, the <strong><em>wsgi.py </em></strong>file. This file is necessary if you want to deploy the project on a specific server. Else, we don’t use it much during the development of the project.</li></ul><p>Even if all of this seems confusing to you at this stage, don’t worry. You will have much better clarity once we start writing code.</p><p>Now back to the command prompt. If you run the command, <strong>$ python manage.py runserver</strong></p><p>It will display the IP address of our project — <a href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a></p><p>You can replace 127.0.0.1 with localhost.</p><p>Type the address in your browser search box and it will display the default Django website. Now let us start writing code to display specific information of our choice.</p><h4><strong>Why did we create this project? What are its features?</strong></h4><p>Let’s consider YouTube. It has a homepage with video content, several buttons leading to the trending videos section, our profile, settings etc. In Django terminology, we call each of them — distinct pieces of code performing a specific task — an app. Depending on your requirement, follow the procedure below and create an app for your project.</p><pre>$ python manage.py startapp &lt;name_of_your_app&gt;</pre><p>Once you run that, you will see another folder in your outer project folder called the &lt;name_of_your_app&gt;</p><p>You will now see a couple of other files called __init__.py, admin.py, apps.py, models.py, tests.py, views.py and a migrations folder.</p><p>Yes! I understand that it is overwhelming to see so many files even before writing a single line of code. But please be patient. These files make the code base very organized.</p><p>Let us start by displaying some text on our home screen instead of the default Django website.</p><p>First, open the views.py file. You will notice an import in the file. The pre-existing import statements are functions most commonly used by developers. views.py file holds code that is responsible for displaying HTML or generating HTTP Response on the screen.</p><p>Include this code snippet in the file.</p><pre>from django.http import HttpResponse</pre><pre>def home(request):</pre><pre>return HttpResponse(“Home Page”)</pre><p>Here, the home function takes a compulsory argument request. The HttpResponse function takes HTML code/plain text as an argument, which you will see on the home screen.</p><p>Open &lt;name_of_your_app&gt;/urls.py and include the snippet below</p><pre>from . import views</pre><pre>urlpatterns = [ path(‘’, views.home, name=’home’), ]</pre><p>To open the home page, we must let the interpreter know its specific location within the app.urls.py file in the app folder holds all the paths to different pages.</p><p>Open the urls.py in the root directory and include the below snippet,</p><pre>urlpatterns = [</pre><pre>path(‘home/’, include(‘&lt;name_of_your_app&gt;.urls’)),</pre><pre>path(‘admin/’, admin.site.urls), ]</pre><p>To direct the interpreter to the app, we specify the urls.py of the app in this file. The home/ indicates that <a href="http://127.0.0.1:8000/home">http://127.0.0.1:8000/home</a> is the URL for the app home page.</p><p>Now open the command prompt once again and execute the runserver command. If you now open the web server <a href="http://127.0.0.1:8000/home,">http://127.0.0.1:8000/home,</a> you will see the text Home Page displayed on the screen. It may not seem like much, but give yourself a pat on your back for taking small strides into the spectacular world of backend development using Django.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/295/1*6OISs_FvwIChn5y5tKJyuw.jpeg" /></figure><p>To summarize, you understood the features of Django, set up your own virtual environment, created your first Django project and displayed some text on your app home screen! Stay tuned for more.</p><p>Writer: <a href="https://medium.com/u/3d76ea2f9aa0">Pranathi Kodicherla</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b11cb540e670" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/juggling-django-a-beginners-guide-b11cb540e670">Juggling Django — A Beginner’s Guide (Part 1)</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[NoSQL The Next Gen Databases]]></title>
            <link>https://medium.com/cosc/nosql-the-next-gen-databases-97d9f49895b8?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/97d9f49895b8</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[mongodb]]></category>
            <category><![CDATA[nosql]]></category>
            <category><![CDATA[database]]></category>
            <category><![CDATA[sql]]></category>
            <dc:creator><![CDATA[saii Varma]]></dc:creator>
            <pubDate>Tue, 07 Aug 2018 17:34:24 GMT</pubDate>
            <atom:updated>2018-08-07T17:34:23.729Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*NdvWb5vqB9kPuKgR2WaZkw.jpeg" /></figure><p>In the Database world, there are two main kingdoms SQL and NoSQL which are otherwise known as Relational and Non-Relational Databases.These databases differ on the basis they are built, stored and the type of information they store. SQL databases collect and organise data in a tabular format. SQL has been the heart of the database technology until now. Off-late, NoSQL has been gaining popularity and limelight as Tech giants like Facebook, Apple, Instagram and several startups have started implementing this technology into their projects.</p><p>NoSQL stands for “Not only SQL”,which means the database can store the data in the format other than tables.Though NoSQL has existed since 1960s it’s true purpose is being served now, as it is very useful for Big data and Web applications.</p><p><strong>Why NoSQL and who is it for?</strong></p><p>If you are dealing with large amounts of unstructured data,you may not have the luxury to organise it using the relational database with a clearly defined schema. Unstructured data includes Sensor data, location-based information, photos, online activity data etc. Trying to store and process this type of data is very difficult if it is done by a relational database and this is where NoSQL databases excel.With their schema-less design they can store data in document-oriented format such that all the information is not necessarily categorised but can be easily found in a single document.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/499/1*DmwMRoqDMG-_eZBsrdGh6A.jpeg" /></figure><p><strong>Types of NoSQL Databases:</strong></p><ul><li><strong>Key-value Database-</strong> The simplest among the NoSQL databases, which stores the data in schema less way which contains indexed keys. Some of the key value databases are <strong>Cassandra, Azure, Riak</strong>.</li><li><strong>Column store- </strong>In this type of database model the data tables are stored as Columns rather than rows providing higher performance. Hbase, HyperTable are popular column store databases.</li><li><strong>Document Database</strong>- In this model each document has its own data with a unique key which can be used to retrieve that particular data.This type of database is great for managing the document oriented data.<strong> </strong>MongoDb is one of the popular databases used by the startups which is document oriented with JSON-like documents.</li><li><strong>Graph Database- </strong>This type of database is used for representing interconnected data in a graphical format and it is capable of high complexity .Some of the graph databases are Polyglot,Neo4J.</li></ul><p>If you are interested in learning or implementing the NoSQL database in your projects, I highly suggest you to get started with MongoDB first.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=97d9f49895b8" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/nosql-the-next-gen-databases-97d9f49895b8">NoSQL The Next Gen Databases</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Augmented Reality Going Mainstream]]></title>
            <link>https://medium.com/cosc/augmented-reality-going-mainstream-e8c944a837bf?source=rss----392c7b51d16e---4</link>
            <guid isPermaLink="false">https://medium.com/p/e8c944a837bf</guid>
            <category><![CDATA[binary-2]]></category>
            <category><![CDATA[augmented-reality]]></category>
            <category><![CDATA[cosc]]></category>
            <dc:creator><![CDATA[saii Varma]]></dc:creator>
            <pubDate>Tue, 07 Aug 2018 15:54:04 GMT</pubDate>
            <atom:updated>2018-08-07T19:16:16.331Z</atom:updated>
            <content:encoded><![CDATA[<p>Augmented reality(AR) is an enhanced version of reality where the live environment is superimposed with computer-generated images and graphics over a user’s view of the real world, thus changing the user’s perception of reality. The real potential of this technology comes when computer graphics merge in ways consistent with the surroundings.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/713/1*q0IOH83MLJ6tap5dc4Rl9w.png" /><figcaption>Microsoft’s HoloLens</figcaption></figure><p>Though AR might not be as interesting as Virtual reality experience, but the technology is proving itself to be the most productive tool for day to day activities.From social media filters to surgeries, it brings the objects from the virtual world to our real life, and thus enhances the things we feel and touch.</p><p>There are several categories of Augmented reality that exist varying with its objectives and applications. Some of the basic categories are listed below:</p><p>Marker-based augmented reality: uses a camera and a marker which is recognized by the camera and thus placing a 2d or a 3d image on the marker.A marker can either be a QR or a specially generated computer code.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/347/1*jJNo2zIYZaTEa46xIZmrTg.png" /><figcaption>Marker-based AR(Image from PTC.com)</figcaption></figure><p>Marker less augmented reality: As the name suggests this type of AR do not have any markers but its based on the GPS location and digital compass and places the superimposed images on the respective area. For example, Imagine your car’s heads-up display showing the ratings and other details helping you find nearby stores and hotels.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/680/1*9HLd1RWH50lLO-uvNQ5nHQ.jpeg" /><figcaption>Markerless AR(Image from fiverr.com)</figcaption></figure><p>Superimposition based augmented reality: In this type of AR the device detects the surrounding environment and objects in it and places computer graphics in its vicinity.<br>For example, imagine a table, the device detects the table and places a flower<br>pot(computer generated) on it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5hiM0WRVnT7qtvx8fG07cA.jpeg" /><figcaption>Superimposition based(Image from thecrumpery.com)</figcaption></figure><p>In the past year, there has been an exponential growth in the Development of AR. Some of its applications are:</p><p>Researchers at MIT Media lab have demonstrated how results of a product search can be displayed directly on the supermarket shelf.</p><p>Ford motor company has been using Microsoft’s ‘Hololens’ to solve the geometrical problems caused while designing the automobiles.</p><p>In the construction industry, buildings are usually designed in 3D but are built using 2D plans; AR is a tool which might be helpful in this regard.</p><p>Nissan recently launched an AR experience in the United States which lets customers view the cars using their smartphones from the brochure.</p><p>Let’s not forget the World-wide sensation, Pokemon Go which changed the way mobile games are played.</p><p>Several surgical procedures are being designed in AR which helps doctors while performing the surgeries.</p><p>It is no surprise that all the major companies are investing so much and rushing to bring AR technologies to users before anyone else.</p><p>The major hurdle that AR companies are facing right now is that of incorporating them into the devices which we use every day like smartphones and wearables.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e8c944a837bf" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cosc/augmented-reality-going-mainstream-e8c944a837bf">Augmented Reality Going Mainstream</a> was originally published in <a href="https://medium.com/cosc">COSC</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>