Как стать автором
Поиск
Написать публикацию
Обновить
3
0
Егор @Ommonick

SDET teamlead

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

DevOps нет, но вы держитесь: как разработчики запустили тесты на этапе MR

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2K

Со старта нашего проекта Polymatica EPM (бизнес‑платформа для автоматизации процессов стратегического планирования и бюджетирования) мы решили: код должен покрываться тестами. Проект построен на стеке FastAPI + Poetry + Pytest. Из‑за особенностей проекта тесты, в основном, функциональные. Все шло хорошо, команда росла, тесты писались, но запускались только на локальной машине перед коммитами. Наступил момент, когда нужно было внедрить автоматический прогон тестов на этапе Merge Request (MR).
На тот момент у нас был собственный GitLab и настроенный CI/CD, но ресурсы DevOps были ограничены. Поэтому задачу пришлось решать силами разработчиков. Меня зовут Дмитрий Богданов, я старший бэкенд‑разработчик, и в этой статье расскажу, как мы оптимизировали запуск тестов, с какими проблемами столкнулись и почему выбрали именно базовый образ для CI/CD.

Читать далее

Переезд с TeamCity на GitLab CI + K8s

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.6K

Привет, Хабр! Меня зовут Даниил Мильков, я старший C# разработчик. Сразу хочу предупредить читателей, что про взаимодействие с k8s здесь сказано достаточно мало, разве что в разделе Kubernetes и PVC. На эту тему будет отдельная статья.

Начнём. Однажды наша команда решила перейти с TeamCity на GitLab CI…

Читать далее

System Design Interview. Шаблон прохождения собеседования этого этапа

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.1K

Недавно я собеседовался в Амазон и Майкрософт в офисы в Испании (так как я тут живу). Пока готовился много что понял, сейчас поделюсь.

Собеседование на проектирование систем.

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

Читать далее

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2K

В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom.

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

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

Читать далее

Переключение контекста — главный убийца продуктивности разработчика

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров19K

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

Читать далее

Синхронизация файлов при запуске экземпляра PostgreSQL

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.9K

Если экземпляр PostgreSQL был некорректно остановлен, то перед восстановлением файлов выполняется синхронизаций всех файлов кластера. Способ синхронизации определяется параметром конфигурации recovery_init_sync_method. В статье рассматривается, как ускорить запуск экземпляра и резервирование, если в директории PGDATA много файлов.

Читать далее

Мой 16-месячный эксперимент с теанином

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7.9K

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

Многие люди пробуют теанин и сообщают, что он вау, отлично помогает при СДВГ, излечил мою (социальную) тревожность или меняет мою жизнь. И это не только сообщество энтузиастов эффекта плацебо. Эта ветка на Hacker News полна положительных отзывов, а Гверн Брэнвен регулярно его использует.

Далее

Как создать свою криптовалюту, токен или мемкоин

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров24K

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

В ноябре 2024 года 13-летний подросток под ником Quant Kid создал криптовалюту на основе мемов под названием Gen Z Quant. С первоначальными инвестициями всего в 350 долларов он приобрел 51 миллион токенов и во время прямой трансляции продал их все примерно за 30 000 долларов. Криптосообщество быстро отреагировало, увеличив рыночную капитализацию токена до 85 миллионов долларов.

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

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

Самые отбитые проекты Github

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров55K

За долгое время, проведенное «в раскопках» на Github, собралась коллекция удивительных проектов, самое лаконичное описание для которых — лютая дичь. Небольшую часть этой коллекции автор заботливо собрал, запустил и затем описал в этой статье.

Так что заваривайте чаю с ромашкой и запасайтесь успокоительными — с такой подборки поплохеет многим.

Читать далее

Архитектура национального видеохостинга: путь RUTUBE к 10 Тбит/с с использованием своей CDN

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров13K

За полгода с июля 2024 года большинство аудиторных и технических показателей RUTUBE выросло в разы: количество ежедневных пользователей выросло почти в 4 раза; количество видео, ежедневно загружаемых на видеохостинг — в 3 раза, с 330 тыс. до 1 млн единиц контента; CDN-трафик — в 4 раза и в пиковые часы превышает 7 Тбит/с. Как архитектура сервиса показала себя в условиях продолжительного «нагрузочного тестирования» и как команда переживала такой рост нагрузки, читайте в этой статье.

Читать далее

Кобо Абэ: Бездонный источник вдохновения геймдизайнера Хидэо Кодзимы

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.1K

В 2024 году исполнилось 100 лет со дня рождения японского писателя-авангардиста Кобо Абэ (яп. 安部公房). Событие было отмечено рядом памятных мероприятий по всему миру, переизданием романов и сборников и долгожданной премьерой экранизации романа «Человек-ящик» (яп. 箱男, англ. The Box Man).

В ежемесячном японском журнале «Нами» (monthly magazine 波) о своей любви к великому автору рассказали известные в Японии деятели культуры. Среди них был и геймдизайнер Хидео Кодзима (яп. 小島秀夫), известный в мире серией видеоигр «Metal Gear» и знаковой игрой «Death Stranding».

Читать далее

Как автоматически отслеживать новости компаний по своему портфелю?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.5K

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

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

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

Сам скрипт доступен в open-source и уже готов к использованию. Код - на GitHub!

Заранее изучаем чтобы не вляпаться

Притирка команды: как выжить в новом проекте и не сбежать в лес

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.6K

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

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

Этот опыт заставил нас обратиться к теориям командообразования и попробовать найти свое решение, чтобы перерасти этот этап.

Я, Гузель Хамидуллина, системный аналитик департамента управления данными Positive Technologies. Рассказываю, что помогло нашей команде объединиться.

Читать

Универсальный подход к адаптивному веб-дизайну интерфейсов Stretch, Scale, Switch (SSS)

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров7.5K

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

Читать далее

Измерительный пинцет DIY YCHEV001 на Arduino

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.2K

Сегодня мы с Вами соберём бюджетный вариант Китайского измерительного пинцета FNIRSI LCR-ST1.

В качестве базы я выбрал Arduino, так как целью проекта стало сделать схему, как можно проще, что бы повторяемость измерительного пинцета среди зрителей канала https://www.youtube.com/@chevichelov была на уровне "Контролька на Arduino", по этому я упростил схему насколько это возможно, а в качестве измерительных алгоритмов выбрал самые простые, но в то же время самые надёжные из них. По предложению Хабравчан дал измерительному пинцету название YCHEV001.

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

Читать далее

Как отличаются СДВГ люди от обычных людей? И зумеры — это СДВГшники или просто ленивые инфантилы?

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров93K

Последнее время происходит какая-то невообразимая атака на сам термин СДВГ, на СДВГ людей, поэтому в статье я постарался описать и (!главное) визуально показать отличие СДВГ людей от обычных (нейротипичных). И попытался проанализировать и также визуально показать, действительно ли много СДВГшников среди поколения зумеров.

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

Читать далее

Установка PostgreSQL в Linux

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K

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

При обучении студентов работе с базами данных мной была выбрана СУБД PostgreSQL --- хотя она и считается несколько сложной для изучения, чем та же MySQL, это достаточно популярный и к тому же бесплатный продукт, с открытым исходным кодом, и самое главное --- у неё есть в том числе и российские корни. С литературой по PostgreSQL ситуация оказалась двоякой: с одной стороны, книг по ней не так уж и много, как хотелось бы (мейнстримом является MySQL, многие примеры оттуда работают и здесь), в результате чего найти хорошее объяснение или примеры по тому или иному вопросу может быть затруднительно. С другой стороны, с 2015 года компания Postgres Professional делает полный перевод документации PostgreSQL на русский язык, за что им огромное спасибо. Но... Всё равно этого не хватает. В общем, если вам нужно установить PostgreSQL и вы уже столкнулись при установке с какими-то трудностями, добро пожаловать под кат!

Читать далее

Cоздание Приватной Сети Блокчейн на Go. Часть 1

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров3.2K

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

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

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

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

Читать далее

С чего начать путь уверенного DevOps-бэкэндера: Гайд по Linux-командам для работы с системой

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

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

Читать далее

Go: тонкости профилирования CPU

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров3.1K

Описаны различные способы получения профиля CPU. Объясняется смысл значений в профиле. Приводится пример анализа графа профиля CPU. На конкретных примерах обращается внимание на качественную природу профиля.

Читать далее

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Quality Assurance Analyst
Lead