<?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>Forem: CodeShinobi </title>
    <description>The latest articles on Forem by CodeShinobi  (@codeships).</description>
    <link>https://forem.com/codeships</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%2F292083%2F20b118b5-cb61-4f8c-a3f8-e891c97c4bd4.jpg</url>
      <title>Forem: CodeShinobi </title>
      <link>https://forem.com/codeships</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/codeships"/>
    <language>en</language>
    <item>
      <title>“I Built Linkships After Getting Frustrated With Linktree — Here’s What Happened.”</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Mon, 09 Mar 2026 16:38:23 +0000</pubDate>
      <link>https://forem.com/codeships/i-built-linkships-after-getting-frustrated-with-linktree-heres-what-happened-nal</link>
      <guid>https://forem.com/codeships/i-built-linkships-after-getting-frustrated-with-linktree-heres-what-happened-nal</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;In the modern digital economy, creators, developers, entrepreneurs, and professionals rely heavily on their online presence. Platforms such as Instagram, TikTok, X (formerly Twitter), LinkedIn, and YouTube have become central hubs for communication, networking, and business growth. However, despite the enormous possibilities these platforms offer, they all share a surprising limitation: most allow users to include only one clickable link in their profile bio.&lt;/p&gt;

&lt;p&gt;This seemingly small limitation has created a large problem. Individuals today manage multiple digital identities across different platforms. A developer might have a GitHub repository, a portfolio website, a newsletter, and several projects. A creator might have a YouTube channel, an online store, social media accounts, and a membership community. Sharing all these resources effectively becomes difficult when constrained to a single link.&lt;/p&gt;

&lt;p&gt;It was within this context that Linkships was conceived and developed by Muhammad Abdulmalik Obansa. The platform aims to solve this challenge by providing a simple yet powerful solution: a centralized page where users can organize and share all their important links through a single URL.&lt;/p&gt;

&lt;p&gt;This essay narrates the inspiration, design philosophy, technical development, and vision behind the creation of Linkships.&lt;/p&gt;

&lt;p&gt;The Inspiration Behind Linkships&lt;/p&gt;

&lt;p&gt;The idea for Linkships did not emerge from theoretical research but from real-world challenges experienced during daily online activities. As a developer and entrepreneur involved in building multiple digital projects, Muhammad Abdulmalik Obansa frequently faced the problem of organizing and sharing numerous online resources.&lt;/p&gt;

&lt;p&gt;Each project required its own link, and each platform limited how those links could be displayed. Sharing a GitHub project meant leaving out a YouTube channel. Promoting a new product meant excluding a portfolio or blog. This fragmentation created friction both for the creator and the audience.&lt;/p&gt;

&lt;p&gt;Visitors interested in learning more about a person’s work often had to search across different platforms to find all relevant information. This inefficiency highlighted the need for a centralized digital hub where all online identities could be presented in one place.&lt;/p&gt;

&lt;p&gt;From this observation came a simple but powerful idea:&lt;/p&gt;

&lt;p&gt;What if a single link could represent an entire digital identity?&lt;/p&gt;

&lt;p&gt;That question became the foundation for Linkships.&lt;/p&gt;

&lt;p&gt;The Concept and Vision&lt;/p&gt;

&lt;p&gt;Linkships was designed around a straightforward concept: one link that connects everything.&lt;/p&gt;

&lt;p&gt;Instead of managing multiple scattered URLs, users could create a personalized page that displays all their links in an organized and visually appealing layout. This page acts as a digital gateway, directing visitors to different parts of the user’s online ecosystem.&lt;/p&gt;

&lt;p&gt;The broader vision behind Linkships extends beyond link aggregation. The platform is intended to become a digital identity hub, enabling creators and professionals to present their work, connect with audiences, and grow their online presence efficiently.&lt;/p&gt;

&lt;p&gt;The core philosophy guiding the development of Linkships focused on three principles:&lt;/p&gt;

&lt;p&gt;Simplicity&lt;br&gt;
Users should be able to create a page and add links within minutes.&lt;/p&gt;

&lt;p&gt;Accessibility&lt;br&gt;
The platform should work seamlessly on both mobile and desktop devices.&lt;/p&gt;

&lt;p&gt;Scalability&lt;br&gt;
The system must be capable of supporting future features such as analytics, monetization tools, and integrations.&lt;/p&gt;

&lt;p&gt;Designing the Platform&lt;/p&gt;

&lt;p&gt;The design process for Linkships began by examining how users interact with link-sharing platforms. Most visitors access profile links from mobile devices, particularly through social media apps. Therefore, the platform needed to be mobile-first and optimized for fast loading times.&lt;/p&gt;

&lt;p&gt;The user interface was designed to be clean and minimalistic. Instead of overwhelming users with complex customization tools, the focus was placed on clarity and usability.&lt;/p&gt;

&lt;p&gt;Each Linkships page includes:&lt;/p&gt;

&lt;p&gt;A profile section with the user’s name and description&lt;/p&gt;

&lt;p&gt;A list of links displayed as clickable buttons&lt;/p&gt;

&lt;p&gt;Social media icons for quick navigation&lt;/p&gt;

&lt;p&gt;Optional customization options such as themes and colors&lt;/p&gt;

&lt;p&gt;This design ensures that visitors can quickly find what they are looking for without unnecessary distractions.&lt;/p&gt;

&lt;p&gt;The Development Process&lt;/p&gt;

&lt;p&gt;Building Linkships required careful planning and the use of modern web technologies. The development process followed a structured approach that included ideation, prototyping, backend development, and deployment.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Planning and Architecture&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first stage involved defining the architecture of the platform. The system needed to support user authentication, profile creation, link management, and page rendering.&lt;/p&gt;

&lt;p&gt;The architecture was divided into two main components:&lt;/p&gt;

&lt;p&gt;Frontend – responsible for the user interface and user experience&lt;/p&gt;

&lt;p&gt;Backend – responsible for data storage, authentication, and server logic&lt;/p&gt;

&lt;p&gt;This separation allowed the platform to remain flexible and scalable as new features are added.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Frontend Development&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The frontend interface was built using modern JavaScript frameworks that allow dynamic rendering of content and responsive design.&lt;/p&gt;

&lt;p&gt;The main objectives during frontend development were:&lt;/p&gt;

&lt;p&gt;speed&lt;/p&gt;

&lt;p&gt;responsiveness&lt;/p&gt;

&lt;p&gt;clean design&lt;/p&gt;

&lt;p&gt;smooth user interactions&lt;/p&gt;

&lt;p&gt;Users needed to be able to:&lt;/p&gt;

&lt;p&gt;create accounts&lt;/p&gt;

&lt;p&gt;customize their profiles&lt;/p&gt;

&lt;p&gt;add and reorder links&lt;/p&gt;

&lt;p&gt;preview their page before publishing&lt;/p&gt;

&lt;p&gt;Every interaction was designed to feel simple and intuitive.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Backend Development&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The backend system manages the core functionality of the platform. It stores user data, manages authentication, and retrieves link information whenever a visitor accesses a Linkships page.&lt;/p&gt;

&lt;p&gt;Key backend responsibilities include:&lt;/p&gt;

&lt;p&gt;user account management&lt;/p&gt;

&lt;p&gt;secure login and authentication&lt;/p&gt;

&lt;p&gt;link storage and retrieval&lt;/p&gt;

&lt;p&gt;analytics data processing&lt;/p&gt;

&lt;p&gt;Database systems were used to store profile information and link structures efficiently, ensuring fast retrieval when pages are visited.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deployment and Infrastructure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once development was complete, the platform needed to be deployed on reliable infrastructure capable of handling traffic from users around the world.&lt;/p&gt;

&lt;p&gt;Cloud services were used to host the platform, ensuring:&lt;/p&gt;

&lt;p&gt;reliability&lt;/p&gt;

&lt;p&gt;scalability&lt;/p&gt;

&lt;p&gt;security&lt;/p&gt;

&lt;p&gt;Content delivery networks were also considered to improve loading speed across different geographic regions.&lt;/p&gt;

&lt;p&gt;Challenges Encountered During Development&lt;/p&gt;

&lt;p&gt;Like most software projects, the creation of Linkships involved several challenges.&lt;/p&gt;

&lt;p&gt;One major challenge was balancing simplicity with functionality. While many link-in-bio tools exist, they often become complicated as more features are added. The goal for Linkships was to remain powerful yet easy to use.&lt;/p&gt;

&lt;p&gt;Another challenge involved ensuring performance optimization. Because most visitors access link pages through mobile devices, every element had to load quickly even on slower internet connections.&lt;/p&gt;

&lt;p&gt;Security was also a critical consideration. User data and authentication processes needed to be protected to maintain trust and reliability.&lt;/p&gt;

&lt;p&gt;Through iterative testing and refinement, these challenges were addressed and improved throughout the development process.&lt;/p&gt;

&lt;p&gt;Who Linkships Is For&lt;/p&gt;

&lt;p&gt;Linkships is designed for a broad range of users who maintain a presence across multiple digital platforms.&lt;/p&gt;

&lt;p&gt;These include:&lt;/p&gt;

&lt;p&gt;content creators&lt;/p&gt;

&lt;p&gt;developers&lt;/p&gt;

&lt;p&gt;freelancers&lt;/p&gt;

&lt;p&gt;startup founders&lt;/p&gt;

&lt;p&gt;influencers&lt;/p&gt;

&lt;p&gt;educators&lt;/p&gt;

&lt;p&gt;entrepreneurs&lt;/p&gt;

&lt;p&gt;musicians and artists&lt;/p&gt;

&lt;p&gt;Anyone who needs to share multiple online resources can benefit from having a single, organized page that represents their digital identity.&lt;/p&gt;

&lt;p&gt;The Future of Linkships&lt;/p&gt;

&lt;p&gt;Although the current version of Linkships focuses on link aggregation, the long-term vision for the platform extends much further.&lt;/p&gt;

&lt;p&gt;Future features under consideration include:&lt;/p&gt;

&lt;p&gt;advanced analytics dashboards&lt;/p&gt;

&lt;p&gt;creator monetization tools&lt;/p&gt;

&lt;p&gt;digital product storefronts&lt;/p&gt;

&lt;p&gt;community integrations&lt;/p&gt;

&lt;p&gt;developer APIs&lt;/p&gt;

&lt;p&gt;customizable themes and layouts&lt;/p&gt;

&lt;p&gt;The ultimate goal is to transform Linkships into a comprehensive platform that empowers creators and professionals to manage their digital presence effectively.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;The creation of Linkships demonstrates how a simple idea can evolve into a meaningful digital solution. What began as a personal challenge—managing multiple links across different platforms—became an opportunity to build a tool that benefits creators and professionals worldwide.&lt;/p&gt;

&lt;p&gt;By providing a single link that connects an entire online identity, Linkships simplifies how people share their work, promote their projects, and connect with their audiences.&lt;/p&gt;

&lt;p&gt;The journey from concept to launch involved creativity, technical problem-solving, and a clear vision for the future of digital identity. As the platform continues to evolve, Linkships aims to become more than just a link-sharing tool—it aims to become a gateway for creators, developers, and entrepreneurs to present their work to the world in a unified and powerful way.&lt;/p&gt;

&lt;p&gt;Author:&lt;br&gt;
Muhammad Abdulmalik Obansa&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>linksharing</category>
      <category>ai</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Niching Around</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Wed, 06 Aug 2025 13:25:58 +0000</pubDate>
      <link>https://forem.com/codeships/niching-around-56b3</link>
      <guid>https://forem.com/codeships/niching-around-56b3</guid>
      <description>&lt;p&gt;The whole ecosystem of technology is large and vast to accommodate everyone, both new and old people with advanced knowledge or experiences can earn and make money easily &amp;amp; quickly. By just completing huge or small amount of money in different currencies or cryptocurrency through tasks, gigs, or even jobs either freelancing remotely, hybrid, or on-site on the web.&lt;/p&gt;

&lt;p&gt;Just surfing through the internet, posting your works, goals achieved either daily, weekly or even monthly online gains you visibility to get traffic which increases the high rate of being employed by clients and top companies. This truly shows the more merits of the internet globally, and brings the points of picking a Niche ( which means area of focus).&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>ai</category>
      <category>beginners</category>
    </item>
    <item>
      <title>what I have learnt as a tech bro for past 6 years of my career</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Fri, 25 Jul 2025 17:32:52 +0000</pubDate>
      <link>https://forem.com/codeships/what-i-have-learnt-as-a-tech-bro-for-past-6-years-of-my-career-18m0</link>
      <guid>https://forem.com/codeships/what-i-have-learnt-as-a-tech-bro-for-past-6-years-of-my-career-18m0</guid>
      <description>&lt;p&gt;Discovery: I started tech due to passion and curiousity, seeing my big bro 24/7 on PC and watching hacker's role or code thrilling actions on TV. Although i started coding with a simple mobile app back in 2018, then with an mobile app called sketchware. Then after secondary school, I went to the an innovative and co-working space called Colab Innovative Hub, to learn the fundamentals of web developments and ui/ux design. That added the discovery badge to my inventory. &lt;/p&gt;

&lt;p&gt;Self Taught or Awareness: After then bootcamp, I became a self taught developer or learner discovering new skills and furthering from what i learnt from the bootcamp. I started a Youtube Channel during 2 months after COVID-19 i.e may 2020, enlighthen people on what to do during the outbreak. And started creating a videos of programming and design.&lt;/p&gt;

&lt;p&gt;Opportunities: I got job opportunities both remote and hybrid with the small skills, I had acquired from the bootcamp. My 1st gig started was a Youtube JavaScript Tutor for Lux Tech Academy, Kenya on my 2nd entry year as programmer.Then got my freelance job which was remote from Analogue Shifts 2021.&lt;/p&gt;

&lt;p&gt;Meetups &amp;amp; Networking: Attended my 1st meetup during my bootcamp at Colab, which was Google DevFest 2019. I networked and met new people new and experts in the field, and i got know about more technologies on the day. And got know the evolution of the Web.&lt;/p&gt;

&lt;p&gt;Stay Tuned For More  &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devstory</category>
      <category>techstory</category>
    </item>
    <item>
      <title>How to be a good frontend Developer</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Sun, 26 May 2024 06:02:39 +0000</pubDate>
      <link>https://forem.com/codeships/how-to-be-a-good-frontend-developer-46j8</link>
      <guid>https://forem.com/codeships/how-to-be-a-good-frontend-developer-46j8</guid>
      <description>&lt;p&gt;Becoming a good frontend developer involves mastering a mix of technical skills, best practices, and soft skills. Here are some key areas to focus on:&lt;br&gt;
Technical Skills:&lt;br&gt;
HTML/CSS: Understand the structure of HTML and the styling capabilities of CSS. Be proficient in layouts (Flexbox, Grid), responsive design, and CSS preprocessors like SASS or LESS.&lt;br&gt;
JavaScript: Gain a deep understanding of JavaScript, including ES6+ features. Learn about concepts like closures, promises, and async/await.&lt;br&gt;
Frameworks/Libraries: Familiarize yourself with popular frameworks and libraries such as React, Angular, or Vue.js. Understand the core principles of each and when to use them.&lt;br&gt;
Version Control: Learn Git for version control. Understand how to commit, branch, merge, and manage code repositories.&lt;br&gt;
Build Tools: Get to know tools like Webpack, Babel, and task runners like Gulp or Grunt. These help in automating tasks and optimizing your workflow.&lt;br&gt;
APIs and AJAX: Understand how to interact with RESTful APIs and handle asynchronous data fetching using AJAX or Fetch API.&lt;br&gt;
Testing: Learn about frontend testing frameworks and tools like Jest, Mocha, and Cypress. Writing unit and integration tests is crucial for maintaining code quality.&lt;br&gt;
Best Practices:&lt;br&gt;
Clean Code: Write readable and maintainable code. Follow conventions and style guides (e.g., Airbnb JavaScript Style Guide).Performance Optimization: Optimize your code for performance. Understand lazy loading, code splitting, and other performance enhancement techniques.&lt;br&gt;
Accessibility: Ensure your applications are accessible to all users, including those with disabilities. Learn about ARIA roles and semantic HTML.Cross-Browser Compatibility: Test your applications on different browsers and devices. Use tools like BrowserStack for cross-browser testing.&lt;br&gt;
Responsive Design: Ensure your applications work well on all screen sizes. Use media queries and responsive units (e.g., %, em, rem) effectively.Soft Skills:Problem Solving: Develop strong problem-solving skills to debug and resolve issues efficiently.&lt;br&gt;
Communication: Communicate effectively with team members, designers, and stakeholders. Clear communication is key to understanding requirements and delivering on expectations.&lt;br&gt;
Continuous Learning: Stay updated with the latest trends and technologies in frontend development. Follow blogs, attend conferences, and participate in the developer community.&lt;br&gt;
Attention to Detail: Pay attention to design details and user experience. Small details can significantly impact the overall quality of the application.&lt;br&gt;
Collaboration: Work well in a team environment. Use tools like Slack, Jira, or Trello to collaborate and manage tasks effectively.&lt;br&gt;
Resources for Learning:&lt;br&gt;
Online Courses: &lt;br&gt;
Platforms like Udemy, Coursera, and freeCodeCamp offer comprehensive courses.&lt;br&gt;
Documentation: Refer to official documentation of technologies you use (e.g., MDN Web Docs for HTML/CSS/JavaScript).&lt;br&gt;
Books: &lt;br&gt;
Read books like "Eloquent JavaScript" by Marijn Haverbeke and "You Don’t Know JS" by Kyle Simpson.&lt;br&gt;
Community: Join forums like Stack Overflow, Reddit’s r/webdev, or participate in local meetups and conferences.&lt;br&gt;
By focusing on these areas, you can develop the skills needed to be a proficient and successful frontend developer.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>JavaScript Variables: Understanding the Basics</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Tue, 07 Nov 2023 11:22:28 +0000</pubDate>
      <link>https://forem.com/codeships/javascript-variables-understanding-the-basics-5aob</link>
      <guid>https://forem.com/codeships/javascript-variables-understanding-the-basics-5aob</guid>
      <description>&lt;p&gt;JavaScript, often abbreviated as JS, is a versatile and widely-used programming language that powers the web. One of the fundamental aspects of JavaScript is the use of variables, which play a crucial role in storing and manipulating data. In this article, we'll explore the basics of JavaScript variables, including their declaration, types, and common use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are Variables in JavaScript?
&lt;/h2&gt;

&lt;p&gt;Variables in JavaScript are containers that store data values. These values can be of various types, such as numbers, text, or even complex objects. Variables are used to keep track of information that can be accessed, updated, or manipulated within a JavaScript program.&lt;/p&gt;

&lt;h2&gt;
  
  
  Declaring Variables
&lt;/h2&gt;

&lt;p&gt;In JavaScript, you can declare a variable using three different keywords: &lt;code&gt;var&lt;/code&gt;, &lt;code&gt;let&lt;/code&gt;, and &lt;code&gt;const&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;var&lt;/code&gt;&lt;/strong&gt;: Historically, &lt;code&gt;var&lt;/code&gt; was the primary way to declare variables in JavaScript. Variables declared with &lt;code&gt;var&lt;/code&gt; are function-scoped, which means they are limited to the function where they are defined. However, &lt;code&gt;var&lt;/code&gt; has some quirks and is considered outdated, so it's rarely used in modern JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;let&lt;/code&gt;&lt;/strong&gt;: Introduced in ES6 (ECMAScript 2015), &lt;code&gt;let&lt;/code&gt; allows you to declare block-scoped variables. Variables declared with &lt;code&gt;let&lt;/code&gt; are accessible only within the block in which they are defined, like loops or conditional statements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;const&lt;/code&gt;&lt;/strong&gt;: Also introduced in ES6, &lt;code&gt;const&lt;/code&gt; is used to declare variables whose values should not be reassigned after their initial assignment. It's also block-scoped.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's an example of variable declarations:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Declared using var&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;      &lt;span class="c1"&gt;// Declared using let&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;3.14&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c1"&gt;// Declared using const&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Data Types
&lt;/h2&gt;

&lt;p&gt;JavaScript variables can hold different data types, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Numbers&lt;/strong&gt;: Represented as integers or floating-point numbers (e.g., &lt;code&gt;10&lt;/code&gt;, &lt;code&gt;3.14&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Strings&lt;/strong&gt;: Sequences of characters enclosed in single (&lt;code&gt;'&lt;/code&gt;) or double (&lt;code&gt;"&lt;/code&gt;) quotes (e.g., &lt;code&gt;"Hello, World"&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Booleans&lt;/strong&gt;: Representing &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt; values.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Objects&lt;/strong&gt;: Complex data structures that can store various values and methods.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Arrays&lt;/strong&gt;: Ordered collections of values.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Undefined&lt;/strong&gt;: A special value indicating that a variable has been declared but hasn't been assigned a value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Null&lt;/strong&gt;: A value that represents the intentional absence of any object value.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Variable Naming
&lt;/h2&gt;

&lt;p&gt;When naming variables in JavaScript, there are a few rules to follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Variable names are case-sensitive, so &lt;code&gt;myVariable&lt;/code&gt; and &lt;code&gt;myvariable&lt;/code&gt; are considered different variables.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variable names can include letters, digits, underscores, and dollar signs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variable names cannot start with a digit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript has reserved keywords (e.g., &lt;code&gt;if&lt;/code&gt;, &lt;code&gt;function&lt;/code&gt;, &lt;code&gt;let&lt;/code&gt;) that cannot be used as variable names.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use meaningful names that describe the variable's purpose for better code readability.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Common Use Cases
&lt;/h2&gt;

&lt;p&gt;Variables are at the core of any programming language, and JavaScript is no exception. Here are some common use cases for variables in JavaScript:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Storing Data&lt;/strong&gt;: Variables are used to store and manage data like user input, results of calculations, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Control Structures&lt;/strong&gt;: Variables are frequently used in conditionals (if statements), loops, and other control structures to make decisions and control program flow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Function Parameters and Return Values&lt;/strong&gt;: Functions often take parameters as variables and return values that can be be stored in variables.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DOM Manipulation&lt;/strong&gt;: When working with web pages, variables are used to store references to HTML elements, allowing for dynamic manipulation of the Document Object Model (DOM).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API Requests&lt;/strong&gt;: Variables can store data retrieved from external sources, such as web APIs.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;JavaScript variables are essential for storing, accessing, and manipulating data in your programs. By understanding variable declaration, data types, and best practices for naming, you can leverage this fundamental concept to build powerful and dynamic web applications. Whether you're a beginner or an experienced developer, mastering JavaScript variables is a crucial step in your programming journey.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Becoming a Great Programmer: A Guide to Mastery</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Wed, 01 Nov 2023 20:56:54 +0000</pubDate>
      <link>https://forem.com/codeships/becoming-a-great-programmer-a-guide-to-mastery-3ja1</link>
      <guid>https://forem.com/codeships/becoming-a-great-programmer-a-guide-to-mastery-3ja1</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;Becoming a good programmer is not just about learning a programming language or mastering a specific technology. It's a journey of continuous learning and improvement, which involves not only technical skills but also problem-solving, communication, and collaboration. In this article, we will explore the key principles and practices that can help you become a great programmer.&lt;/p&gt;

&lt;p&gt;Learn the Fundamentals&lt;/p&gt;

&lt;p&gt;To be a good programmer, you must start with a strong foundation. Understand the fundamental concepts of programming, data structures, algorithms, and computer science. These concepts are timeless and apply across various languages and technologies. Learning the basics will give you a solid understanding that you can build upon throughout your career.&lt;/p&gt;

&lt;p&gt;Choose the Right Language&lt;/p&gt;

&lt;p&gt;While it's important to learn multiple programming languages, it's equally crucial to specialize in one or two that align with your interests and career goals. Mastering a language involves not only understanding its syntax but also its libraries, frameworks, and best practices. Becoming an expert in a language allows you to solve complex problems efficiently.&lt;/p&gt;

&lt;p&gt;Practice Regularly&lt;/p&gt;

&lt;p&gt;Programming is a skill that requires consistent practice. Work on real-world projects, participate in coding challenges, and write code every day to hone your skills. The more you practice, the more you will understand the nuances of coding, which will lead to better, more efficient solutions.&lt;/p&gt;

&lt;p&gt;Problem-Solving Skills&lt;/p&gt;

&lt;p&gt;Great programmers are excellent problem solvers. Focus on developing your problem-solving skills by working on algorithmic challenges, puzzles, and logical thinking exercises. Understanding how to break down complex problems into smaller, manageable steps is a crucial skill.&lt;/p&gt;

&lt;p&gt;Code Readability and Documentation&lt;/p&gt;

&lt;p&gt;Writing code is only half the battle; writing clean and readable code is equally important. Document your code, use meaningful variable and function names, and follow coding conventions. When your code is easy to understand, maintain, and debug, you become a more valuable programmer.&lt;/p&gt;

&lt;p&gt;Version Control&lt;/p&gt;

&lt;p&gt;Learn to use version control systems like Git. These tools are essential for collaborating with others and tracking changes in your codebase. Understanding how to branch, commit, and merge code will make you a more effective team member.&lt;/p&gt;

&lt;p&gt;Collaborate and Communicate&lt;/p&gt;

&lt;p&gt;Programming is often a team effort. Being a good communicator and collaborator is as important as writing code. Participate in code reviews, share your knowledge, and learn from others. Effective communication can lead to better code quality and more efficient projects.&lt;/p&gt;

&lt;p&gt;Continual Learning&lt;/p&gt;

&lt;p&gt;The tech world is ever-evolving. Keep up with the latest trends, technologies, and best practices. Attend conferences, webinars, and workshops. Read technical books, articles, and blogs. Being a lifelong learner is a defining trait of successful programmers.&lt;/p&gt;

&lt;p&gt;Debugging Skills&lt;/p&gt;

&lt;p&gt;Bugs are an inevitable part of programming. Learn to debug effectively. Use debugging tools, breakpoints, and logs to identify and fix issues in your code. A good programmer is not someone who never makes mistakes but someone who can quickly correct them.&lt;/p&gt;

&lt;p&gt;Ethics and Security&lt;/p&gt;

&lt;p&gt;Understand the ethical implications of your work. Follow best practices in security to protect your code and data. Being a responsible programmer means considering the ethical and security aspects of your work.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;Becoming a good programmer is a journey that requires dedication, continuous learning, and the development of various skills. Whether you're just starting or have years of experience, these principles can help you on your path to becoming a great programmer. Remember that it's not just about the code you write but how you approach problems, collaborate with others, and contribute to the software development community. Keep improving and striving for excellence, and you'll be well on your way to becoming an exceptional programmer.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>webdev</category>
      <category>tip</category>
    </item>
    <item>
      <title>Installing Tailwind CSS with Create React App</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Tue, 17 May 2022 13:36:56 +0000</pubDate>
      <link>https://forem.com/codeships/installing-tailwind-css-with-create-react-app-1b32</link>
      <guid>https://forem.com/codeships/installing-tailwind-css-with-create-react-app-1b32</guid>
      <description>&lt;p&gt;1&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Create your project&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Start by creating a new React project with Create React App v5.0+ if you don't have one already set up.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx create-react-app my-project
cd my-project
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.&lt;strong&gt;Install Tailwind CSS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Install tailwindcss and its peer dependencies via npm, and then run the init command to generate both tailwind.config.js and postcss.config.js.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configure your template paths&lt;/strong&gt;
Add the paths to all of your template files in your tailwind.config.js file.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module.exports = {
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Add the Tailwind directives to your CSS&lt;/strong&gt;
Add the &lt;a class="mentioned-user" href="https://dev.to/tailwind"&gt;@tailwind&lt;/a&gt; directives for each of Tailwind’s layers to your ./src/index.css file.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@tailwind base;
@tailwind components;
@tailwind utilities;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start your build process&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run your build process with &lt;code&gt;npm run start&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Start using Tailwind in your project&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Start using Tailwind’s utility classes to style your content.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export default function App() {
  return (
    &amp;lt;h1 className="text-3xl font-bold underline"&amp;gt;
      Hello world!
    &amp;lt;/h1&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Credit &lt;a href="https://tailwindcss.com/docs/guides/create-react-app" rel="noopener noreferrer"&gt;TailwindCss&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tutorial</category>
      <category>react</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>How to use Bulma CSS in React Js</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Sat, 14 May 2022 12:51:26 +0000</pubDate>
      <link>https://forem.com/codeships/how-to-use-bulma-css-in-react-js-43d8</link>
      <guid>https://forem.com/codeships/how-to-use-bulma-css-in-react-js-43d8</guid>
      <description>&lt;p&gt;Designed for mobile first and built using the Flexbox methodology, the open source CSS framework Bulma provides ready-to-use frontend components to build responsive web interfaces without JavaScript, making it ideal to use with React.&lt;/p&gt;

&lt;p&gt;Known for having the simplest grid system, Bulma is so smooth that columns automatically resize themselves depending on the screen size of the device being used.&lt;/p&gt;

&lt;p&gt;Unlike most CSS frameworks, Bulma isn’t an all-or-nothing framework; it enables you to import and use specific components, such as a breadcrumb or form, without importing the entire framework. It also offers a plethora of already customized components, elements, columns, layouts, and forms for designing websites, letting users get up and running quickly.&lt;/p&gt;

&lt;p&gt;And because Bulma does not include any JavaScript, you have total control over your components’ functionality when using it with React, giving you the freedom to write the JavaScript code the way you deem fit instead of being restricted to Bulma’s opinion of writing JavaScript. For developers who want to use their own JavaScript implementation, the fact that Bulma follows a strict CSS-only approach enables them to achieve this.&lt;/p&gt;

&lt;p&gt;Bulma has browser support on Chrome, Edge, Firefox, Opera, Safari, and Internet Explorer (10+), providing you with CSS classes to help you style your website.&lt;/p&gt;

&lt;p&gt;In this tutorial, you will learn how Bulma CSS can be used with React.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Bulma CSS in React&lt;/strong&gt;&lt;br&gt;
While Bulma’s creators state there’s no need to have any knowledge of CSS to use Bulma, having a basic understanding of CSS will bolster your work in any CSS framework, including Bulma.&lt;/p&gt;

&lt;p&gt;This tutorial assumes that you have a basic knowledge of CSS as well as the following:&lt;/p&gt;

&lt;p&gt;Node 8.10 or higher installed on your local development machine&lt;br&gt;
npx 5.2 or higher installed on your local development machine&lt;br&gt;
A basic knowledge of HTML and JavaScript&lt;br&gt;
A basic understanding of how to create components in React&lt;br&gt;
Now, let’s see how we can use different Bulma CSS elements and components with React.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Install Bulma CSS in React  *&lt;/em&gt;&lt;br&gt;
First, let’s spin up a React application by using Create React App and running the following command:&lt;/p&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
npx create-react-app bulma-tutorial&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
`&lt;br&gt;
Once the React app is installed on your local machine successfully, switch to its directory using the cd bulma-tutorial command, and install the Bulma package into your React project using the npm install bulma command.&lt;/p&gt;

&lt;p&gt;After installing Bulma, run npm start to access the app on your browser window via localhost:3000.&lt;/p&gt;

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

&lt;p&gt;Now, navigate to the src folder, click App.js, and paste the code snippet below:&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`&lt;br&gt;
import 'bulma/css/bulma.min.css';&lt;/p&gt;

&lt;p&gt;const App = () =&amp;gt; {&lt;br&gt;
      return (&lt;br&gt;
        &lt;/p&gt; &lt;br&gt;
          &lt;br&gt;
            Primary&lt;br&gt;
            Link&lt;br&gt;
            Info&lt;br&gt;
            Success&lt;br&gt;
            Warning&lt;br&gt;
            Danger&lt;br&gt;
            Black&lt;br&gt;
            White&lt;br&gt;
            Dark&lt;br&gt;
            Light&lt;br&gt;
          &lt;br&gt;
        &lt;br&gt;
      )&lt;br&gt;
  }

&lt;p&gt;export default App;&lt;br&gt;
`&lt;code&gt;&lt;/code&gt;&lt;br&gt;
`&lt;br&gt;
By importing Bulma CSS into our project, we can now access Bulma’s components, elements, variables, and more, and utilize Bulma within our project.&lt;/p&gt;

&lt;p&gt;Stylizing with Bulma in React&lt;br&gt;
Here is the created component App with the added parent div. By then exporting the component, we can target it in other sections of the application.&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`&lt;br&gt;
const App = () =&amp;gt; {&lt;br&gt;
      return (&lt;br&gt;
        &lt;/p&gt;
&lt;br&gt;
          ...&lt;br&gt;
        &lt;br&gt;
      )&lt;br&gt;
  }

&lt;p&gt;export default App;&lt;br&gt;
`&lt;code&gt;&lt;/code&gt;&lt;br&gt;
`&lt;br&gt;
Here, we added a&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;containing 10 `&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
buttons&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
` and styled it with Bulma CSS.&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;div className="buttons"&amp;gt; &amp;lt;button class="button is-primary"&amp;gt;Primary&amp;lt;/button&amp;gt; &amp;lt;button class="button is-link"&amp;gt;Link&amp;lt;/button&amp;gt; &amp;lt;button class="button is-info"&amp;gt;Info&amp;lt;/button&amp;gt; &amp;lt;button class="button is-success"&amp;gt;Success&amp;lt;/button&amp;gt; &amp;lt;button class="button is-warning"&amp;gt;Warning&amp;lt;/button&amp;gt; &amp;lt;button class="button is-danger"&amp;gt;Danger&amp;lt;/button&amp;gt; &amp;lt;button class="button is-black"&amp;gt;Black&amp;lt;/button&amp;gt; &amp;lt;button class="button is-white"&amp;gt;White&amp;lt;/button&amp;gt; &amp;lt;button class="button is-dark"&amp;gt;Dark&amp;lt;/button&amp;gt; &amp;lt;button class="button is-light"&amp;gt;Light&amp;lt;/button&amp;gt; &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most Bulma elements have alternative styles that require using either&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;or&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;to access them. For example, in the code snippet above, you’ll notice that each button contains two values: the element’s name, &lt;code&gt;button&lt;/code&gt;, that signals to Bulma that this element is a button; and the modifier, &lt;code&gt;is-dark&lt;/code&gt;, that accesses the style class property.&lt;/p&gt;

&lt;p&gt;So, if you want to color an element of your app turquoise, for example, you’d use the &lt;code&gt;is-primary&lt;/code&gt; modifier syntax.&lt;/p&gt;

&lt;p&gt;The default color shades that can be used in Bulma are below, with their respective modifiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;is-primary&lt;/code&gt; is turquoise.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-link&lt;/code&gt; is blue.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-info&lt;/code&gt; is cyan.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-success&lt;/code&gt; is green.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-warning&lt;/code&gt; is yellow.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-danger&lt;/code&gt; is red.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-white&lt;/code&gt; is white.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-black&lt;/code&gt; is black.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-dark&lt;/code&gt; is dark.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;is-white&lt;/code&gt; is white.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the buttons complete, save the code and return to the browser window to view what the updated page looks like. If everything is done correctly, it should look like the screen below:&lt;br&gt;
&lt;a href="https://codepen.io/edyasikpo/embed/dyNmxVE?height=265&amp;amp;theme-id=dark&amp;amp;default-tab=js%2Cresult&amp;amp;user=edyasikpo&amp;amp;slug-hash=dyNmxVE&amp;amp;pen-title=Colors%20-%20Bulma%20CSS%20Tutorial&amp;amp;name=cp_embed_1#html-box" rel="noopener noreferrer"&gt;Codepen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Altering sizes of elements and components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the understanding of how to apply colors to elements and components within React, we can continue to manipulate buttons by using Bulma’s modifier classes, is-small, is-medium, and is-large, to resize any element or component.&lt;/p&gt;

&lt;p&gt;As each modifier name implies, elements will become smaller by adding is-small, medium by adding is-medium, and large by adding is-large to the element’s property.&lt;/p&gt;

&lt;p&gt;Let’s add these properties to the code in our App.js file and see how it plays out:&lt;/p&gt;

&lt;p&gt;With the understanding of how to apply colors to elements and components within React, we can continue to manipulate buttons by using Bulma’s modifier classes, &lt;code&gt;is-small&lt;/code&gt;, &lt;code&gt;is-medium&lt;/code&gt;, and &lt;code&gt;is-large&lt;/code&gt;, to resize any element or component.&lt;/p&gt;

&lt;p&gt;As each modifier name implies, elements will become smaller by adding &lt;code&gt;is-small&lt;/code&gt;, medium by adding &lt;code&gt;is-medium&lt;/code&gt;, and large by adding &lt;code&gt;is-large&lt;/code&gt; to the element’s property.&lt;/p&gt;

&lt;p&gt;Let’s add these properties to the code in our &lt;code&gt;App.js&lt;/code&gt; file and see how it plays out:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'bulma/css/bulma.min.css';

const App = () =&amp;gt; {
      return (
        &amp;lt;div classname="main"&amp;gt; 
          &amp;lt;div className="buttons"&amp;gt;
            &amp;lt;button class="button is-success is-small"&amp;gt;Small&amp;lt;/button&amp;gt;
            &amp;lt;button class="button is-warning is-medium"&amp;gt;Medium&amp;lt;/button&amp;gt;
            &amp;lt;button class="button is-danger is-large"&amp;gt;Large&amp;lt;/button&amp;gt;
          &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
      )
  }

export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By adding &lt;code&gt;is-small&lt;/code&gt;, &lt;code&gt;is-medium&lt;/code&gt;, and &lt;code&gt;is-large&lt;/code&gt; to the codebase, your React app should now look like the following:&lt;br&gt;
&lt;a href="https://codepen.io/edyasikpo/pen/ZELozKP" rel="noopener noreferrer"&gt;Codepen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Controlling the state of elements and components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The ability to control the state of an element or component in an application is very important. To do this in a React app, use any of the three Bulma CSS properties below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;is-outlined&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;is-loading&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;disabled&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the code snippet below, the first button’s state is outlined by adding &lt;code&gt;is-outlined&lt;/code&gt;, the second button shows a loading wheel by adding &lt;code&gt;is-loading&lt;/code&gt;, and the third button becomes disabled by adding &lt;code&gt;is-disabled&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'bulma/css/bulma.min.css'; const App = () =&amp;gt; { return ( &amp;lt;div classname="main"&amp;gt; &amp;lt;div className="buttons"&amp;gt; &amp;lt;button class="button is-success is-outlined"&amp;gt;Outlined&amp;lt;/button&amp;gt; &amp;lt;button class="button is-warning is-loading"&amp;gt;Loading&amp;lt;/button&amp;gt; &amp;lt;button class="button is-danger" disabled&amp;gt;Disabled&amp;lt;/button&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; ) } export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see the output of this code below:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilizing Bulma’s customized code snippets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As mentioned earlier, Bulma offers a collection of already customized components that you can use to quickly customize your React apps instead of styling them from scratch.&lt;/p&gt;

&lt;p&gt;For example, if we wanted to spin up a navigation bar, Bulma provides boilerplate code, and we can copy a snippet from their website, paste it into the &lt;code&gt;App.js&lt;/code&gt; file, and add a closing tag to the &lt;code&gt;img &lt;/code&gt;and &lt;code&gt;hr&lt;/code&gt; elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import 'bulma/css/bulma.min.css'; const App = () =&amp;gt; { return ( &amp;lt;div&amp;gt; &amp;lt;nav class="navbar" role="navigation" aria-label="main navigation"&amp;gt; &amp;lt;div class="navbar-brand"&amp;gt; &amp;lt;a class="navbar-item" href="https://bulma.io"&amp;gt; &amp;lt;img src="https://bulma.io/images/bulma-logo.png" width="112" height="28"/&amp;gt; &amp;lt;/a&amp;gt; &amp;lt;a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample"&amp;gt; &amp;lt;span aria-hidden="true"&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span aria-hidden="true"&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span aria-hidden="true"&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;/a&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div id="navbarBasicExample" class="navbar-menu"&amp;gt; &amp;lt;div class="navbar-start"&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; Home &amp;lt;/a&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; Documentation &amp;lt;/a&amp;gt; &amp;lt;div class="navbar-item has-dropdown is-hoverable"&amp;gt; &amp;lt;a class="navbar-link"&amp;gt; More &amp;lt;/a&amp;gt; &amp;lt;div class="navbar-dropdown"&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; About &amp;lt;/a&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; Jobs &amp;lt;/a&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; Contact &amp;lt;/a&amp;gt; &amp;lt;hr class="navbar-divider"/&amp;gt; &amp;lt;a class="navbar-item"&amp;gt; Report an issue &amp;lt;/a&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div class="navbar-end"&amp;gt; &amp;lt;div class="navbar-item"&amp;gt; &amp;lt;div class="buttons"&amp;gt; &amp;lt;a class="button is-primary"&amp;gt; &amp;lt;strong&amp;gt;Sign up&amp;lt;/strong&amp;gt; &amp;lt;/a&amp;gt; &amp;lt;a class="button is-light"&amp;gt; Log in &amp;lt;/a&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/nav&amp;gt; &amp;lt;/div&amp;gt; ) } export default App;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we have a navigation bar on my website with a simple copy and paste and can customize it further using the concepts used in this tutorial.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codepen.io/edyasikpo/pen/YzNLdqd" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Although this tutorial covers some of the fundamentals of using Bulma with React, they provide a base to expand upon when styling. You can learn more about how Bulma works, access code snippets, and experiment by visiting their &lt;a href="https://bulma.io/documentation/overview/" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt;. Feel free to explore these Bulma tutorials that I created on CodePen as well.&lt;/p&gt;

&lt;p&gt;If you have any questions, you can leave them in the comments section below.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full visibility into production React apps&lt;/strong&gt;&lt;br&gt;
Debugging React applications can be difficult, especially when users experience issues that are hard to reproduce. If you’re interested in monitoring and tracking Redux state, automatically surfacing JavaScript errors, and tracking slow network requests and component load time, &lt;a href="https://www2.logrocket.com/react-performance-monitoring" rel="noopener noreferrer"&gt;try LogRocket&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5zhyqtjwkn73sw23i2sm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5zhyqtjwkn73sw23i2sm.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www2.logrocket.com/react-performance-monitoring" rel="noopener noreferrer"&gt;LogRocket&lt;/a&gt;&lt;br&gt;
 is like a DVR for web and mobile apps, recording literally everything that happens on your React app. Instead of guessing why problems happen, you can aggregate and report on what state your application was in when an issue occurred. LogRocket also monitors your app's performance, reporting with metrics like client CPU load, client memory usage, and more.&lt;/p&gt;

&lt;p&gt;The LogRocket Redux middleware package adds an extra layer of visibility into your user sessions. LogRocket logs all actions and state from your Redux stores.&lt;/p&gt;

&lt;p&gt;Modernize how you debug your React apps — &lt;a href="https://www2.logrocket.com/react-performance-monitoring" rel="noopener noreferrer"&gt;start monitoring for free &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Credit Twitter &lt;a class="mentioned-user" href="https://dev.to/didicodes"&gt;@didicodes&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>bulma</category>
    </item>
    <item>
      <title>Things that to know when accepting an order in any freelancing Platform</title>
      <dc:creator>CodeShinobi </dc:creator>
      <pubDate>Wed, 11 Aug 2021 13:33:17 +0000</pubDate>
      <link>https://forem.com/codeships/things-that-to-know-when-accepting-an-order-in-any-freelancing-platform-3o9f</link>
      <guid>https://forem.com/codeships/things-that-to-know-when-accepting-an-order-in-any-freelancing-platform-3o9f</guid>
      <description>&lt;p&gt;I have lost like 2-3 gig offers due a mistake i made on Fiverr by not creating an offer in a DM between me and my clients.&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkv4waktfmq402p84yq59.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkv4waktfmq402p84yq59.png" alt="Screen Shot 2021-08-11 at 2.30.25 PM" width="611" height="191"&gt;&lt;/a&gt;&lt;br&gt;
If you don't create an offer you're at risking the offer. &lt;br&gt;
So create an offer to show &lt;/p&gt;

</description>
      <category>fiverr</category>
    </item>
  </channel>
</rss>
