До сих пор мы обсуждали метод репликации, основанный на лидерах, но существует и другая стратегия, при которой ни один из узлов системы не выступает в роли лидера. К числу баз данных, использующих репликацию без лидеров, относятся:
Пользователь
React useReducer, зачем нужен и как использовать
useReducer - это хук для работы с состоянием компонента. Он используется под капотом у хука useState. В этой статье разберемся с api useReducer, когда лучше использовать useReducer вместо useState и поговорим про нестандартный случай использования useReducer.
C++: чем CRTP лучше Шаблонного Метода?
Паттерн Шаблонный Метод (Template Method), описанный в книге по паттернам проектирования за авторством “банды четырех” (GoF), не связан с шаблонами (templates) C++ и является поведенческим шаблоном. Curiously Recurring Template Pattern (CRTP или “странно повторяющийся шаблон”) является усовершенствованием паттерна Шаблонный Метод и представляет собой идиому C++, в которой класс X наследуется от реализации шаблонного класса, используя сам X в качестве шаблонного аргумента. Название этой идиоме было дано Джимом Коплиеном (Jim Coplien), который наблюдал ее в самых первых образцах шаблонного кода C++. Эта методика позволяет достигнуть эффекта, аналогичного использованию виртуальных функций, без накладных расходов (и некоторой гибкости) динамического полиморфизма. CRTP можно использовать вместо Шаблонного Метода при условии, что вам не нужен динамический полиморфизм во время выполнения. Этот паттерн широко используется в библиотеках Windows ATL и WTL.
Разведочный анализ (EDA)
Разведочный анализ данных, или EDA, – это как археологические раскопки в мире информации. Это первый шаг, когда мы берем на себя роль исследователя данных и начинаем расследовать, как устроены наши данные, как они взаимосвязаны и что они нам могут рассказать. EDA – это не просто скучная предварительная обработка, это настоящее приключение, в ходе которого мы обнаруживаем неожиданные моменты, паттерны и закономерности, которые часто прячутся на первый взгляд.
Представь, что ты археолог, который обнаружил древний город. Первое, что ты делаешь, – это изучаешь артефакты, учишься понимать их значение и связи между ними, прежде чем начнешь рассказывать историю этого города. Точно так же и EDA позволяет нам раскрывать истории, заложенные в данных. Мы открываем для себя ключевые факторы, влияющие на наши переменные, выявляем паттерны поведения и взаимосвязи, которые нередко оказывают решающее влияние на стратегии и принимаемые бизнес-решения.
Асинхронные микросервисы на Python
Микросервисы – это парадигма, где приложение разбивается на небольшие независимые компоненты, каждый из которых отвечает за конкретную функцию. Это как отделы в офисе, каждый офис – это отдельный сервис, который может быть разработан, масштабирован и развернут независимо.
Почему асинхронность так важна для наших микросервисов? Представьте себе множество людей, ожидающих в лифте – каждый из них хочет двигаться своим темпом, и никто не хочет ждать, когда лифт подойдет к нужному этажу. Так и в мире микросервисов – каждый сервис может заниматься своей задачей, не блокируя другие. Асинхронность позволяет нам этим заниматься: вместо того чтобы ждать ответа от одного сервиса, мы можем отправить запрос другому и эффективно использовать время, пока ждем ответа.
Создаем конвейер машинного обучения с помощью DBT
Создание хорошего конвейера данных, который способен на конструирование признаков (feature engineering), обучение и формирование прогнозов на основе ваших данных, может оказаться довольно сложной задачей. Может, но это совсем не обязательно. В этой статье проведу вас по этому процессу шаг за шагом.
Для обучения и прогнозирования непосредственно в нашей базе данных, будем использовать BigQuery ML. Затем я покажу вам, как мы можем использовать такой инструмент, как DBT, для создания конвейера данных, который конструирует признаки, обучает модель, делает прогнозы, и все это без необходимости извлечения данных из нашей базы данных.
Без лишних отлагательств, давайте разбираться!
Протоколы канального уровня. Настраиваем Spanning Tree
Прокол связующего дерева (Spanning Tree, STP) стал неотъемлемой частью практически любой сети средних размеров, не говоря уже о сетях крупных организаций. Этот прокол предназначен для борьбы с петлями в сетевой топологии. Конечно, тем кто в былые времена сдавал CCNA/CCNP/CCIE (хотя бы written) теоретическая и практическая часть представленного в статье материала должна быть хорошо знакома, причем практика знакома по оборудованию одной известной компании, которая уже нас покинула. Но тем, кто только начинает постигать сетевые технологии данная тема должна быть интересна.
При проведении различных курсов я обратил внимание на то, что у слушателей есть большой интерес к российским решениям, тем же российским Линуксам. Поэтому в статье в качестве практических примеров я буду использовать команды для настройки коммутаторов одного российского вендора. Тем более, что эти команды очень похожи на те, что использовал ушедший западный гигант на своем оборудовании.
Все, что вам нужно знать о Kotlin Multiplatform
Kotlin Multiplatform — это набор для разработки программного обеспечения, который значительно лучше других вариантов разработки кроссплатформенных приложений. В этом руководстве по Kotlin multiplatform вы подробно узнаете все об этом наборе.
Неизвестный атрибут 28 — источник энтропии в междоменной маршрутизации?
2 июня 2023 года произошел сбой в работе междоменной маршрутизации сети интернет. Мы получили уведомление о периодических перезагрузках некоторых роутеров, отвечающих за маршрутизацию между сетями, из-за некорректных BGP-пакетов с BGP-атрибутом 28. Здесь мы начнем рассмотрение этого события с помощью RIS и представим предварительные соображения о том, что могло пойти не так.
Employee Journey Map как основа HR в компании
HR-служба – одно из самых ключевых направлений в любой IT-компании. Почему? Потому что основной ресурс здесь – люди. И люди не простые, а высококвалифицированные, талантливые. К каждому нужен свой подход. Каждый требует к себе внимания.
У HR-службы бывает 2 крайности: HR “про людей”, где в основе психологи, а система хромает, либо HR “бюрократы”, где в основе кадровики, а про людей не очень-то и пекутся.
Я не знаю, как лечить второе, но знаю, что можно сделать с первым. Хорошей основой системности в HR может стать EJM. Что это такое и как им пользоваться – приглашаю почитать.
Тимлидские хитрости – как календарь может помочь в работе команды
Календарь – один из самых главных инструментов в работе руководителя. Там и встречи, и планы, и разная дополнительная информация, которой не место в голове. Но чтобы календарь приносил пользу, а не просто отжирал драгоценное время, нужно правильно его вести. И причем не только одному руководителю.
Как превратить календарь в эффективный инструмент командной работы – приглашаю почитать.
K3s как альтернатива K8s
K3s - проект, созданный Rancher Labs, который представляет собой легковесную и простую в установке версию Kubernetes. K3s предлагает решение для разработчиков, которые хотят использовать Kubernetes в своих проектах, но не хотят сталкиваться со сложностью установки и управления полной версией Kubernetes.
Системы управления временными рядами
Для эффективного хранения и обработки таких объемных и динамичных данных требуются специальные базы данных. Традиционные реляционные базы данных могут быть неэффективны в работе с временными рядами из-за их большого объема и сложности обработки. Поэтому существуют специализированные базы данных для временных рядов (TSDBMS), которые предназначены именно для этой задачи.
TSDBMS обладают оптимизированными структурами данных и индексами, которые позволяют справляться с высокой частотой обновления данных и проводить сложные операции агрегации и анализа. Они также предоставляют механизмы для горизонтального масштабирования и обеспечения отказоустойчивости, что критически важно при работе с такими динамичными данными.
Сколько стратегии у СТО
CTO часто воспринимается, как вершина технического развития. К этой роли стремятся все инженеры (ну или явное большинство).
Во многом, это правда, CTO – главный технический эксперт. Но помимо этого, CTO – директор. Он отвечает за стратегию, за финансы. А не только за выбор стека и архитектуру.
Какие стратегические задачи решает CTO и какой объем они занимают – об этом в нашей статье.
Лучшие практики для оптимизации тестов в Appium
Appium — это инструмент с открытым исходным кодом для автоматизации, способный взаимодействовать с тестовым скриптом, сервером Appium и эмулятором или реальным устройством, на котором выполняется скрипт.
Чтобы использовать весь потенциал Appium, важно знать об основных «подводных камнях», с которыми придется столкнуться в начале работы с фреймворком, а также внутренние возможности Appium. В данном руководстве мы рассмотрим несколько лучших практик, которые помогут QA-специалистам оптимизировать тесты в Appium.
Паттерн Saga в микросервисной архитектуре
Автор статьи: Артем Михайлов
Микросервисы — это популярный подход к построению систем, где приложение разбивается на отдельные компоненты, называемые микросервисами. Каждый микросервис занимается определенным функционалом и может работать независимо, что приносит немало преимуществ.
Но, разумеется, с такой архитектурой возникают и свои сложности, особенно касающиеся управления транзакциями. Когда у нас был монолит, одна транзакция могла обернуть в себя несколько операций и либо выполняться успешно, либо полностью откатываться при ошибке. В микросервисах такой простоты уже нет.
Все что необходимо знать про key в React и даже больше
В этой статье мы поговорим о ключах (key) в React, разберемся зачем они нужны, как работает компонент при изменении ключа, и обсудим случаи, когда использование ключей вне массива или использование индексов в качестве ключей может быть даже лучше, чем уникальные значения.
Введение в Locust: open source инструмент для нагрузочного тестирования на языке Python
Пресытившись существующими инструментами для измерения производительности и нагрузочного тестирования серверов, недавно для своего проекта я выбрал инструмент с открытым исходным кодом под названием Locust.
Анализ данных клиентов и прогнозирование оттока пользователей на Python
Автор статьи: Артем Михайлов
В современном мире, где конкуренция между компаниями становится все более жесткой, понимание поведения клиентов и их удержание становятся ключевыми факторами для успешного бизнеса. Одним из важных инструментов в достижении этой цели является анализ данных клиентов и прогнозирование оттока пользователей.
Как внедрить процесс обеспечения качества в Agile-команду
В agile-среде тестирование является важной частью каждого жизненного цикла программного обеспечения. То, как тестирование внедряется в фазы разработки проекта, называется QA-процессом.
Представьте себе ситуацию: только что стартовал новый проект, и заказчик просит включить в команду QA-инженера. Ни он, ни его команда разработки ранее не работали с QA, поэтому возникает множество вопросов — как у команды, так и у заказчика. И знаете что? Вам, как QA-инженеру, который присоединяется к команде, придется на них отвечать.
Информация
- В рейтинге
- 1 481-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность