Привет! Эта статья - текстовая версия моего стрима с разбором задачи на бесконечную ленту по System Design из https://t.me/siliconchannel/141 этого поста.Рассмотрим классическую задачу из System Design интервью - персональная лента подписок. По сути, мы проектируем упрощённый клон Instagram. Сама задача звучит следующим образом:Делаем сервис: подписки на авторов, публикации постов, выдача персональной ленты с пагинацией. Нагрузка: чтение доминирует - 30 тыс. RPS; запись постов 1000 RPS; есть “м…
Всем привет! Меня зовут Нина Пакшина, и я уже 5 лет пишу на Go.Пару лет назад я готовилась к докладу и глубоко изучала исходники runtime Go. Там я наткнулась на очень интересный код.На время я о нём забыла, но сейчас наконец смогла погрузиться. Теперь я хочу поделиться этим с вами, чтобы мы стали понимать Go чуточку глубже.Когда мы говорим о сборщике мусора, то сразу думаем о куче. Зачем сборщик мусора нужен в стеке? Переменная попала на стек, функция завершила исполнение — стек вжух! — и очист…
Go разработчики постоянно сталкиваются с предупреждениями встроенного статического анализатора. А что делать, если его возможностей не хватает или нужно искать что-то специфичное для вашего проекта? Go предоставляет мощные инструменты для разбора и анализа кода. В этой статье мы поговорим о них и даже сделаем своё первое диагностическое правило.ВведениеОпыт работы с Go-инструментами для разбора кода был получен при разработке статического анализатора PVS-Studio для Go.Статья направлена на начин…
Ранее публиковал теоретическую часть по рекурсивным импортам, желательно ознакомиться перед тем как продолжить, чтобы было общее преставление.Рекурсивные импорты рассмотрим на примере React/Redux приложении.Исходный код приложения опубликован тут, можете склонировать и попробовать самостоятельно исправить ошибки. Так сказать закрепить теорию на практике.Barrel файлы и рекурсивные импортыЧастая ошибка, связанная с рекурсивными импортами — это использование barrel файлов. Желательно их не использ…
Две проблемы React-разработчикаУ React-разработчика две беды:Целевые данные изменились, а ререндера не произошло.Целевые данные не изменились, а ререндер произошёл.Есть много способов подружить данные с UI. В рамках этой статьи я пройдусь по популярным подходам: разберём, как устроены подписки, почему происходят лишние ререндеры, и когда какой инструмент подходит лучше. Выбор библиотек основан только на личном опыте: описал то, с чем сталкивался лично. В целом, все библиотеки из списка крайне п…
Иллюстрация процесса (сгенерировано https://grok.com/) Всем привет.В этой части мы изучим базовую теорию и перейдем к практическому применению.Коротко о том, чем мы тут занимаемся К сожалению, на Хабре я не прошел песочницу с нулевой частью, поэтому вот ссылка на часть 0, где идет описание целей более подробно.Для лиги лени добавляю краткое описание.Цель проста как мир: получать деньги ничего не делая. Это все упрощение, но именно этого я добиваюсь. Для этого я использую свои знания в програм…
Команда JavaScript for Devs подготовила перевод статьи о том, как инструменты JavaScript переживают сдвиг в сторону системных языков. Rust, Go и Zig уже не эксперимент, а основа нового поколения бандлеров, линтеров и компиляторов. Выясняем, почему экосистема сознательно уходит от JavaScript в собственных инструментах, какие выгоды это даёт и какие компромиссы приносит.За последние пару лет мы стали свидетелями заметных изменений в экосистеме JavaScript: многие популярные инструменты для разрабо…
🌊 The leading agent orchestration platform for Claude. Deploy intelligent multi-agent swarms, coordinate autonomous workflows, and build conversational AI systems. Features enterprise-grade architecture, distributed swarm intelligence, RAG integration, and native Claude Code support via MCP protocol. Ranked #1 in agent-based frameworks.🌊 Claude-Flow v2.7.0: Enterprise AI Orchestration Platform 🌟 Overview Claude-Flow v2.7 is an enterprise-grade AI orchestration platform that combines hiv…
Для подписчиковХоть Кирилл и не был силен в юриспруденции, но твердо знал: держать несовершеннолетнего в отделении без серьезных на то оснований дольше трех часов не позволяет закон, после этого с подростком должны находиться либо родители, либо педагог или защитник. За уличную драку, если дело обошлось без серьезных травм или тяжких телесных, обычно и вовсе отпускали с предупреждением. В его родном Подгорске разборки среди молодежи из разных районов считались обычным делом, он и сам не раз поп…