(Hey, we're having problems showing images in RSS right now, so if you want a better reading experience, consider viewing this article online [here](https://zellwk.com//blog/building-components-in-astro. We hope to fix this soon!). "If you're using ... more
(Hey, we're having problems showing images in RSS right now, so if you want a better reading experience, consider viewing this article online [here](https://zellwk.com//blog/overcoming-astro-styling-frustrations. We hope to fix this soon!). After using ... more
(Hey, we're having problems showing images in RSS right now, so if you want a better reading experience, consider viewing this article online [here](https://zellwk.com//blog/astro-fancy-list-item. We hope to fix this soon!). You probably saw many websites ... more
I found a better way to write classes as I dove into my latest project. This approach is much better than BEM and I’m excited to share it with you today. Long story short: The better way is to use write classes in a camel-cased syntax. Now, hear me out ... more
I like to use both Svelte and MDX when I work with Astro… but I encounter a problem when using all three of them at once — I can import an MDX file directly into Astro, but can I import MDX into Svelte? Normally, you can’t. But there’s a way to use MDX ... more
Many people have voiced strong opinions about whether one should use Cookies or localStorage to store credentials like access tokens. The common argument is cookies are more secure, but localStorage is easier to use. From my research, I believe neither ... more
Fetch has a credentials option that can be used to send credentials to servers. It has three possible values — omit , same-origin , and include . What does each of these three values do? Does Fetch send cookies to specific servers only? Does Fetch send ... more
The coding environment is one of the most important things for a developer. If you set up your coding environment with the right Linters and Formatters, coding will be very simple. If you don’t, coding will be a nightmare. Why? Because linters and formatters ... more
Whatever you yearn to be — be it a developer, a writer, a designer or anything else in the world — never let anyone stop you from pursuing your dreams. Your dream is something precious to you . It directs the way you want to manifest in this lifetime. ... more
The easiest way to install Node is head over to NodeJS’s website and download the LTS version. The LTS Version is good enough for most users. I use LTS myself. The Current version is the latest available version. Developers will be making changes and ... more
I went about researching web security recently as I was writing Understanding Asynchronous JavaScript — I wanted to make sure my recommendations were secure and I’m not doing any of my students a disservice with my recommendations. Unfortunately, articles ... more
One of the problems with localStorage is it takes in only string values. If you want to save an object, you have to convert it into JSON with JSON.stringify . When you retrieve objects from localStorage, you need to convert the JSON value back into JavaScript ... more
Many people are trapped in tutorial hell — they hop from one tutorial to another, to another, to another, never building something on their own. And they’re ashamed of it. Don’t be ashamed of tutorial hell. You go through tutorials for many reasons: ... more
Have you noticed you write a lot of asynchronous code in Express request handlers? This is normal because you need to communicate with the database, the file system, and other APIs. When you have so much asynchronous code, it helps to use Async/await. ... more
It is possible to use packages installed in node_modules in your frontend without any bundlers today. This is amazing because we don’t need to create complicated workflows to reuse code — we can simply download the library from npm and import it . Our ... more
You may be frustrated with how the industry uses “wrong” practices to filter out candidates — most companies focus on data structure, algorithm and the Big O notation as interview questions when hiring. It’s wrong! Why? Because it’s not like developers ... more
Hello! It’s a tradition for me to write a review for the year. I’m going to do it again this year even though I haven’t been blogging for a couple of months. Many things happened last year so it’s easier for me to split this review up into 4 sections: ... more
I found out about Astro while reading CSS Trick’s newsletter. I knew I had to check it out since both Chris and Robin were excited about it. And boy, I’m excited too, even though I only read the Github Readme!. I want to share why I’m excited about Astro ... more
Both async and defer attributes look like they do the same thing at first glance, but there are nuances to async and defer . Most of the time, you’d want to use defer instead of async , even though async sounds sexier. But why? I’d like to walk you through ... more
My Macbook broke down after using it for a year — the logic board got fried. I got this Mac repaired and it broke down a month later. The logic board got fried again 🤦♂️. Long story short, Apple agreed to repair the Mac again for free. They also agreed ... more
I’m playing around with Sass again recently and I noticed newer features (like @use and @forward ) are only available on Dart Sass. Upon further inspection, I noticed that LibSass is now deprecated. This article aims to help you get started with Dart ... more
Prettier is an opinionated tool that helps you format code. I love Prettier, but I don’t like its opinions with JavaScript. I prefer using Standard for JavaScript because it doesn’t have semicolons (which makes the code cleaner to read). It used to be ... more
It used to be straightforward to disable languages for Prettier in VSCode. You just added a prettier.disableLanguages setting and you were done. // In settings.json [ "prettier.disableLanguages": [ "javascript", "javascriptreact", ... more
JavaScript contains many things — lots of different methods and ways to do things. How do you remember them all? If you ask around the web, many people will say you don’t have to remember everything since you can always google. But this answer doesn’t ... more
If you don’t have a job as a developer, learning how to code becomes a much bigger challenge for a simple reason — developers can learn to code on the job. I want to share with you 7 major challenges people face when learning, especially if they don’t ... more
I finally completed my JavaScript course — Learn JavaScript — two weeks ago. I spent 4 years writing this course (which is a long time!). Today, I want to reflect on this journey and complete it before I move onto the next one. If you’re interested in ... more
reduce is an array method that helps you convert an array into a single value. It looks like this: const callback = (accumulator, currentValue, index) => { // return something here } const result = array.reduce(callback, initialValue) initialValue ... more
A while back, I jumped onto the hype train and tried to host Learn JavaScript’s marketing page on Netlify — I wanted to join the cool kids. After getting charged for it, I switched to Vercel and I got charged for it (again). I finally went back to good ... more
Regular expressions are HARD! They look so complicated, they’re turn me off completely most of the time. Sometimes I wished I was smarter so I can use them more effectively. While working on Learn JavaScript, I noticed that using regular expressions ... more
Hello! I want to begin the year with a year-end review again. I like doing these because it gives me a solid sense of where I am today versus where I was last year. What worked Website Growth There’s a 30% increase in users (1.04mil to 1.36 mil) from ... more