Pull to refresh
3
0.1
Степан @wsf

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

Send message

Ansible + Grafana Loki: Настраиваем отправку уведомлений в чат после логина на сервер по SSH

Level of difficultyMedium
Reading time19 min
Views9.3K

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

В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments26

Долго ли тикать часикам российского часпрома?

Level of difficultyEasy
Reading time6 min
Views25K

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

Читать далее
Total votes 69: ↑62 and ↓7+55
Comments309

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС

Level of difficultyMedium
Reading time12 min
Views3.4K


В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автономных задач. Как выяснилось в процессе, это не самый радужный сценарий использования систем автоматизации, но вполне достижимый.


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


Также частично раскроем информацию о том, как мы выполняем распределённую сборку дистрибутивов.


Ожидается много текста и примеров кода.

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments11

Как лучше проводить one-to-one со своими сотрудниками: 5 лайфхаков из личного опыта

Level of difficultyEasy
Reading time5 min
Views19K

Если вы занимаете руководящую должность, очень важно регулярно проводить индивидуальные встречи с сотрудниками из своей команды. “Зачем, если я и так вижу их каждый день, и мы обсуждаем все, что происходит?”. Эти встречи не только помогают понимать, как чувствуют себя коллеги, но и дают возможность откровенно дать и получить обратную связь без посторонних. А также предполагают, что оба участника будут готовиться к собранию, рефлексируя насчет прошедшего периода после предыдущей встречи. 

Я Алексей Анисимов, в настоящий момент управляю юнитом разработки в hh.ru и уже 10 лет руковожу разными людьми и командами в области ИТ. За это время я провел большое количество встреч 1 на 1 с сотрудниками — попробовал различные варианты, сталкивался с трудностями и совершал ошибки. Все это в результате помогло мне выработать для себя определенные принципы проведения индивидуальных встреч, которыми я хочу поделиться в статье.

Читать далее
Total votes 19: ↑17 and ↓2+15
Comments10

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию

Level of difficultyEasy
Reading time4 min
Views22K

Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.

Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала моей работы системным администратором linux, я обнаружил, что cron не очень удобный планировщик задач. При этом практически безальтернативный. Чем больше становился мой парк серверов и виртуальных машин, тем больше я получал абсолютно бесполезных почтовых сообщений "From: Cron Daemon". Задание завершилось с ошибкой - cron напишет об этом. Задание выполнено успешно, но напечатало что-нибудь в STDOUT/STDERR - cron всё равно напишет об этом. При этом даже нельзя отформатировать тему почтового сообщения для удобной автосортировки. Сначала были годы борьбы с использованием разных вариаций из > /dev/null, 2> /dev/null, > /dev/null 2>&1, | mail -E -s '<Subject>' root@.

Читать далее
Total votes 61: ↑58 and ↓3+55
Comments4

Брак, шлак, две утяжины. Как «построить» производство и не рехнуться. Серия 1

Level of difficultyEasy
Reading time8 min
Views6.5K

Как не дать производству тебя нагреть и заставить его сделать качественно. Инсайд от производственника и чек-лист от профессионального заказчика. 

Все про шлак и брак
Total votes 41: ↑37 and ↓4+33
Comments6

Мультиплатформенные образы: что это такое и зачем они нужны

Reading time7 min
Views7.1K

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

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments4

От Ericsson к WhatsApp: история Erlang

Level of difficultyEasy
Reading time12 min
Views8.8K

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

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

Речь идёт о языке программирования Erlang.
Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments15

Книга «Кодер с улицы. Правила нарушать рекомендуется»

Reading time13 min
Views9.1K
image Привет, Хаброжители!

Джунам и вчерашним выпускникам вузов катастрофически не хватает «уличного» опыта. Чтобы стать отличным разработчиком, понадобятся вполне конкретные навыки, позволяющие превратить теорию в практику, а также понимание того, в какие моменты можно нарушать казавшиеся незыблемыми правила. Эта книга — справочник по выживанию для начинающего разработчика.

«Кодер с улицы» научит вас справляться с реальными задачами. Седат Капаноглу честно делится советами, основанными на личном опыте, а не на абстрактной теории. Вы узнаете, как адаптировать знания, полученные из книг и курсов, к повседневным рабочим задачам.

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

Все это превратит вас в настоящего уличного бойца, готового в любой момент приступить к созданию эффективного программного обеспечения.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments9

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views190K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее
Total votes 144: ↑143 and ↓1+142
Comments180

Качество социальных отношений в ИТ-команде

Reading time14 min
Views4.6K

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

Но помимо hard-инструментов есть и soft-составляющая. Она не столь очевидна, но тоже помогает повысить качество сервиса. Меня зовут Николай Котов, я старший QA-инженер в Тинькофф и сегодня расскажу, как социальные связи влияют на качество проекта, и поделюсь советами по укреплению этих связей.

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

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments2

Как я ставлю задачу для сотрудника

Level of difficultyEasy
Reading time4 min
Views17K

Я много раз ставил задачу для программиста, а он её выполнял неправильно или вообще не выполнял. Я думал всё дело в некомпетентности исполнителя, а оказалось всё сложнее.

Меня зовут Андрей Глушко. Я менеджер ИТ проектов, занимаюсь менторством, прошёл путь от разработчика до руководителя, в своих подходах опираюсь в первую очередь на людей, а потом уже на практики.

Читать далее
Total votes 31: ↑18 and ↓13+5
Comments21

Почему подчиненные делают не то, что нужно

Reading time8 min
Views15K

Я не буду оригинален, если скажу, что сотрудники работают так, как ими управляют. Есть множество причин, почему сотрудники не могут делать то, что хочет от них руководитель, но сегодня я хочу поговорить о самой банальной и распространенной причине: сотруднику дали задание, которое он не умеет делать.

Читать далее
Total votes 60: ↑56 and ↓4+52
Comments25

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример

Level of difficultyHard
Reading time44 min
Views122K

В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.

Погнали
Total votes 25: ↑22 and ↓3+19
Comments65

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Level of difficultyHard
Reading time40 min
Views145K

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

Начнём долгий путь
Total votes 43: ↑40 and ↓3+37
Comments73

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

Reading time23 min
Views227K

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

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

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Total votes 411: ↑395 and ↓16+379
Comments795

Автофокус — планирование задач для тех, кому сложно

Reading time3 min
Views9.5K

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments15

Автоматизируем бизнес — без кода и разработчиков

Reading time14 min
Views6.5K

В предыдущей статье “Jira без боли” (ч1, ч2) был небольшой эпизод про интеграции с другими сервисами через инструмент автоматизации n8n (читается как нейтн).

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments1

Что будет, если от разработчиков не отстать: умирающая команда

Reading time11 min
Views60K
Мне досталась команда, которая болела. Все понимали, что происходит, никому не нравилось, что творится в команде, и традиционно менеджеры такие команды сильно режут. Но здесь были шансы вылечить и без ампутаций.


Источник

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

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

Проект — внутренний банка, он нужен для улучшения работы внутри компании. Традиционных решений в кровавом энерпрайзе — два: нанять новую команду (но вгружать мидла на проект такой сложности — три-четыре месяца) или же оставить проект на поддержке, через два года найти ему замену, а команду тихо похоронить в подвале. Точнее, не так: те, кто плывет по течению и не заботится о карьере, остаются тихо сидеть «на пенсии», то есть в бесконечной поддержке проекта. А самые проактивные тут же перейдут в другие команды или другие компании.

Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Читать дальше →
Total votes 213: ↑209 and ↓4+205
Comments74

Рабочее время: кошелек или жизнь?

Reading time33 min
Views18K

Проблемы учета рабочего времени обсуждались не раз и не два. При этом мнение о необходимости таймтрекинга разделяет сотрудников на два противоположных лагеря. Как правило, исполнители всячески осуждают и указывают на неэффективность проектов, в которых необходимо вести учет рабочего времени и ежедневно отчитываться о проделанной работе. Напротив, многие правильные руководители приводят множество доводов в пользу таймтрекинга своих сотрудников. Это противоречие порой вызывает у меня приступы сильной головной боли, которую я попытался унять написанием этой статьи в блог ЛАНИТ. Есть такое лекарство – мышление письмом...

Читать далее
Total votes 120: ↑114 and ↓6+108
Comments24
1

Information

Rating
3,339-th
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity