Search
Write a publication
Pull to refresh
47
0

Пользователь

Send message

Как определить KPI для продукта

Level of difficultyEasy
Reading time6 min
Views5.6K

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

Key Performance Indicators (KPI) - это числовые метрики, которые используются для измерения и оценки эффективности и успеха продукта или бизнес-процесса. KPI являются непосредственными индикаторами того, насколько хорошо продукт выполняет свои цели и достигает поставленных задач.

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

Неправильно выбранные KPI могут привести к искаженной картине или к фокусировке на неважных метриках.

Читать далее

ClickHouse: Передовой инструмент для оперативной обработки данных

Reading time17 min
Views97K

ClickHouse — система управления базами данных с открытым исходным кодом, построенная на основе колонок. Это означает, что данные хранятся и обрабатываются не по строкам, а по столбцам. Она стала широко популярной среди ИТ-организаций благодаря своим способностям по быстрой обработке данных и масштабируемости. Высокопроизводительная обработка запросов в ClickHouse делает ее идеальным выбором для работы с большими объемами данных и оперативной аналитики.

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

Читать далее

Какой монорепозиторий сейчас подходит для Node.js BACKEND?

Reading time13 min
Views6.6K

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

Читать далее

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов

Level of difficultyEasy
Reading time8 min
Views10K

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

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

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

SQL (Structured Query Language) и OLAP (Online Analytical Processing) – два важных инструмента, которые помогают осуществлять многомерный анализ данных. SQL – это стандартный язык запросов для работы с реляционными базами данных. Он позволяет выбирать, фильтровать, суммировать и агрегировать данные.

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

Читать далее

Как применять метод PCA для уменьшения размерности данных

Level of difficultyMedium
Reading time9 min
Views23K

Одной из ключевых задач при работе с данными является уменьшение размерности данных, чтобы улучшить их интерпретируемость, ускорить алгоритмы обучения машин и, в конечном итоге, повысить качество решений. Сегодня мы поговорим о методе, который считается одним из наиболее мощных инструментов в арсенале данных разработчиков — методе главных компонент, или PCA (Principal Component Analysis).

Читать далее

Разработка высокопроизводительного кеш-слоя на основе Redis в телеграм-боте

Level of difficultyMedium
Reading time14 min
Views7.3K

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

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

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

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

Читать далее

Почему хорошие разработчики пишут плохие юнит-тесты

Reading time10 min
Views11K

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

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

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

Читать далее

Построение ML модели для оценки текста языкового экзамена

Level of difficultyMedium
Reading time8 min
Views1.9K

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

Итак, сначала определимся с постановкой задачи. Результаты экзамена оцениваются по шкале от 0.0 до 9.0, с шагом 0.5, поэтому я рассматривала задачу как многоклассовую классификацию.

Читать далее

Проектирование архитектуры для микросервисов с использованием gRPC

Level of difficultyEasy
Reading time9 min
Views20K

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

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

gRPC – высокопроизводительный и мощный инструмент для построения микросервисных систем.

Читать далее

Базовые архитектурные решения для обеспечения масштабируемости и производительности в социальных сетях

Level of difficultyEasy
Reading time13 min
Views5.5K

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

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

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

Читать далее

Сквозное наблюдение (observability) в микросервисах

Level of difficultyEasy
Reading time11 min
Views7.1K

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

Сегодня мы поговорим о чем-то, что является неотъемлемой частью современной микросервисной архитектуры, что-то, без чего трудно представить себе успешное и надежное приложение в мире распределенных систем. Да, вы правильно догадались, мы говорим о сквозном наблюдении, или, как его еще называют, "observability."

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

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

Разберемся подробнее с первым из ключевых компонентов сквозного наблюдения - трассировкой.

Читать далее

Архитектурный паттерн для обработки больших данных: Lambda

Level of difficultyHard
Reading time13 min
Views13K

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

Мы сталкиваемся с огромными объемами информации, высокой нагрузкой, и постоянно меняющимися требованиями. Все это требует от нас не только навыков программирования, но и грамотного проектирования архитектуры, которая способна справиться с этими вызовами.

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

Читать далее

Неравенства Белла для гуманитариев

Reading time5 min
Views6.5K


Популярных объяснений парадокса Эйнштейна-Подольского-Розена и связанной с ними теоремы Белла (это еще называют неравенствами Белла) можно найти достаточно. Лично мне нравится вот это sly2m.livejournal.com/592394.html Идея объяснять такие сложные вещи с помощью пары сапог, как мне кажется, прекрасна. Поэтому я ее и «украл» у автора. Но все-таки у него там три более или менее длинные части. И не всегда излагаемое будет доступно «для гуманитариев». Я облек основную мысль в шутливо-художественную форму. Ну и сократил. Так что теперь это точно доступно для всех. Если у вас есть «друзья-гуманитарии» и вам надо им объяснить неравенства Белла, то можете взять это на вооружение.
Читать дальше →

Погружение в контейнеризацию

Reading time11 min
Views26K

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

Читать далее

Построение OLAP-запросов с использованием аналитических функций

Level of difficultyEasy
Reading time7 min
Views8.4K

Привет, уважаемые читатели Хабра! Сегодня мы вас познакомим с OLAP и аналитическими функциями.

OLAP, или Online Analytical Processing, представляет собой технологию для анализа и извлечения данных из больших наборов информации. Это позволяет производить сложные агрегации, расчеты, фильтрации и срезы данных, что особенно полезно при работе с огромными объемами информации. В отличие от OLTP (Online Transaction Processing), который ориентирован на операции с данными, OLAP нацелен на поддержку бизнес-аналитики, многомерного анализа и принятия решений.

Читать далее

Как программируются кассовые аппараты?

Level of difficultyEasy
Reading time13 min
Views6.6K

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

А вы когда-нибудь задумывались, каким образом ваша покупка на угловой заправке или в супермаркете превращается в акт, сохраняющийся в электронной памяти кассового аппарата? Эти устройства - настоящие живые свидетели каждой транзакции, но как они работают внутри?

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

Читать далее

Как и зачем компании развивать программу амбассадоров бренда

Reading time13 min
Views4.4K


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

Ликбез по корутинам Kotlin

Reading time19 min
Views46K

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

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

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

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

Читать далее

Безусловный базовый доход. Так все-таки «да» или «нет»?

Reading time3 min
Views8.2K


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

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity