Pull to refresh
4
0
Умалат Мичигишев @GreatFix

Frontend developer

Send message

System Design для самых маленьких. Reference к интервью

Level of difficultyEasy
Reading time5 min
Views21K

Эта статья-инструкция по построению высоконагруженных распределенных систем. Описанный подход может быть полезен как reference при подготовке к интервью по system design в FAANG и не только.

Читать далее
Total votes 15: ↑13 and ↓2+15
Comments3

Чем заняться тимлиду, если не кодить? Рассказываю о своих задачах

Level of difficultyEasy
Reading time10 min
Views12K

Моя предыдущая статья вызвала довольно бурное обсуждение на тему, кто такой тимлид и чем он занимается, поэтому в этой статье я хотел рассказать о том, чем занимаюсь я.

Вообще задачи тимлида могут сильно отличаться в разных компаниях. В моем опыте обычно было так: чем меньше в команде представлено ролей, тем больше задач будет у тимлида. Я как-то работал с тимлидом, которому приходилось даже тестировать, потому что в команде не было тестировщика.

Я составил список своих задач и разбил их на категории. Кстати говоря, добрую половину этих задач я повесил на себя сам.

Читать далее
Total votes 17: ↑15 and ↓2+17
Comments13

Код-ревью: cookbook от Google

Level of difficultyEasy
Reading time16 min
Views12K

Страницы этого документа содержат рекомендации по лучшим практикам код-ревью, основанные на многолетнем опыте компании Google. Это один законченный документ, разбитый на разделы. Необязательно читать их все, но многие прочитали документ целиком и нашли это полезным.

От автора перевода: в Google вместо PR (Pull Request) принято использовать аббревиатуру CL (ChangeList — список изменений). Остальные термины, на мой взгляд, понятны и без пояснений. Чтобы разбавить кучу текста, в качестве разделителей разделов использованы генерации на тему "код-ревью от разных мультипликаторов" от нейросети Kandinsky.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments5

Как не провалить ИТ-проект: заметки менеджера с 12-летним опытом

Level of difficultyMedium
Reading time12 min
Views17K

Если в начале проекта вы не знаете, как и когда он закончится, а только можете перекреститься, если после встреч с заказчиками вы обнаруживаете себя плачущим в туалете, если лучшие сотрудники уходят от вас так поспешно, что даже не передают дела - эта статья поможет вам (но это не точно).

Читать далее
Total votes 24: ↑22 and ↓2+34
Comments25

Вечный RnD: chunk flushing для серверного рендеринга React + WMF

Level of difficultyHard
Reading time9 min
Views2.4K

Все говорят про webpack-module-federation - микрофронты тут, микрофронты там.
— "А мы уже внедрили", "а мы уже построили микрофронтовую-архитектуру", "мы релизим независимо".

Но начинаешь расспрашивать, "а что сделали", "а как связали" - выходит что за всеми этими броскими фасадами скрывалось добавление вызова ModuleFederationPlugin(...) на уровне рядового потребителя, в лучшем случае с подстройкой конфигурации под локальный и продуктовый стенды. А независимые релизы - обычный авто деплой trunk'а.

На этом фоне доклады, повествующие о динамическом развертывании k8s pod'ов с версиями микрофронтов, указанных в заголовках браузера (на базе argo-cd) производят вау-эффект. Но даже все эти истории имеют один общий недостаток.

На вопрос:
— А как вы реализовали SSR?

Следует ответ:
— Мы не стали этого делать, у нас админка / дэшборд / MVP / *.

Читать далее
Total votes 11: ↑10 and ↓1+13
Comments11

Девять советов молодому тимлиду

Level of difficultyEasy
Reading time7 min
Views13K

За свою карьеру я провел множество собеседований с тимлидами. Когда кандидаты рассказывают о своем переходе из программиста в менеджеры, многие из них упоминают одни и те же сложности, причем такие, с которыми вряд ли сталкиваются специалисты из нетехнических сфер. Самая главная неожиданность в том, насколько резко происходит этот переход, и насколько сильно самому человеку приходится поменяться в процессе.

Проведя большую часть карьеры за клавиатурой, полностью погрузившись в технические вопросы, новоиспеченный тимлид внезапно оказывается в ситуации, когда на первое место выходят его софт скиллы. Может случиться и так, что до этого момента у него не было ни возможности, ни мотивации получить эти навыки на собственном опыте. Именно этот фундаментальный сдвиг приоритетов, оставляющий позади собственно программирование, может сделать переход пугающим.

Я много размышлял на эту тему и вывел несколько принципов, которых советую придерживаться начинающим ИТ-руководителям и тем, кто хочет ими стать. Часть моих тезисов вдохновлена книгой “90 THINGS YOU NEED TO KNOW IF YOU WANT TO become the CTO”, изданная CTO Academy. 

Читать далее
Total votes 19: ↑17 and ↓2+17
Comments9

Scrum: вредные советы

Level of difficultyEasy
Reading time3 min
Views4.3K

Scrum - популярный в командах разработки фреймворк. Но так ли он важен и нужен в действительности?

В статье в формате "вредных советов" приведены порочные практики, которые можно встретить в Scrum-командах.

Некоторые из них противоречат принципам фреймворка, некоторые наоборот. Тем не менее, если предлагаемые в статье практике стоят на повестке дня в вашей команде/компании, вероятно имеет смысл приостановиться и задуматься - вводятся ли нововведения осмысленно, и нет ли в них элемента Карго-культа.

Читать далее
Total votes 11: ↑5 and ↓60
Comments31

Module Federation — что скрывается под кажущейся простотой

Level of difficultyMedium
Reading time11 min
Views26K

В последнее время только ленивый не говорил про такую технологию, как module federation, было сделано огромное количество докладов, и наша команда, наслушавшись и насмотревшись, как это прекрасно, тоже решила затащить MF к себе в проект.

Однако, почти все доклады на эту тему не показывают серьезность проблем, с которыми можно столкнуться на пути.

В этой статье будет рассказано вкратце, для тех, кто ещё не знает, что такое module federation, в каких ситуациях его стоит использовать, как настроить продакшен сборку, а не только локальную, ну и какие проблемы вас могут ждать.

Начнем!

Читать далее
Total votes 8: ↑7 and ↓1+10
Comments20

Делай нейминг как сеньор

Reading time13 min
Views119K

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.

Читать далее
Total votes 148: ↑146 and ↓2+182
Comments221

Топ рекомендаций по Core Web Vitals на 2023 год

Reading time11 min
Views9.4K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, представляющей собой коллекцию лучших практик, которые по мнению команды Chrome DevRel являются наиболее эффективными способами улучшения показателей Core Web Vitals.


Core Web Vitals — это часть метрик Web Vitals, используемых для оценки веб-страниц и включенных во все инструменты Google. Владельцы сайтов должны учитывать эти метрики. Каждый показатель Core Web Vitals представляет собой отдельный аспект опыта взаимодействия пользователя с сайтом, измеряемый в полевых условиях и отражающий реальные действия по достижению критически важного результата, ориентированного на пользователя.


Web Vitals — это инициатива Google, цель которой — предоставить единое руководство по сигналам качества, необходимым для обеспечения хорошего взаимодействия с пользователем в Интернете (источник).


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 16: ↑15 and ↓1+20
Comments1

Простой пример написания Dockerfile. Использование многоэтапной сборки

Reading time5 min
Views61K

Всем привет! В данной статье хочу показать простой пример написания Dockerfile, объяснить как это все работает, а также показать на примере использование многоэтапной сборки.

Для понимания данной статьи необходимы минимальные знания Docker, а также для использования примеров - установленный Docker Desktop локально на компьютере.

Вначале немного теории.

Dockerfile - это файл, который содержит инструкции для сборки образа. На основании образа создается и запускается контейнер.

Обратимся к официальной документации https://docs.docker.com/get-started/overview/

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments6

Зачем они выгорают?

Reading time6 min
Views47K

Я сколько лет на заводе козловой кран вожу, ни разу не выгорел! А эти, прям неженки! 

Знакомо?

Выгорание айтишников – это уже притча во языцах. Если в своей среде IT-специалисты еще находят понимание, то во вне они сталкиваются с диким отрицанием.

Ишь какие, депрессия у него! Работать не может! Дури вам в голову напихали, вот и оправдываете свою лень!

За свои скромные семь лет на руководящей позиции мне довелось управлять разными людьми. Был опыт тимлидства над командой разработчиков. Не претендую на истину и уж тем более на какое-то серьезное научное исследование. Но все же хочу систематизировать свои наблюдения и сделать цикл статей «команда глазами начальника».

Ну-ка, ну-ка???
Total votes 87: ↑75 and ↓12+86
Comments182

Как новичку разработать опенсорс-библиотеку: опыт фронтенд-разработчика

Reading time9 min
Views6.9K

При разработке собственной опенсорс-библиотеки у многих возникает огромное количество вопросов. Для меня этот опыт также был в новинку — чтобы выпустить свою небольшую библиотеку, я перерыл половину GitHub в поиске наглядного гайда по подготовке репозитория. Поэтому хочу поделиться с вами своим опытом, а также узнать и что-то новое от вас. 

Меня зовут Женя, я все еще фронтенд-разработчик в команде Quick Experiments inDrive. В этой статье буду делиться своим выводами, а также прикладывать дополнительные ссылки, чтобы познакомить вас с материалом более подробно.

Узнать главное о создании библиотеки
Total votes 24: ↑24 and ↓0+24
Comments7

Что такое Shared UI, как он нам помог и причём тут микросервисы

Reading time4 min
Views15K

Всем привет! Меня зовут Дима, я frontend-разработчик в Альфа-Банке. Сегодня я расскажу про Shared UI, что это такое и как мы пришли к созданию такого сервиса в интернет-банке, что это такое, как мы вообще придумали такой сервис.

Читать далее
Total votes 25: ↑23 and ↓2+21
Comments3

Прикладная архитектура карт в вебе на React и Mapbox. 1 часть — технологический стек

Reading time9 min
Views12K

Всем привет! Меня зовут Никита Русанов, я лид команды фронтенда в компании, где мы создаем продукт, упрощающий переезд. В данной предметной области много задач по взаимодействию с гео данными. Сегодня я расскажу, каким образом можно работать с картами в браузере. В этой части мы с вами поговорим про используемые технологии.

Читать далее
Total votes 12: ↑10 and ↓2+10
Comments16

User Story Mapping как подход к проектированию

Reading time11 min
Views43K

Меня зовут Наталья Кобякова, я Product owner и техлид клана аналитиков в Ak Bars Digital. В этой статье я расскажу, почему для проектирования функциональности наших продуктов вместо стандартных ТЗ мы используем методологию User Story Mapping и как это помогает нам вести разработку быстро и качественно.

Читать далее
Total votes 19: ↑17 and ↓2+15
Comments11

Как отобразить таблицу на экране мобильного устройства: решения

Reading time2 min
Views21K

В данной статье мы рассмотрим какие существуют решения по отображению таблиц с большими массивами данных на экранах мобильных устройств.

Читать далее
Total votes 51: ↑50 and ↓1+59
Comments17

Как устроены цикл событий и стек вызовов в JavaScript

Reading time6 min
Views58K

Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они связаны с циклом событий.

Статья будет полезна как новичкам, так и опытным разработчикам. Первым она поможет понять, почему JavaScript настолько сильно отличается от других языков программирования и чем функция обратного вызова очень полезна на практике. Вторым — глубже разобраться в среде исполнения этого языка программирования.

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments9

[В закладки] Как работает браузер

Reading time17 min
Views32K

К старту курса по Fullstack-разработке на Python делимся лонгридом от ведущего программиста компании THG. Специалистам материал будет полезен в подготовке к собеседованиям, а новичкам поможет получить целостное представление о том, что происходит у браузера под капотом.

Читать далее
Total votes 16: ↑12 and ↓4+9
Comments1

Webpack Module Federation: «официальное» решение в микрофронтендах

Reading time11 min
Views31K

Module Federation — это подход, при котором можно разделить приложение на небольшие отдельные модули и в рантайме объединять в единое приложение. Это одно из немногих рабочих решений для разработки микрофронтендов. Почему оно лучше, чем остальные, какие еще решения для микрофронтендов существуют, что вообще такое микрофронтенды и зачем они нам нужны, расскажу в статье. В конце поделюсь полезными ссылками на статьи, видео и документацию, которые помогут углубиться в тематику Module Federation.

Так же будет немного практики. Настоятельно рекомендую самостоятельно опробовать технологию чтобы материал хорошо закрепился в памяти. Практика наше все!

Поехали!
Total votes 24: ↑24 and ↓0+24
Comments10
1

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer, Web Developer
JavaScript
React
TypeScript
NextJS
Express
Node.js
Webpack
Redux
HTML
CSS