<?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: Francis Ngugi</title>
    <description>The latest articles on DEV Community by Francis Ngugi (@francis_ngugi).</description>
    <link>https://dev.to/francis_ngugi</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%2F1550157%2F7c1d4f95-7b9c-4560-b65d-263a64cde7f0.jpg</url>
      <title>DEV Community: Francis Ngugi</title>
      <link>https://dev.to/francis_ngugi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/francis_ngugi"/>
    <language>en</language>
    <item>
      <title>New Cert Earned!</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Tue, 06 Aug 2024 05:24:22 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/new-cert-earned-2jkh</link>
      <guid>https://dev.to/francis_ngugi/new-cert-earned-2jkh</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs36sw4cyutw7kfzh4y9n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs36sw4cyutw7kfzh4y9n.png" alt="Image description" width="800" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All I can say is that I am proud to be continuing my journey no matter how hard it gets.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 7 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Tue, 18 Jun 2024 14:05:56 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-7-of-30-10gj</link>
      <guid>https://dev.to/francis_ngugi/day-7-of-30-10gj</guid>
      <description>&lt;p&gt;So for today I reading related to Hacking and did some React.JS learning.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       **&amp;lt;u&amp;gt;What I did in TryHackMe&amp;lt;/u&amp;gt;**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;-So I read about SMB and how it works and How to enumerate service running on SMB and how to exploit it.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       **&amp;lt;u&amp;gt;What I learnt on React.JS&amp;lt;/u&amp;gt;**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;-For today I did a simple project that focused on the Admin role on a quiz app where the admin could add a qsn, delete a qsn and Change the answer of the qsn and all of the qsns were to be fetched in a db.json mock server:&lt;br&gt;
 i)The code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-fetch-crud-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-fetch-crud-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-After the project I did some learning on Client-side routing and did a small project:&lt;/p&gt;

&lt;p&gt;i)The learning part code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-react-router-code-along"&gt;https://github.com/FrancisNgigi05/react-hooks-react-router-code-along&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ii) The small project I did to practice what I had learnt: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-react-router-routes-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-react-router-routes-lab&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>hacking</category>
    </item>
    <item>
      <title>Day 6 of 30... Was to be posted yesterday</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Tue, 18 Jun 2024 06:30:16 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-6-of-30-was-to-be-posted-yesterday-2c3g</link>
      <guid>https://dev.to/francis_ngugi/day-6-of-30-was-to-be-posted-yesterday-2c3g</guid>
      <description>&lt;p&gt;So this is was the day where I focused and completed a simple transaction table project:&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;The requirements of the project were as follows&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;Core Deliverables&lt;br&gt;
As a user, I can:&lt;/p&gt;

&lt;p&gt;See a table of all transactions.&lt;br&gt;
 Fill out and submit the form to add a new transaction. This should add the new transaction to the table * the new transaction does not have to be persisted to the backend *&lt;br&gt;
Filter transactions by typing into the search bar. Only transactions with a description matching the search term should be shown in the transactions table.&lt;br&gt;
Bonus Deliverables&lt;br&gt;
These bonus deliverables are here if you want an extra challenge and won't affect your score. Make sure to commit your work to save your progress before attempting the bonus deliverables!&lt;/p&gt;

&lt;p&gt;As a user, I should be able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sort transactions alphabetically by category or description.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Delete a transaction which will remove it from the table&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Gladly all the required functionalities were met and I really learnt a lot from doing this project.&lt;/p&gt;

&lt;p&gt;The code: &lt;a href="https://github.com/FrancisNgigi05/Bank-Of-Flatiron"&gt;https://github.com/FrancisNgigi05/Bank-Of-Flatiron&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also managed to complete the Nmap room in TryHackMe and refreshed my knowledge on how to use Wireshark&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 4 of 30... Current day</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Sun, 16 Jun 2024 17:53:36 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-4-of-30-current-day-3p5e</link>
      <guid>https://dev.to/francis_ngugi/day-4-of-30-current-day-3p5e</guid>
      <description>&lt;p&gt;-So the Transactions project that I was to do is halfway done still some functionalities to be applied but all will be good.&lt;br&gt;
-And also Finalizing reading Nmap and ready to start reminding myself how to use Wireshark.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DAY 3 OF 30... Also Forgot to post this blog</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Sun, 16 Jun 2024 17:50:03 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-3-of-30-also-forgot-to-post-this-blog-3o47</link>
      <guid>https://dev.to/francis_ngugi/day-3-of-30-also-forgot-to-post-this-blog-3o47</guid>
      <description>&lt;p&gt;This day was the day I planned a Transaction Project where The transactions were to be fetched from a mock server and did a set up of the project.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 2 of 30... Forgot to post the blog</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Sun, 16 Jun 2024 17:46:45 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-2-of-30-forgot-to-post-the-blog-54pf</link>
      <guid>https://dev.to/francis_ngugi/day-2-of-30-forgot-to-post-the-blog-54pf</guid>
      <description>&lt;p&gt;On the 2nd day of the challenge, I learned how to use the useEffect hook and fetch data from a mock server and display it on the DOM which was quite tricky to get the hang of but I am still managing to learn more of React.JS.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;What I did on that day:&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
i) Made a quiz app where useEffect was used to add a timer functionality for each qsn:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-use-effect-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-use-effect-lab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ii) Used useEffect to fetch data from a mock server API:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-simple-data-fetching-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-simple-data-fetching-lab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>It's been a long time since I posted but I am back. The challenge restarts. Day 1 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Thu, 13 Jun 2024 15:14:49 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/its-been-a-long-time-since-i-posted-but-i-am-back-the-challenge-restarts-day-1-of-30-1kn5</link>
      <guid>https://dev.to/francis_ngugi/its-been-a-long-time-since-i-posted-but-i-am-back-the-challenge-restarts-day-1-of-30-1kn5</guid>
      <description>&lt;p&gt;So today I covered some React.JS and refreshed my mind on the concepts I learned with a small project. It was not easy, but I learned a lot and got a better understanding of react and how the front end works. And also I managed to do some reading of my past hacking notes since it has been a long time since I did sth related to hacking on TryHackMe.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;What did I do for today?&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
i) A small react project covering useState, lists, Form, Inverse data Flow, and Information flow:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub link: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-state-events-mini-project"&gt;https://github.com/FrancisNgigi05/react-hooks-state-events-mini-project&lt;/a&gt;&lt;br&gt;
Deployment link: &lt;a href="https://react-hooks-state-events-mini-project-kdpdmi0dz.vercel.app/"&gt;https://react-hooks-state-events-mini-project-kdpdmi0dz.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;ii) Read about networking and the use of some networking tools and also the refreshed my knowledge of Using Nmap, learned all this in TryHackMe.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>beginners</category>
      <category>adhd</category>
    </item>
    <item>
      <title>Day 5 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Tue, 04 Jun 2024 16:24:05 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-5-of-30-3bh3</link>
      <guid>https://dev.to/francis_ngugi/day-5-of-30-3bh3</guid>
      <description>&lt;p&gt;This is one of those days I was very overwhelmed and decided I needed to set one thing straight and come up with a friendly schedule I actually got a nice schedule from Monica AI:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase 1 (Weeks 1-3):&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Focus on learning React.js fundamentals, building various React projects, and becoming proficient in React.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase 2 (Weeks 4-6):&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shift your focus to learning Flask, build a few Flask projects, and work on integrating your React and Flask skills to create full-stack web applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase 3 (Weeks 7-10):&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once you have a good grasp of React and Flask, and can build functional full-stack projects, then start learning data structures and algorithms.&lt;/li&gt;
&lt;li&gt;Allocate time to practice DS&amp;amp;A concepts and solve coding challenges.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase 4 (Weeks 11-14):&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Introduce the TryHackMe platform and start learning about cybersecurity and ethical hacking.&lt;/li&gt;
&lt;li&gt;Spend time working through TryHackMe modules and challenges, ensuring you maintain a strong ethical and legal approach.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;But I also managed to learn some new concepts but I will post them tomorrow together with more stuff I will be learning next&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Day 4 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Tue, 04 Jun 2024 09:07:44 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-4-of-30-385p</link>
      <guid>https://dev.to/francis_ngugi/day-4-of-30-385p</guid>
      <description>&lt;p&gt;Yesterday was the day I was learning about. &lt;a href="https://dev.tourl"&gt;*&lt;em&gt;Thinking in React *&lt;/em&gt;&lt;/a&gt;and I kind of did not finish reading it, it was one of those days I felt too lazy to do anything but today I am energetic and ready to move forward&lt;/p&gt;

</description>
      <category>research</category>
      <category>reading</category>
    </item>
    <item>
      <title>Day 3 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Mon, 03 Jun 2024 04:29:37 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-3-of-30-gkf</link>
      <guid>https://dev.to/francis_ngugi/day-3-of-30-gkf</guid>
      <description>&lt;p&gt;This is what I did on the previous day and just forgot to post.&lt;/p&gt;

&lt;p&gt;But so far it has been good and I am slowly picking up on React nicely&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So for Yesterday, this is what I did:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Event Handling in React: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-event-handling-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-event-handling-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React State and Events: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-state-and-events-codealong"&gt;https://github.com/FrancisNgigi05/react-hooks-state-and-events-codealong&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React State and Arrays: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-state-arrays"&gt;https://github.com/FrancisNgigi05/react-hooks-state-arrays&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A small project covering the above topics: &lt;br&gt;
(i)Source Code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-state-and-events-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-state-and-events-lab&lt;/a&gt;&lt;br&gt;
(ii)Vercel Deployment link: &lt;a href="https://react-hooks-state-and-events-lab-eight.vercel.app/"&gt;https://react-hooks-state-and-events-lab-eight.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>Day 2 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Sat, 01 Jun 2024 16:24:41 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-2-of-30-2bdk</link>
      <guid>https://dev.to/francis_ngugi/day-2-of-30-2bdk</guid>
      <description>&lt;p&gt;So for today, I didn't cover a lot but still learned some frontend concepts... I am still trying to get into the habit of having a consistent time for studying and trying to wrap my head around, Whether I should learn React(Frontend Dev), Flask(BackendDev), and EthicalHacking(TryHackMe)&lt;/p&gt;

&lt;p&gt;So for today, this is what I learned:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;List and Keys: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-lists-and-keys-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-lists-and-keys-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Did a small project that combined what I learned yesterday and today and deployed it on vercel: &lt;br&gt;
(i)Vercel: &lt;a href="https://react-hooks-component-props-mini-project-dun.vercel.app/"&gt;https://react-hooks-component-props-mini-project-dun.vercel.app/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(ii)The Source Code: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-component-props-mini-project"&gt;https://github.com/FrancisNgigi05/react-hooks-component-props-mini-project&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most interesting thing that I learned today was about doing the project that had this Bonus requirement:&lt;/p&gt;

&lt;p&gt;**If the article takes less than 30 minutes to read:&lt;/p&gt;

&lt;p&gt;For every 5 minutes (rounded up to the nearest 5), display a coffee cup emoji. For example, if the article takes 3 minutes to read, you should display "☕️ 3 min read". If the article takes 7 minutes, you should display "☕️☕️ 7 min read".&lt;br&gt;
If the article takes 30 minutes or longer to read:&lt;/p&gt;

&lt;p&gt;For every 10 minutes (rounded up to the nearest 10), display a bento box emoji. For example, if the article takes 35 minutes to read, you should display "🍱🍱🍱🍱 35 min read". If the article takes 61 minutes to read, you should display "🍱🍱🍱🍱🍱🍱🍱 61 min read".&lt;br&gt;
**&lt;/p&gt;

&lt;p&gt;And to solve that requirement I wrote the following code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsg5cu88u5743o80hjjti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsg5cu88u5743o80hjjti.png" alt="Image description" width="452" height="311"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anybody with suggestions for: *&lt;em&gt;I am still trying to get into the habit of having a consistent time for studying and trying to wrap my head around, Whether I should learn React(Frontend Dev), Flask(BackendDev), and EthicalHacking(TryHackMe)&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

</description>
      <category>challenge</category>
      <category>beginners</category>
      <category>learning</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Day 1 of 30</title>
      <dc:creator>Francis Ngugi</dc:creator>
      <pubDate>Fri, 31 May 2024 16:17:44 +0000</pubDate>
      <link>https://dev.to/francis_ngugi/day-1-of-30-2oed</link>
      <guid>https://dev.to/francis_ngugi/day-1-of-30-2oed</guid>
      <description>&lt;p&gt;So for today I covered only React and got tired and I am starting to overcome slowly the fear of using React since I have never been a fun of React(frontend dev).&lt;/p&gt;

&lt;p&gt;Learnt information with their github links:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Writing JSX: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-jsx-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-jsx-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Props Basics:&lt;a href="https://github.com/FrancisNgigi05/react-hooks-props-basics-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-props-basics-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Props Destructuring and Default Values: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-props-destructuring"&gt;https://github.com/FrancisNgigi05/react-hooks-props-destructuring&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;React Components: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-components-basics-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-components-basics-lab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Organizing code with import/export: &lt;a href="https://github.com/FrancisNgigi05/react-hooks-import-export-lab"&gt;https://github.com/FrancisNgigi05/react-hooks-import-export-lab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Challenges faced today was learning: &lt;strong&gt;Props Destructuring(Destructuring nested objects)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd91h5w4gxyj0q3odcljp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd91h5w4gxyj0q3odcljp.png" alt="Image description" width="702" height="970"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>challenge</category>
      <category>react</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
