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

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

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

Введение в архитектуру Greenplum

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

В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации.

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

PostgreSQL под капотом. Часть 1. Цикл сервера

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

Продолжаем изучать исходный код PostgreSQL

В этот раз исследуем главный цикл сервера:

- Принятие входящих подключений;

- Проверка окружения;

- Обработка упавших воркеров.

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

DBA: хранение списков — таблица, массив, строка?

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

Достаточно часто при проектировании схемы БД возникает задача сохранить по основной сущности некоторый набор простых второстепенных данных.

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

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

Давайте посмотрим, какие варианты хранения таких данных мы можем использовать в PostgreSQL, и какой из них окажется в разы более эффективным.

Читать далее
Всего голосов 19: ↑15 и ↓4+14
Комментарии21

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

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

Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!

Начать читать
Всего голосов 125: ↑100 и ↓25+95
Комментарии174

Ментальные модели для разработчиков: 5 универсальных вариантов

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

Привет, %username%. Сегодня предлагаем обсудить, как оперативно решать сложные задачи в разработке при помощи ментальных моделей. Их ещё называют паттернами мышления. Вероятно, на Хабре почти все слышали о «‎методе уточки». Но есть и другие, не такие известные модели, которые помогают работать — как отдельным разработчикам, так и целым командам. Как именно и что это за модели? Давайте посмотрим.

Узнать больше о ментальных моделях
Всего голосов 11: ↑10 и ↓1+17
Комментарии2

Красота в консоли

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

Если верить статистике MacOS то топовые приложения которые я использую для работы это Chrome, VS Code, iTerm и VK Teams. При этом в консоли я провожу от часа до трех ежедневно. На самом деле время в терминале больше, потому что часть того что трекается как VS Code тоже является временем работы в консоли, только встроенной в VS Code. Поэтому консоль хочется сделать удобнее и красивее. Особенно этой поздней осенью. Этими красивостями и удобностями и хочется поделиться. И не просто поделится, а что бы с красивыми картинками, некоторые из которых были бы не совсем статичны. Ну или совсем не статичны. Это как кому нравится.

Читать далее
Всего голосов 27: ↑24 и ↓3+27
Комментарии23

ETL и ELT: ключевые различия, о которых должен знать каждый

Время на прочтение10 мин
Количество просмотров42K
image

ETL и ELT — самые широко используемые способы доставки данных из одного или нескольких источников в централизованную систему для удобства доступа и анализа. Обе этих методики состоят из этапов extract (извлечения), transform (преобразования) и load (загрузки). Разница заключается в последовательности действий. Хотя можно подумать, что небольшое изменение в порядке этапов никак не влияет, на самом деле для потока интеграции это меняет всё.

В этом посте мы подробно рассмотрим процессы ETL и ELT, а также сравним их по важным критериям, чтобы вы могли понять, какой лучше подходит для вашего конвейера данных.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+3
Комментарии9

Ретроспектива. Doin’ It Right

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

Привет! Меня зовут Лёша Дидух, я тимлид команды личного кабинета в Skyeng. Это текстовая адаптация моего доклада про ретроспективы на DUMP-2022 в Екатеринбурге. 

Когда я пришёл в компанию пару лет назад, то немножко обалдел от разницы в подходах к управлению проектами и командами между моей прежней работой и Skyeng. Такой скачок между диаметрально противоположными культурами заставил меня переосмыслить и собрать воедино всё, что я знаю о ретроспективах. Будет полезно и тимлидам, и юным скрам-мастерам, да и вообще любому, кто хотя бы раз сидел на ретроспективе и думал: «Что я здесь делаю?».

В конце статьи можно найти запись доклада по теме.

Начнем издалека (но не просто так)

В 2000 году влиятельные ребята из мира IT, среди которых были Роберт Мартин (автор принципов SOLID и огромного числа книг про программирование) и Джеф Сазерленд (один из авторов Scrum), встретились, чтобы, как говорит сам дядя Боб, лучше узнать друг друга в надежде, что тесное общение приведет к чему-то интересному. 

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

Топ полезных SQL-запросов для PostgreSQL

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

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

Читать далее
Всего голосов 70: ↑68 и ↓2+78
Комментарии16

Почему ваши ежедневные стендапы не работают и как это исправить

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

Перевод статьи Лукаса Ф. Косты "Why your daily stand-ups don't work and how to fix them" с некоторыми размышлениями переводчика (выделены курсивом).

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

Читать далее
Всего голосов 29: ↑27 и ↓2+30
Комментарии35

Миграция монолитов в микросервисы на практике

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

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

Однако при принятии решения о необходимости миграции возникает множество вопросов: как вы определяете границы услуги? Как вы проверяете свойства самовосстановления архитектуры микросервиса?

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

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

Как запустить DevOps-конвейер на полную мощность

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

У нас в Газпромбанке сложилась довольно интересная ситуация. Банк относительно недавно начал активно работать с розницей, которая как локомотив начала тянуть все внутрибанковское IT и менять характер работы всех подразделений.

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

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

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

Проблемы мотивации команд и их решения в Scrum

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

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

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

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

Поэтому один из пунктов Agile манифеста и гласить: над продуктом должна работать команда замотивированных профессионалов.

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

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

Как правило, при устройстве на работу, мотивация сотрудника сильно детерминирована материальными факторами: уровнем зарплаты, социальным обеспечением, стабильностью, перспективами роста и т.д.

И тут вроде все понятно: есть ДМС, инструменты премирования по ключевым показателям эффективности, карьерный гайд, печеньки к кофе. Чего еще надо? Однако все это относится к инструментам мотивирования (стимулирования), а не к мотивации.

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

Разбираемся с Redis

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

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

Читать далее
Всего голосов 46: ↑45 и ↓1+62
Комментарии7

Поваренная книга миграции данных между БД или как перенести данные из одной БД в другую с минимальной болью V1.1

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

Одно я могу сказать точно: миграция данных между двумя БД - это одна из, если не самая сложная часть при смене СУБД или схемы базы данных. И что-то мне подсказывает, что Вы не фанат громоздких, чрезвычайно трудно отлаживаемых, SQL конструкций.

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

Памятка архитектору

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

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Всего голосов 42: ↑41 и ↓1+51
Комментарии23

Современная микросервисная архитектура: основные вызовы в работе системных аналитиков

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

Продолжаем знакомиться с современной микросервисной архитектурой. Ведущий архитектор Группы «Иннотех» Александр Соляр рассказал об основных сложностях аналитиков, с которыми можно столкнуться при работе с микросервисами, и способах их преодоления.

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

CI/CD и еще один CD. Разбираемся в терминологии pipelines в контексте автоматизации тестирования

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

В IT индустрии используется большое разнообразие инженерных культур и практик, таких как Agile, бережливое производство (lean software development), DevOps. Все они так или иначе нацелены на бесперебойную доставку ценности за счет повторяемых коротких итераций. Неотъемлемой частью такого подхода является конвейерный подход или по-английски – pipelines. Подразумевается, что в идеальном мире разработчик заливает код на сервер и дальше происходит магия, состоящая из автоматизированных этапов сборки проекта, контроля качества кода, запуска тестов и сбора метрики. На рынке существует большое количество платных и бесплатных инструментов для настройки такого процесса, который мы называем “процессом непрерывной интеграции” или CI/CD (Jenkins, GitLab CI, Teamcity и д.р.). Однако для построения действительно зрелого процесса недостаточно просто установить инструмент. За каждым этапом конвейера стоит сложная логика того, что должно быть запущено, на каких вычислительных ресурсах и как эти ресурсы используются.


На собеседовании кандидаты очень часто гордо говорят, что знают CI/CD. Но знать можно по-разному. Одно дело нажимать кнопку запуска и смотреть, какой цвет получился: красный или зеленый. И совсем другое дело настраивать весь флоу от и до самостоятельно, чем обычно и занимаются DevOps инженеры. Для проверки глубины знаний я задаю базовый вопрос, на который очень редко получаю ответ: “А в чем разница между CI и CD ?”. Далее я хочу поделиться своим пониманием отличий CI от CD и от еще одного CD на примере запуска автотестов. Заранее предупрежу, что мое видение может частично отличаться от вашего. Ведь у всех нас немного разный опыт, разные проекты и источники для изучения, которые могут расходиться. Главное, что какое-то видение у вас есть!

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

Best Practices для Python

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

Лучшие практики в Python по моему мнению

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

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

Читать далее
Всего голосов 33: ↑27 и ↓6+24
Комментарии48

4 анти-паттерна pandas и способы борьбы с ними

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

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

Автор черпал вдохновение из многих источников, ссылки на которые даны в статье. В частности — из замечательной книги Effective Pandas.

Читать далее
Всего голосов 20: ↑19 и ↓1+26
Комментарии15
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность