Understanding CORS

- 19 mins read

Hello there! Happy New Year! I hope you had an opportunity to get some rest during the winter holidays and maybe even made a snowman or two =)

Several days ago, I had a dialog with a friend of mine (let’s call her Eowyn) who has recently started her path in software engineering:

Eowyn: Hey, buddy! I’m building a web project that has the frontend and backend parts. Whenever I click a button on the UI (that triggers a DELETE request to the server), my browser blows with these errors: image I tried calling the same endpoint with the curl command, and it works. I did the same via Postman, and it also works. It makes no sense! What the heck?

Hello there! 2023 is about to end soon, so it’s a good time to sit and reflect on it. If we think about the tech industry, in general, it’s easy to define which topic was the hottest this year - AI. And the chances are that in 2024, this area will grow even bigger alongside the growing investments and the new astonishing scientific discoveries in this field.

Unlike previous “big things” in tech, like blockchain, crypto, NFT, Web3, etc., AI is way more accessible and covers more use cases than the rest:

Hello there! The main part of my moving to a new place adventures seems to be behind. Since I’m still waiting for a furniture delivery, I’m writing this post while lying on the floor using my foam camping mat as a sofa. It’s not the most ideal setup, but it works. Anyway, I feel like today is the right time to start working on Part 4 of the “Go concurrency simplified” series. So far, we have learned and explored the key Go concurrency concepts, such as goroutines, channels, and the ways to synchronize and manage them. And today, we are going to combine all of our knowledge to make this world a better place to live (not really) or at least to help the post office (and our good old friend postman Bob) by making the queue handling process more effective. In the meantime, let’s briefly recap where we stopped in Part 3 (if you missed it, here is the link).

Hello there! I feel like I got my covid under control and will be back to daily life soon. In the meantime, I’m sitting at my desk in a nearly empty apartment (I’m moving soon) and wondering whether it’s possible to produce an echo if I scream loud enough 🤔 Anyway, I feel like it’s the right time to start working on Part 3 of the “Go concurrency simplified” series. Today, we’ll move on and explore the ways Go offers us to sync goroutines - it will get us closer to solving the queue situation in the post office we discussed last time. But let’s start with a short recap of where we stopped in the previous post (if you missed it, here is the link).

Hello there! Despite the beautiful snowy weather outside, I’m at home these days with covid, so I can dedicate some additional time to blogging.

Last time, we discussed the very basic concepts of Go concurrency: goroutines and channels. If you missed that post, please check it out here, it has some cool drawings =) Today, we’ll move on and explore the ways Go offers us to sync goroutines - it will help us get rid of some hacky workarounds we have used so far.