- Git is distributed version-control system (DVCS) and command-line tool that makes it easier to track changes to files during software development. It's useful for coordinating work among multiple engineers on a project.
- GitHub is a website and cloud-based service that allows developers to store their code. While the GitHub interface includes a lot of git command-line functionality (e.g. creating and merging branches), it also has proprietary functionality to make developers' and product managers' lives even easier (e.g. forking repos, making pull requests, creating "issues," etc.).
- Without GitHub, using Git generally requires a bit more technical savvy and use of the command line.
- Flexbox provides a more efficient way to lay out, align and distribute space among items in a container, even when their size is unknown and/or dynamic (hence "flex").
- My go-to resource for Flexbox is css-tricks.
In your own words please explain what an Event Listener is and its relationship to event propagation.
- An event listener is a Web API that represents an object that can handle an event dispatched by a target object. In other words, a listener watches for an event to be fired. Event propagation is the "bubbling" effect that relates to the order in which event handlers are called when one element is nested inside a second element, and both elements have registered a listener for the same event (e.g. a click).
- Side notes:
- Event handlers are sometimes called event listeners — they are pretty much interchangeable for our purposes, although strictly speaking, they work together.
- Web events are not part of the core JavaScript language — they are defined as part of the APIs built into the browser.
- MDN documentation:
- Web APIs - EventListener
- Introduction to events - Specifically, the "Event bubbling and capture" section.
- EventTarget.addEventListener()
- Side notes:
Which topics do you feel most comfortable about? / Which topics do you feel you could use some extra help on?
Linking a number of resources below each topic, many of which I read through (documentation) and did (online tutorials/courses) as I was getting started and still reference today to refresh (e.g. especially CSS and flexbox-related docs).
- HTML
- CSS
- Flexbox
- MDN: Basic concepts of flexbox
- MDN: Learn to style HTML using CSS > CSS layout > Flexbox
- CSS-Tricks: A Complete Guide to Flexbox (my favorite)
- Note: The best way to debug styling is to open Chrome dev tools, click on the element (e.g. parent
<div>
container) you'd like to change, and tweak the declarations (propery/value pairs) directly in the "Styles" section for that specific element.
- Event Listeners
- MDN: Web APIs - EventListener
- MDN: Introduction to events - Specifically, the "Event bubbling and capture" section.
- MDN: EventTarget.addEventListener()
- DOM / DOM Manipulation
- MDN: Introduction to the DOM
- MDN: Manipulating documents
- "Active learning: Basic DOM manipulation" section
- How important is mastery of html & css? What if I really prefer writing code? Is there a future for me?
- There's absolutely a future for you. For example, as a backend engineer, I didn't touch any HTML or CSS in my role. However, as a fullstack engineer, having a good foundation of HTML and CSS is important. Mastery comes with time and experience!
- When using flexbox. Do you always have to use display:flex to set your parent container?
- Yes, in order to use Flexbox, you need an element that will be the flex container. As you mentioned, in your CSS, you declare
display: flex
on the container.
- Yes, in order to use Flexbox, you need an element that will be the flex container. As you mentioned, in your CSS, you declare
- Please review linking HTML/CSS/JS and other web pages/sources
- I highly recommend going through MDN: Getting started with the Web, as this is a heavy lift to cover here. There are tracks for HTML, CSS, JavaScript, etc. on the left navigation bar in the aforementioned link that are well worth reading through.