<?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: Vlad Anghel</title>
    <description>The latest articles on Forem by Vlad Anghel (@gyuluu).</description>
    <link>https://forem.com/gyuluu</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%2F268542%2F3632c9dc-8f20-420c-94ac-7ac46df7b6a1.jpg</url>
      <title>Forem: Vlad Anghel</title>
      <link>https://forem.com/gyuluu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gyuluu"/>
    <language>en</language>
    <item>
      <title>Best Coding Challenge Websites to Practice your Skills</title>
      <dc:creator>Vlad Anghel</dc:creator>
      <pubDate>Fri, 28 Aug 2020 21:25:17 +0000</pubDate>
      <link>https://forem.com/gyuluu/best-coding-challenge-websites-to-practice-your-skills-4fad</link>
      <guid>https://forem.com/gyuluu/best-coding-challenge-websites-to-practice-your-skills-4fad</guid>
      <description>&lt;p&gt;A few days ago, I had my first whiteboard interview for which I had to practice my JavaScript skills using various coding challenges found online. Below I want to share the coding challenge websites that stood out to me and helped me over time in the process of learning programming:&lt;/p&gt;

&lt;h3&gt;
  
  
  1.  &lt;a href="https://www.codewars.com/"&gt;Codewars &lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is my personal favorite, since they have various difficulties, from beginner to the very advanced and they employ a ranking system similar to the one encountered in the Japanese martial arts.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.  &lt;a href="https://www.hackerrank.com/"&gt;HackerRank&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;HackerRank was actually recommended to me by the company I was interviewing for. They have curated challenges from many companies.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.  &lt;a href="https://edabit.com/"&gt;Edabit&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you are an absolute beginner I strongly recommend starting with this one since they have very easy problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.  &lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;LeetCode features more advanced challenges and contests. If you have some experience, this one is for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.  &lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;freeCodeCamp has also a collection of hundreds of challenges that you can practice your skills on.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;a href="https://exercism.io/"&gt;Exercism&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Exercism gets also a mention since they provide you with mentor support to provide feedback to your challenge solutions.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>#Day4 of #100DaysOfCode: Protect your eyes!</title>
      <dc:creator>Vlad Anghel</dc:creator>
      <pubDate>Thu, 23 Jan 2020 20:33:27 +0000</pubDate>
      <link>https://forem.com/gyuluu/day4-of-100daysofcode-protect-your-eyes-9d6</link>
      <guid>https://forem.com/gyuluu/day4-of-100daysofcode-protect-your-eyes-9d6</guid>
      <description>&lt;p&gt;I feel that eye health is a subject that is not talked enough in the dev community. After spending more than half of my life in front of computers, I feel that this is finally taking a toll on my eyes. After stumbling upon this amazing Dev article: &lt;a href="https://dev.to/sarthology/the-definitive-guide-to-protecting-your-eyes-for-developers-22jm"&gt;The Definitive Guide To Protecting Your Eyes For Developers&lt;/a&gt;, which features some great advice, I decided it's time to invest in my eye health. 👁👁&lt;/p&gt;

&lt;p&gt;Here are a few steps that I've recently introduced into my daily routine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;drinking more water&lt;/li&gt;
&lt;li&gt;washing my eyes more often and massaging them&lt;/li&gt;
&lt;li&gt;eating more fish and taking an Omega-3 supplement&lt;/li&gt;
&lt;li&gt;activating Night Shift on my Mac&lt;/li&gt;
&lt;li&gt;looking away from the computer every 20 minutes or so&lt;/li&gt;
&lt;li&gt;limiting my computer time when it's possible&lt;/li&gt;
&lt;li&gt;choosing night mode on websites where it's available&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀&lt;/p&gt;

&lt;p&gt;Back to JavaScript, today I updated my BAT Price app to include the BAT-USD price for one hour ago. For those of you that don't know what I'm talking about, BAT is a new cryptocurrency offered as a reward for watching ads on the Brave browser. Being concerned about Google's recent privacy record, I decided to switch from Google Chrome to Brave. The small React app that I developed shows the current BAT-USD price and it updates it every 30 seconds. It will also draw a line graph to help you keep track of the price change. My reason for building this was getting into &lt;a href="https://www.chartjs.org/"&gt;Chart.js&lt;/a&gt; and I have to say I really enjoyed working with it. &lt;/p&gt;

&lt;p&gt;You can try the app &lt;a href="https://gyuluu.github.io/bat-price/"&gt;here&lt;/a&gt; - mobile friendly 📈&lt;br&gt;
If you want to have a look at the code, you can find it &lt;a href="https://github.com/gyuluu/bat-price"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0-RZn1jB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/x5yj2o5chc3d8b50eidz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0-RZn1jB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/x5yj2o5chc3d8b50eidz.png" alt="BAT Price"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another takeaway of this project is that I learnt how to deploy a React app to Github Pages. If you're also wondering how, this article explains it perfectly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://reactgo.com/deploy-react-app-github-pages/"&gt;How to deploy a create react app to Github pages&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript Tip of the Day&lt;/strong&gt;: Math.round() - returns the value of a number rounded to the nearest integer&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2020.1&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;// expected output: 2020&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2020.8&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;// expected output: 2021&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;That's about it for today. Until tomorrow, happy coding!&lt;/p&gt;

&lt;p&gt;✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>javascript</category>
      <category>react</category>
      <category>health</category>
    </item>
    <item>
      <title>#Day3 of #100DaysOfCode: Collaborate!</title>
      <dc:creator>Vlad Anghel</dc:creator>
      <pubDate>Tue, 21 Jan 2020 22:54:19 +0000</pubDate>
      <link>https://forem.com/gyuluu/day3-of-100daysofcode-collaborate-50m</link>
      <guid>https://forem.com/gyuluu/day3-of-100daysofcode-collaborate-50m</guid>
      <description>&lt;p&gt;Pairing up with someone can do wonders for your coding career. It doesn’t matter if you’re both beginners. You can still learn new things from each other and you can gain a fresh perspective on some concepts that you are stuck on. Also, you will motivate and keep each other going! 👫👭👬&lt;/p&gt;

&lt;p&gt;Today, I started by diving deeper into more advanced JavaScript concepts like callbacks, promises and async/await. I recommend this video for a wonderful explanation of these: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=gB-OmN1egV8"&gt;The Evolution of Async JavaScript: From Callbacks, to Promises, to Async/Await&lt;/a&gt;  📺&lt;/p&gt;

&lt;p&gt;Theory is great but practice is king. While looking for a new coding challenge, I stumbled upon an advanced challenge from &lt;a href="https://www.frontendmentor.io/"&gt;Frontend Mentor&lt;/a&gt;: &lt;a href="https://www.frontendmentor.io/challenges/rest-countries-api-with-color-theme-switcher-5cacc469fec04111f7b848ca"&gt;REST Countries API with color theme switcher&lt;/a&gt;. I decided that I am going to build this using React, more specifically with Hooks. I managed to get done a big chunk of it today. Next, I'm going to work on the design and the color theme switcher and then deploy it tomorrow. Cover picture is a sneak peek of what I managed to build yet. 🇩🇪🇬🇭🇬🇮&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript Concept of the Day&lt;/strong&gt;: Array.filter()&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;filter()&lt;/strong&gt; method returns a new array with all elements from the original array that pass a certain test. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;countries&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;albania&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;germany&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;romania&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ghana&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;denmark&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;china&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;countries&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;country&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;country&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// expected output: Array ["albania", "germany", "romania", "denmark"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;In our case we provide a callback function to the filter() method. The callback function, will check for countries that have more than 6 characters in the name.&lt;/p&gt;

&lt;p&gt;What did you learn today? Happy coding, until tomorrow!&lt;/p&gt;

&lt;p&gt;✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>javascript</category>
      <category>react</category>
      <category>career</category>
    </item>
    <item>
      <title>#Day2 of #100DaysOfCode: Keep writing!</title>
      <dc:creator>Vlad Anghel</dc:creator>
      <pubDate>Mon, 20 Jan 2020 13:50:32 +0000</pubDate>
      <link>https://forem.com/gyuluu/day2-of-100daysofcode-keep-writing-36mj</link>
      <guid>https://forem.com/gyuluu/day2-of-100daysofcode-keep-writing-36mj</guid>
      <description>&lt;p&gt;When I first committed myself to the #100DaysOfCode, I tried to follow the challenge rules religiously. After a few missed days I gave up on it completely and felt disappointed as a result. Now I will try to adapt the challenge to my own needs so I keep going. I realized that what I truly care about is to keep coding and to write more about it, not some missed days. &lt;/p&gt;

&lt;p&gt;I want to use this as a journal of my coding journey. I want to document the things I learn along the way, the websites I build, the interviews I have and what I learn from them (yes, I'm actively interviewing and looking for a front-end or full stack role in Berlin 🙋🏻‍♂️) and I want to document the challenges I face as a queer person in the industry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why do I want to write? There's even more to it:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;I love it! 💖&lt;/li&gt;
&lt;li&gt;I think you learn a lot by just writing. When I'm writing about code, I find myself revisiting some of the concepts so I make sure I am saying the right thing. 👨🏻‍🎓&lt;/li&gt;
&lt;li&gt;The only way to improve your writing is to keep doing it. I'm more than open to feedback so please reach out. ✍🏻&lt;/li&gt;
&lt;li&gt;I want to hold myself accountable. Yes, there are going to be some missed days but what's important is to keep doing it. 🙋🏻‍♂️&lt;/li&gt;
&lt;li&gt;You make new friends along the way and that is really fun. 👯‍♂️&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;** cover photo is generated from one of my React projects: &lt;a href="https://emoji-artwork-generator.herokuapp.com/"&gt;https://emoji-artwork-generator.herokuapp.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>writing</category>
      <category>javascript</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>#Day1 of #100DaysOfCode</title>
      <dc:creator>Vlad Anghel</dc:creator>
      <pubDate>Mon, 11 Nov 2019 10:26:14 +0000</pubDate>
      <link>https://forem.com/gyuluu/day1-of-100daysofcode-do5</link>
      <guid>https://forem.com/gyuluu/day1-of-100daysofcode-do5</guid>
      <description>&lt;p&gt;Yesterday I committed myself to the #100DaysOfCode challenge. First, a little background about myself: I have a bachelor's degree in Economic Informatics and I recently finished a Full Stack Web Development Bootcamp in Berlin. My past work has been mainly in arts as a 3D Motion Designer. 🎨&lt;/p&gt;

&lt;p&gt;I'm taking on this challenge because I want to land my first job (hey employers!) and I will also build my portfolio in the process. The way that I will approach this challenge is a bit different. Instead of just coding for one hour every day I am challenging myself to also build something, be it a small website or an app and share it here. Another goal that I'm setting for myself is to share what I've learned during that day.&lt;/p&gt;

&lt;p&gt;So let's get going! For my first day of the challenge I built a simple drum kit app, using HTML, CSS and Vanilla JavaScript. This was the first challenge from #Javascript30 series: &lt;a href="https://javascript30.com/"&gt;https://javascript30.com/&lt;/a&gt; The idea for my drum kit was inspired by Björk's song 'Cvalda', which she plays in the wonderful movie 'Dancer in the Dark' (watch it if you haven't!). You can try the drum kit for yourself at: &lt;a href="https://gyuluu.github.io/drum-kit/"&gt;https://gyuluu.github.io/drum-kit/&lt;/a&gt;. The way it works is you have to press one of the letters displayed on the screen and then the corresponding sound and animation fires up.&lt;/p&gt;

&lt;p&gt;In the process of making this I've learned a few JavaScript tricks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;'transitionend' event - this event occurs when a CSS transition has completed. In this case the transitioned form is removed after the transition has finished.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add, remove and toggle classes on a CSS element&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For example adding a class to a &lt;/p&gt; element can be achieved in the following manner:

&lt;p&gt;&lt;code&gt;document.getElementById("key").classList.add("playing");&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Playing an audio clip with JavaScript:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;First we select the audio element and then we chain the play method:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;document.querySelector("audio").play();&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Happy coding! 👨🏻‍💻&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
