<?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: Adejokun Ibukunoluwa</title>
    <description>The latest articles on DEV Community by Adejokun Ibukunoluwa (@a_denzel_).</description>
    <link>https://dev.to/a_denzel_</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%2F562993%2Fab3d48d2-d050-48a8-b429-9a2cf5f2ffe9.jpg</url>
      <title>DEV Community: Adejokun Ibukunoluwa</title>
      <link>https://dev.to/a_denzel_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/a_denzel_"/>
    <language>en</language>
    <item>
      <title>DATA STRUCTURES</title>
      <dc:creator>Adejokun Ibukunoluwa</dc:creator>
      <pubDate>Fri, 25 Aug 2023 09:16:27 +0000</pubDate>
      <link>https://dev.to/a_denzel_/data-structures-53hf</link>
      <guid>https://dev.to/a_denzel_/data-structures-53hf</guid>
      <description>&lt;p&gt;I’ll start off by introducing a series of topics including Data structure, Algorithms, and Programming Paradigms; as we know they are the fundamentals of programming and computer science. While being a tech enthusiast (or nerd or a geek..lol) for about a demi decade, I’ve come to learn how important these things come really important in the learning journey, especially in my journey as a developer. I’m keen to share with everyone what I've learned through my revived love for writing and I also seek to gain knowledge in writing &amp;amp; research, so here goes the first part of the series which is about data structures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What is Data Structure?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;According to Wikipedia Data Structure &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In layman's terms, data structure is a particular method in which data is stored and organized for example stacks, trees, and graphs, and through each of these unique methods it determines how the data can be manipulated to produce the acquired results we expect from the computer ( this manipulation includes data processing and data retrieval). Having knowledge of data structures is super useful when handling datasets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are The Examples Of Data Structures?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are several examples of data structures for example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  1) Arrays
  2) Stacks
  3) Linked List
  4) Queues
  5) Trees
  6) Graphs
  7) Matrix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;They are still a lot of them but I’ll be discussing the first five 💫 .&lt;/p&gt;

&lt;p&gt;&lt;em&gt;But before I discuss them, each of the five would be divided based on their natural formation/classifications.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Do Data Structures really exist in a particular Arrangement / Formation?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, they do. Data Structures are classified into two different arrangements✌🏾:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Linear Data Structure: These are data structures in which each data element is organized in a linear order/fashion whereby each data element is connected to the previous element and the next elements. Examples of linear data structures include Arrays, Stacks, Linked lists, and queues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Non-Linear Data Structure: These are data structures in which each data element is organized in a non-linear order. For Example trees, graphs, matrix.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Now that we understand the classifications let's discuss more about the members of the linear data structure:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A) Arrays: This is a data structure where data elements are stored in a linear collection and each element can be located using a process called indexing. Due to the nature of arrays, they have static (linear) data structure properties. This is due to the fact that arrays have a fixed memory size which means once a size has been allocated to the memory it can’t be changed. A real-world example of where arrays are commonly used is in Data Mining, A data-driven sector relies on arrays due to their ability to be able to accommodate large datasets and are also very efficient when it comes to memory management and their access speed which is optimized for performance.&lt;/p&gt;

&lt;p&gt;B) Stack: A stack is also a linear collection which data in which the data elements are placed over another data element. Data elements are arranged linearly in a First In Last Out Structure (FILO). This data structure supports the addition and removal of data items which makes them dynamic linear data structures rather than static data structures. A real-world application of where stacks are used is in the use of Call history on the phone, where the older phone calls appear below compared to the most recent phone calls.&lt;/p&gt;

&lt;p&gt;C) Queue: Queues are also similar in terms of linear structure to stacks but the data elements are arranged in a First In First Out (FIFO) manner. They also share similar attributes where they are both involved in the addition and removal of data items which makes them dynamic.  A real-world application where queues are used is in task scheduling in the CPU.CPU functions on a first come first serve basis where they handle tasks such as processes, threads, or jobs. Each process is placed on a queue which helps in organizing and executing a task efficiently.&lt;/p&gt;

&lt;p&gt;D) Linked List: A linked list is defined as a series of nodes connected to other nodes. Each node has two properties which are data and the memory address/ pointers to the next node. Linked lists are also Dynamic in Nature. It’s used in graphs when graphing out vertices.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Under the non-linear Data structure, we have:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Trees: Trees are a hierarchical structure that can occur as a data element represented by a node and each node has a parent node and a possible child node linked to it. Trees are commonly used as each node is connected to the other by the ‘Edges’. A real-world application where trees are commonly used is the file system where each file/folder has a parent (root directory) and the parent has children, and the children could possibly have more children depending on how the files/folders are being managed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In summary of what has all been said, understanding these fundamental components. They impact every aspect of technology, streamlining data storage and accelerating efficiency. The next time you arrange your files, send a message or conduct a search, keep in mind that the complex universe of data structures that lies behind these acts is profoundly influencing our technological landscape. Data structures are the unseen heroes of the digital.&lt;/p&gt;

&lt;p&gt;Hope this helps 😉.&lt;br&gt;
Don't forget to like my post 😁💗 and If you have any feedback or questions, don't hesitate to comment below, let's brainstorm together.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>algorithms</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Things you need to know about Web Browsers</title>
      <dc:creator>Adejokun Ibukunoluwa</dc:creator>
      <pubDate>Thu, 02 Mar 2023 03:26:43 +0000</pubDate>
      <link>https://dev.to/a_denzel_/things-you-need-to-know-about-web-browsers-45nf</link>
      <guid>https://dev.to/a_denzel_/things-you-need-to-know-about-web-browsers-45nf</guid>
      <description>&lt;p&gt;According to Wikipedia: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;a web browser is an application software used for accessing websites&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is not to be confused with search engines such as google and bing. Web browsers are simply the tools used to connect users to the internet and help them navigate through it. There are several popular browsers that we all know such as Mozilla Firefox, Google Chrome, and Apple Safari.&lt;br&gt;
Most browsers function by allowing users to enter a web address or URL ( Uniform Resource Locator ) and retrieve web pages stored in the form of documents which can contain text, images, audio, videos, and other multimedia content that can be gotten from the different web servers in which the information has been stored in.&lt;/p&gt;

&lt;h2&gt;
  
  
  FEATURES OF WEB BROWSERS
&lt;/h2&gt;

&lt;p&gt;There are several features that allow users to access and navigate the internet more efficiently and also provide usability for the users, features such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Address Bar: The address bar is the blank space dedicated so that users can enter a web address to enter a specific website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigation buttons: These buttons allow users to navigate sites that have been previously visited; actions such as moving forward and backward between web pages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bookmarking: This feature helps users save a webpage for easy access in case they need them later on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;History: The history feature enables users to view and also visit webpages that have been previously visited.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tabbed browsing: This allows users to open multiple web pages in separate tabs in the same browser windows. The tabbed browsing experience has even gotten better on mobile with google chrome allowing users to categorize and group tabs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer tools: These are used mostly by web developers. Most web browsers contain a built-in feature built specifically for web developers that allow web developers to inspect, manipulate and debug web pages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extension Support: Browsers may allow users to install additional software called extensions which enable new and exciting features to be added to the browser. This also helps in expanding the functionality of the browser beyond the norm.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security and Privacy: The security and privacy feature is one of the most critical features of the web browser as it protects users using tools such as built-in VPNs or ad-blockers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multi-language support: This is to aid user accessibility and aid user experience whereby browsers support multiple languages to make users a more personalized experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Syncing: Some browsers allow users to synchronize their browsing data and bookmarks across multiple devices, allowing them to access the same information on different devices.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  STANDARDS AND TECHNOLOGIES SURROUNDING WEB BROWSERS
&lt;/h2&gt;

&lt;p&gt;The Web has become a large space consisting of billions of users so due to user interest web standards and technologies were put in place to help users communicate efficiently and effectively on web browsers. Web browsers support standards and technologies such as HTML (Hypertext Markup Language), CSS (Cascading Style Sheet), and JavaScript. These basic technologies are used to create, style, and display web pages on the internet. There are some other standards that browsers also support such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTTP (Hypertext Transfer Protocol) and HTTPS (HTTP Secure) for transferring data over the internet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DOM (Document Object Model) for interacting with web pages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebRTC for real-time communication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebGL for 3D graphics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebAssembly for running high-performance code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebSockets for real-time communication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebVR for virtual reality.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebAudio for audio processing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebUSB for interacting with USB devices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebBluetooth for interacting with Bluetooth devices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;WebMIDI for interacting with musical instruments.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New standards and technologies are continually developed to make browsers better, safer, and have more functionality to ensure a good user experience. Web Browsers performance and usability are also important when picking a web browser to use. Reminds me of the infamous joke of google chrome eating up all your RAM. This could be a downside especially if you run a google chrome browser on a PC with little RAM. There are several other factors that affect the performance of a web browser such as the speed at which pages load, the responsiveness of the user interface, and the ability of the browser to handle large amounts of data and media.&lt;/p&gt;

&lt;p&gt;Regarding the usability of a web browser the user interface design, the ease of navigation and access to features, and the browser's ability to integrate with other software and devices are all important. One of the features/ techniques put in place to improve usability is JavaScript engines, which have also been put in place to speed up the execution of JavaScript code and rendering engines have also been installed in browsers to speed up the display of web pages.&lt;/p&gt;

&lt;h2&gt;
  
  
  IMPLEMENTATIONS MADE TO KEEP WEB BROWSERS SECURE
&lt;/h2&gt;

&lt;p&gt;Web browsers have several security measures to protect users from various threats. The implementations come in different forms such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;HTTPS: HTTPS which is an acronym for Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and Secure Socket Layer, they work together to encrypt data between the website and the browser, so this prevents anyone from intercepting, reading or modifying the data sent across.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSL: SSL is an acronym for Secure Socket Layer, technology put in place to ensure sensitive information from users such as login details, and card details are sent over the internet over an encrypted layer. This is a form of browser authentication for example when a user accesses a website the web browser searches for a valid certificate from the website to ensure the layer is present to ensure user safety, so in cases where the certificate is invalid or has been revoked users would be warned before accessing the site.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Updates: Web browsers are updated regularly to fix bugs and vulnerabilities in their software. This implementation ensures that users have the latest and most secure channel to carry out activities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pop-up and Ad-blockers: These are implemented to ensure users don’t fall into the traps of downloading or falling for malware distributed by attackers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Privacy Settings: This is to ensure the users have the power to control the kind of data websites can have access to. This helps to protect users from being tracked online or being pestered by Targeted Ads.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  THE FUTURE OF WEB BROWSERS
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Increase Privacy and Security Features: To ensure the maximum protection of their users as the web(Internet) keeps getting populated and more developed, browsers are expected to improve on their privacy features to protect users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Increase in Performance: There’s an increasing need of getting information at light speed so web browsers are always going to be optimized to ensure data is processed super fast.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implementation of Virtual and Augmented Reality: To create immersive experiences for users the use of virtual reality (VR) and augmented reality (AR) technologies are being implemented into web browsers.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;In conclusion, web browsers have become an integral part of our daily lives, enabling us to access and interact with the vast resources of the internet. With the increasing dependence on web-based applications, it is essential to have a basic understanding of web browsers and their features. From the importance of security measures such as HTTPS and SSL certificates to the future developments surrounding PWAs, virtual reality, and AI, it is clear that web browsers are continually evolving to meet the demands of the modern web. As such, it is crucial for users to stay informed about these developments to ensure they are making the most of their browsing experience while also remaining safe and secure. By doing so, we can continue to enjoy the many benefits of the internet while keeping our data and privacy protected.&lt;/p&gt;

&lt;p&gt;Hope this helps 😉.&lt;br&gt;
Don't forget to like my post 😁💗 and If you have any feedback or questions, don't hesitate to comment below.&lt;/p&gt;

</description>
      <category>browsers</category>
      <category>developer</category>
      <category>webdev</category>
      <category>technology</category>
    </item>
    <item>
      <title>About !Important, the CSS Rule ...</title>
      <dc:creator>Adejokun Ibukunoluwa</dc:creator>
      <pubDate>Thu, 07 Apr 2022 05:33:33 +0000</pubDate>
      <link>https://dev.to/a_denzel_/about-important-the-css-rule--43ie</link>
      <guid>https://dev.to/a_denzel_/about-important-the-css-rule--43ie</guid>
      <description>&lt;p&gt;&lt;em&gt;"Where there is great power there is great responsibility" - Winston Churchill(1906)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When debugging stylesheets, developers tend to misuse this (!Important value) power, which could be due to several reasons such as laziness, frustration or even deadlines and so on, forgetting about the rule of specificity. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Rule of Specificity
&lt;/h2&gt;

&lt;p&gt;The rule of specificity follows a hierarchy, There are four categories which define the specificity level of a selector:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inline styles - Example: &lt;code&gt;&amp;lt;h1 style="color: pink;"&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;IDs - Example: &lt;code&gt;#navbar&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Classes, pseudo-classes, attribute selectors - Example: .&lt;code&gt;test, :hover, [href]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Elements and pseudo-elements - Example: &lt;code&gt;h1, :before&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Possible uses cases of the !important rule
&lt;/h2&gt;

&lt;p&gt;1.The !important rule are very useful in cases such as Custom user style sheets where users can make quick edits with the help of the browser to modify the style sheet to suit the user's needs.&lt;br&gt;
2.The use of !important in Javascript syntax.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why you should not use !important
&lt;/h2&gt;

&lt;p&gt;1.damages the code, &lt;br&gt;
2.makes debugging hard and &lt;br&gt;
3.Time exhausting especially on large projects; &lt;/p&gt;

&lt;p&gt;It is recommended for use only as a last resort or it should not be used at all.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to override !important
&lt;/h2&gt;

&lt;p&gt;As curated from the mozilla developer documentation (&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity&lt;/a&gt;) it can be overridden by: &lt;/p&gt;

&lt;p&gt;1.Adding another CSS rule with !important, and either give the selector a higher specificity (adding a tag, id or class to the selector), or add a CSS rule with the same selector at a later point than the existing one. This works because in a specificity tie, the last rule defined wins.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;table td    { height: 50px !important; }
.myTable td { height: 50px !important; }
#myTable td { height: 50px !important; }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
&lt;em&gt;#myTable td gets executed due to specificity rule&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2.Refactoring the Code and removing every use of !important in the source code.&lt;/p&gt;

&lt;p&gt;Hope this helps 😉.&lt;br&gt;
Don't forget to like my post 😁💗 and If you have any feedback or questions, don't hesitate to comment below.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>beginners</category>
      <category>html</category>
    </item>
  </channel>
</rss>
