Share
Embed
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
Transcript
61 slides
-
“Fluent is for everyone who has a hand in web
development, from front-end to back-end and everything in between.” -
Themes • Web Development & Standards • Git, JS, CSS,
Performance • Design • Performance • Culture • Diversity, Learning -
• Advanced Git tips and techniques • resetting • reflog
Gitting More Out of Git Jordan Kasper (Strongloop) -
Resetting ~$ git reset --hard origin/master ~$ git reset --hard
HEAD^ ~$ git reset --hard HEAD^^ -
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 -
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 -
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 -
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 -
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 -
JavaScript ECMAScript Harmony Brendan Eich (JS Creator) Eliminate JS Smells
Elijah Manor (Ramsey Solutions) -
• This dude is alive! • JS compilers are pretty
good • JS is ever evolving. Embrace the change ECMAScript Harmony Brendan Eich (JS Creator) -
Eliminate JS Smells Elijah Manor (Ramsey Solutions) • Standards for
non-smelly JS code • Techniques for eliminating smells -
• A concept on how to architect your Sass •
Keep your Sass scalable and modular SMACSS Your Sass Up Mina Markham (IBM Design) -
“This is not a homepage. It’s a collection of modules
that make up the homepage.” - Mina Markham -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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) -
https://medium.com/@zengabor/three-takeaways-for-web-developers-after-two- weeks-of-painfully-slow-internet-9e7f6d47726e • “Some sites never loaded” • “Takeaway 1:
Develop in extra slow emulated mode” Three Takeaways for Web Devs after 2 Weeks of Painfully Slow Internet -
"I used to be a reckless designer." - Yesenia Perez-Cruz
(Philadelphia, PA) -
• 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 -
Culture Diversity in Tech: The Distorted Truth Christina Truong Welcoming
the Web Estelle Weyl (standardista.com) Making Badass Developers Kathy Sierra (SeriousPony) -
Welcoming the Web Estelle Weyl (standardista.com) • The web development
community isn’t very welcoming to everyone (particularly non-male) -
- Estelle Weyl “50% of women in STEM leave due
to hostile work environments.” -
• There are cultural biases in the tech community Diversity
in Tech: The Distorted Truth Christina Truong -
“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." -
"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.” -
- 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." -
• Learn better by understanding the science of cognitive resources!
Making Badass Developers Kathy Sierra (SeriousPony) -
“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 -
Takeaways Web Development & Standards • Git • Get comfortable
with the reflog! • JS • Use linters! • Embrace the change -
Takeaways Web Development & Standards • CSS • Use Sass!
• SMACSS your Sass up • Performance • Make it a priority! • Use performance testing tools -
Takeaways Design • Performance • Performance is a UX concern!
• Design within a performance budget -
Takeaways Culture • Diversity • Be conscious of & identify
cultural & gender biases • Learning • Don’t make people choose cake • Utilize the A-B-C method