Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fluent Knowledge Share

Fluent Knowledge Share

This is the slide deck for my Fluent Knowledge share on May 6th. Fluent was a web developer's conference in SF on April 20th-22nd; these are my takeaways from the sessions I attended.

Jefferson Lam

May 06, 2015
Tweet

More Decks by Jefferson Lam

Other Decks in Education

Transcript

  1. “Fluent is for everyone who has a hand in web

    development, from front-end to back-end and everything in between.”
  2. Themes • Web Development & Standards • Git, JS, CSS,

    Performance • Design • Performance • Culture • Diversity, Learning
  3. • Advanced Git tips and techniques • resetting • reflog

    Gitting More Out of Git Jordan Kasper (Strongloop)
  4. Reflog ~$ git reflog 84e1f6f HEAD@{0}: reset: moving to HEAD^

    d078d5e HEAD@{1}: commit: Fix a giant bug 84e1f6f HEAD@{2}: commit: Add a new feature! 142b98d HEAD@{3}: commit: First commit ~$ git reset --hard HEAD^ HEAD is now at 84e1f6f
  5. Reflog ~$ git reflog 84e1f6f HEAD@{0}: reset: moving to HEAD^

    d078d5e HEAD@{1}: commit: Fix a giant bug 84e1f6f HEAD@{2}: commit: Add a new feature! 142b98d HEAD@{3}: commit: First commit ~$ git reset --hard HEAD^ HEAD is now at 84e1f6f
  6. The Reflog never forgets (commits) ~$ git reflog 84e1f6f HEAD@{0}:

    reset: moving to HEAD^ d078d5e HEAD@{1}: commit: Fix a giant bug 84e1f6f HEAD@{2}: commit: Add a new feature! 142b98d HEAD@{3}: commit: First commit
  7. Undoing Things with Reset & Reflog ~$ git reset --hard

    HEAD@{1} HEAD is now at d078d5e ~$ git reflog d078d5e HEAD@{0}: reset: moving to HEAD@{1} 84e1f6f HEAD@{1}: reset: moving to HEAD^ d078d5e HEAD@{2}: commit: Fix a giant bug 84e1f6f HEAD@{3}: commit: Add a new feature! 142b98d HEAD@{3}: commit: First commit
  8. Undoing Things with Reset & Reflog ~$ git reset --hard

    HEAD@{1} HEAD is now at d078d5e ~$ git reflog d078d5e HEAD@{0}: reset: moving to HEAD@{1} 84e1f6f HEAD@{1}: reset: moving to HEAD^ d078d5e HEAD@{2}: commit: Fix a giant bug 84e1f6f HEAD@{3}: commit: Add a new feature! 142b98d HEAD@{3}: commit: First commit
  9. • This dude is alive! • JS compilers are pretty

    good • JS is ever evolving. Embrace the change ECMAScript Harmony Brendan Eich (JS Creator)
  10. Eliminate JS Smells Elijah Manor (Ramsey Solutions) • Standards for

    non-smelly JS code • Techniques for eliminating smells
  11. • A concept on how to architect your Sass •

    Keep your Sass scalable and modular SMACSS Your Sass Up Mina Markham (IBM Design)
  12. “This is not a homepage. It’s a collection of modules

    that make up the homepage.” - Mina Markham
  13. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  14. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  15. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  16. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  17. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  18. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  19. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  20. Example SMACSS Architecture + scss/ | | + base/ #

    reset, typography, site-wide | | + layout/ # major components, e.g., header, footer etc. | | + modules/ # minor components, e.g., buttons, widgets etc. | | + states/ # js-based classes, alternative states e.g., success or error | | + themes/ # (optional) separate theme files | | + utilities/ # non-CSS outputs (i.e. mixins, variables) & non-modules | | + _shame.scss # because hacks happen
  21. Performance How Users Perceive the Speed of The Web Paul

    Irish (Google Chrome) Extreme Mobile Web Performance Maximiliano Firtman Design + Performance Steve Souders (SpeedCurve) Automate Your Site's Front-End Performance Kitt Hodsden (CodingClan LLC)
  22. • Chrome Dev Tools • throttling, timeline • http://www.webpagetest.org •

    http://whatdoesmysitecost.com/ • In-browser reminders during development • e.g. Etsy engis use in-browser performance widget • Have a performance budget • ms, kb Tools & Techniques
  23. Culture Diversity in Tech: The Distorted Truth Christina Truong Welcoming

    the Web Estelle Weyl (standardista.com) Making Badass Developers Kathy Sierra (SeriousPony)
  24. Welcoming the Web Estelle Weyl (standardista.com) • The web development

    community isn’t very welcoming to everyone (particularly non-male)
  25. - Estelle Weyl “50% of women in STEM leave due

    to hostile work environments.”
  26. • There are cultural biases in the tech community Diversity

    in Tech: The Distorted Truth Christina Truong
  27. “It wasn’t long before I realized I was different, and

    my presence made other people curious, or even uncomfortable." - Christina Truong "I learned to make myself less different, just so I could make my life a little easier." "What I didn't realize at the time was that I was casually erasing my identity."
  28. "English-speaking employers in Montreal, Toronto, and Vancouver were 35% more

    likely to interview an applicant with an English sounding name.” - Christina Truong “In a study where the same resume was screened under two different names - Jennifer and John - Jennifer was perceived as less competent than John.”
  29. - Christina Truong "It's difficult to confront or admit you

    may harbor feelings that go against your beliefs about equality, but identifying it is the first step to correcting it."
  30. • Learn better by understanding the science of cognitive resources!

    Making Badass Developers Kathy Sierra (SeriousPony)
  31. “When you ask experts ‘how did you do that?’, they

    don’t know, they just know.” “Whatever you practice, the longer you practice being a beginner at it, the better you get at staying a beginner.” - Kathy Sierra
  32. Takeaways Web Development & Standards • Git • Get comfortable

    with the reflog! • JS • Use linters! • Embrace the change
  33. Takeaways Web Development & Standards • CSS • Use Sass!

    • SMACSS your Sass up • Performance • Make it a priority! • Use performance testing tools
  34. Takeaways Culture • Diversity • Be conscious of & identify

    cultural & gender biases • Learning • Don’t make people choose cake • Utilize the A-B-C method