<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Emily Asch on Medium]]></title>
        <description><![CDATA[Stories by Emily Asch on Medium]]></description>
        <link>https://medium.com/@aschemily?source=rss-2164fca5e519------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*XdrFkbLGL6Qgz_6X</url>
            <title>Stories by Emily Asch on Medium</title>
            <link>https://medium.com/@aschemily?source=rss-2164fca5e519------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 10:28:01 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@aschemily/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Building a modal on your favorite website]]></title>
            <link>https://medium.com/@aschemily/building-a-modal-on-your-favorite-website-d6d85a8d8942?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/d6d85a8d8942</guid>
            <category><![CDATA[modal]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Sat, 06 Jul 2019 21:02:10 GMT</pubDate>
            <atom:updated>2019-07-06T21:02:10.192Z</atom:updated>
            <content:encoded><![CDATA[<p>Recently I was given the opportunity to build a modal on a live website. This was my first attempt and after doing research there are many ways to go about creating a modal. I thought I’d share what I’ve come up with. I’ve used HTML, CSS and JavaScript.</p><h3>Step 1: The Code</h3><p>Find a website you want to do, maybe it’s for a company you’re applying to or your favorite website you go on everyday. I’ve chosen Flatiron School’s website, which you can see <a href="https://flatironschool.com/campuses/nyc/?utm_source=Google&amp;utm_medium=ppc&amp;utm_campaign=1783325438&amp;utm_content=67552319645&amp;utm_term=flatiron%20nyc&amp;uqaid=343837948244&amp;Cj0KCQjwjYHpBRC4ARIsAI-3GkGj2Yk8L8hq_YnE3XYmynt6Ym0fS-dMqX0jKPMMw52cJkmbS-3eFMYaAucuEALw_wcB&amp;gclid=Cj0KCQjwjYHpBRC4ARIsAI-3GkGj2Yk8L8hq_YnE3XYmynt6Ym0fS-dMqX0jKPMMw52cJkmbS-3eFMYaAucuEALw_wcB">here</a>.</p><h4>CSS</h4><p>The CSS I got from w3 schools, which you can find <a href="https://www.w3schools.com/howto/howto_css_modals.asp">here</a>. Specifically the one with the header and footer but they have other styles as well. They also did there’s with an onclick but mine is with an onscroll. I had to split this up in two parts because the code is too large to fit in one screenshot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/968/1*nShCIN3aBeuVACI5aF124g.png" /></figure><h4>HTML</h4><p>The HTML is also from w3 schools, which is listed below. However I’ve changed the html context with a cat gif to display.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/811/1*QP2MvFR0qmVUCSb3ygvJ_w.png" /></figure><h4>JavaScript</h4><p>I have listed my Stackoverflow resources that I used to help create the JS code.</p><ul><li><a href="https://stackoverflow.com/questions/2387136/cross-browser-method-to-determine-vertical-scroll-percentage-in-javascript">Cross-Browser Method to Determine Vertical Scroll Percentage in Javascript</a></li><li><a href="https://stackoverflow.com/questions/19614069/get-percentage-scrolled-of-an-element-with-jquery">get percentage scrolled of an element with jquery</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/494/1*_aGrgUpwSwPy_3egoPNdyQ.png" /></figure><h3>Step 2: Paste into Console</h3><p>Go to the website you want to and access the console by cmd + option + j. Go to the Elements tab, right click and go to Edit as HTML. Copy + Paste the whole style sheet and HTML code in the body. *Make sure to click outside to ensure the code is in there.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/742/1*-yrOPSHLjxxqazVK2-c4tw.png" /></figure><p>Next: Go to the Console tab. You can see the style and modal div now has been added.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/740/1*QQHNpEX4pxsEaBOpP_bgtA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/749/1*0g4t8ZCXU77mrdNn-wk9TA.png" /></figure><p>This is just the bottom of the code but you can see now it’s been added to the console.</p><h3>Step 3: Test it out</h3><p>Now of course you can style and change the context to whatever you like! Happy Coding!</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2FiCj0uYGge8qEWIDTVm%2Ftwitter%2Fiframe&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FiCj0uYGge8qEWIDTVm%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2FiCj0uYGge8qEWIDTVm%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="271" frameborder="0" scrolling="no"><a href="https://medium.com/media/5c5f52dee50621eda9631dde5e134eef/href">https://medium.com/media/5c5f52dee50621eda9631dde5e134eef/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d6d85a8d8942" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Tips for Job Seekers]]></title>
            <link>https://medium.com/@aschemily/tips-for-job-seekers-ed040c681e13?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/ed040c681e13</guid>
            <category><![CDATA[tech]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Thu, 27 Jun 2019 20:25:27 GMT</pubDate>
            <atom:updated>2019-06-27T20:25:27.957Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/233/1*X14DKF4gqdUw_Q4GgubeoQ.png" /></figure><p>As I’m currently in the process on seeking employment in the tech industry, I’m realizing the importance of self motivation and continuous learning. In this industry it’s important to continue learning as languages and technology are constantly changing. For a general overview I graduated from Flatiron’s coding bootcamp in New York in March. Since then I’ve been continuously learning in a variety of ways. I’m always open to other tips that other people have found helpful and I’ll post the resources I’ve been using.</p><h3>MeetUps</h3><p>First thing is meetups! This is a great place to network, learn and enjoy free food and drinks (sometimes pay). I’ve never really heard of meetups before or have gone to any but meetup (the app) has a wide range of them from dogs, movies and of course tech. Below I’ve listed a few that I’ve been too and others that I’ve heard great things on. There’s obviously more so always open for other suggestions!</p><p><a href="https://www.meetup.com/Coding-Interview/events/krzgcryzjbxb/">Coding Tuesdays- Interview Practice</a></p><p><a href="https://www.meetup.com/WomenWhoCodeNYC/">Women Who Code NYC</a></p><p><a href="https://www.meetup.com/cs-nyc/">Content Strategy NYC</a></p><p><a href="https://www.meetup.com/NYC-WiMLDS/">NYC Women in Machine Learning &amp; Data Science</a></p><p><a href="https://www.meetup.com/betanyc/">#BetaNYC, NYC’s open data, open gov, &amp; civic tech community</a></p><p><a href="https://www.meetup.com/girldevelopit/">Girl Develop It NYCOnline Tutorials</a></p><p><a href="https://www.meetup.com/ny-tech/">NY Tech Meetup</a></p><p><a href="https://www.meetup.com/OperationCode_NYC/">Operation Code: NYCTech Interview Resources</a></p><h3>Online Resources</h3><p>There are so many resources online that it can be overwhelming to cherry pick, which ones are good and helpful. Below are some resources I’ve found to be very helpful and I find myself on quite a bit.</p><p><a href="https://eloquentjavascript.net/code/">Eloquent JavaScript</a></p><p><a href="https://www.udemy.com/">Udemy</a></p><p><a href="https://stackoverflow.com/">StackOverflow</a></p><p><a href="https://www.freecodecamp.org/">Free Code Camp</a></p><p><a href="https://www.w3schools.com/">w3schools</a></p><p><a href="https://medium.com/">Medium</a></p><p>*There are obviously many more and the ones listed above may seem very obvious but sometimes it’s nice to see them listed. And for a kicker here’s a link to <a href="https://skillcrush.com/2016/03/15/64-online-resources-to-learn-to-code-for-free/">64 ways to learn code for free </a>.</p><h3>Networking</h3><p>This one may sound the most daunting but is also the most necessary. My advice here is to really utilize LinkedIn. Whether that’s paying for a premium account, using their free month or have a regular membership. It’s a great resource to find a job, research companies and see where people work.</p><p>My number one advice that I’ve been told and agree with so want to pass on is SEND A MESSAGE. Whenever you’re connecting with someone even if you met them at a networking event or have a mutual connection, MESSAGE THEM. This can only help you. I’ve recently been receiving a lot of LinkedIn invitations from people who I have mutual connections with but have never met before and I usually don’t accept because it’s not clear what the intention is. It’s really important that you send a message because it 1. Makes you stand out 2. Shows your interest 3. That person knows what you want out of the connection.</p><p>*It’s also completely fine just to connect with someone but a personal message is always nice. Especially if you’ve never met the person before.</p><p>Hi ____, I came across your profile. I would love to connect with you!</p><p>^something simple that just shows what you want out of the connection.</p><p>Here is my blurb that I usually say:</p><p>Hi ____, My name is <em>firstname </em>and I came across your profile as I was applying to an open position at <em>company name.</em> I see you *<em>reference a mutual interest (mutual connection, work, position). </em>I would love to gain more insight into your experience either in person or over the phone. Let me know what works best for you, thank you!</p><p>*Now from experience, what I’ve written above is based on the character length if you don’t have premium so this message should fit but obviously tweak it depending on other factors.</p><h3>Blog Posts / Technical Practice/ Github</h3><p>These three are important things to maintain when getting a job.</p><h4>Blogs</h4><p>When writing a technical blog it helps you understand the concept better. It allows you to really research a topic and ask the questions you normally might not have. Also being able to explain a technical concept in your own words will help you retain the information and better explain it in interviews.</p><h4>Technical Practice</h4><p>Technical practice is key. Algorithms are an important part of the interview process. Below are some great resources.</p><p><a href="https://leetcode.com/">LeetCode</a></p><p><a href="https://www.interviewcake.com/">Interview Cake</a></p><p><a href="https://www.pramp.com/#/">Pramp</a> — Practice mock interviews with peers</p><p><a href="https://www.interviewbit.com/">Interview Bit</a></p><p><a href="https://www.hackerrank.com/">HackerRank</a></p><h4>Github</h4><p>When searching for jobs, it’s easy to stop coding. However, this is the most important thing to do. Maintaining your github account by showing your commits is important and something recruiters look at. I’ve found it helpful to create small projects on things you want to learn or create one large project that you want to do.</p><h3>Happy Job Seeking!</h3><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ed040c681e13" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SQLite3 Demo]]></title>
            <link>https://medium.com/@aschemily/sqlite3-demo-73bf9361bfbc?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/73bf9361bfbc</guid>
            <category><![CDATA[sql]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Tue, 18 Jun 2019 17:40:46 GMT</pubDate>
            <atom:updated>2019-06-18T17:40:46.998Z</atom:updated>
            <content:encoded><![CDATA[<p>In this blog post I’m going to be doing a small demo, creating a SQLite3 database. This is something I’ve been meaning to do for myself to practice and get a refresher on SQL. I’m basing this post on Flatiron’s curriculum on learn.co as I thought it was the most helpful. Hopefully this blog post will help and/or inspire others to do the same!</p><h3>Pronounced SEQUAL- What Is It?</h3><p>SQL stands for Structured Query Language. Unlike other languages that are out there, SQL’s only purpose is for talking to databases. This language can also be referred to as a “domain specific” programming language. There are many database systems that SQL interacts with such as MySQL, PostgreSQL and SQLite. I’m going to be doing the demo in SQLite.</p><h3>Set Up</h3><ol><li>In the terminal write: which sqlite3 =&gt; return should be /usr/bin/sqlite3</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/175/1*vk29BtJoO-tg15SFaITMNw.png" /><figcaption>This means SQLite3 is already on your computer!</figcaption></figure><p>2. If not, go to SQLite Download Page<a href="https://www.sqlite.org/download.html"> here</a>.</p><h4>Continuing after downloaded…</h4><p>3. Paste: sqlite3 test_sqlite.db</p><p>b. Paste: create table test_table<strong>(</strong>id<strong>)</strong>; =&gt; we’re creating a database called “Test Table”</p><h4>** ; ** is highly important to terminate the session, otherwise you will be trapped!! You can also do .quit</h4><p>It happened to me doing this just now. The .quit will also take you back to the directory but just don’t forget the ;. You can add it on the next line also in case you did forget it the first time around!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/463/1*HKgtozCdHQ03cX0ZkU6otg.png" /></figure><h4>Creating the table</h4><p>We are create a dogs table because I love dogs and based on my previous post about my dog, Benny I thought I would continue the theme.</p><ol><li>So to get back into the database you should see this. **pay no mind to my other projects but you can see it at the bottom! Now you can’t cd into it so instead run sqlite3 whatever_table_name.db in this case test_sqlite.db</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/559/1*6PyNeNbPBuCYZjMtZwY7fQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/473/1*9iF_40RITvPAuKpRkqsbfw.png" /></figure><p>2. Now that we’re in SQLite database let’s create a table for dogs. I’m giving the attributes name, age and breed. **Notice the error- it is because we need to specify some column names. You can see the specifics that I say integer for age and text for name, which is important.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/678/1*R_0UsQVTmIlAzXPnPH_ilQ.png" /></figure><p>3. To check what we have so far you can run the .tables and .schema command. See below on what we have so far!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/676/1*O8pY1iAmMdCB8ca_NRUmjg.png" /></figure><h4>Writing in a Text Editor!</h4><ol><li>I’ve put everything in a folder for convenience so you can start that by writing in your terminal mkdir folder_name. Then create a file by writing the command touch file_name.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/241/1*YJSQqadqLhusIyKXIvSTpQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/451/1*K8HE1yV2LHOo34yJZd3_MQ.png" /></figure><p>2. It should look like so! You can see by this line “sqlite3 test_sqlite.db &lt; 01_add_columns_to_dogs.sql” connects the two.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/714/1*OkmL_kc8ymvggne4WoMs5Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/766/1*74oO-7OS7XK-x6BNg_XBuQ.png" /></figure><h4>Adding Data!!</h4><ol><li>Finally we can start adding data. We can do this in our terminal and text editor. I will demonstrate both using INSERT INTO</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/930/1*F6srnIKIk2PPJF8hs4pShw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/865/1*BLgaUFgbLDLVertMHKcTDw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/705/1*1Q2SkBxdH6mXRU3wpcgkTw.png" /></figure><p>As you can see now we have some doggies in our database!!! Now when using your text editor based on the example make sure you do separate INSERT INTO’s. Also because we had id as primary key it automatically assigns it for us, which is why you don’t need to add it yourself.</p><h3>OKAY ONTO THE FUN STUFF!</h3><p>I’ve quickly created an owners table so that we can see the joins and how they work! Below is a quick visual of the updated schema and the owners table with name and age.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/655/1*4cVQLub0XsxS9Gd-AUEWQw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/346/1*zd58Pqki8YpOH_U2XTjuNg.png" /><figcaption>updated dog table</figcaption></figure><h3>THE JOINS</h3><p>Below is an overview of the joins and it is what I’m going to be demonstrating with the tables we have created.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/755/1*11GVhwOKPNvxllVkdMTjYA.png" /></figure><h4>Inner Join</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/403/1*gPo0AuEt57IOwi9s-FNxXA.png" /><figcaption>Boiler plate</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/650/1*sVer9u-3cVisUCyYRfsvuA.png" /><figcaption>Our example that returned the data with the specified columns</figcaption></figure><p>If our dog didn’t have an owner id assigned or had an id of an owner that didn’t exist in our owners table they would not show up in this inner join. INNER JOIN returns all the data where the statement is TRUE.</p><h4>Left Join</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/551/1*jz5T7gbeGwD4dmCneDX9BQ.png" /><figcaption>Boiler Plate</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/658/1*UJc9nXTFhWwfrjsMeyaWNQ.png" /></figure><p>Now, say that we had a pet that didn’t have an owner. In the INNER JOIN method the dog would be excluded but in the LEFT JOIN method it would return the dog regardless — it would just leave an empty space where the owners name would be</p><h4>*RIGHT JOIN and FULL JOIN are not supported by SQLite but I have posted the boiler plate of what they would look like.</h4><h4>Right Join</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/420/1*brVe0xEYx3zo54YTfWmP6g.png" /></figure><p>Now if we created another owner that didn’t have a pet and we did RIGHT JOIN we would see the owner’s name but with no pet information.</p><h4>Full Join</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/440/1*Yfk-GJv9s5fkQ47nzb8lZQ.png" /></figure><p>The FULL JOIN would include both the dog without the own and the owner without the dog. To sum it up ALL THE DATA.</p><h3>Conclusion</h3><p>This was super helpful for me and I hope it helps others! Again, the resources I used were from Flatiron Schools Learn.co.There’s a lot more to do with SQL and other databases, which I may do in my next blog post. Happy Coding!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=73bf9361bfbc" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[HTML5 Semantic: A Simple Web Page]]></title>
            <link>https://medium.com/@aschemily/html5-semantic-a-simple-web-page-246541d742aa?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/246541d742aa</guid>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Fri, 14 Jun 2019 16:27:25 GMT</pubDate>
            <atom:updated>2019-06-14T16:27:25.173Z</atom:updated>
            <content:encoded><![CDATA[<p>This blog post is to demonstrate a very simple single page website utilizing semantic html and some custom css. I thought this blog post would be a good chance to practice and do further research into what exactly is semantic html. I decided to turn this into a fun little webpage about my dog Benny.</p><h3>Overview of Semantic</h3><blockquote>“ “Semantic HTML” refers to the idea that all your HTML markup should convey the underlying meaning of your content — not its appearance.”-<a href="https://internetingishard.com/html-and-css/semantic-html/">internetingishard</a></blockquote><p>Interneting is hard wrote a great article discussing semantic html with clear visuals, which I have used in my blog. As you can see below the &lt;div&gt; tag can be used in any aspect of a web page. However now with HTML5 there are elements specifically designed provide a clear distinction on the layout of the of the web page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/934/1*_6t8uJD-ryepugSs78i50Q.png" /></figure><h4>Benefits of Semantic</h4><p>When using the alternative tags such as the ones above and many others, it allows for search engines, screen readers, browsers, etc. to properly load content creating a clear hierarchy. This helps people with disabilities better understand the content on the page.</p><p>Below is another visual that represents a template for using semantic html. Here you can clearly see where the elements go. It’s what users are used to seeing everyday even without knowing any html. You can clearly identify what’s the header, where the article goes and what the aside element is used for.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/556/1*AMP9wsLTsLXR6Fpc3rZQYQ.png" /></figure><p>I tried to simply replicate the above using some of the tags. Based on the code and the photo above you can see the HTML elements that I’ve used.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QRI-9p76JPUvlg-wv6gbdg.png" /></figure><h3>Toggle Summary and Details</h3><p>The details and summary elements is something I want to highlight. My TCF from Flatiron brought this up our slack group and it’s super convenient and definitely something I wanted to share.</p><p>The details and summary element provide a toggle feature. The summary element is the header/label/title for what you want to display and the &lt;other tag&gt; is the content. Below is an example of the toggle feature displaying another photo along with the code I’ve used.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4n0_cscq_gRJxECFoKKQYA.png" /></figure><p>As you can see above, once it title was clicked it displayed another image of Benny. Now it can include anything you want but I just wanted to show another photo. Also you can see the &lt;aside&gt; element is still there on the right.</p><p>This was just a fun side note and something I wish I had known earlier and wanted to share with everyone in case they needed to do an easy toggle action!</p><h3>Semantic Elements and their description</h3><p>Below is a table from w3 schools that provides the elements uses. They have the ones I’ve used but also others that I haven’t but recommend to try yourself!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/905/1*JgEkEenQwTNL55fAsbkNgA.png" /></figure><h3>HTML &amp; CSS Code</h3><p>In conclusion this was a fun little project to do and learn more about semantic html and do some custom css. Below I have provided my HTMl and CSS code along with the link to the repo <a href="https://github.com/aschemily/html5Semantic">here</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/990/1*hSPTN6GCU30LFeR8p_j8Gw.png" /></figure><h3>Resources:</h3><p><a href="https://internetingishard.com/html-and-css/semantic-html/">Semantic HTML — Interneting is hard</a></p><p><a href="https://www.w3schools.com/html/html5_semantic_elements.asp">HTML5 Semantic Elements — w3schools</a></p><p><a href="http://seekbrevity.com/semantic-markup-important-web-design/">Semantic HTML For Meaningful Webpages</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=246541d742aa" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is a Developer Advocate?]]></title>
            <link>https://medium.com/@aschemily/what-is-a-developer-advocate-c171f726c961?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/c171f726c961</guid>
            <category><![CDATA[tech]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Thu, 06 Jun 2019 15:42:48 GMT</pubDate>
            <atom:updated>2019-06-06T15:42:48.754Z</atom:updated>
            <content:encoded><![CDATA[<p>As I’m continuing my job search to get into the tech industry I’m constantly learning about other opportunities and jobs companies have to offer. Since I graduated Flatiron School I’ve been doing research for entry level/junior software engineering roles or front-end positions. It wasn’t until this past weekend when I went upstate to a friends house and met this man who worked at IBM. He said to check out career opportunities and that’s when I found an open Developer Advocate position. Now, I’ve never heard of a Developer Advocate before but the job description seemed to merge my love for coding, continuous learning and working with a wide range of people. This article is to help provide insight into the position and inform people of all the great opportunities that are in the tech industry!</p><h3>General Overview</h3><blockquote>“A Developer Advocate is someone who truly advocates for developers, not just a platform. Developers should be the Developer Advocate’s top priority.”-Wassim Chegham</blockquote><p>Wassim Chegham who was quoted above is a Developer Advocate who wrote about her experience. To start off Developer Advocates are engineers. It’s presumed that advocates would fall into the marketing or sales team but advocates are really part of the engineering team. The reason for the assumption is because Developer Advocates are the ones who are out there attending conferences, meetups, hackathons, writing online tutorials, etc. They’re the ones advocating for their companies products, representing software engineers and being the voice of the user.</p><h3>What are the skills needed to be a Developer Advocate?</h3><h4>People Skills</h4><p>One of the most common themes to be a Developer Advocate is people skills. Yes, you do need a technical background to be able to converse about the tech topics but people skills go a long way. Being an advocate you’re constantly engaging with the dev community and gaining feedback with the goals in mind that you’re producing the right product for its users. It’s a continuous learning cycle where you’re constantly learning and then educating others. This skill is important as you are interacting with a wide variety of people with different skills sets and background.</p><h4>Public Speaking</h4><p>Another skill that comes up a lot as a Developer Advocate is public speaking. You need to be comfortable speaking at conferences, running workshops or events. Now, this skill may deter some people from this position but hopefully not. And if it does, I don’t blame you either. Public speaking is hard and especially if you are talking to people in the tech industry about high level concepts that could be intimidating. But overtime and with practice this skill will hopefully be less intimidating.</p><h4>Building Apps!</h4><p>Now I’ve heard a mix review of people and my general conclusion is that it really depends on the company on how much you are coding. Some companies have Developer Advocates travel more and code less, others have them get right into building apps, fixing code, etc. But in order to be an advocate for products you should probably test it out yourself and build something! Whether that be in your free time or part of the job. To advocate for a developer and certain products experiencing the ins and outs firsthand can really help communicate to other developers and also see where they’re coming from.</p><h4>Communication is KEY</h4><p>Being able to effectively communicate is essential to this job. Pretty much all these skills go under the category of communicating. Not only being able to communicate tech concepts clearly to others but also communicating to your company, your team and other developers. Advocates want to share their knowledge and have it make an impact. Advocates write blogs, do online tutorials, research, chat with others, etc. They’re the people that care so much about the community that they want to dedicate their job to sharing their knowledge and meeting like mind people!</p><h3>Does this seem right for you?</h3><p>After this overview does this seem like an interesting position for you? It sure does combine ones love for tech and people. For more information I’ve provided the resources I found. I also linked Google Developers program, which is a program where people are recognized for having exemplary expertise in one or more of Google Developer products. In some of the references I’ve listed below there were some developer advocates that were apart of GDE. To learn more about their experience of GDE in general check out the links!</p><h3>References:</h3><p><a href="https://medium.com/@ashleymcnamara/what-is-developer-advocacy-3a92442b627c">What is Developer Advocacy?</a></p><p><a href="https://www.keyvalues.com/blog/what-exactly-do-developer-advocates-do">What exactly do developer advocates do?</a></p><p><a href="https://www.freecodecamp.org/news/what-the-heck-is-a-developer-advocate-87ab4faccfc4/">What the heck is a Developer Advocate?</a></p><p><a href="https://developers.google.com/programs/experts/">Google Developer Experts</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c171f726c961" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What is an API?]]></title>
            <link>https://medium.com/@aschemily/what-is-an-api-851f212117b4?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/851f212117b4</guid>
            <category><![CDATA[api]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Wed, 29 May 2019 19:45:00 GMT</pubDate>
            <atom:updated>2019-05-29T19:45:00.552Z</atom:updated>
            <content:encoded><![CDATA[<p>As part of my blog series of topics I should know as an aspiring software engineer. One of the most common words I hear all the time is API. So as I have built API’s using Ruby on Rails and also implemented third party API’s I still didn’t think I could explain it in an interview. So this blog is to help myself along with others who are interested or going through this process to learn exactly what is an API.</p><p>“APIs are standardized tools for software to communicate with other software, leading to faster development and innovation.” <a href="http://developer.pearson.com/blog/whats-api-3-ways-explain-it">Julie Bai</a></p><h3>So what is an API?</h3><p>To start off API stands for Application Program Interface. So what does that even mean? To help with the explanation I found this great article by Calum McClelland, which I have linked to the bottom who gives a great analogy- ordering food. I am going to summarize it below with my twist of examples.</p><h4>Ordering Food Analogy</h4><p>To set the scene: you’re at home, lazy and hungry. You want to order some food and decide on Shake Shack. You’re looking at the menu and decide on a double shack burger with cheese fries and a chocolate shake. You submit you’re order and it’s passed along until it’s received to Shake Shack’s kitchen. There a series of steps that are happening that you’re not even aware of but you don’t care. The dish is now delivered to you and you can eat happily ever after.</p><p>But wait! You’re hungry and want dessert. Again you’re too lazy to go outside so you decide to order Baked By Melissa cupcakes. Now what would happen if you tried to order off the Shake Shack’s menu at Baked By Melissa. There would be some serious head turns and you definitely would not get the dish you ordered.</p><p>SO What is an API? It’s similar to a MENU.</p><p>Going back to programming. You’re the program and the restaurants are also programs that you want to interact with. In order to receive what you want you needed to make a request in a specific manner (menu). If you tried to request the food you wanted in a different way (ie. ordering from the wrong menu) you won’t get what you want.</p><p>APIs have specific commands set and when a program uses an API a bunch of stuff is happening from that program and then sends back what was requested. To tie it back in, the restaurant(a program) is in charge of the menu (API) and when it receives a request from another program (YOU) it does a bunch of stuff and then gives you what you ordered.</p><ul><li>Now this analogy has it’s flukes but it’s a way to better conceptualize what is happening and certainly helped me better understand what an API is.</li></ul><h4>** Going back to “What is an API?”</h4><p>Another example Calum used was implementing a weather.com API. Many applications use it on their apps. By using the weather API you can request certain data and display it on your program for your users to see. This allows users to check the weather without having to go to weather.com or other sites to check it. A specification of what data you want from the weather.com API would be if you’re building an app that only pertains to NYC. You can specific and manipulate the data to only display NYC’s weather.</p><h3>API vs Web Services</h3><p>I found this great article by Anwar Samer, which I have linked to the bottom of the website. To quote below:</p><blockquote>“ All Web services are APIs but all APIs are not Web services.” Anwar Samer</blockquote><p>Let’s discuss APIs first. We know that an API is meant to interact between software programs. A web service can be tied in when data is being sent over a network. To go into the second part of the quote “APIs are not Web services” is because it doesn’t need to a network for operation.</p><p>“APIs can be exposed in a number of ways which include: COM objects, DLL and .H files in C/C++ programming language, JAR files or RMI in Java, <a href="http://www.differencebetween.net/technology/difference-between-xml-and-xsd/">XML</a> over HTTP, JSON over HTTP, etc.”</p><p>Web Services only use: SOAP, REST, XML-RPC</p><h3>Conclusion</h3><p>My takeaway from learning what an API is, is that an API is a software intermediary that gives the ability for two programs to communicate with each other. There are a specific set of rules for an API and when they’re not followed you won’t get your expected result. Other examples of API’s are: YouTube API, Spotify API, Amazon Alexa API, Google Maps API, Yelp API, etc.</p><ul><li><a href="https://www.iotforall.com/what-is-an-api/">What is an API? - A Simple, Non-Technical Explanation | IoT For All</a></li><li><a href="http://developer.pearson.com/blog/whats-api-3-ways-explain-it">Developers Network</a></li><li><a href="https://medium.com/@programmerasi/difference-between-api-and-web-service-73c873573c9d">Difference Between API and Web Service</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=851f212117b4" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Object Oriented Programming: 4 Principles]]></title>
            <link>https://medium.com/@aschemily/object-oriented-programming-4-principles-621aa773cef7?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/621aa773cef7</guid>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Thu, 23 May 2019 21:01:30 GMT</pubDate>
            <atom:updated>2019-05-23T21:01:30.729Z</atom:updated>
            <content:encoded><![CDATA[<p>As a continuation on my job search I am trying to write blog posts that may pertain to interview questions. A lot of job descriptions list knowledge in OOP. After doing some research the 4 principles of OOP: abstraction, encapsulation, polymorphism and inheritance (AEPI) are what I’m going to be discussing.</p><p>Now I found some great articles on these that I will be referencing and linking as I go along and at the bottom of the article, so let’s begin!</p><h3>Abstraction</h3><p>I will be using Scott Pantall’s definitions for abstraction, encapsulation and inheritance. In his article he discusses OOP in Java but there are overlapping similarities. His article can be found <a href="http://scottpantall.com/2017/09/four-principles-object-oriented-programming-examples-java/">here</a>.</p><blockquote>“Abstraction is the process of hiding all but the relevant information about a thing to make things less complex and more efficient for the user.”</blockquote><p>In simpler terms, it allows one to focus on what the thing does instead of how it does it. The object is only exposing a certain aspect or operation that is relevant to the other objects.</p><p>An example would be a car. There are so many mechanisms that happen under the hood but all you really need to know is how to start it; put the key in the ignition and possibly press a pedal depending on the car (I don’t want to get too technical on this part). But the general idea is that you know what to do without knowing how a car is made.</p><h3>Encapsulation</h3><blockquote>“Encapsulation is the idea that the attributes of an entity are enclosed in that entity.”</blockquote><p>In simpler terms, it’s the idea to privatize data of an object so it is not directly exposed. The only way to have access is by calling public functions, methods. Below is an example of manipulating an object when it is not privatized. To fix this issue adding validation code such as having non numeric characters in the name and vice versa for age to ensure the name doesn’t contain a number and the age doesn’t contain a string.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/372/1*Ru-565_C8-aL0XRf7Sl6-g.png" /></figure><p>Another key point to encapsulation is binding between the private state and public methods. As the example above doesn’t show this, the state of Person would have private variables; name and age and possibly a private method called greeting(). Other classes wouldn’t be allow access greeting(). However, they can access any public method that is made. For example; hunger, mood, sleep.</p><h3>Polymorphism</h3><p>Alexander Petkov, gives a great definition of polymorphism, which I have posted <a href="https://medium.freecodecamp.org/object-oriented-programming-concepts-21bb035f7260">here</a>.</p><blockquote>“Simply put, polymorphism gives a way to use a class exactly like its parent so there’s no confusion with mixing types.<strong> </strong>But each child class keeps its own methods as they are.”</blockquote><p>I also found this great stackoverflow post, which I’ve quoted<a href="https://stackoverflow.com/questions/27642239/what-is-polymorphism-in-javascript"> here</a>.</p><blockquote>“It is the practice of designing objects to share behaviors and to be able to override shared behaviors with specific ones.”</blockquote><p>To refer back to my car example and also referencing the stack overflow example. There would be a car type, which would be a base and that would have subclasses, providing their own behaviors but still inherit from car. The base car would have make, model and year. A tow truck could be a sub class, which would have that along with tow truck specific properties such as a weight limit. Let’s see it in code!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/692/1*iuOAURhC7ihZPHOPOos_zQ.png" /></figure><p>Now this example isn’t showing inheritance but it is overriding the behavior of getInfo() and you can see the shared behaviors.</p><h3>Inheritance</h3><blockquote>“Inheritance is the idea that an entity can inherit attributes from another entity”</blockquote><p>When writing code, objects share common logic and it could get repetitive to repeat; remember keep it DRY. Inheritance allows this by extracting unique logic. Now I won’t go too in depth here because I’m currently working on another blog post that discusses class and prototypal inheritance. When I’m done with that I can link it here. For now I have done an example that was based off of Scott Pantall’s blog. I’ve just changed a few things as his is done in Java and mine in JavaScript but you can see both the dog and bird class inherit the greeting() method.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/867/1*YLSjF-eCKcD9y4xvnqwr4g.png" /></figure><h3>Conclusion</h3><p>After doing my research on these topics I believe I have a much better grasp of them. AEPI (not the fraternity) is easy to remember , there are more but I felt that these are the ones I’ve seen come up most and are important to know as an aspiring software developer. In conclusion OOP is a programming language model or programming paradigm. A concept in which objects contain data in the form of “fields” (attributes) and code is in the form of procedures (methods).</p><ul><li><a href="https://medium.freecodecamp.org/an-intro-to-object-oriented-programming-in-javascript-objects-prototypes-and-classes-5d135e7361b1">An intro to object-oriented programming in JavaScript: objects, prototypes, and classes</a></li><li><a href="https://medium.freecodecamp.org/object-oriented-programming-concepts-21bb035f7260">How to explain object-oriented programming concepts to a 6-year-old</a></li><li><a href="https://medium.freecodecamp.org/an-introduction-to-object-oriented-programming-in-javascript-8900124e316a">An introduction to Object-Oriented Programming in JavaScript</a></li></ul><p><a href="https://www.intertech.com/Blog/encapsulation-in-javascript/">https://www.intertech.com/Blog/encapsulation-in-javascript/</a></p><p><a href="https://stackoverflow.com/questions/27642239/what-is-polymorphism-in-javascript">https://stackoverflow.com/questions/27642239/what-is-polymorphism-in-javascript</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=621aa773cef7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Understanding Closures and Scopes JS]]></title>
            <link>https://medium.com/@aschemily/understanding-closures-and-scopes-js-5232a69869a6?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/5232a69869a6</guid>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Fri, 17 May 2019 16:48:20 GMT</pubDate>
            <atom:updated>2019-05-17T16:48:20.926Z</atom:updated>
            <content:encoded><![CDATA[<p>As I’m currently on the job hunt and practicing for technical interviews a common question that’s asked is on closures and scopes. I thought I would write a post about this for myself to better understand exactly what it is because I’ve always found it confusing. As always if there is any constructive feedback or suggestions for next time feel free to write in the comments below!</p><h3><strong>Definition of Closures</strong></h3><p>A simple definition I found from Mike Cronin’s medium post about closures is: “<em>A function inside another function that: 1) uses variables from its parent scope and 2) is exposed to the outside world.” </em>I usually hear/see complex definitions but after seeing this one, it’s pretty straight forward and not as threatening to understand. So to break this down I’m going to start at the first point and switch over to Scopes.</p><h3>Definition of Scopes</h3><p>To break this down even further there are two types of scopes: local and global. A global scope is a variable that is declared outside all functions or curly braces{}. A local Scope are variables that can only be used in specific parts of your code. There are two kinds of local scopes; function and block. Function scope is when a variable is declared inside a function and you can’t access it once you’re outside of the function. Now my understanding is that block scope is similar to function scope but specifically {a block scope is inside the curly braces like this}. So my takeaway here is that function scope is just inside the function but block scope is specific to variables declared inside the curly braces {}. I have posted my own examples below to better visualize.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/590/1*xayEC0YrWMANkTKlJyYdqw.png" /></figure><h3>Nested Scopes (One-way glass)</h3><p>I found this great article on css-tricks by Zell Liew who does a great job of explaining scopes and closures. I wanted to highlight this key analogy that he wrote about because he makes it so easy to visualize aside from the wonderful diagram he also provided.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/693/1*FwELhbunx634DwzDKW2-Zg.png" /></figure><p>To summarize the above when a function is defined inside another function the inner function has access to the outer functions variables but the outer function doesn’t have access to the inner functions variables. This is known as <strong>lexical scoping</strong>. You can see the outside but people from the outside cannot see you. My first thought was those fancy bathrooms with the fog glass (same same but not really). MOVING ON!</p><iframe src="https://cdn.embedly.com/widgets/media.html?url=https%3A%2F%2Fthumbs.gfycat.com%2FDeafeningImpeccableImperialeagle-size_restricted.gif&amp;src=https%3A%2F%2Fgfycat.com%2Fifr%2FDeafeningImpeccableImperialeagle&amp;type=text%2Fhtml&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;schema=gfycat" width="480" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/853696eef1d30e2a5af8ece7e724ed49/href">https://medium.com/media/853696eef1d30e2a5af8ece7e724ed49/href</a></iframe><h3>Going back to closures!</h3><p>Now that we have an understanding of scopes, let’s dive into closures. Also if you want more information I have referenced my resources at the bottom of this post! So to bring forth the second part of the definition of a closure, which is “a function in another function that is exposed to the outside world”. The “inner” function is the closure and is usually returned so you can access the outer functions variables at a later time. Sounds more or less easy to understand. Below I have tested this out for myself based on other examples I found. Notice there are two ways to return the inner function!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/588/1*NxFWp9JWsHdPhp7Lnejk5Q.png" /></figure><p>Based on the code above you can see the use of closures. We have private variables that can be accessed at our disposal and we can control side effects along with the variables being protected by any global variables. Let’s do another example! The next example is from Mike Cronin showing us the power of closures and how values cannot be altered or accessed by other functions aside from the closure itself. *This is my take on his example in his blog post, where he uses x and y variables along with multiplication to show the function behavior.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OB2jzW9SLR8E3qVoc3Qyqg.png" /></figure><p>Notice how a global variable values are unprotected and can alter the functions return behavior. However when protected by closures one does not need to worry about a variable values changing or the behavior of the function.</p><h3>Conclusion</h3><p>Scopes and closures go hand in hand and it can be a confusing concept to understand, certainly intimidating in an interview. A strong takeaway is knowing that a closure is a function inside another function. When you hear scopes think of a one-way glass. You can see outside but the outside can’t see you. Translation to programming: the inner function has access to the outside variables but the outside variables can’t access the inner function’s. I hope this is helpful to others as it was to me!</p><ul><li><a href="https://itnext.io/a-beginners-guide-to-understanding-javascript-closures-b5eb57fdbeb4">A beginner’s guide to understanding JavaScript Closures</a></li><li><a href="https://blog.mgechev.com/2012/08/29/self-invoking-functions-in-javascript-or-immediately-invoked-function-expression/">Self-invoking functions in JavaScript (or Immediately Invoked Function Expressions)</a></li></ul><p><a href="https://css-tricks.com/javascript-scope-closures/">https://css-tricks.com/javascript-scope-closures/</a></p><p><a href="https://www.w3schools.com/js/js_function_closures.asp">https://www.w3schools.com/js/js_function_closures.asp</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5232a69869a6" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Naming Tips & Tricks- Rails & React]]></title>
            <link>https://medium.com/@aschemily/naming-tips-tricks-rails-react-93c7ba9fc378?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/93c7ba9fc378</guid>
            <category><![CDATA[react]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Mon, 25 Feb 2019 17:19:25 GMT</pubDate>
            <atom:updated>2019-02-25T17:19:25.000Z</atom:updated>
            <content:encoded><![CDATA[<p>As I’m currently in the midst of my final project at my coding bootcamp, I thought a nice blog to write about would be some tips and tricks on how to name your files/ projects/ components. To give a brief overview I am using a Rails backend with React Frontend eventually going to implement redux, which I will add to the blog at a later date.</p><p>Naming things in programming can be thought of as easy but is a challenging task for most. The idea of making sure you’re naming your classes ‘right’ or in a clear way so that other people who are reading your code can understand what is happening. I have fallen victim to poor naming and currently still do. I’m hoping with these tips I’ve learned from other sources and from my experience will help you when starting your project.</p><h3>Ruby on Rails:</h3><p>Below I am reiterating these rules that I got from Ian Green Leaf on github. Link <a href="https://gist.github.com/iangreenleaf/b206d09c587e8fc6399e">here.</a> Super helpful, I am just adding my own project to show as an example.</p><h4>General Ruby conventions:</h4><ol><li>Class names are CamelCase</li><li>Methods and variables are snake_case</li><li>Methods with a ? suffix will return a boolean.</li><li>Methods with a ! suffix mean one of two things: either the method operates destructively in some fashion, or it will raise and exception instead of failing (such as Rails models&#39; #save! vs. #save).</li><li>In documentation, ::method_name denotes a <em>class method</em>, while #method_name denotes a <em>instance method</em>.</li></ol><h4>Database:</h4><ol><li><em>Database tables</em> use snake_case. Table names are plural.</li><li><em>Column names</em> in the database use snake_case, but are generally singular.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/469/1*MsmwNm_DAvHwAqzTk9mbkg.png" /><figcaption>example from my project</figcaption></figure><h4>Model:</h4><ol><li><em>Class names</em> use CamelCase. These are singular, and will map automatically to the plural database table name.</li><li>Model <em>attributes</em> and <em>methods</em> use snake_case and match the column names in the database. The UserFavorite knows to use the user_id field in the database based on the belongs_to relationship. From the User model you can find all the favorites that pertain to that user based on the has_many, through: relationship.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/427/1*adNSqlihDR8Q9UiJsIVCyQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/380/1*RLBkz9uz0WxSzOsLKvz_sQ.png" /></figure><h4>Controllers:</h4><ol><li>Controller <em>class names</em> use CamelCase and have Controller as a suffix. The Controller suffix is always singular. The name of the resource is usually plural.</li><li>Controller <em>actions</em> use snake_case and usually match the standard route names Rails defines (index, show, new, create, edit, update, delete).</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/475/1*0gVpJ60a5rlGCIPInIcoFQ.png" /></figure><h4>Routes:</h4><ol><li>Route names are snake_case, and usually match the controller. Most of the time routes are plural and use the plural resources.</li><li><a href="http://edgeguides.rubyonrails.org/routing.html#singular-resources">Singular routes</a> are a special case. These use the singular resource and a singular resource name. However, they still map to a plural controller by default! — This is very important and got me stuck the first day I was working on my project. I was able to fix it so I don’t have what it looked like when I messed up so I will summarize the importance. I originally called it “user_fave”, which when turned singular is “user_fafe”- rails kept throwing an error because of this so just be mindful when naming.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/585/1*cvbcJp6Z4w-SU8vKzinMZg.png" /></figure><h3>React:</h3><p>In react I am mainly going to focus in the src folder and everything else will remain the same. Below is a look at what my src contains. The focus is mainly on components and containers and helpers is another folder which I am going to put redux (currently working on so not going to talk about it yet).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/186/1*jOvhyDpzrdEUCHVk7ECWgg.png" /></figure><h4>Presentational vs Container:</h4><ol><li>Presentational is concerned with how things look vs Container are concerned with how things work</li><li>Presentational example: <em>Page, Sidebar, Story, UserInfo, List.</em></li><li>Container examples: <em>UserPage, FollowersSidebar, StoryContainer, FollowedUserList.</em></li><li>It’s not as clear as in ruby throughout a projects lifetime of moving files between one or the other. So when starting just be clear on naming your files on what you think the purpose is going to be. In my container folder for some of my files I distinctly say “container” at the end.</li></ol><h4>Naming Components:</h4><ol><li>Be clear and unique to avoid any confusion</li><li>Naming a component is handy when debugging- in React Dev Tools the error comes with the component name- hence the importance of clear names to easily pinpoint the error</li><li>Components should be named according to it’s relative path example; src/container/TopicContainer.js; src/components/Topic.js</li><li>If a component is in a folder with the same name, don’t repeat the name, example: src/components/User/List/List.js would be named UserList NOT UserListList.</li></ol><h3>Conclusion:</h3><p>There are general rules to follow but also can name things essentially whatever you want. Just make sure that any file/folder/component/table/etc you name someone else reading your code can understand it without having to look in the file. It should be clear to others.</p><h3>Resources:</h3><ul><li><a href="https://hackernoon.com/structuring-projects-and-naming-components-in-react-1261b6e18d76">Structuring projects and naming components in React</a></li><li><a href="https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0">Presentational and Container Components</a></li></ul><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/777ae8b7d8916e565b84b704c088cf0c/href">https://medium.com/media/777ae8b7d8916e565b84b704c088cf0c/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=93c7ba9fc378" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A/B vs Multivariate Testing: Pros &Cons]]></title>
            <link>https://medium.com/@aschemily/a-b-vs-multivariate-testing-pros-cons-4cd8d189f5b1?source=rss-2164fca5e519------2</link>
            <guid isPermaLink="false">https://medium.com/p/4cd8d189f5b1</guid>
            <category><![CDATA[marketing]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Emily Asch]]></dc:creator>
            <pubDate>Thu, 31 Jan 2019 00:26:06 GMT</pubDate>
            <atom:updated>2019-01-31T00:26:06.134Z</atom:updated>
            <content:encoded><![CDATA[<h3>A/B Testing</h3><h4>What is A/B Testing?</h4><p>To get right into it A/B testing is a way to test two or more different versions of a webpage against each other and see which one performs better and causes more traffic. This can also be referred to as split testing or bucket testing. When performing this type of test you want to ensure you are splitting the traffic evenly amongst the pages you want tested- control group vs the variation pages.</p><h4>Pros</h4><p>The pros of A/B testing is that because the pages are so different from one another you can more easily define the successful webpage. For example: The photo below clearly shows two different layouts of a webpage with a check over the one on the left vs the right where we can assume that the left one was more successful. It looks more user friendly with a clear header, nice carousel below and cards displaying sometime of image with content below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*SwFwEm9rV1aOFd52pk2fOw.png" /></figure><h4>Cons</h4><p>After doing some research there seem to be quite a bit of downfalls to A/B testing despite it’s popularity. Below I’ve listed only a few with links to their sources if you want to take a deeper dive into them.</p><ul><li>Takes a long time to see results- especially if you’re a smaller site. It can be hard to test the variation page(s) if a small website gets little traffic. L<a href="https://www.noporkpies.com/blog/design/pros-and-cons-of-ab-testing/">ink here</a>.</li><li>Could take lots of time and resources: setting up the tests, everyone agreeing on the changes then implementing them with the designers and developers. <a href="https://www.experienceux.co.uk/ux-blog/the-pros-and-cons-of-ab-testing/">Link</a>.</li><li>Doesn’t solve usability problems: if you are implementing A/B testing in suspect that your website isn’t user friendly, it will be hard to measure and get the results you’re looking for. It’s recommended to use usability type testing to identify what the problem is. <a href="https://www.hooperdesign.co.uk/should-i-use-split-testing/">Link</a>.</li></ul><h3>Multivariate Testing</h3><h4>What is it?</h4><p>Multivariate testing uses the same mechanisms as A/B except that instead of testing a whole web page you’re testing the elements inside one webpage. The point of this is to test the elements on your webpage and determine which one is the most successful in accomplishing the objective of that page. Below is a good example of multivariate testing being used for the elements of a webpage. You can see that the image and headline are being tested oppose to redesigning the webpage itself.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/1*VrgKRwpjE2as4x6rNyBJBw.png" /></figure><h4>Pros</h4><p>It’s a great way to test out redesigning elements to see how they affect one another to either improve or lessen the webpage. This type of testing however is mainly for websites that have a ton of traffic so that testing these new elements can get meaningful results. Another example I thought was interesting was this company Veeam Software who ran a survey targeting visitors on their product page with the question “What other information would you like to see on this page?” and the answers that came back were pricing. The webpage already had a button that said “Request a quote”. They changed it to “Request Pricing” and received 161.66% increase in clicks. This subtle change is a good example of using multivariate testing and how one element change can affect the webpage.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/1*crTcMmTGvYLrh1cDqHukNQ.png" /></figure><h4>Cons</h4><p>As said previously to get strong results in multivariate testing it’s important that the webpage gets a ton of traffic, otherwise a low traffic website won’t be able to see the results. Another con is that because the experiment is factorial, if you have too many changing elements on a webpage it can quickly add up to the endless combinations and figuring out which ones work best together.</p><h3>Conclusion</h3><p>In conclusion both tests are very useful and can/should be used as needed separately or together. It’s not one way or another but goes on a case by case basis. They’re two very powerful optimization methods and it’s important to know their differences when creating a website.</p><h4>References:</h4><p><a href="https://medium.com/@InVisionApp/a-b-and-see-a-beginner-s-guide-to-a-b-testing-a16406f1a239">A/B and see: a beginner’s guide to A/B testing</a></p><p><a href="http://retail.strands.com/products/ab-testing/">http://retail.strands.com/products/ab-testing/</a></p><ul><li><a href="https://vwo.com/blog/increase-click-through-rate/">How changing a single word increased click through rate by 161% - Blog</a></li><li><a href="https://www.optimizely.com/optimization-glossary/multivariate-test-vs-ab-test/">Multivariate Testing vs A/B Testing</a></li><li><a href="https://www.noporkpies.com/blog/design/pros-and-cons-of-ab-testing/">The Pros and Cons of A/B Testing - No Pork Pies</a></li><li><a href="https://blog.hubspot.com/blog/tabid/6307/bid/30556/the-critical-difference-between-a-b-and-multivariate-tests.aspx">The Critical Difference Between A/B and Multivariate Tests</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4cd8d189f5b1" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>