Self-Taught Developer Journal, Day 4: C, CSS, Reminders to Myself, and Code Buddies
Tags: todayilearned, devjournal, beginners, codenewbie
Published: 2021-11-24 04:49:14

Today I learned....

## C
Understanding character input and outputs is harder than I thought. I am still on Chapter 1 of The C Programming Language and I am on the section going over programs for processing character data. I was doing an exercises for line counts and got stuck on a few. I marked the parts I am confused about to return to at a later time.

## CSS
* **Attribute Selector** matches elements based on the presence or value of a given attribute. They are not commonly used.

        input[type="password"] {
            color: green;
        }

* **Pseudo Elements** is a keyword added to a selector that lets you style a specific part of the selected element(s)

        p::first-line {
            color: purple;
        }

* Pseudo Classes vs Elements
  * Pseudo Classes styles based on the states of the elements.
  * Pseudo Elements style specific parts of an element(s).

* **CSS Cascade** order of elements being declared matter. Later elements are overwritten as you go further down the style sheet.

* **Specificity** is how the browser decides which rules to apply when multiple rules could apply to the same element. The more specific selector wins.

  * Specificity Selector Order:
     * ID > Class > Element 
     * [Specificity Calculator](https://specificity.keegan.st/)


* **Inline Styles and Important**
  * Inline styles styles a single element using the "style" attribute in the HTML document. It's specificity wins over ID, but is avoided because it can lead to confusion when using a style sheet.

  * Important, or the important exception, overrides any other declaration and is considered bad practice.

* **Inheritance**
  *  Styles will be inherited from parent elements
  * Some elements don't inherit by default, but you can explicitly add "inherit" to those elements add that behavior if they are able to be inheritable.

## Reminder Resources to Myself
I was having a tough time yesterday so I made some resources for myself for when I feel self-doubt again. Their stories have helped me inspire me to keep going:
* [How To Become a Self-taught Developer (Advice and Stories From Actual Self-taught Developers)](https://www.youtube.com/watch?v=_ORc-ckmgHw)
* [10 Tips For New Self-Taught Developers In Learning To Code - Advice From A Fellow Self-Taught Developer by Ayu Adiati](https://dev.to/adiatiayu/10-tips-for-new-self-taught-developers-in-learning-to-code-advice-from-a-fellow-self-taught-developer-15o5)
* [Chris Sean](https://www.youtube.com/c/ChrisSean)
* [Ann Adaya](https://annadaya.medium.com/)
  * A quote from one of her articles I was inspired by, *"Life is too short to settle to things that are safe, that doesn’t make you get up every morning inspired and fulfilled. I hope you choose the life that makes you feel alive, that makes you get up in the morning. I hope you will find the courage to fight for the life that you want."*

I Joined [Code Buddies](https://codebuddies.org/)!
* I stumbled on them looking through this repo online: https://github.com/sophi-li/OKRs-self-learning

Resources:
https://developer.mozilla.org/en-US/docs/Web/CSS
The Web Developer Bootcamp 2022 by Colt Steele

Day 3: https://dev.to/jennifer_tieu/self-taught-developer-journey-day-3-1ofg
Please refer to [Starting My Self-Taught Developer Journey]( https://dev.to/jennifer_tieu/starting-my-self-taught-developer-journey-2dga) for context.