This is a weekly roundup of awesome DEV comments that you may have missed. You are welcome and encouraged to boost posts and comments yourself using the #bestofdev tag.
This list is great but is missing some unicorns:
- Wesbos - Syntax.fm host and many insane quality tutorials
- Tyler McGinnis - Tyler is a wizard he breaks down complex concepts like no one
- Scott Tolinski - Syntax.fm host and great subscription-based courses
- Dan Shiffman - Hilarious dude
- Brad Traversy - Youtube King
- The Net Ninja - Really awesome youtube channel, he's wildly underrated
- Flavio Copes - I find his written tutorials very clear and concise
The Udemy band rocks too
If you work on a distributed team or with legacy code, and considering the potential for conflict (mostly with jQuery but some other libraries, and any code where someone may have used
document.getElementById(), as used to be common), I think it'd be a good idea to use trivially longer identifiers like this:
const $q = document.querySelector.bind(document); const $qa = document.querySelectorAll.bind(document);
This is similar to a common method of using jQuery in noConflict mode, e.g.:
const $j = jQuery.noConflict();
It could be judiciously extended for similar methods if you use them often enough.
I absolutely love programming books. I even more love the general purpose books (like mythical man month - a book still on my book pile).
The best multi purpose software engineering/programming books I've read were:
- The Pragmatic Programmer (Thomas Hunt)
- Clean Coder (Robert C. Martin)
- The Clean Coder (Martin again)
- Clean Architecture (and again :D)
- Python: Test-driven Development with Python (Harry J.W. Percival) - the book can be bought but is also free online readable -> obeythetestinggoat.com
- Nim: Nim in action
- Go: Building Microservices in Go
Still on my pile:
- The Mythical Man-Month
- Product Leadership
- Code Complete
- Rapid Development
- (and a lot of fictional books)
The Workspace Wednesday: Show off your desk/computer setup! was a fun opportunity to showcase our desks and workspaces. Plenty of people were liking @steveblue
My workspace is a work in progress for sure, but I like it! This is the desk I use working 100% remote.
Finally, in CSS Is Hard - How do you learn to use and write CSS properly? , @horus_sky
provided a number of tips for learning CSS. This comment could probably be converted to a great article 😉:
TBH I don't think CSS is hard. Like any other language, if you are not working with it consistently, it won't stick. I find JS hard due to it not being the language I work with continously. With that said, I would say:
Learn the Basics first
- Stay abreast to the basics before trying a framework.
- Always keep a resource open, w3schools.com, css-tricks.com, dev.to or Mozilla.
Learn layout techniques before frameworks
In many cases you don't really need a framework if you learn how to utilize grid and flexbox. However, I use them in conjuction with Bootstrap. Either way, these techniques are quite powerful on their own.
- If working with CSS Grid use Chris Coyiers guides as a resource: css-tricks.com/snippets/css/comple...
- If working with Flexbox use Chris Coyiers guides as a resource: css-tricks.com/snippets/css/a-guid...
Conquer the Cascade with Specificity
If you ever find yourself wondering why a style is being overwritten, it maybe due to a class being to general and not specific enough. This is where CSS Specificity comes in.
- Learn about CSS specificity, Emma Wedekind has a great article addressing this:
Learn to Center All the Things
There are cases where you may need to center an inline element, block element, flex, grid element, or plain text. There are best and different practices for each case.
- Learn to center elements vertically, horizontally, or both. Chris Coyier has a guide for that. css-tricks.com/centering-css-compl...
Next Step Advance Learning
Once you are more advanced and comfortable with the basics and all of the above, try:
- 5 Reasons To Use BEM: blog.elpassion.com/reasons-to-use-...
SASS: (Syntactically Awesome Style Sheets)
- Sass Basics: sass-lang.com/guide
Tools for Sass:
- Prepros: prepros.io/
- Koala: koala-app.com/
- Codekit: codekitapp.com/index.html
- VSCode also has some native handling and extensions for SASS
Hopefully this helps.
See you next week for more great comments ✌