Encapsulation, or information hiding in other words, is one of the core characteristics of every module system. A well-designed module should export only a simple interface and keep the irrelevant logic private and inaccessible. Before ECMAScript 2015, ... more
Both any and unknown are universal types in TypeScript that allow you to assign whatever the heck you want to it. let exampleAny: any; let exampleUnknown: unknown; // I can assign anything to `any` type exampleAny = {} exampleAny = 123; // I can also ... more
Native CSS Masonry Layout In CSS Grid # Level 3 of the CSS Grid specification introduces something that web devs were waiting for ages — a native way of achieving masonry-like layout using just CSS. Rachel Andrew published this fantastic explainer to ... more
Workers Durable Objects Beta: A New Approach to Stateful Serverless # Revolutionary announcement from CloudFlare for everyone interested in building efficient real-time applications. The key is the persistent state on the edge worker. A fantastic way ... more
TypeScript + React: Why I don’t use React.FC # Stefan Baumgartner shares a few solid reasons to reconsider using React.FC<> on your next TypeScript project. I have been using for quite a while now and very rarely come across issues identified in ... more
GitHub workflow is a feature that lets us run actions on particular software development life cycle (SDLC) or a scheduled interval. Another cool feature of GitHub is a way to customise your public profile page using README.md file inside repository named ... more
Day 1: Chrome web.dev Live 2020, Day 2: Chrome web.dev Live 2020, Day 3: Chrome web.dev Live 2020 # Dedicated playlists for Chrome web.dev conference. Pick and choose what interests you the most. I am pretty excited about some news announced at this event. ... more
The results of Stack Overflow Developer Survey 2020 for the second year in a row proved the popularity of Node.js. It also hit the top of the list of the most wanted technologies to learn by programmers who are not using it. It’s an obvious choice for ... more
Apart from a web browser, Visual Studio Code is the application that I spend the most time using. “How did you do it” is something that I hear quite often from other developers whilst using it in front of them. This article is exactly for those kind ... more
A JavaScript program can have several dependencies, internal and/or external, most likely represented by the list of imports on the very top of your script. To write deterministic, repeatable unit tests, we need to control the inputs, outputs and invocations ... more
I was recently inspired by a JavaScript Jabber podcast episode “How to Start a Side Hustle as a Programmer with Mani Vaya” so I decided to read an entrepreneurship book. “Business” is not the number one category of books that I would usually go for but ... more
TSConf 2019 - Watch the Whole Conference # All talks from TSConf 2019 are now online. They are all very insightful and I highly encourage you to watch them all. If you have no time and want to pick just one — “Deno is a New Way to JavaScript” by Ryan ... more
Hi! I am not going to go through the basics of debugging or AWS SAM framework. At this point you are most likely familiar with those — otherwise, you would’ve not landed on this page. I am going to share with you how to attach Visual Studio Code debugger ... more
Variable Fonts: What web authors need to know # A great guide on using CSS Variable Fonts in 2019 by Jason Pamental. If you are building a modern type system this resource comes very handy. Visual Studio Online # It is happening! My favourite code editor ... more
I had an interesting problem that melted my brain a bit. Let me share what I have learned and maybe save you a few moments when you come across a similar challenge. Lets have some fun with JSON.stringify() . const dude = { name: "Pawel", friends: ... more
Promises added to ECMAScript 2015 specification gave us a new way of dealing with deferred computations. In “From callback hell through promises to async functions” I explained the differences between the common methods of dealing with asynchronous code. ... more
WWDC19 - Apple Developer # Annual Apple event for developers brought lots of great things. My top highlights are: SwiftUI, Apple as an identity provider (login with Apple) and this little section of docs about changing the default shell on your Mac to ... more
Flutter: a Portable UI Framework for Mobile, Web, Embedded, and Desktop # Google I/O every year brings a lot of exciting news in the software and hardware world. One of the coolest one is Flutter that is no longer a tool to build efficient multi-platform ... more
CSS math functions # Are you waiting for the next big thing in CSS? There you go. The CSS Working Group agreed this morning on adding many math functions. We now have: • calc() • min() • max() • clamp() • sin() • cos() • tan() • acos() • asin() • atan() ... more
After years of frontend experience, through building AR / VR applications I recently landed a backend-focused role. Luckily I’ve found myself being a part of a team of super talented people working on serverless microservices on the AWS (Amazon Web Services) ... more