We’re one month into the new year, and we’re already looking forward to all the new releases, articles, conferences, and more that are headed our way. Last month at OAK’S LAB, we got straight to work building our products and had the pleasure of hosting a few of our stakeholders during the process. We started the year off strong, so let’s take a look at what we were reading, watching, and discovering in the first month of 2023.
News & Exploration
The beta release of Typescript 5.0 happened at the end of last month. You can expect new features such as the new decorators standard, improved support on ESM projects, @satisfies support, const type parameters, speed optimizations, and more. Check out the release notes to find out more details.
It’s 33% faster with 90% less JavaScript… Astro is coming hot in 2023. Astro 2.0 offers next-gen frontend architecture, and release features include hybrid rendering, Vite 4.0 updates, a new public roadmap, and more. The major takeaway? Astro 2.0 is the first major web framework to deliver complete type-safety for Markdown and MDX. Check out the release notes to find out more details. It's available on npm today.
How to clone objects in JavaScript
No, it's not "JSON.parse(JSON.stringify(obj))" or "_.cloneDeep(obj)". There's a new API available in browsers for you to use: "structuredClone(obj)". It’s the modern, native way to do deep copies of objects in JavaScript. See it in action at the link above.
A cure for React useState hell?
In React, an application's usage of "useState" can go far more than you need or expect. There might actually be an easy way to fix it. Check out this article to read more about an alternative state hook that is more powerful and easier to use than you might think.
Using an excessive amount of selectors or specifying too many can have CSS performance issues. The Microsoft dev team wrote some tips and tricks on how to improve certain CSS selectors to lead to important performance gains.
The State of JavaScript 2022 survey results are out
If you read one of our past newsletters, we linked the State of JavaScript survey that went out at the end of 2022. This survey has been released annually since 2016 and collects data from over 20,000 developers each year to identify current and upcoming trends. It’s one of the biggest JS ecosystem surveys out there, and this time, ~40,000 people participated. Check out all the results and see the things that stood out most.
How many use cases of "ref" are you aware of in React? And did you know all of the use cases are easy to apply and improve your React skills? Read this article to learn more.
Math in React
Do you need to visualize math expressions in React? Or maybe you just need to draw a great circle for your users and put some lines with it as well? Mafs is just for you. Discover how you can build interactive, animated visualizations with declarative code at the link above.
Read & Watch
- Take a deep dive into TypeScript 5.0 Beta
- Next.js 13.1 Explained!
- Supabase Auth in 3 Minutes
- Why you should use React Framework
- 2023 State of Databases for Serverless & Edge
A Final Challenge
We’re closing it out with another engineering challenge!
We would like to zip our arrays to a new array so we can have 1 array output instead of 2. Let’s create a function called zipWith (or anything you like) that will take 3 arguments:
- A function that takes 2 number arguments and returns the number as a result.
- An array that has a length of X with random numbers
- An array that has a length of X with random numbers
Your function should return an array that has a length of X with the numbers that are zipped with the function that is defined in the first argument. Example:
Notes: You can assume both arrays are the same length, but if you want to challenge yourself more, some additional requirements are below:
- Arrays can be of different lengths. (Should throw an error when it’s different.)
- It can work with multiple types not just numbers.
- Adding generic types to accept arguments in the function depending on the arrays that are passed.
Our Jobs
Do you want to shape the future and help build companies from scratch? Here is a list of job openings available right now at OAK’S LAB.
- Senior Frontend Engineer (React), Prague, Remote
- Tech Lead, Prague, Remote
- Senior Full Stack Engineer (Node.js / React), Prague, Remote
- Senior Backend Engineer (Node.js), Prague, Remote
That’s the end of the January 2023 Engineering Monthly Round-Up. Thank you for reading, and we hope you've enjoyed the articles, videos, and insights we shared. We look forward to seeing what this year brings our way. If you have any comments, suggestions, or other interesting material to share, please feel free to comment below or send me an email directly at ugur.oruc@oakslab.com. Thank you again, and we’ll be back next month.