<?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: dow2</title>
    <description>The latest articles on DEV Community by dow2 (@dow2).</description>
    <link>https://dev.to/dow2</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%2F744904%2Fbe223e9b-c675-4a32-95e3-0f1c60866a43.jpeg</url>
      <title>DEV Community: dow2</title>
      <link>https://dev.to/dow2</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dow2"/>
    <language>en</language>
    <item>
      <title>Introduction to Django</title>
      <dc:creator>dow2</dc:creator>
      <pubDate>Wed, 31 Aug 2022 07:27:37 +0000</pubDate>
      <link>https://dev.to/dow2/introduction-to-django-l75</link>
      <guid>https://dev.to/dow2/introduction-to-django-l75</guid>
      <description>&lt;p&gt;Today I would like to discuss with you one of Pythons most popular framework if not the most popular framework, Django. Django is described as a high level web framework with capabilities that enables the rapid development of secure, scaleable, and maintainable websites. Django follows a model template views architectural plan. Before getting too deep with the ins and outs of the Django framework I would like to give a little pretence and context to the programming language it is built on, Python. &lt;/p&gt;

&lt;p&gt;Python is an interpreted general purpose programming language which is dynamically typed and garbage collected. Python was first released in 1991 as Python 0.9.0 and is currently on Python 3.0 which was released in 2008. More specifically we are on version 3.9.12 which was released in 2022. The language was created by Guido Van Rawson in the Netherlands, his original intention was for it to be a successor to the ABC programming language. Python is thought to be a beginner friendly programming language which has gone on to make it one of the most used programming languages today. &lt;/p&gt;

&lt;p&gt;Now that you have a general understanding of the programming language that Django was built upon we can dive a little deeper into why the framework was created and the features that make it useful to adopt. Django was created by Simon Willison and Adrian Holovaty. Adrian and Simon were enamored by Python more specifically mod_python however they were not convinced that it would scale so they began developing what would become known as the framework Django with the intention of creating a thin abstraction layer between mod_python and the code that they were developing for their newsroom. &lt;/p&gt;

&lt;p&gt;Today I would like to provide a general introduction to the features that have made Django the most popular framework on one of the most popular programming languages. Some key concepts I would like to discuss are Apps, Views, Url Routing, Template Language, Models, Django Orm, Admin Panel, Static Files, Authentication, Django Commands, and Signals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the heart of every Django project is the utilization of Apps, which are small pieces of our project which come together to make our website. Apps represent different parts of our website. Apps would be housed in a main project folder and registered in projects settings file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Views&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Python functions that takes http requests and returns http response.&lt;/li&gt;
&lt;li&gt;
Can be written as Class Based or Function Based.&lt;/li&gt;
&lt;li&gt;
Function based views are considered easier for beginners and in most cases the documentation is written using function based&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;URL Routing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
To create URL Routing we make a list of url patterns and set different paths to those views.&lt;/li&gt;
&lt;li&gt;
This is how Django knows which view to display when a user visits a certain url
Django runs through each URL pattern, in order, and stops at the first one that matches the requested URL&lt;/li&gt;
&lt;li&gt;
Once one of the URL patterns matches, Django imports and calls the given view&lt;/li&gt;
&lt;li&gt;
Use the path function, set a url route and assign an associated view&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Template Language&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Most web frameworks have a template system that allows the developer to separate the presentation layer from the application logic&lt;/li&gt;
&lt;li&gt;
Django mainly functions with a backend so, in order to provide a frontend and provide a layout to our website, we use templates.&lt;/li&gt;
&lt;li&gt;
a convenient way to generate HTML dynamically. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Class based representations of our database tables&lt;/li&gt;
&lt;li&gt;
Considered to be the core of how we design our database&lt;/li&gt;
&lt;li&gt;
Class represents a table and each attribute represents a column in the table&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Django ORM&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Django has a built in ORM or Object Relational Mapper for communicating with and manipulating the Database&lt;/li&gt;
&lt;li&gt;
Uses methods like get(), all(), and filter() to interact with the database.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Admin Panel&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
A quick start interface designed to help us work with our data&lt;/li&gt;
&lt;li&gt;
Reads metadata from your models to provide a quick, model-centric interface where trusted users can manage content on your site. &lt;/li&gt;
&lt;li&gt;
Can view, create, and update any data in our database&lt;/li&gt;
&lt;li&gt;
High customizable to fit a particular users needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Static Files&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Websites generally need to serve additional files such as images, JavaScript, or CSS.&lt;/li&gt;
&lt;li&gt;
In Django,  these files are referred to as “static files”. &lt;/li&gt;
&lt;li&gt;
Django provides django.contrib.staticfiles to help manage these files.&lt;/li&gt;
&lt;li&gt;
Django has practices set in place for serving these files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Authentication&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Django comes with a  built in user authentication system. &lt;/li&gt;
&lt;li&gt;
It handles user accounts, groups, permissions and cookie-based user sessions.&lt;/li&gt;
&lt;li&gt;
Handles both authentication and authorization.&lt;/li&gt;
&lt;li&gt;
Authentication verifies a user is who they claim to be, and authorization determines what an authenticated user is allowed to do.&lt;/li&gt;
&lt;li&gt;
Makes handling Login, LogOut, Change Password and User Registration easier undertakings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Django Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Powerful Commands built into the Django framework&lt;/li&gt;
&lt;li&gt;
I will list 5 useful commands every Django Programmer should know&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;startproject&lt;/li&gt;
&lt;li&gt;startapp&lt;/li&gt;
&lt;li&gt;makemigrations&lt;/li&gt;
&lt;li&gt;migrate&lt;/li&gt;
&lt;li&gt;createsuperuser&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Django Signals&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Powerful tool used for listening for events that may occur inside of our Django Application.&lt;/li&gt;
&lt;li&gt;
Uses ‘senders’ and ‘receivers’ to listen for events and fire off actions.&lt;/li&gt;
&lt;li&gt;
Signals allow certain senders to notify a set of receivers that some action has taken place.
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Rest API vs GraphQL</title>
      <dc:creator>dow2</dc:creator>
      <pubDate>Tue, 30 Aug 2022 00:51:46 +0000</pubDate>
      <link>https://dev.to/dow2/rest-api-vs-graphql-1lmp</link>
      <guid>https://dev.to/dow2/rest-api-vs-graphql-1lmp</guid>
      <description>&lt;p&gt;If you are deep enough into the study and practice of software development to have come across the concept of Application Programming Interface or API for short then I am more than sure you have come to grips with the fact that there is far more than one way to accomplish a specific goal. The topic we are going to discuss today is not exempt of this basic fundamental truth of development, so we will preface this discussion by admitting that the desired outcome in the implementation of API's could be executed in both restful and GraphQL API's however, the way you go about achieving the desired effect differs greatly. My main task today is to highlight these differences and provide context for when you might want to use one or the other. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First what is an API?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
An application programming interface is a way for two or more computer programs to communicate with each other. &lt;/li&gt;
&lt;li&gt;
It is a type of software interface, offering a service to other pieces of software.&lt;/li&gt;
&lt;li&gt;
A standard used to describes how to build a connection or interface is called an API.&lt;/li&gt;
&lt;li&gt;
A contract between an information provider and an information use which establishes the content required from the consumer and the content required by the producer… the req and res&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the early 2000's a group of expert developers came to the conclusion that the state of web API's could benefit from a rework in how they were created and implemented into applications. This realization led to the creation of RESTful API's. Due to the fact that there was no industry standard, API's as a whole were comprised of hard to handle complex protocols usually in the form of SOAP. The original goal in the creation of RESTful API's was to to come with a standard that allowed two servers to communicate and exchange information anywhere in the world.&lt;/p&gt;

&lt;p&gt;The first early mainstream adopters were Ebay and Amazon in the early 2000’s. These companies benefited greatly due to the fact users could see listings and other pertinent info about the company without explicitly being on the companies website as long as the user was on a website which utilized the rest api.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Characteristics of Rest&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Has multiple endpoints &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GET/users&lt;br&gt;
Post/products&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Exchanges JSON Data &lt;/li&gt;
&lt;li&gt;
Can work with all server-side and front-end frameworks or languages&lt;/li&gt;
&lt;li&gt;
Stateless&lt;/li&gt;
&lt;li&gt;
URL- Driven
-
Uses HTTP Verbs along with endpoints and possibly a body to interact with and send data from a server to a client&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0cLEx-j_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmpjvbetyfwlx0tlwekt.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0cLEx-j_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmpjvbetyfwlx0tlwekt.jpeg" alt="Image description" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just as in the early 2000’s when Restful API’s were invented to deal with the shortcomings of using raw soap protocols, in 2012 a team of Developers at facebook came up with GraphQL to deal with the shortcomings of the decade old REST practices. It had been widely discovered by this point that restful apis often over fetched and under fetched resources due to their use of multiple endpoints. During development of facebook's news feed feature the shape of the data assumed by the front-end was different than the one being sent by the back-end APIs, creating the need for a new way of passing data along from client to server… GRAPHql was created in response to this problem. GraphQL is a static strong-typed query language which allows clients declaratively specify their data requirements. Clients specify the shape of the data that they need and the server responds back with the exact same data as the response.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Characteristics of GraphQL&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Has one endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;POST/graphql&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Exchanges JSON Data &lt;/li&gt;
&lt;li&gt;
Can work with all server-side and front-end frameworks or languages&lt;/li&gt;
&lt;li&gt;
Stateless&lt;/li&gt;
&lt;li&gt;
Query Language driven&lt;/li&gt;
&lt;li&gt;
Uses HTTP Verbs along with a single fixed path and a body consisting of a query language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example of GRAPHql Query and Response&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RElQ--gu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f4uhsuh22hu7ipcxt67.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RElQ--gu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7f4uhsuh22hu7ipcxt67.png" alt="Image description" width="880" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blog</category>
    </item>
    <item>
      <title>Awesome Css Frameworks...</title>
      <dc:creator>dow2</dc:creator>
      <pubDate>Mon, 01 Aug 2022 10:33:00 +0000</pubDate>
      <link>https://dev.to/dow2/awesome-css-frameworks-18po</link>
      <guid>https://dev.to/dow2/awesome-css-frameworks-18po</guid>
      <description>&lt;p&gt;Figuring out a complex code problem or achieving the functionality you intended on are possibly some of the rewarding and gratifying parts of software engineering. You could write some of the most elegant code ever written containing some of the most efficient functions one could possibly write but without adding styling to your code the user might not notice the impact of this beautiful code you have written due to fact it does not contain a proper visual element to compliment the 'magic' taking place behind the scenes. Fortunately there is a way connect these two essential pieces of the puzzle by using Cascading Style Sheets or CSS. CSS is one of the core technologies used in the construction of web based Applications. &lt;/p&gt;

&lt;p&gt;Today I am going to go over what CSS is and what is its role of the overall creation of applications. Cascading Style Sheets is the technology used for describing the visual representation presented on your application. There are 3 distinct ways of writing and implementing CSS.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inline CSS&lt;/li&gt;
&lt;li&gt;Embedded CSS&lt;/li&gt;
&lt;li&gt;External CSS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Inline CSS&lt;/strong&gt; - When you write the css directly into body of the HTML element you with to apply the styling to.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Inline CSS&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1 style="color: blue; text-align: center"&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
    &amp;lt;p style="color: red"&amp;gt;This is a paragraph.&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Embedded CSS&lt;/strong&gt; - When you write the css in a style element locate in the head of the html document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Embedded CSS&amp;lt;/title&amp;gt;
    &amp;lt;style&amp;gt;
      body {
        background-color: linen;
      }

      h1 {
        color: maroon;
        margin-left: 40px;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is a paragraph.&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;External CSS&lt;/strong&gt; - is when you create and independent style sheet css file that contains all written css in a single location that is referenced in your HTML file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;External CSS&amp;lt;/title&amp;gt;
    &amp;lt;link rel="stylesheet" href="mystyle.css" /&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;This is a heading&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is a paragraph.&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;mystyle.css&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;body { 
    background-color: lightblue; 
} 

h1 { 
    color: navy; 
    margin-left: 20px; 
}

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

&lt;/div&gt;



&lt;p&gt;Dedicating time to learning the ins and out of raw css can be an extremely daunting yet rewarding and beneficial  task. You can essentially make your application do whatever you can imagine through the the creative implementation of css rules. Getting familiar or even proficient with subtle nuances of CSS rules can be an extremely time consuming task. In an attempt to streamline this process and give users a more refined path for for styling web pages FrameWorks containing best practices and premade styling combinations and features were created.&lt;/p&gt;

&lt;p&gt;There are multiple different css frameworks separated in different categories which are utilized in different situations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Base / Reset / Normalize&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;sanitize.css&lt;/li&gt;
&lt;li&gt;modern-normalize&lt;/li&gt;
&lt;li&gt;minireset.css &lt;/li&gt;
&lt;li&gt;modern-css-reset&lt;/li&gt;
&lt;li&gt;inuitcss&lt;/li&gt;
&lt;li&gt;ress&lt;/li&gt;
&lt;li&gt;Natural Selection &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Class-less&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Water.css&lt;/li&gt;
&lt;li&gt;MVP.css &lt;/li&gt;
&lt;li&gt;sakura &lt;/li&gt;
&lt;li&gt;Tacit &lt;/li&gt;
&lt;li&gt;awsm.css &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Very Lightweight&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pure &lt;/li&gt;
&lt;li&gt;Milligram &lt;/li&gt;
&lt;li&gt;Picnic CSS &lt;/li&gt;
&lt;li&gt;Chota&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;General Purpose&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bootstrap&lt;/li&gt;
&lt;li&gt;Bulma &lt;/li&gt;
&lt;li&gt;Foundation &lt;/li&gt;
&lt;li&gt;UIkit &lt;/li&gt;
&lt;li&gt;Primer &lt;/li&gt;
&lt;li&gt;Carbon Components &lt;/li&gt;
&lt;li&gt;Fomantic-UI &lt;/li&gt;
&lt;li&gt;Pico.css &lt;/li&gt;
&lt;li&gt;Blaze UI &lt;/li&gt;
&lt;li&gt;Base &lt;/li&gt;
&lt;li&gt;Cirrus &lt;/li&gt;
&lt;li&gt;turretcss &lt;/li&gt;
&lt;li&gt;Vanilla Framework &lt;/li&gt;
&lt;li&gt;PatternFly &lt;/li&gt;
&lt;li&gt;HiQ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Material Design&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Material Components Web&lt;/li&gt;
&lt;li&gt;MUI &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Utility-based&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tailwind CSS &lt;/li&gt;
&lt;li&gt;Tachyons &lt;/li&gt;
&lt;li&gt;Open Props &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Specialized&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NES.css &lt;/li&gt;
&lt;li&gt;98.css &lt;/li&gt;
&lt;li&gt;Tufte CSS &lt;/li&gt;
&lt;li&gt;Gutenberg &lt;/li&gt;
&lt;li&gt;Bojler &lt;/li&gt;
&lt;li&gt;TuiCss &lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Diving into Dev Tools</title>
      <dc:creator>dow2</dc:creator>
      <pubDate>Thu, 04 Nov 2021 15:43:25 +0000</pubDate>
      <link>https://dev.to/dow2/diving-into-devtools-31gc</link>
      <guid>https://dev.to/dow2/diving-into-devtools-31gc</guid>
      <description>&lt;p&gt;So if you have made it this far in your coding career to have stumbled upon the concepts of Dev Tools you have probably been debugging your code like a caveman using the primitive console.log() method... If that is the case then today I come to you bearing gifts, the gifts of Developer Tools!!!!&lt;/p&gt;

&lt;p&gt;There are many different task you can perform with the wide array of DevTools Available to you for the purpose of todays post we will discuss them in relation to debugging your code.&lt;/p&gt;

&lt;p&gt;The first section of the Dev Tools toolbox we want to get familiar with is going to be the sources panel. To get there we want to right click on the page in google chrome and click inspect page... alternatively you can press Command+Option+I (Mac) or Control+Shift+I (Windows, Linux). Once the Dev Tools panel appears you can click on the sources tab, and wal lah...&lt;/p&gt;

&lt;p&gt;The sources panel is comprised of 3 parts. The first is called the File Navigator pane which list every file that the page request. The second being the Code Editor which displays the contents of the files we selected with our File Navigator. The third part being the JavaScript Debugging pan which is comprised of multiple tools used inspecting the pages javascipt.&lt;/p&gt;

&lt;p&gt;As apposed to console.log()ing every time we want to see whats going on with our code through the help of Dev Tools we can now add breakpoints at specific parts of our code and accomplish the same task only far quicker.&lt;/p&gt;

&lt;p&gt;With DevTools we can use EventListnerBreakpoints to pinpoint specific events in our code which can help us debug quicker and with more accuracy when utilized correctly. This is simply one of the many breakpoint types available in your ToolBox.&lt;/p&gt;

&lt;p&gt;Another useful trick in our ToolBox is ablility to step through and even over certain blocks of code and function calls. This gives you the power to use a breakpoint and stop the code even closer to your actual error or bug.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
