<?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: monica</title>
    <description>The latest articles on Forem by monica (@monlir).</description>
    <link>https://forem.com/monlir</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%2F853970%2F565b8773-0eb1-4c0b-88cf-a460f32ec901.jpeg</url>
      <title>Forem: monica</title>
      <link>https://forem.com/monlir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/monlir"/>
    <language>en</language>
    <item>
      <title>relearning HTML</title>
      <dc:creator>monica</dc:creator>
      <pubDate>Fri, 11 Oct 2024 18:05:22 +0000</pubDate>
      <link>https://forem.com/monlir/relearning-html-269g</link>
      <guid>https://forem.com/monlir/relearning-html-269g</guid>
      <description>&lt;p&gt;I finished the "Learn HTML by Building a Cat Photo App" course on freeCodeCamp. I have taken this before in 2018 and remember enjoying the experience enough to go back to it now. I found that I was familiar with the concepts enough to confidently go through the course quickly. I think this was a good first step in getting back into my coding journey and plan on taking the CSS course next. Although I am eager to build something worthy of a portfoilio I cannot rush myself through the this phase of reviewing the basics.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>html</category>
    </item>
    <item>
      <title>short and honest</title>
      <dc:creator>monica</dc:creator>
      <pubDate>Fri, 04 Oct 2024 01:46:16 +0000</pubDate>
      <link>https://forem.com/monlir/short-and-honest-36ff</link>
      <guid>https://forem.com/monlir/short-and-honest-36ff</guid>
      <description>&lt;p&gt;Another day passes without progress. I can't even call it a rest day. I did nothing of the sort. I'm posting this to document all of the highs and lows of my journey....even if they are mostly lows these days. There is always tomorrow. &lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>mentalhealth</category>
    </item>
    <item>
      <title>back to the beginning...</title>
      <dc:creator>monica</dc:creator>
      <pubDate>Wed, 02 Oct 2024 20:16:38 +0000</pubDate>
      <link>https://forem.com/monlir/back-to-the-beginning-1a3h</link>
      <guid>https://forem.com/monlir/back-to-the-beginning-1a3h</guid>
      <description>&lt;p&gt;Here I am again, in a period of change in my life that allows me to grow if I choose to. &lt;/p&gt;

&lt;p&gt;Back in June I was laid off from my corporate job as a Program Administrator, and my life turned upside down overnight. I feverishly applied to related program management roles for a month before I had to settle for a job at a coffee shop to pay my bills. &lt;/p&gt;

&lt;p&gt;And so I am at an impasse of sorts. Do I continue applying to positions that will most likely end up ghosting me? For a job that I'm not sure I even really like. Or do I take this time, to get back on my coding journey to make a career change? &lt;/p&gt;

&lt;p&gt;As the days go on I am now at month 3 of working coffee and I have found some financial stability while working an average of 30 hours a week. That leaves me with a block of time I didn't have before working a 9 to 5. I have found myself with the perfect opportunity to get back into the flow of learning web development.&lt;/p&gt;

&lt;p&gt;I am going back to the basics on freeCodeCamp to start the habit of learning and polish my foundation before advancing to more complex skills. Right now, I'm looking at the web development course from Colt Steele on Udemy as a starting point to hone down the basics. I'm thinking I'll focus on building projects for a portfolio after and making my own website.&lt;/p&gt;

&lt;p&gt;This is my rough draft of a plan for now. I thought I'd go back to documenting my journey through posts and see what happens!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>learning</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>using pseudocode as a beginner - why and how</title>
      <dc:creator>monica</dc:creator>
      <pubDate>Wed, 14 Sep 2022 03:05:37 +0000</pubDate>
      <link>https://forem.com/monlir/using-pseudocode-as-a-beginner-why-and-how-3hdd</link>
      <guid>https://forem.com/monlir/using-pseudocode-as-a-beginner-why-and-how-3hdd</guid>
      <description>&lt;p&gt;In this post, we will discuss the importance of pseudocode, how to approach a coding problem with pseudocode, and finally, an example applying this approach.&lt;/p&gt;

&lt;p&gt;Please note that pseudocode is &lt;em&gt;not&lt;/em&gt; a programming or scripting language, it is simply the practice of using &lt;u&gt;plain English&lt;/u&gt; to understand code, line by line.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why should you take the time to pseudocode? Is it worth it?
&lt;/h3&gt;

&lt;p&gt;The short answer to this is YES.&lt;/p&gt;

&lt;p&gt;Pseudocoding allows us to list out each step in a sequential form, guiding us to a logical solution. Spending the 10-15min pseudocoding before writing code allows for a quicker and less stressful construction phase.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do you write pseudocode?
&lt;/h3&gt;

&lt;p&gt;There isn't a standardized convention for writing pseudocode. I believe this flexibility is what makes the practice of pseudocoding valuable because you can do so in a variety of algorithms and languages.&lt;/p&gt;

&lt;p&gt;This flexibility can be daunting for some, especially beginners, so here are some guidelines to help get you to writing useful pseudocode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;capitalize conditional keywords&lt;/li&gt;
&lt;li&gt;write one statement per line of code&lt;/li&gt;
&lt;li&gt;use indentation + syntax correctly&lt;/li&gt;
&lt;li&gt;be specific with variable names&lt;/li&gt;
&lt;li&gt;describe each step simply, don't leave any room for assumptions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main goal is to get your pseudocode to a place logically that allows you to easily construct code to achieve the desired output.&lt;/p&gt;

&lt;h4&gt;
  
  
  Let's see it in action...
&lt;/h4&gt;

&lt;p&gt;In this example, we are going to be solving a &lt;a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for---in-statement" rel="noopener noreferrer"&gt;JavaScript challenge from freeCodeCamp&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Iterate Through the Keys of an Object with a for...in Statement&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In this challenge, we are asked to use a &lt;code&gt;for...in&lt;/code&gt; statement within this &lt;code&gt;countOnline&lt;/code&gt; function to loop through the users object passed into the function and return the number of users whose online property is set to true.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; const users = {
  Alan: {
    online: false
  },
  Jeff: {
    online: true
  },
  Sarah: {
    online: false
  }
}

function countOnline(usersObj) {
  // Only change code below this line

  // Only change code above this line
}

console.log(countOnline(users));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's write some pseudocode...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Main goal:
countOnline should use a for in statement to iterate through the object keys of the user object passed to it

FOR (let user in userObj) {
 IF (user === online) {
  THEN increase counter 
 }
 return counter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this pseudocode written, I now know exactly what this function is supposed to do. I now feel comfortable with my logic to write the solution in JavaScript.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let result = 0;
  for (let user in usersObj) {
    if (usersObj[user].online === true) {
      result++;
    }
  }
  return result;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ta-da! We successfully went through a scenario in which pseudocoding helped us logically solve a JavaScript challenge. &lt;/p&gt;

&lt;h4&gt;
  
  
  To wrap things up...
&lt;/h4&gt;

&lt;p&gt;Learning how to write concise pseudocode allows us to work through different logical scenarios to achieve the desired result. Remember to write pseudocode for each line of code to ensure no step is missed in the solution. There are many ways to write pseudocode, but ultimately its purpose is to help you brainstorm and plan out a solution before writing code. No more staring at your text editor trying to conjure up a solution, now you can create a baseline to start from and feel confident in your work. &lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

&lt;p&gt;Resources:&lt;br&gt;
&lt;a href="https://www.freecodecamp.org/news/how-to-iterate-over-objects-in-javascript/" rel="noopener noreferrer"&gt;How to Iterate Over Objects in JavaScript&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in" rel="noopener noreferrer"&gt;for...in MDN Documentation&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>my first javascript app: a retrospective</title>
      <dc:creator>monica</dc:creator>
      <pubDate>Fri, 29 Jul 2022 19:38:26 +0000</pubDate>
      <link>https://forem.com/monlir/my-first-javascript-app-a-retrospective-2p3h</link>
      <guid>https://forem.com/monlir/my-first-javascript-app-a-retrospective-2p3h</guid>
      <description>&lt;p&gt;As my phase 1 project comes to a close, the scrum master in me thought it would be a good time to pause and reflect on this experience. Traditionally, the questions I would ask teams in a sprint retrospective are the standard- "what did we do well?", "what could we improve next sprint?", and "what didn't go well?". These questions make sense in a work-related context, so how can I apply this to my first project retrospective? The beauty of agile is how adaptable its principles are to fit with all types of teams and workflows. So lets jump into it!&lt;/p&gt;




&lt;h2&gt;
  
  
  What went well during this phase?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Collaboration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even though this was a solo project, I was able to take advantage of the different types of resources offered to me. I jumped into a study group with a few other members in my cohort and even joined instructor office hours in between work meetings. This is a habit I would like to solidify in the next phase.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Development environmenent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On top of learning the javascript language and syntax, we also learned how to create a develolpment environment to support our phase 1 project. What files need to be included? How to use git to push local changes to a remote repository on github? How often do I make commits? These are parts of the inital setup of a project that sometimes get overlooked by beginners and I'm glad I took the time to create a solid foundation to work on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What did not go well this phase?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;API integration to my SPA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The requirements of this project were to create a single page application and use event listeners to trigger a &lt;code&gt;fetch()&lt;/code&gt; request to an external API and then manipulate that data with the DOM. The API I chose was from the Chicago Institute of Art and my idea was to create a "virtual art museum" where users could search for artworks using subject keywords and recieve a list of results provided by the data stored in the API. I was able to successfully fetch the data, but when it came to displaying those results in a user-friendly format, I didn't have the same luck and was only able to view my search results in the console. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imposter syndrome&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My mindset was not adaptable to this type of exercise. I am usually someone who is afraid of not knowing everything and making a huge mistake as a result. I noticed that I was "catastrapizing" my situation when I really needed to be more understanding of my inexperience to nuture growth. This will be a game changer for my confidence in the next phase. &lt;/p&gt;

&lt;h2&gt;
  
  
  What to improve on?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Time management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This first project was difficult to gauge at first because this whole process is so new to me. Something to note for next time is to &lt;em&gt;overestimate&lt;/em&gt; how I long I think it will take to complete a task to allow time for research and debugging. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project planning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ultimately, the reason why I hit a roadblock with my API integration was because I was not 100% certain on what I wanted the user experience to be. Next time, I will &lt;em&gt;definitely&lt;/em&gt; spend more time on planning out my application and explore what that looks like for me - wireframes? project backlog with features and tasks?&lt;/p&gt;

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

&lt;p&gt;This first phase was a test of my resilliance because each step of executing this project was defined by my process. I had to do this alone and without having someone hold my hand and with that came self-doubt of my abilities and imposter syndrome. Taking this time to reflect gave me the space to acknowlegde my mistakes, accomplishments and insecurites to start off the next phase refreshed and ready to go!&lt;/p&gt;

&lt;p&gt;Talk soon friends!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
