Pull to refresh
61
Karma
0.4
Rating
Андрей Гончаров @aigoncharov

Software Engineer

Навигатор для трактора или эмиграция с цифрами в 2022

IT-emigration


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 8.4K
Comments 69

Солнце и нененависть в Лондоне

IT-emigration


Очередная история понаеха в Лондоне с практическо-прагматической стороны. Расскажу 10, нет 20, в общем, конечное но слишком лениво исчисляемое количество советов, которые я бы дал сам себе перед переездом. Поговорим о медицине, банках, жилье, документах, местной культуре, как работать, и как отдыхать.

Читать дальше →
Total votes 65: ↑51 and ↓14 +37
Views 21K
Comments 111

Виза таланта в UK для простых смертных

IT-emigration
Translation


Поговорим о том, как простому Васе-формошлепу получить визу таланта в Великобритании. Я расскажу о типовых иммиграционных визах для программистов и собственном опыте кочевничества между ними. Для визы таланта детально распишу порядок подачи и список документов. Затронем вопрос цены и времени.

Читать дальше →
Total votes 11: ↑8 and ↓3 +5
Views 16K
Comments 4

Как получить онлайн магистратуру по CS от американского университета по цене кофе

Studying in IT Education abroad IT career
Translation


Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в Facebook и переехал в UK.

Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Views 29K
Comments 21

Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон

IT-emigration IT career
Translation


Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.


TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Читать дальше →
Total votes 69: ↑59 and ↓10 +49
Views 39K
Comments 60

How to display a gazillion of metrics and keep your sanity

JavaScript *Data visualization *TypeScript *


I now have a new shiny blog. Read this article with the latest updates there https://blog.goncharov.page/how-to-display-a-gazillion-of-metrics-and-keep-your-sanity

Large scale equals distributed. Distributed equals inevitable complexity. Complexity at runtime equals extensive monitoring. At Hazelcast, doing distributed systems well is our bread and butter. It means we have no choice but to be huge fans of collecting all kinds of metrics to stay on guard of the data our users trust us with.


In Management Center 4.2020.08, we drastically changed the model of how we transfer the metric data from the cluster members to the Management Center, how we store it, and how we display it. In this post, we are going to talk about the latter bit of the triad.


We will discuss what to do when you want to display all the data at once, but your users have a limited number of monitors and only one pair of eyes. We will speculate about what users actually want to see when they look at a chart of a monitoring web app. We will go over different approaches to filter the data, and how an average, a median, and a definite integral play their key roles.


Cross-posted from hazelcast.com

Read more →
Rating 0
Views 665
Comments 0

Навигатор для трактора или эмиграция с цифрами

IT-emigration
🔥 Technotext 2020

Cover
https://www.deviantart.com/mrmarkchilcott/art/Warpig-662451056


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Total votes 106: ↑99 and ↓7 +92
Views 49K
Comments 539

React: Lifting state up is killing your app

Website development *JavaScript *ReactJS *

Cover


I now have a new shiny blog. Read this article with the latest updates there https://blog.goncharov.page/react-lifting-state-up-is-killing-your-app

Have you heard about "lifting state up"? I guess you have and that's the exact reason why you're here. How could it be possible that one of the 12 main concepts listed in React official documentation might lead to poor performance? Within this article, we'll consider a situation when it's indeed the case.

Read more →
Total votes 10: ↑10 and ↓0 +10
Views 3.9K
Comments 2

Сверхпростое логгирование в Javascript — два декоратора, и готово

JavaScript *Node.JS *Angular *ReactJS *TypeScript *
Translation


Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как об одном из вариантов решения проблемы с помощью всего лишь двух декораторов.

Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Views 17K
Comments 17

NodeJS logging made easy

JavaScript *Node.JS *Angular *TypeScript *


I now have a new shiny blog. Read this article with the latest updates there https://blog.goncharov.page/nodejs-logging-made-easy

How many times did you write logger.info('ServiceName.methodName.') and logger.info('ServiceName.methodName -> done.') for each and every method of your service you wanted to log? Would you like it to be automated and has the same constant signature across your whole app? If that's so, we're very much alike, we have suffered the same pain too many times, and now we could finally try to resolve it. Together. Ladies and gentlemen, let me introduce… class-logger!

Read more →
Total votes 13: ↑11 and ↓2 +9
Views 3.5K
Comments 0

Как логировать в NodeJS, чтобы пацаны во дворе уважали

JavaScript *Node.JS *
Translation


Что вас бесит сильнее всего, когда вы пытаетесь организовать читаемые логи в вашем NodeJS приложении? Лично меня чрезвычайно напрягает отсутствие каких-либо вменяемых зрелых стандартов по созданию trace ID. В этой статье мы поговорим о том, какие есть варианты создания trace ID, разберемся на пальцах как работает continuation-local storage или CLS и призовем на помощь силу Proxy, чтобы завести все это с абсолютно любым логером.

Читать дальше →
Total votes 22: ↑17 and ↓5 +12
Views 23K
Comments 13

NodeJS logging made right

JavaScript *Node.JS *


I now have a new shiny blog. Read this article with the latest updates there https://blog.goncharov.page/nodejs-logging-made-right

What's nagging you the most when you think about logging in NodeJS? If you ask me I'm gonna say lack of of industry standards for creating trace IDs. Within this article we'll overview how we can create these trace IDs (meaning we're going to briefly examine how continuation local storage a.k.a CLS works) and dig deep into how we can utilize Proxy to make it work with ANY logger.

Read more →
Total votes 21: ↑20 and ↓1 +19
Views 8.5K
Comments 6

Оверинжинирг 80 уровня или редьсюеры: путь от switch-case до классов

JavaScript *Angular *ReactJS *
Translation

image


О чем пойдет речь?


Посмотрим на метаморфозы редьюсеров в моих Redux/NGRX приложениях за последние пару лет. Начиная с дубового switch-case, продолжая выбором из объекта по ключу и заканчивая классами с декораторами, блекджеком и TypeScript. Постараемся обозреть не только историю этого пути, но и найти какую-нибудь причинно-следственную связь.

Читать дальше →
Total votes 26: ↑21 and ↓5 +16
Views 10K
Comments 10

Reducer organization — taking a step further

JavaScript *Angular *ReactJS *


I now have a new shiny blog. Read this article with the latest updates there https://blog.goncharov.page/reducer-organization-taking-a-step-further

What are we gonna cover here?


We're going to overview evolution of reducers in my Redux/NGRX apps that took place over the last two years. Starting from vanilla switch-case, going to selecting a reducer from an object by key, finally settling with class-based reducers. We're not going to talk only about how, but also about why.

Read more →
Total votes 15: ↑12 and ↓3 +9
Views 4.3K
Comments 0

Очередное руководство по уменьшению бойлерплейта в Redux (NGRX)

JavaScript *ReactJS *


О чем пойдет речь?


Будем о говорить о нескольких (пяти, если быть конкретным) способах, трюках, кровавых жертвах богу энтерпрайза, которые вроде как должны помочь нам писать более лаконичный и выразительный код в наших Redux (и NGRX!) приложениях. Способы выстраданы потом и кофе. Просьба сильно пинать и критиковать. Будем учиться кодить лучше вместе.

Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Views 11K
Comments 28

Edge ненавидит ваши атрибуты

Website development *CSS *Angular *Browsers
Sandbox

Сказ о том, как мы бездумно использовали на проекте бойлерплейт с целым боекомплектом зависимостей, которыми никто не пользовался, как нам потом это акнулось, когда потребовалась поддержка Edge, и как мы героически починили то, что, по факту, сами и поломали.
Нет, это слишком длинно.
Сказ о том, что все браузеры — атрибутофобы, а некоторые особенно.


Читать дальше →
Total votes 50: ↑45 and ↓5 +40
Views 24K
Comments 26

Information

Rating
1,454-th
Location
London, England - London, Великобритания
Date of birth
Registered
Activity