- You should only test through the public contract.
- Not all dependencies need to be mocked/stubbed.
- You should end up with a lot more unhappy path tests than happy path tests.
- Tests need to be small.

…and other interesting thoughts in article - Things I’ve learned from writing a lot of unit tests

For more info - subscribe to Tech Read channel.
Likes and shares are welcome.

#unittesting
“Blame processes, not people” or What we learned after I deleted the main production database by mistake by Hugo Rocha.

100% you’ll enjoy this article.

Never forget about backups, role based accesses and the procedure of restoring your data in case of failure (even if it’ll never happen) because even “Life is a long preparation for something that never happens.” (William Butler Yeats).

To be even more prepared - subscribe to Tech Read channel.
Likes and shares are welcome.

#backup
Two parts of one article about hashing algorithms in Node.js - What Is The Best Algorithm (Bcrypt, Scrypt, SHA512, Argon2) For Password Hashing In Node.js?

Links:
Part 1
Part 2

Not only common algorithms/npm modules (Bcrypt, Scrypt, SHA512, Argon2) are described by the author but pros/cons of them and benchmarks. So you can choose what to use in your Node.js application.

If you want to know more about Node.js, JavaScript, software architecture and much more -
subscribe to Tech Read channel.
Likes and shares of the post are welcome.

#nodejs #algorithms #hash
Few interesting JS questions for the beginning of the week that will demonstrate some nuances of language like function length, Object.defineProperty method parameters, cloning of objects etc.

Only 10% of developers can solve these JavaScript challenges

Subscribe to Tech Read channel to know more.
Like and share this post if you answered at >=0 question.

#javascript
Today I’d like to share a Github repo with a list of free public APIs that you can use for your projects. From list of Animals to some Government data, from Text Analysis to Test Data.

https://github.com/public-apis/public-apis

Pros: they are free (you’ll save millions of dollars).
Cons: they are free (limited, usually not stable and sometimes not maintained).

Also ask you to subscribe to the Tech Read channel and recommend it to your friends.
Likes and shares are always welcome.

#api
Firebase is great but there are also many alternative backend-as-a-service solutions:
AWS amplify, Supabase, Nhost, MongoDB Realm, Appwrite.

Short video about pros and cons of each -
I tried 5 Firebase alternatives

Subscribe to the Tech Read channel to know more.
Likes, shares and recommendations are welcome.

#backend #firebase
If you were really stressed about Node.js future - just read this article and relax.
Everything as usual is about standards (fortunately or not) and community.

Don’t worry, Nobody is Replacing Node, not Even Bun and Even less Deno

For more info - subscribe to Tech Read channel.
Likes, shares and recommendations are welcome.

#nodejs #deno #bun
"Almost Friday’s" post for all JavaScript haters about the language created for annoying people with browser popups.

JavaScript for the Haters

Subscribe to Tech Read channel if you like, hate or are bipolar about JS.
Likes, shares and recommendations make Fridays closer.

#javascript
New article from Yoni Goldberg which will help to look from the other side at such instruments like Dotenv, Morgan logger, environmental variables, Nest.js DI, Passport.js, Supertest etc.

Popular Node.js patterns and tools to re-consider

Highly recommend following the author on Medium.
And subscribe to my Tech Read channel where you’ll find a lot of interesting materials every week.
Likes, shares and recommendations are welcome.

#nodejs
Will Chat GPT replace developers?
Spoiler: no.

Interesting article about “almost real life application”
I asked Chat GPT to build a To-Do app - Have we finally met our replacement?

Be aware - results can shock you.

Like this post and subscribe to Tech Read channel if you don’t write tests for your app because you are waiting for a tool that will generate it automatically.
Shares and recommendations are welcome.

#gptchat
If you’re familiar with event loop and concept of microtasks and macrotasks it’ll be easy for you to answer all questions in

10 JavaScript Promise Challenges Before You Start an Interview

PS. Try from the last one.

No matter the result - subscribe to Tech Read channel.
Likes, shares and recommendations are welcome.

#javascript #promise
Knowledge about Communication Protocols, Web Servers, Database Engineering, Messaging Systems, Security are essential in modern backend development.

Few thoughts about
How to Become a Good Backend Engineer

Wish all the readers to have great careers.

Maybe a subscription to Tech Read channel can help you with this.
Likes, shares and recommendations are always welcome.

#backend
I want to close this year’s posts with the old but awesome video with Kavya Joshi’s talk about
Applied Performance Theory

This will be super useful for the performance testing specialists and those who are trying to investigate the possibilities of the systems with load testing.

You’ll know more about Opened and Closed Systems and the rules that describe real-life applications.

To know more - subscribe to Tech Read channel.
Likes, shares and recommendations are always welcome.

#performance
Fresh look at ChatGPT possibilities in article:

20 Entertaining Uses of ChatGPT You Never Knew Were Possible

As for me, a great idea is Guest speaker Q&A prompts but the opposite way - preparing for Q&A sessions with AI generated questions can be a great tool for public speakers.
Also as I mentioned in previous posts it can be a great instrument for tests generation.

Highly recommend you to read the article and subscribe to my Tech Read channel where you’ll find a lot of interesting materials every week.
Likes, shares and recommendations are welcome.

#gptchat
Alternatives and competition are always good.
In this article you’ll find few not well known alternatives of React - Solid, Qwik, Marko, and Hotwire

Now That React is Dying — Here Are Some (Better) Alternatives

PS. Btw For the first look Qwik looks cool. Probably I will try it in my next projects.

For more info - subscribe to Tech Read channel.
Likes, shares and recommendations are always welcome.

#react #solid #qwik #marko #hotwire
I think all of us at least once see this error:
{ a: 'Hello World!', b: { c: [Circular *1] } }

There are different types of Circular Dependencies:
- circular file imports
- circular module imports
- circular constructors

Recommend to check simple but useful article about Circular Dependency, instruments and principles for avoiding it -
Circular Dependencies in NestJS and how to Avoid Them

Follow the Trilon.io blog.
And for more useful info - subscribe to Tech Read channel.
Likes and shares are welcome.

#nestjs #dependencies
It’s impossible to build a great system quickly.
That’s why stories about service’s evolution are very important to be familiar with.

Old but interesting story about Uber’s experience with architecture of one part of the system - Designing Edge Gateway, Uber’s API Lifecycle Management Platform

Specifically about the goals of each stage of evolution - Decoupling, Protocol transformations, Streaming payloads and some non-technical challenges.

To know more - subscribe to Tech Read channel.
Likes, shares and recommendations are welcome.

#systemdesign #architecture
Written 5 years ago but still an impressive story about performance optimization and client refactoring by the Slack team.

Reducing Slack’s memory footprint

Even more important that this article includes the notification’s workflow diagram of one of the most widely used messaging application.

Like this post and subscribe to Tech Read channel if you want to know more.
Shares and recommendations are welcome.

#notifications #performance #optimization