Pull to refresh
18
-1
Максим @therb1

SR-Engineer

Send message

Zustand.js: современный, невесомый, производительный и очень гибкий state manager

Level of difficulty Easy
Reading time 9 min
Views 7.7K

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

В статье я расскажу:

о простом интерфейсе Zustand

о его внутреннем устройстве

о производительности без усилий: 3 простых способа оптимизаций

о производительности на максималках: не всегда нужно использовать длинный цикл рендера React, чтобы достичь максимальной производительности - Zustand может быстрее!

о применении на практике: советы и рекомендации по интеграции Zustand в ваши проекты для достижения масштабируемости и удобства поддержки.

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

Читать далее
Total votes 18: ↑13 and ↓5 +8
Comments 53

Основные типы распределений вероятностей в примерах

Level of difficulty Medium
Reading time 15 min
Views 8.7K

Статистические исследования и эксперименты являются краеугольным камнем развития любой компании. Особенно это касается интернет-проектов, где учёт количества пользователей в день, времени нахождения на сайте, нажатий на целевые кнопки, покупок товаров является обычным и необходимым явлением. Любые изменения в пользовательском опыте на сайте компании (внешний вид, структура, контент) приводят к изменениям в работе пользователя и, как результат, изменения наблюдаются в собираемых данных. Важным элементом анализа изменений данных и его фундаментом является использование основных типов распределений случайных величин, от понимания которых напрямую зависит качество оценки значимости наблюдаемого изменения. Рассмотрим их подробнее на наглядных примерах.

Читать далее
Total votes 51: ↑51 and ↓0 +51
Comments 10

Мемоизация в React: я почитал документацию вместо вас

Level of difficulty Easy
Reading time 18 min
Views 13K

В статье рассмотрены три инструмента мемоизации в React: useMemo, useCallback, memo. Главный источник информации: документация React. Не всем комфортно работать напрямую с документацией, так что если вы постоянно откладываете погружение в документацию React - я сделал это за вас, постарался выделить самое важное, и дать ссылки для углубленного погружения.  

Так как мы будем рассматривать не самые базовые вещи, касающиеся React, то я не буду останавливаться на таких основах как хуки, состояние, свойства, чистые функции и чистые компоненты, ожидая, что вы ознакомитесь с ними за пределами статьи. А также все рассмотренное ниже относится в первую очередь к React 18. 

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

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 2: Классическое машинное обучение

Level of difficulty Medium
Reading time 13 min
Views 6.2K

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

В предыдущей статье я поделился материалами для подготовки к одному из самых волнительных (для многих) этапов - Live Coding.

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

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 0

Как построить систему найма, когда ее у вас нет и еще и удешевить

Level of difficulty Easy
Reading time 16 min
Views 1.8K

Видели ли вы глаза HRD, когда ему говорят, что надо вырасти в два раза за полгода? В компании 200 разработчиков, а через полгода должно быть 400. А Артур Дементьев видел.

Артур — не HR. Он не будет говорить про корпоративный дух, как правильно писать вакансии и делиться пошаговым планом «Как построить систему найма за две копейки и 7 дней». Артур опишет несколько историй и поделится несколькими советами, над которыми можно задуматься. Например, о том, как можно не нанимать людей и уже на этом сэкономить.

Читать далее
Total votes 11: ↑10 and ↓1 +9
Comments 3

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficulty Medium
Reading time 44 min
Views 122K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

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

Читать далее
Total votes 490: ↑482 and ↓8 +474
Comments 315

От А до Я: Руководство по воспитанию молодых специалистов (на необычном примере )

Level of difficulty Easy
Reading time 3 min
Views 2.7K

В жизни каждого руководителя возникает дилемма: взять эксперта за большие деньги или попытаться вырастить крутого специалиста самому? У меня был успешный и неуспешный опыт найма и тех, и других. К примеру, в МТС у нас были различные программы для найма специалистов без опыта, и я довольно активно в них участвовал — стажировки, различные хакатоны и прочее. Некоторые из участников потом оставались в компании и добивались больших успехов. При этом знаю руководителей, которые категорически против того, чтобы тратить на это время. У каждого сценария есть свои плюсы и минусы, и сегодня я хотел бы подробнее остановиться на найме джунов.

В качестве примера я взял свой недавний опыт "найма" джуна. 😀

Проект подготовки нового специалиста был мне интересен, но ситуация осложнялась тем, что мне нельзя было выбрать кандидата самому. ТОП-менеджмент нашей компании настоял на том, чтобы я взял именно этого кандидата...

Читать далее
Total votes 17: ↑14 and ↓3 +11
Comments 6

Как сделать джуна полноценной частью команды

Level of difficulty Easy
Reading time 5 min
Views 3.6K

Каждая команда разработчиков сталкивается с тем, что в ней появляется кто-то молодой и неопытный. Это естественно. Компания рассчитывает, что новый сотрудник как можно быстрее начнет оправдывать вложения, но по факту это прежде всего зависит от действий остальной команды. Далее в посте мы дадим ряд советов, чтобы этот этап завершился как можно быстрее и эффективнее.

Читать далее
Total votes 22: ↑19 and ↓3 +16
Comments 3

Замыкания и декораторы в Python: часть 2 — декораторы

Level of difficulty Easy
Reading time 11 min
Views 6.5K

Уважаемые читатели, рад вас приветствовать в новой статье. Этот материал является продолжением предыдущей публикации, посвященной замыканиям. В данной части обзора мы углубимся в тему декораторов.

Эта статья написана в первую очередь для тех, кто только начинает свой путь в программировании или начал изучать Python. Потому здесь я не буду рассматривать декораторы классов, чтобы сделать материал более доступным для новичков. Тем не менее, для тех, кто изучит данную статью, не составит труда разобраться в декораторах классов, так как они не имеют существенных отличий от рассматриваемых здесь декораторов функций.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 4

Защищаем сервис от перегрузки с помощью HAProxy

Reading time 13 min
Views 5.9K

Если вам доводилось использовать HAProxy для балансировки трафика, вы наверняка как минимум слышали, что этот продукт умеет отслеживать показатели активности сервиса и пользователей и реагировать на них по предопределённым условиям. Обычно в статьях на эту тему приводится пример ограничения пользователя по исходному IP-адресу, если частота запросов с него превышает некоторый предопределённый заранее лимит. Вот, к примеру, такая статья с сайта разработчиков.

Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 0

Я написал бесплатную книгу для профессионалов в области AI (и не только)

Level of difficulty Hard
Reading time 2 min
Views 16K

Привет, Хабр! Меня зовут Никита Горячев, работаю в позиции AI/ML Engineer в Сбере. В мой скоуп входит работа с SOTA (state-of-the-art) алгоритмами в областях NLP и RecSys.

Книга написана в форме Guide Book с теоретическими и практическими заданиями. Ниже написал анонс в виде Q&A, чтобы вы на первых двух пунктах смогли понять, интересно ли вам.

Ссылка на книгу

Читать далее
Total votes 20: ↑15 and ↓5 +10
Comments 24

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Level of difficulty Hard
Reading time 34 min
Views 9.3K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

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

Читать далее
Total votes 36: ↑36 and ↓0 +36
Comments 2

Сборка мусора в V8

Reading time 19 min
Views 4.6K

В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки, и как выполняется сборка мусора в фоновом режиме. 

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 3

Как организовать интересное обучение в IT и сохранить мотивацию

Level of difficulty Easy
Reading time 6 min
Views 4.3K

Опыт и карьера складываются из маленьких кирпичиков. Иногда, только они и формируют движение по пути в профессии. Запрос на «большие» цели или проекты без «работы» по маленьким целям, может быть опасным и иногда недостижимым путем.

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 1

Собеседования в IT как драйвер профессионального роста

Level of difficulty Easy
Reading time 14 min
Views 5K

Рассуждения и рекомендации на тему роли собеседований на разных этапах карьеры IT-специалиста. На основе личного опыта.

Изображение от pch.vector на Freepik

Читать далее
Total votes 17: ↑14 and ↓3 +11
Comments 2

В огне не горит, в воде не тонет: новый вид связи может работать практически везде. Но и это не все

Reading time 3 min
Views 34K

На днях стало известно о том, что команда китайских ученых из Нанкинского университета создала новый тип связи. Она основана на разных спектрах света, передавая информацию как в воде и воздухе, так и в космическом пространстве. Подробности разработки — под катом.
Читать дальше →
Total votes 64: ↑45 and ↓19 +26
Comments 52

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

Level of difficulty Medium
Reading time 22 min
Views 17K

Привет, Хабр!

В наше неспокойное время, когда сфера AI стремительно движется вперёд, хочется немного стабильности и уверенности в завтрашнем дне. Как это связано с темой статьи?

Самым прямым образом — алгоритмы прокачивают умение системно мыслить, искать нестандартные пути решения; человека, у которого эти скиллы на высоте, вряд ли заменит ИИ. Так что, тратя бесценное время на алгоритмы, вы занимаетесь очень полезным делом, расслабьтесь и получайте удовольствие) В качестве бонуса к прокачиванию серого вещества вы получите сверхспособность пройти любой алгособес в FAANG и удовлетворить любые потребности пирамиды Маслоу — довольно приятно)

В этой статье мы разберём графовые алгоритмы типо DFS, Флойда–Уоршелла и строковые наподобие Ахо-Корасик.

Читать далее
Total votes 41: ↑39 and ↓2 +37
Comments 35

Kubernetes: шпаргалка для собеседования часть 2

Level of difficulty Medium
Reading time 11 min
Views 13K

Всем привет! Это снова Олег. Как и обещал, публикую вторую часть текста, посвященную вопросам, которые могут быть заданы на собеседовании по Kubernetes. 

Чтобы было понятно о чем речь, коротко: я работаю исполнительным директором по разработке в Газпромбанке, собеседую инженеров DevOps и системных администраторов. Делюсь вопросами (и ответами, конечно), которые могут быть заданы на собеседовании. Первую часть можно найти здесь. Итак, поехали.

Ехать далее
Total votes 12: ↑11 and ↓1 +10
Comments 17

Под капотом графовых сетей

Level of difficulty Easy
Reading time 11 min
Views 3.5K

Графовые сети - мощный инструмент анализа данных, базирующийся на взаимосвязях объектов в виде графа. В статье рассматриваются различные типы графовых сетей (включая графовые сверточные, рекуррентные и с механизмом внимания) и их применение для решения задач анализа данных. Этот обзор предоставляет всестороннее представление о ключевых аспектах графовых сетей в мире анализа данных.

Клац-клац
Total votes 4: ↑4 and ↓0 +4
Comments 1

Организация ML-монорепозитория с помощью Pants

Level of difficulty Medium
Reading time 24 min
Views 1.3K

Приходилось вам копипастить фрагменты вспомогательного кода между проектами, попадая в ситуацию, когда несколько версий одного и того же набора команд оказывались в разных репозиториях? Или, может, вам надо было делать pull‑запросы к десяткам проектов после того, как было изменено имя GCP‑корзины, где вы храните данные?

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

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

Сначала мы кратко обсудим сильные и слабые стороны монорепозиториев, поговорим о том, почему они — это отличное архитектурное решение для ML‑команд, коснёмся того, как их используют в крупных технологических компаниях. В итоге у нас появится представление о том, как воспользоваться возможностями системы сборки кода Pants для организации ML‑репозиториев при построении надёжной CI/CD‑системы для сборки проектов.

А теперь — в путь — к оптимизации управления проектами в сфере машинного обучения.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity