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

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

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

Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность

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

Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой может значительно повысить вашу продуктивность. Это как хлеб и масло — волшебное сочетание.

Но в отличие от популярных модификаций и функциональных добавлений я верю в простую конфигурацию, не требующую установки новых бинарников, обёрток или модификаций. Особенно в случае с kubectl — нативным, достаточно хорошо спроектированным инструментом, у которого совсем мало недостатков.

Вот четыре мои простых дополнения к терминалу kubectl. С этой конфигурацией я каждый день управляю 20 большими Kubernetes-кластерами на 400 машин.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии7

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

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

Компании могут разными способами помочь своим разработчикам добиться максимальной продуктивности: от изменения офисного пространства до приобретения более совершенных инструментов и очистки исходного кода. Но какие решения повлияют сильнее всего? Опираясь на литературу по разработке ПО и промышленной/организационной психологии, мы выявили связанные с продуктивностью факторы и опросили 622 разработчика из трёх компаний. Нас интересовали упомянутые факторы и то, как люди сами оценивают свою продуктивность. Полученные нами результаты предполагают, что на самооценку больше всего влияют нетехнические факторы: энтузиазм в работе, поддержка новых идей вашими коллегами, а также получение полезной обратной связи о вашей продуктивности. По сравнению с другими работниками умственного труда, оценка своей продуктивности разработчиками ПО сильнее зависит от разнообразия задач и возможности работать удалённо.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+23
Комментарии4

Сим-сим, откройся! — Как мы запустили проект «Открытые данные»

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

Всем привет! Меня зовут Сергей Фолимонов, в ДомКлик я отвечаю за direct marketing и коммуникации с клиентами. С недавних пор я выступаю еще в роли PO проекта «Открытые данные», и хочу рассказать об истории создания этого продукта, сделав акцент на проблемах, с которыми нам пришлось столкнуться, на ошибках, которые были нами допущены, и на итоговом результате и вариантах его использования.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+24
Комментарии13

Мониторинг NetApp Volumes через SSH

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

Всем привет, меня зовут Игорь Сидоренко. Одной из основных сфер моей работы, а также моим хобби является мониторинг. Я расскажу о Zabbix и о том, как с его помощью замониторить необходимую нам информацию о томах NetApp, имея доступ только по SSH. Кому интересна тема мониторинга и Zabbix, прошу под кат.
Читать дальше
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Система отложенного исполнения на RabbitMQ

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

Всем привет!

Меня зовут Никита, и я курирую разработку нескольких проектов в ДомКлик. Сегодня я хочу продолжить тему «веселых картинок» в мире RabbitMQ. В своей статье Алексей Казаков рассматривал такой мощный инструмент, как отложенные очереди, и разные реализации стратегии Retry. А сегодня мы поговорим, как использовать RabbitMQ для планирования периодических задач.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Безопасность npm-проектов, часть 2

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

Безопасность npm-проектов, часть 2


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

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

D&D-классы для разработчиков

Время на прочтение10 мин
Количество просмотров24K
Вам кажется, что разработка ПО похожа на большую и плохо структурированную RPG, хотя никто не признаёт этого на собеседованиях? Тогда эта классификация вам понравится.


Читать дальше →
Всего голосов 53: ↑48 и ↓5+50
Комментарии15

Безопасность npm-проектов, часть 1

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

Безопасность npm-проектов, часть 1


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

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

Моделирование отказоустойчивых кластеров на базе PostgreSQL и Pacemaker

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

Введение


Некоторое время назад передо мной поставили задачу разработать отказоустойчивый кластер для PostgreSQL, работающий в нескольких дата-центрах, объединенных оптоволокном в рамках одного города, и способный выдержать отказ (например, обесточивание) одного дата-центра. В качестве софта, который отвечает за отказоустойчивость, выбрал Pacemaker, потому что это официальное решение от RedHat для создания отказоустойчивых кластеров. Оно хорошо тем, что RedHat обеспечивает его поддержку, и тем, что это решение универсальное (модульное). С его помощью можно будет обеспечить отказоустойчивость не только PostgreSQL, но и других сервисов, либо используя стандартные модули, либо создавая их под конкретные нужды.


К этому решению возник резонный вопрос: насколько отказоустойчивым будет отказоустойчивый кластер? Чтобы это исследовать, я разработал тестовый стенд, который имитирует различные отказы на узлах кластера, ожидает восстановления работоспособности, восстанавливает отказавший узел и продолжает тестирование в цикле. Изначально этот проект назывался hapgsql, но со временем мне наскучило название, в котором только одна гласная. Поэтому отказоустойчивые базы данных (и float IP, на них указывающие) я стал именовать krogan (персонаж из компьютерной игры, у которого все важные органы дублированы), а узлы, кластеры и сам проект — tuchanka (планета, где живут кроганы).


Сейчас руководство разрешило открыть проект для open source-сообщества под лицензией MIT. README в скором времени будет переведен на английский язык (потому что ожидается, что основными потребителями будут разработчики Pacemaker и PostgreSQL), а старый русский вариант README я решил оформить (частично) в виде этой статьи.


Krogan on Tuchanka

Читать дальше →
Всего голосов 25: ↑23 и ↓2+25
Комментарии53

Четыре вопроса для пересмотра рабочего графика

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


Коронавирус настолько изменил понятие «рабочее место», что это необратимо повлияет на будущее многих организаций. Многим руководителям пришлось создавать новые и более совершенные стратегии успешного перехода на удалённую работу; создавать окружения, которые помогают, а не вредят нашей иммунной системе; а также вырабатывать правила по соблюдению мер безопасности вроде «социальной дистанции». Пожалуй, самой распространённой переменой, необходимой для решения всех этих задач, стал пересмотр рабочего графика, призванный поддержать изменения в стиле жизни, минимизировать социальные контакты или удовлетворить новым требованиям бизнеса. Традиционный рабочий день с 9 до 18 перестал быть золотым стандартом.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+27
Комментарии5

Как npm обеспечивает безопасность

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

Как npm обеспечивает безопасность


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

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

Почему здравый смысл важнее паттернов, а Active Record не так уж и плох

Время на прочтение6 мин
Количество просмотров24K
Так уж вышло, что разработчики, особенно молодые, любят паттерны, любят спорить о том, какой паттерн нужно применять здесь или там. Спорить до хрипоты: это фасад или прокси, а может даже синглтон. А если у вас не чистая, гексагональная архитектура, то некоторые разработчики готовы сжечь на костре Святой Инквизиции.

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

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


Читать дальше →
Всего голосов 38: ↑35 и ↓3+40
Комментарии23

Какова оптимальная длина пароля?

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

Вот интерфейс типичного генератора паролей:


Обратите внимание на ползунок Length: здесь он может менять длину пароля от 8 до 100 символов, а в других инструментах — гораздо больше. Какое же значение оптимально для паролей?
Читать дальше →
Всего голосов 39: ↑32 и ↓7+29
Комментарии80

Неофициальный гайд по Active Admin

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

Статья про Ruby в блоге компании ДомКлик! Как так получилось, что в молодую компанию завезли мертвый язык? Секрет в том, что на Ruby можно быстро написать и протестировать бизнес-идею. И делается это не без помощи Rails и Active Admin — библиотеки, которая позволяет быстро создать админку с минимальными затратами сил и времени.



Часто можно встретить мнение, что Active Admin хорош только для 15-минутного блога. Мы в ДомКлик считаем (и доказываем на практике), что из этой библиотеки можно выжать намного больше.


Я расскажу про некоторые подходы, которые мы применяем при работе с Active Admin.

Читать дальше →
Всего голосов 19: ↑18 и ↓1+21
Комментарии3

Kubernetes в ДомКлик: как спать спокойно, управляя кластером на 1000 микросервисов

Время на прочтение8 мин
Количество просмотров16K
Меня зовут Виктор Ягофаров, и я занимаюсь развитием Kubernetes-платформы в компании ДомКлик в должности технического руководителя разработки в команде Ops (эксплуатация). Я хотел бы рассказать об устройстве наших процессов Dev <-> Ops, об особенностях эксплуатации одного из самых больших k8s-кластеров в России, а также о DevOps/SRE-практиках, которые применяет наша команда.


Поехали!
Всего голосов 39: ↑39 и ↓0+39
Комментарии37

Обновление версий PostgreSQL, или Как не уронить базу при update?

Время на прочтение16 мин
Количество просмотров42K
Мы решили поделиться памяткой (чеклистом) нашей команды по обновлению PostgreSQL. В ней мы взяли за основу фичи, представленные в релизе официальной документации PostgreSQL, провели анализ на предмет нарушения совместимости и кому стоит обратить внимание на обновленную функциональность.

Читать дальше →
Всего голосов 58: ↑47 и ↓11+50
Комментарии19

Об отслеживании социальных контактов и аппаратных жетонах

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


Во время пандемии ко мне обратилась Европейская Комиссия с предложением разработать жетон отслеживания социальных контактов с защитой приватности, о чём вы можете почитать на странице проекта Simmel. А вскоре Сингапур объявил о разработке жетона TraceTogether. В рамках этого события меня пригласили поучаствовать в обзоре их решения. Срочность ситуации с COVID-19 и значительная сложность создания цепочек поставок привели к тому, что мы оказались в ситуации выпущенных шасси самолёта, который коснулся посадочной полосы. Учитывая многочисленные проблемы, связанные с приватностью и технологиями, положение было сложным, его не получится описать в серии твитов. Поэтому опишу свои впечатления в виде коротких эссе. Поскольку мне удалось поработать с TraceTogether всего час, то по большей части буду рассказывать о контексте, в рамках которого дам оценку этому жетону.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии11

Выбор зависимостей JavaScript

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

Выбор зависимостей JavaScript


Всем привет! В предыдущем посте мы подробно поговорили про добавление зависимостей в проект и про способы и стратегии их обновления.


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

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

PgGraph — утилита для архивации и поиска зависимостей таблиц в PostgreSQL

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

Сегодня я хочу представить читателям Хабра утилиту, написанную на Python, для работы с зависимостями таблиц в СУБД PostgreSQL.

API утилиты простое и состоит из трех методов:

  • archive_table — рекурсивная архивация/удаление строк с указанными Primary Keys
  • get_table_references — поиск зависимостей для таблицы (покажет таблицы, на которые ссылается указанная и ссылающиеся на нее)
  • get_rows_references — поиск строк в других таблицах, которые ссылаются на указанные строки в нужной таблице
Читать дальше →
Всего голосов 18: ↑17 и ↓1+21
Комментарии5

Установка и обновление зависимостей в JavaScript

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

Установка и обновление зависимостей JavaScript


И снова привет! В прошлом посте мы начали рассматривать процесс управления зависимостями в JavaScript, разобрали основы: что такое npm-пакет, как выглядит манифест пакета, в каких полях прописываются зависимости и в принципе что такое дерево зависимостей, а также основы семантического версионирования (semver). Если вы пропустили предыдущий пост, то рекомендую начать с него.


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

Читать дальше →
Всего голосов 28: ↑27 и ↓1+31
Комментарии9

Информация

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