Как стать автором
Обновить
2
0
Grey2k @Grey2k

Фронтенд разработчик

Отправить сообщение

S3-FIFO: новый эффективный алгоритм вытеснения из кэша на основе очередей FIFO

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров7.7K
В этой статье я расскажу о простом и масштабируемом (Simple, Scalable) алгоритме вытеснения данных из кэша на основе трёх статических (Static) очередей FIFO (S3-FIFO). После проверки на 6594 трассировках кэшей 14 компаний мы показали, что S3-FIFO имеет меньшую частоту промахов, чем 12 лучших алгоритмов, разработанных в прошлые десятилетия. Более того, эффективность S3-FIFO устойчива — он имеет наименьший средний показатель промахов для 10 из 14 датасетов. Использование очередей FIFO позволяет S3-FIFO достичь хорошей масштабируемости с пропускной способностью в шесть раз больше по сравнению с оптимизированным LRU в cachelib на 16 потоках.

Мы пришли к выводу, что доступ к большинству объектов в смещённых нагрузках кэша выполняется только за короткий промежуток времени, поэтому критически важно быстро вытеснять их из кэша. А главная особенность S3-FIFO — это небольшая очередь FIFO, отфильтровывающая большинство объектов, не давая им попасть в основной кэш.

Иллюстрация работы S3-FIFO (с использованием порогового значения перехода из маленького в основной кэш, равного 1)
Читать дальше →
Всего голосов 69: ↑69 и ↓0+69
Комментарии5

Обзор UI-инструментов для мониторинга и управления кластерами Apache Kafka

Время на прочтение8 мин
Количество просмотров40K

Прим. перев.: автор этого материала — Герман Осин, старший архитектор решений в Provectus. Осин сравнивает функциональность восьми UI-инструментов, которые помогают решить проблемы наблюдаемости и мониторинга Apache Kafka. Стоит отметить, что обзор скорее вводный. Он будет полезен для первоначального знакомства с возможностями решений.

Apache Kafka — незаменимый инструмент для обработки данных в реальном времени и отслеживания активности приложений. К сожалению, мониторинг кластеров Apache Kafka и управление ими — непростая задача. Решить ее помогают сторонние коммерческие или Open Source-инструменты с графическим интерфейсом и дополнительными функциями в области администрирования и мониторинга.

В статье представлен краткий обзор таких инструментов.

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Что такое метрика ага-момента и как ее найти

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.6K

Всем привет! Меня зовут Сережа Казарян из команды CX-аналитики AI-центра Тинькофф. Мы используем ML-инструменты, чтобы кластеризовывать обращения клиентов, анализировать нотификации и ошибки, с которыми сталкиваются пользователи. Мы переводим их в понятные actionable-инсайты для бизнеса. Каждый день работаем над тем, чтобы клиенту стало приятнее и лучше.

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии10

Мое дикое знакомство с OpenStack

Время на прочтение6 мин
Количество просмотров18K

Как я знакомился с OpenStack и прострелил себе колени, голову и сердце.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии24

Apache Superset. Первый взгляд на BI инструмент

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров59K

В последнее время изучая вакансии на сайтах по поиску работы, все чаще стал отмечать, что помимо платных инструментов BI от кандидатов требуется знание еще бесплатных платформ. Мой предыдущий опыт работы по построению графической отчетности был связан исключительно с коммерческими продуктами, поэтому я решил выделить время на ознакомление с альтернативными решениями. Выбор Superset был случайным, так как я обратил внимание на него лишь потому, что он входит в экосистему Apache. Сразу хочу оговориться, что в данной заметке не будет сравнения Superset с платными инструментами. Такое сопоставление функционала просто некорректно из-за разных “весовых категорий”. Также я не буду выделять плюсы и минусы решения по сравнению с бесплатными аналогами, так как это очень дискуссионный вопрос. Неизбежно найдутся адепты того или иного продукта, которые будут доказывать ошибочность моих суждений. Поэтому я построил публикацию в форме простого описания “нюансов”, которые я выделил для себя, начав знакомство с Superset. Читатели же сами смогут сделать свои выводы.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии4

Типичные ошибки архитектора, или Как перестать бояться и полюбить RFC

Время на прочтение8 мин
Количество просмотров25K

Всем привет! С вами Женя, разработчик Dodo Engineering и один из ведущих подкаста «Читаем вместе». Он посвящен IT-книгам. В каждом сезоне мы планируем читать и разбирать одну книгу. Уже подходит к концу первый сезон, который мы посвятили книге Fundamentals of Software Architecture. Она написана архитекторами для архитекторов, но разработчикам, особенно тем, которые интересуются, как создавать работающие системы, тоже может быть очень интересна и полезна.

Глава про архитектурные решения сильно нас зацепила, потому что в своей работе мы напрямую столкнулись с описанными в ней проблемами. 

Не можете найти концов, почему было принято то или иное решение? Рассказываете коллегам по сто раз одно и то же? Обсуждения в мессенджерах превращаются в срачи на десятки сообщений?

Знакомо? Нам тоже. Но мы смогли победить эти проблемы.

Под катом выжимка из главы и нашего выпуска, а также практический опыт Dodo Engineering, как правильно оформлять и хранить архитектурные решения.

Читать далее
Всего голосов 38: ↑37 и ↓1+36
Комментарии5

Как написать хороший технический дизайн документ и не провалить проект

Время на прочтение9 мин
Количество просмотров7.4K

Любой успешный проект начинается с ясного и понятного плана, который определяет направление работы и описывает подход к его реализации. Проработка проекта на ранних этапах с достаточным уровнем детализации экономит время во время разработки и позволяет успешно завершить проект в предсказанные сроки и бюджет. Именно для этой цели и созданы технические дизайн документы ("design doc" или "дизайн док"). Дизайн документы помогают разработчикам понимать основные требования к проекту, его архитектуру и функциональные возможности, а также процессы обеспечения безопасности и отказоустойчивости, масштабирования и эксплуатации.

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

System Design 101

Уровень сложностиСредний
Время на прочтение42 мин
Количество просмотров74K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии17

Зачем играть в getKanban: опыт Туту.ру

Время на прочтение6 мин
Количество просмотров21K
Сегодня я хочу поделиться двухлетним опытом проведения игры getKanban в Туту.ру. В целом, игровые механики мы используем довольно активно: играем в getKanban, Playing Lean, Lego Serious Game и т. д. Но getKanban, по нашему мнению, наиболее цельная и качественная игра. Для нас эта игра уже стала традицией и привычным инструментом обучения и коммуникации. Возможно, кто-то из читателей возьмет наш опыт на вооружение.

image
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии6

Как расти менеджерам: подробная инструкция на примере менеджерской линейки Авито

Время на прочтение12 мин
Количество просмотров9K

Как расти техническому менеджеру?

Этот вопрос может возникать по разным причинам, например:

- Настоящий ли я Team Lead или Engineering Manager?

- Готов ли я к переходу на следующий уровень?

- Будут ли мои навыки ценны в другой компании? Смогу ли я оказаться на такой же роли?

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

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Как я Markdown парсер выбирал

Время на прочтение18 мин
Количество просмотров21K

Недавно я решил создать свой сайт, и мне понадобилось выбрать парсер Markdown для отрисовки статей в блоге.

То, что начиналось как: «Окей, гугл, какой парсер выбрать?», – вылилось в полноценное исследование существующих реализаций парсеров.

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

Читать далее
Всего голосов 54: ↑54 и ↓0+54
Комментарии29

Можно Ли Делать Игры На Python?

Время на прочтение6 мин
Количество просмотров77K

Python нашёл себе место почти во всех сферах IT. Разработка веб-сайтов, управление станками ЧПУ, desktop, мобильные приложения, а уж про искусственный интеллект, машинное обучение и анализ данных я вообще молчу.  Сейчас Python лучший друг хоть школьнику, хоть сотруднику научно-исследовательской лаборатории. А что на счёт игр? Компьютерные игры - это огромная доля IT рынка, которая уже набрала и продолжает набирать обороты. Игры то делать можно на питоне? Сегодня мы расставим все точки над i. Меня зовут Макс, я один из авторов YouTube канала PyLounge, а вы читаете статью в которой я расскажу можно ли создавать игры на Python и какую нишу занял Python в сфере gamedev.

Читать далее
Всего голосов 33: ↑20 и ↓13+7
Комментарии57

Ретро про участие в Tinkoff Invest Robot Contest

Время на прочтение6 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии9

Веб-приложение для видеотрансляций на Laravel

Время на прочтение12 мин
Количество просмотров5.5K

Привет, Хабр. В этой статье я хочу поделиться своим опытом создания приложения на фреймворке Laravel по трансляции видеоконтента. Итак начнём.

Проект опубликован как свободное ПО

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии4

Как использовать gRPC-клиент в проекте на Kotlin Multiplatform Mobile

Время на прочтение15 мин
Количество просмотров5.8K

Нам давно хотелось рассказать сообществу о том, как мы разрабатываем фичи в KMM-проектах. В статье описан полный путь интеграции gRPC в мультиплатформенный проект, пройденный нашей командой. Он включает и создание проекта, и настройку фичи в проекте. Также мы очень хотим продвигать мультиплатформу именно в среде iOS-разработчиков, поэтому бонусом делаем особый акцент на этой платформе.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Лайфхаки упрощают жизнь — если никому не говорить

Время на прочтение7 мин
Количество просмотров11K

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

Но есть нюанс.

Компания хочет быть уверена, что вы тратите на работу достаточно усилий. Это очень важно для неё. Хотя производительность труда повысилась, но с точки зрения работодателя, бить баклуши на рабочем месте — проявление нелояльности и обман. За такие лайфхаки вас могут уволить.

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

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

Читать далее
Всего голосов 27: ↑22 и ↓5+17
Комментарии22

Эффективные шаблоны case-классов в Scala

Время на прочтение13 мин
Количество просмотров2.7K

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Книга «Go: идиомы и паттерны проектирования»

Время на прочтение13 мин
Количество просмотров13K
image Привет, Хаброжители! Go быстро набирает популярность в качестве языка для создания веб-сервисов. Существует множество учебников по синтаксису Go, но знать его недостаточно. Автор Джон Боднер описывает и объясняет паттерны проектирования, используемые опытными разработчиками. В книге собрана наиболее важная информация, необходимая для написания чистого и идиоматического Go-кода. Вы научитесь думать как Go-разработчик, вне зависимости от предыдущего опыта программирования.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии5

Топ-5 провальных решений при разработке на Tarantool

Время на прочтение8 мин
Количество просмотров6.8K

Tarantool — гибкий инструмент для разработки высоконагруженных систем хранения данных. На нём пишут очереди, кеши и мастер-хранилища с разной топологией.Часто разработчики начинают работать с Tarantool, имея большой опыт работы с SQL, и пытаются применять привычные подходы из реляционных баз данных. В результате приложения становятся «хрупкими», теряют данные или деградируют в производительности.

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

Это текстовая версия доклада, который я рассказывал на HighloadFoundation 2022.
Читать дальше →
Всего голосов 60: ↑58 и ↓2+56
Комментарии7

Слак бот на минималках ч2

Время на прочтение5 мин
Количество просмотров2.2K

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

Читать далее
Рейтинг0
Комментарии0
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность