<?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: Jessica Triana</title>
    <description>The latest articles on DEV Community by Jessica Triana (@jessicatriana).</description>
    <link>https://dev.to/jessicatriana</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%2F335328%2Fd1b6de0e-757f-43b6-9c88-fc9b9082e896.jpeg</url>
      <title>DEV Community: Jessica Triana</title>
      <link>https://dev.to/jessicatriana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jessicatriana"/>
    <language>en</language>
    <item>
      <title>SQL Basics - Manage Your Data</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Thu, 11 Jun 2020 21:39:44 +0000</pubDate>
      <link>https://dev.to/jessicatriana/sql-basics-manage-your-data-1lf1</link>
      <guid>https://dev.to/jessicatriana/sql-basics-manage-your-data-1lf1</guid>
      <description>&lt;p&gt;It's good to brush up on different languages and technologies as you start your coding journey. There are SO many overlapping aspects to programming that can help you build better projects, maybe even a bit faster than your last.&lt;/p&gt;

&lt;p&gt;When I built my first Rails app I knew that I was writing SQL statements to create my tables and check my schema, but I never gave SQL it's own space in my brain. &lt;/p&gt;

&lt;p&gt;Here's a quick overview of some basic SQL commands to manipulate your database.&lt;/p&gt;

&lt;p&gt;In this example, we're creating a small table called "Dogs".&lt;/p&gt;

&lt;p&gt;1) Create the table called dogs with column titles: id, first_name, breed. We are making the id an integer and setting it as the Primary Key for each row in this table. We are saying that the first_name of each dog must be unique text and the breed cannot be empty.&lt;/p&gt;

&lt;p&gt;CREATE TABLE dogs (id INTEGER PRIMARY KEY, first_name TEXT UNIQUE, breed TEXT NOT NULL);&lt;/p&gt;

&lt;p&gt;2) Insert 3 rows into the dogs table to give us some data to work with.&lt;/p&gt;

&lt;p&gt;INSERT INTO dogs (id, first_name, breed) VALUES (1, 'Shylah', 'Cockapoo'), (2, 'Mitsi', 'Chow'), (3, 'Shadow', 'Husky');&lt;/p&gt;

&lt;p&gt;3) Any time you want to see the current data in the dogs table, use the "Select All" command.&lt;/p&gt;

&lt;p&gt;SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fiOH_833--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gp88l0jedxire81lij85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fiOH_833--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gp88l0jedxire81lij85.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4) Add a column called age to the end of the dogs table that takes an integer for the value.&lt;/p&gt;

&lt;p&gt;ALTER TABLE dogs ADD age INTEGER;&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hXeunBip--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7kudqame1sym9ujxg22u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hXeunBip--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7kudqame1sym9ujxg22u.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5) Add a column called last_name to the end of the dogs table that takes a text value. If no text is entered, 'NOT APPLICABLE' is the default value.&lt;/p&gt;

&lt;p&gt;ALTER TABLE dogs ADD last_name TEXT DEFAULT 'NOT APPLICABLE';&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hBN1bYHW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jjzfuam4ntc2h12pz2qt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hBN1bYHW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jjzfuam4ntc2h12pz2qt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6) Let's add an age value to the second dog, Mitsi.&lt;/p&gt;

&lt;p&gt;UPDATE dogs SET age = 5 WHERE id = 2;&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wMmtfoNM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gjzzbbngsi0447jbeytz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wMmtfoNM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gjzzbbngsi0447jbeytz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7) Add another column called trained that will take a boolean value. SQL accepts 1 for TRUE, 0 for FALSE, and NULL for an empty value.&lt;/p&gt;

&lt;p&gt;ALTER TABLE dogs ADD trained BIT;&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SpBL9pG6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vnnynubt0uympb89keem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SpBL9pG6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vnnynubt0uympb89keem.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8) Let's say that the first dog, Shylah, was trained.&lt;/p&gt;

&lt;p&gt;UPDATE dogs SET trained = 1 WHERE id = 1;&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wuAJvz1a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d66lpnm06fzsaaiynyv5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wuAJvz1a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d66lpnm06fzsaaiynyv5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;9) Let's delete the record of the dog that doesn't have any value in the age column, which would be the dog Shadow.&lt;/p&gt;

&lt;p&gt;DELETE FROM dogs WHERE age IS NULL;&lt;br&gt;
SELECT * FROM dogs;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LTJakJWv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dsthmvsd7hl6agb91svb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LTJakJWv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dsthmvsd7hl6agb91svb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was a quick overview of some of the most-used SQL statements. Understanding these statements helps you to understand your data, update the values and debug your programs.&lt;/p&gt;

&lt;p&gt;To learn more, take the free 7-hour "Learn SQL" course on &lt;a href="http://www.codecademy.com"&gt;www.codecademy.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>beginners</category>
      <category>database</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>CSS in React - A simple Homepage</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Wed, 06 May 2020 21:00:20 +0000</pubDate>
      <link>https://dev.to/jessicatriana/css-in-react-a-simple-homepage-2apc</link>
      <guid>https://dev.to/jessicatriana/css-in-react-a-simple-homepage-2apc</guid>
      <description>&lt;p&gt;Of all the things we do to build an app and utilize our creativity, I think styling the CSS is my personal favorite. I love the instant gratification of changing the visual aspect of the page with only a few keystrokes.&lt;/p&gt;

&lt;p&gt;Here is a BASIC style guide to create the page above:&lt;/p&gt;

&lt;p&gt;1) Add a background image&lt;/p&gt;

&lt;p&gt;Be sure to choose a high definition image that is large enough to fill the screen without blurring. You want to maintain the sharpness of the image on your page. I typically look for images that are at least 1600 x 900. &lt;/p&gt;

&lt;p&gt;Save the image to your "public" folder within your React app with a simple name that describes it, like "glacierbackground.jpg"&lt;/p&gt;

&lt;p&gt;In the component where you want the background image to render, create a div with a class name that you can refer to for CSS styling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc1nj4x59oezibl8d9ih9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fc1nj4x59oezibl8d9ih9.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In your App.css file, refer to that class name for all of the styling details related to that background.&lt;/p&gt;

&lt;p&gt;I used the following code in my app to set and style the background image. I made sure that it was the only image on the page and would be centered and fixed so that the page would not scroll.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F11g3dm13hz4ocohnwcf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F11g3dm13hz4ocohnwcf0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Add a Nav Bar&lt;/p&gt;

&lt;p&gt;Create a component for your Nav Bar so that you can utilize it throughout your app. A Nav Bar can be as simple as a list of links.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcm9d9nx585v85alz0qgg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fcm9d9nx585v85alz0qgg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can style the Nav Bar in App.css:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8nhp8jwkhy5od1i6620f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F8nhp8jwkhy5od1i6620f.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) Add a "Welcome Sign"&lt;/p&gt;

&lt;p&gt;This is a simple design for a home page, but feel free to get creative here! You may have noticed this line in the ExampleComponent above. This is how I simply render the words "Hello World" onto the page:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Froi6dz95imi1uch0o5gm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Froi6dz95imi1uch0o5gm.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, style the words in App.css to make them big, bold and centered:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foscqtvqnlrrm3g4niges.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foscqtvqnlrrm3g4niges.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was a simple tutorial for a basic home page and nav bar. For more information and detailed CSS tutorials, visit w3schools.com/css&lt;/p&gt;

</description>
      <category>css</category>
      <category>react</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Build beautiful React Components from NPM Packages in minutes</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Mon, 04 May 2020 20:46:46 +0000</pubDate>
      <link>https://dev.to/jessicatriana/build-beautiful-react-components-from-npm-packages-in-minutes-1mjo</link>
      <guid>https://dev.to/jessicatriana/build-beautiful-react-components-from-npm-packages-in-minutes-1mjo</guid>
      <description>&lt;p&gt;Learning JavaScript and React within a few weeks of each other was challenging, but I was able to accelerate the speed of my project builds when I discovered free npm packages. The company behind Node package manager has an entire website dedicated to open source components that are easily integrated with React. &lt;/p&gt;

&lt;p&gt;When you find a package to use, simply "npm install" it then include the import at the top of your component file to begin.&lt;/p&gt;

&lt;p&gt;Here are 5 packages that helped me build my project with ease:&lt;/p&gt;

&lt;p&gt;1)  Moment - "react-moment"&lt;/p&gt;

&lt;p&gt;Moment made gave me a simple way to parse dates from an API into the format that I wanted to display to the user. There are multiple options for props and filters depending on your needs.&lt;/p&gt;

&lt;p&gt;API JSON date: "2020–08–10" &lt;br&gt;
User view: Aug 10, 2020&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JO12Fewz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gkxhkmyacowg30hzxs0g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JO12Fewz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gkxhkmyacowg30hzxs0g.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UuzUefeM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7t24iio0yv95x4is2nn6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UuzUefeM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7t24iio0yv95x4is2nn6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2)  Loader - "react-loader-spinner"&lt;/p&gt;

&lt;p&gt;Loader gave my user something simple but interesting to look at for a few seconds while they waited for the API fetch to complete. You can customize the look and duration of the loader component to fit your style.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AaZ3Znob--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qr97u17sa4tak89n9p0x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AaZ3Znob--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qr97u17sa4tak89n9p0x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SLQ4j2n4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hktllnzalljnj6je6ob7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SLQ4j2n4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hktllnzalljnj6je6ob7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3)  ReactCalendar - "react-calendar"&lt;/p&gt;

&lt;p&gt;The calendar was a nice addition as a clean and styled way to present dates to my user with the capability of incorporating date selection. There are many available props to create an interactive calendar.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tbthZh7r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5mlawxnbyqqhjst8w0kh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tbthZh7r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5mlawxnbyqqhjst8w0kh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3nBo5dgn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/id2o8hte2jkjxtsutw3g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3nBo5dgn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/id2o8hte2jkjxtsutw3g.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4)  Map, GoogleApiWrapper, Marker - "google-maps-react"&lt;/p&gt;

&lt;p&gt;This one requires an extra step because you'll need to create an account for a Google API key, but it only took a few minutes. Once you're in you can begin customizing the the the size and zoom of the map along with any markers for specific places.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qtJ_uoif--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2cgzen9nzy0b2g43gc3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qtJ_uoif--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2cgzen9nzy0b2g43gc3t.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FEv9Ho4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mcko0fgbqk46au9jagl3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FEv9Ho4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mcko0fgbqk46au9jagl3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5)  YouTube - "@u-wave/react-youtube"&lt;/p&gt;

&lt;p&gt;Pretty straight forward. If you're looking for a simple way to embed YouTube videos this is a great way to start. It offers lots of display options and player controls.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1QRnFQZx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1ymro8u6lw9oj95w34zb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1QRnFQZx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1ymro8u6lw9oj95w34zb.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FEv9Ho4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mcko0fgbqk46au9jagl3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FEv9Ho4C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mcko0fgbqk46au9jagl3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more npm packages, visit npmjs.com.&lt;/p&gt;

</description>
      <category>react</category>
      <category>npm</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Keyboard Shortcuts: React in VS Code</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Sun, 19 Apr 2020 16:59:05 +0000</pubDate>
      <link>https://dev.to/jessicatriana/keyboard-shortcuts-react-in-vs-code-3egp</link>
      <guid>https://dev.to/jessicatriana/keyboard-shortcuts-react-in-vs-code-3egp</guid>
      <description>&lt;p&gt;Honestly, much of what I've learned about programming in general seems like magic. I mean, how many times have you watched a code along video and seen the speaker make something happen instantly without ever explaining how they did it?&lt;/p&gt;

&lt;p&gt;Often, it's simply a keyboard shortcut they've become so accustomed to using it doesn't even cross their mind to take a moment to explain it. While in reality, this is some of the most useful information to share during a working example!&lt;/p&gt;

&lt;p&gt;Here are a few useful shortcuts:&lt;/p&gt;

&lt;p&gt;1) option + up or down arrow&lt;br&gt;
   (windows: shift + up or down arrow)&lt;br&gt;
   Allows you to move a line of code up or down the page&lt;/p&gt;

&lt;p&gt;2) command + /&lt;br&gt;
   (windows: control + / )&lt;br&gt;
   Comments out highlighted code&lt;/p&gt;

&lt;p&gt;3) command + option + j&lt;br&gt;
   (windows: control + shift + j)&lt;br&gt;
   Opens the Chrome DevTools console&lt;/p&gt;

&lt;p&gt;4) option + shift + F&lt;br&gt;
   (windows: alt + shift + F)&lt;br&gt;
   Instantly formats your code&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faqd5q3mn75ocfb4hsw1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faqd5q3mn75ocfb4hsw1p.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
This is the fastest way to perfectly indent your code and break out long lines into multiple short phrases.&lt;/p&gt;

&lt;p&gt;5) rcc + tab &lt;br&gt;
   (Provided by the JS JSX Snippets Extension in VS Code)&lt;br&gt;
   Creates a React Class Component based on the file name&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fla376ek9ftvmbk2fng3l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fla376ek9ftvmbk2fng3l.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
A quick and easy way to to build a component from scratch without logging your train of thought.&lt;/p&gt;

&lt;p&gt;6) (hold down) option + multiple clicks&lt;br&gt;
   (windows: alt + multiple clicks) &lt;br&gt;
   Creates multiple cursors&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F288db5ee2vqts3x2ssi3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F288db5ee2vqts3x2ssi3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Useful when you need to edit the same word in many places on  a page.&lt;/p&gt;

&lt;p&gt;Yes, it is important to learn syntax and naming conventions, but once you've got it down you'll start to prioritize speed over practicing your typing skills. &lt;/p&gt;

&lt;p&gt;For more keyboard shortcuts, visit the VS Code Docs: &lt;a href="https://code.visualstudio.com/docs/getstarted/tips-and-tricks" rel="noopener noreferrer"&gt;https://code.visualstudio.com/docs/getstarted/tips-and-tricks&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Passing Private Params to an Update Method in a Controller (Rails)</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Fri, 06 Mar 2020 16:03:57 +0000</pubDate>
      <link>https://dev.to/jessicatriana/passing-private-params-to-an-update-method-in-a-controller-rails-3llk</link>
      <guid>https://dev.to/jessicatriana/passing-private-params-to-an-update-method-in-a-controller-rails-3llk</guid>
      <description>&lt;p&gt;In this post, I want to take a moment to dissect a block of code that I found challenging while working on my first Ruby on Rails project.&lt;/p&gt;

&lt;p&gt;In our Bachelor/Bachelorette web app, a user can update an existing event by adding activities and other users to it.&lt;/p&gt;

&lt;p&gt;For example, a Bachelorette named Amy can select “Amy’s Bachelorette Party” and edit it to include activities like Brunch, a day on Lake Travis, Barhopping, etc. Amy can also select each of her friends from a dropdown menu and add them to “Amy’s Bachelorette Party”.&lt;/p&gt;

&lt;p&gt;Let’s pretend that Amy wants to update her Bachelorette Party (event) to include Brunch (activity) and a friend Kelly (user)&lt;/p&gt;

&lt;p&gt;Our Models have these relationships:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jmMniWuJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n84wbaez1dd5hn3ga61j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jmMniWuJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n84wbaez1dd5hn3ga61j.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our Events Controller (simplified) has this Update method with this private method:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vpJ_BieM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0dmpyb9z0yidx4rnthdv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vpJ_BieM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/0dmpyb9z0yidx4rnthdv.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is a line-by-line explanation of the logic in the Update method:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find the event (Amy’s Bachelorette Party) in the database by the event’s assigned ID #&lt;/li&gt;
&lt;li&gt;Find the activity to add (Brunch) from a dropdown menu within the “Update Event” form&lt;/li&gt;
&lt;li&gt;Find the user to add (Kelly) from a dropdown menu within the “Update Event” form&lt;/li&gt;
&lt;li&gt;If the event is assigned a valid activity and user, save these updates to the database UNLESS they are already saved (to prevent duplicates)&lt;/li&gt;
&lt;li&gt;If the event is successfully updated, redirect the user to a page that shows them their newly updated event with all of the event details&lt;/li&gt;
&lt;li&gt;If the event is not successfully updated(perhaps the user forgot to complete a field), then show them the original “Update Event” form (so they can try again)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The private method “event_params” dictates that, if a user is creating or updating an event, they will have access to activities and users in the database. This allows them to assign activities and users to events.&lt;/p&gt;

&lt;p&gt;Takeaway:&lt;br&gt;
After completing this project, I learned that this code could be refactored further to include checkboxes instead of dropdown menus. This would allow a user to add multiple activities and users to an event, instead of just one at a time through the dropdown menu.&lt;/p&gt;

&lt;p&gt;Learn more about Strong Params &lt;a href="https://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Spokesmodel turned Web Developer : A journey that starts with Flatiron School</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Fri, 06 Mar 2020 15:39:31 +0000</pubDate>
      <link>https://dev.to/jessicatriana/spokesmodel-turned-web-developer-a-journey-that-starts-with-flatiron-school-3h0p</link>
      <guid>https://dev.to/jessicatriana/spokesmodel-turned-web-developer-a-journey-that-starts-with-flatiron-school-3h0p</guid>
      <description>&lt;p&gt;…wait what?&lt;/p&gt;

&lt;p&gt;I’m right there with you… still trying to wrap my head around my massive lifestyle change.&lt;/p&gt;

&lt;p&gt;October 2019 — I just landed home in Austin after working a Ride &amp;amp; Drive Event at Tyler Perry Studios in Atlanta. I was a Spokesmodel for a Luxury Automotive Brand. I traveled multiple times each month to cities across the US; New York, San Francisco, Chicago, Las Vegas, Fort Lauderdale… you name it, we probably had events there.&lt;/p&gt;

&lt;p&gt;Despite loving that job and the career that I’d built over the last 7 years, I wanted to take on a new challenge.&lt;/p&gt;

&lt;p&gt;This was a familiar pattern in my life. I got my MBA at 23 because I wanted to see if I could. I worked for a Fortune 500 financial firm for a while, eventually taking a risk and switching careers to work for myself doing something I enjoyed. After about 4 years of independent contracts with various Experiential Marketing agencies, I landed a recurring contract as a Spokesmodel in the Automotive Industry. That was the role I left to take on my latest risk: learning Full Stack Web Development.&lt;/p&gt;

&lt;p&gt;When I was researching the skills I needed to make a career change into the Tech world, I had my eye on UX/UI because I thought my Experiential Marketing skills would easily translate. It made sense! But it goes against my, ahem “fluctuating” pattern of decision-making…&lt;/p&gt;

&lt;p&gt;Enter: Flatiron School&lt;br&gt;
It felt like I’d heard at least 50 radio ads for Flatiron School while I was home in Austin. Eventually, I did a quick Google search and learned that Flatiron is one of the highest rated bootcamps on Course Report for both UX/UI AND Software Development. This seemed like a big deal because Course Report is to bootcamps what the Princeton Review is to universities.&lt;/p&gt;

&lt;p&gt;I clicked every.single.link on &lt;a href="//www.flatironschool.com"&gt;www.flatironschool.com&lt;/a&gt; to learn as much as I could. Somehow, in a matter of days, I’d gone from exploring the UX/UI curriculum to signing up for the free Coding Bootcamp Prep work. Not the track I was expecting, but I went with it.&lt;/p&gt;

&lt;p&gt;The Learn.co curriculum was challenging, filled with current pop-culture, and remarkably rewarding. I also felt connected to the community immediately thanks to the sidebar that shows you the names of other students and the lessons they complete in real-time. It was great knowing that hundreds of people were working on the same labs and I wasn’t alone.&lt;/p&gt;

&lt;p&gt;Slowly, I became obsessed with working on labs in my free time. We’d be in a fun city and my coworkers would invite me out, but I would decline and say I really needed to work on my labs. This was when I realized I need to jump in head first and see how far I can go with this coding thing…&lt;/p&gt;

&lt;p&gt;January 2020 — My last Auto Show in Houston was bittersweet.&lt;/p&gt;

&lt;p&gt;It never feels right to leave a good thing and jump into the abyss. But now, 5 weeks into the Software Engineering Immersive program at Flatiron, I feel solid about my decision.&lt;/p&gt;

&lt;p&gt;If you told me, this time last year, that I will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understand the fundamentals of OOP, learn to code in Ruby, and work with Github…&lt;/li&gt;
&lt;li&gt;Work with a classmate to build a CLI app that pulls data from an API and allows a user to manipulate it…&lt;/li&gt;
&lt;li&gt;Build a Rails app from scratch that stores data in a DB, then present it to my class…&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Honestly, I would have laughed. But now, I feel grateful for my progress in just 5 short weeks and excited to see what the next 10 weeks will teach me.&lt;/p&gt;

&lt;p&gt;Take a look at the current Flatiron School courses: &lt;a href="//www.flatironschool.com"&gt;www.flatironschool.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Using Case Statements</title>
      <dc:creator>Jessica Triana</dc:creator>
      <pubDate>Fri, 14 Feb 2020 17:58:24 +0000</pubDate>
      <link>https://dev.to/jessicatriana/using-case-statements-2phe</link>
      <guid>https://dev.to/jessicatriana/using-case-statements-2phe</guid>
      <description>&lt;p&gt;As a true beginner, every line of code is a learning opportunity. &lt;/p&gt;

&lt;p&gt;This week, I paired with another student and successfully completed our first-ever CLI program as part of our curriculum at Flatiron School. We implemented many of the skills that we learned in just 2 weeks of the program including:  OOP, Ruby, SQL and ActiveRecord. &lt;/p&gt;

&lt;p&gt;Just when I thought I had leveled up and written the perfect block of code in our “Main Menu”, my teammate slacked me with a question. He asked if I considered using a case statement in place of my many “If…else…” lines of code. Honestly, this never crossed my mind. I was familiar with the terminology but didn’t realize it would be much easier and “cleaner” to refractor this block of code.&lt;/p&gt;

&lt;p&gt;In short: A case statement starts out with an optional condition accompanied with a number of “when” clauses. The first “when” clause to evaluate to true is executed.&lt;/p&gt;

&lt;p&gt;A simple case statement example:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u77OyiaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6s1zbeaxwlw9vys4jsr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u77OyiaU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6s1zbeaxwlw9vys4jsr3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the Main Menu of our CLI program, each "when" clause executes a method that helps the user navigate the program:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j8dE1nuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2x2r5g2zphn9vlkbtfxi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j8dE1nuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2x2r5g2zphn9vlkbtfxi.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user only sees the following text:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mWcAei6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hxgtx37sim1r7ad5p5jg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mWcAei6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hxgtx37sim1r7ad5p5jg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Typically, case statements are a better choice over "If...else..." conditional statements when you have 3 or more conditions to evaluate. &lt;/p&gt;

&lt;p&gt;You can also write a case statement with multiple "when" clauses, separated by commas:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JaxOPlEZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qchhrkyjkmnrafu8569d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JaxOPlEZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qchhrkyjkmnrafu8569d.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Personally, this was a short but valuable lesson in refactoring code that I was able to implement in multiple parts of our program! There are many creative uses of case statements beyond these examples.&lt;/p&gt;

&lt;p&gt;Visit &lt;a href="http://www.ruby-doc.org"&gt;www.ruby-doc.org&lt;/a&gt; to learn more.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>codenewbie</category>
      <category>refactorit</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
