Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Как я перешла из QA в тимлиды разработки

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

Можно ли из тестирования перейти в разработку да еще и стать лидом? Можно. Но в моем случае все началось не с решения сменить профессию или получить новую должность. Сначала появилось новое направление, в развитии которого мне захотелось участвовать. Затем — возможность влиять на решения и брать на себя всё больше ответственности. А уже вместе с ней постепенно выросла и моя роль.

Привет, Хабр! Меня зовут Алина Сычёва, я около трех лет работаю в МТС Линк. В компанию я пришла на позицию middle QA, а сейчас руковожу одной из команд разработки. В этой статье я расскажу, как работа с релизами локальной версии продукта оказалась для меня школой лидерства, какие навыки из тестирования пригодились в новой роли и чему пришлось учиться после перехода.

Читать далее

Я устал от приложений для английского и сделал свою таблицу. Или как учить английский в Telegram, если нет времени

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

Раньше я начинал учить английские слова и постоянно бросал это дело.

Находил новый способ, занимался какое-то время — а потом появлялись дела, работа, не хватало времени, и я снова всё забрасывал.

Но полтора года назад всё изменилось: с того момента я выучил 623 слова почти не тратя на это время. Без силы воли, дисциплины и изменения привычного образа жизни.

В этой статье расскажу, как я к этому пришёл и как повторить мои результаты.

Читать далее

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

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

Молока в кофе можно налить по-разному, но в одном случае получится 3в1, а в другом — капучино. Точно так же с внедрением ИИ, который сейчас пытаются пришить к каждой кофемолке. Мы попробовали вставить ИИ в платёжный терминал не ради хайпа, а чтобы он начал реально слышать клиента в условиях ревущей кофемашины и бесконечного гула торгового зала. И, кажется, получился вообще не капучино. Раф, как минимум! 😀

Привет, Хабр! Я Владимир Графсков, техлид по интеграционным проектам Эвотора. Расскажу, зачем нашему пинпаду понадобилась нейронка, как мы решились делать голосовой интерфейс для платёжного терминала, как устроен EvoPoint и как он меняет процесс покупки.

Читать далее

История одного пулреквеста в DKMS: когда сообщение об ошибке — это баг

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели4.2K

Разбираю реальный случай контрибьюции в DKMS (Dynamic Kernel Module Support) — инструмент, который пересобирает сторонние модули ядра вроде nvidia, VirtualBox, ZFS при обновлении ядра. Столкнулся с неинформативным сообщением об ошибке «Manual intervention is required!», разобрался, почему путь к сломанному модулю не попадает в вывод, хотя DKMS его знает, и почему это не то же самое, что путь из побочного сообщения find. Отправил патч из трёх атомарных коммитов в апстрим, PR смержен. В статье — разбор кода, поиск похожих issue и PR перед началом работы, возня с тестовым окружением (root, kernel headers, симлинки /lib vs /usr/lib, конфликт с системным dkms) и выводы о том, что делает патч приемлемым для мейнтейнеров.

Читать далее

Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

Время на прочтение5 мин
Охват и читатели4.4K

Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

Как Kiva использует Manticore Search в SaaS, где у каждого клиента своя база данных и своя схема: сочетает периодически перестраиваемую и RT-таблицы, обрабатывает изменения в реальном времени и обходится без отдельных серверов для поиска.

Читать далее

SimpleRPC (libsrpc): Простой RPC на Си для Linux-приложений

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

Есть классическая проблема: изолированные процессы — хорошо для надёжности, но хочется иногда вызвать функцию из другого процесса, как будто она лежала в той же библиотеке. Стандартные IPC — это всегда протокол: описал интерфейс, сгенерировал стабы, поднял сервер, прописал адреса. Simplerpc предлагает путь короче: пишешь обычную функцию на Си, линкуешь библиотеку — и она автоматически становится RPC-методом, доступным другим процессам на той же машине.

Читать далее

DDNS для российских DNS-хостингов: почему не подошли готовые клиенты и что я написал взамен

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

Я проверил популярные DDNS-клиенты и почти не нашёл в них поддержки российских DNS-хостингов. Поэтому запись для домашнего сервера обычно обновляют самописным скриптом на curl, а такой скрипт ломается молча. Я разобрал API нескольких хостингов и написал на Go свой DDNS-демон, который учитывает их особенности.

В статье рассказываю, почему совет перенести зону в Cloudflare подходит российской аудитории с оговорками и что умеют готовые клиенты. Затем разбираю подводные камни API REG.RU, Selectel и Yandex Cloud, о которые спотыкаются самописные скрипты. В конце показываю, как устроен dnspatch и как запустить его в Docker за пару минут.

Читать далее

Сравнение регионов Казахстана

Уровень сложностиПростой
Время на прочтение25 мин
Охват и читатели4.4K

Я собрал больше 32 тысяч объявлений с Krisha и данные БНС по зарплатам, ценам, тарифам и переездам. Потом посчитал, сколько остаётся от зарплаты после аренды, еды и коммуналки, и сравнил это с тем, куда на самом деле переезжают люди.

Как живут в Казахстане...

Чьи это GPU: безопасные метрики с самообслуживанием для мультитенантного Kubernetes

Время на прочтение10 мин
Охват и читатели4.7K

«Мы вообще пользуемся этими штуками?» Этот вопрос прозвучал на разборе расходов на GPU — самой крупной статьи инфраструктурного счёта, и никто не смог на него ответить. Загрузку карт записывали каждую секунду, но метрики попадали в центральный Prometheus, куда тенанты не имеют доступа. Когда данные наконец проверили, обнаружили GPU, который одиннадцать дней подряд простаивал с нулевой загрузкой.

Команда VK Tech перевела статью с разбором о том, как дать каждой команде доступ только к своим метрикам, и шестью PromQL-запросов для поиска простаивающих карт.

Читать далее

Пусть агент сам докажет, что написанные им тесты можно не пройти

Время на прочтение8 мин
Охват и читатели4.3K

Агент пишет патч, пишет для него тесты, выполняет их и сообщает об успехе. Дифф выглядит здраво. Итак, у нас есть реализация, файл с тестом, и проверка пройдена (зелёная).

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

Читать далее

Когда технический долг и legacy-системы тянут CIO вниз

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

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

Читать далее

ASP.NET Core: сохраняем логи Serilog из контейнера Docker на хосте

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

Serilog - популярная система логирования для ASP.Net Core (MVC) приложений, которая легко подключается и имеет гибкие настройки. При запуске в Docker (и далее в Kubernetes) важно, чтобы система логирования записывала вывод в stdout, чтобы к ним имели доступ стандартные команды, напр.

docker logs {container_name}

Хорошая новость - при использовании обычного ConsoleSink (вывод в консоль), логи автоматически становятся доступными для docker logs. Не очень хорошая новость - если вы также используете FileSink (вывод в файлы) и хотите хранить эти файлы на хосте,чтобы после перезапуска контейнера они не потерялись, то придется повозиться. Точнее, возможно придется - если вы следуете рекомендациям по безопасности и запускаете процесс внутри контейнера не под root-ом. Но обо всем по порядку.

Читать далее

Ivory v2.0.0 — за пределами Postgres

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4K

Ivory начинался как небольшой инструмент, упрощающий работу с кластерами PostgreSQL и Patroni.

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

Теперь Ivory помогает делать то же самое и упрощает работу с другими сложными системами баз данных: MongoDB, ClickHouse, Redis и т. д. А если вы захотите добавить любую другую базу данных, это легко сделать с помощью AI-агентов. Для этого есть специальный subagent.

Читать далее

Ближайшие события

Как мы печатали работающий сервер: история одного приза

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.6K

Собирались мы как-то на конференцию в качестве консультантов на стенд решения. Рассказывать должны были про сервис Evolution Bare Metal. Идейным вдохновителем выступил @echo0x00, он знал, что мы с коллегой 3D-печатники, поэтому предложил как-нибудь нетривиально привлечь внимание гостей к нашему стенду, например, напечатав мини-стоечку с нашим лого. 

Слово за слово, предложение за предложением и вот уже то, что должно было быть простой сувениркой на один день, превратилось в крутой 3D-инженерный проект, которым даже можно управлять через Wi-Fi. Получилось настолько прикольно, что коллеги из маркетинга даже предложили разыграть его среди тех, кто придумает самый классный способ взломать облако. Впрочем, обо всем по порядку…

В конце истории вас ждет файл проекта, так что каждый неравнодушный к серверам сможет скрафтить себе эффектный ночник.

Читать далее

Продовый REPL: Yaegi поверх composition root

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели4.2K

Консоль для прода на Go: отдельный процесс с тем же composition root, read-only по умолчанию и REPL на Yaegi

Читать далее

Первые отечественные электронные лифты. УЛЖМ МЯУ

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

Приветствую всех!

В начале года я уже как‑то рассказывал про такую станцию управления лифтом как УЛЖ-10. Тогда я рассказал исключительно про работу самих плат‑ячеек, а очень многое так и осталось за кадром. Спустя много времени мне повезло раздобыть все остальные блоки из шкафов таких лифтов, а также довольно интересный артефакт: плату, при помощи которой производилась модернизация этих станций.

Итак, сегодня детально посмотрим на начинку первой массовой отечественной электронной станции. Узнаем, как всё это соединялось и работало и при чём здесь микроконтроллеры, а главное — попробуем всё это запустить. Как водится, будет много интересного.

25 этаж

GitHub Actions убрал Node 20 и отключает старые раннеры: что проверить

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели4.9K

23 сентября GitHub окончательно убрал Node 20 из раннеров GitHub Actions. JavaScript-экшены теперь выполняются на Node 24, а временный выключатель ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION, которым можно было вернуть Node 20, больше не работает. Через шесть дней, 29 сентября, на GitHub Enterprise Cloud включилась полная проверка версий self-hosted раннеров.

Две новости за неделю, и обе ломают тихо.

Читать далее

Как выбрать и проверить LLM для рабочих задач: Claude, GPT, Gemini и другие модели

Время на прочтение14 мин
Охват и читатели6K

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

Опубликованные тесты помогают выбрать несколько моделей для сравнения. Дальше нужны собственная задача и понятные условия приёмки: что должно получиться, как проверить результат и сколько ручной работы допустимо.

Привет, Хабр! Я Игорь Зуриев, руководитель проектов по автоматизации бизнеса и внедрению систем на базе ИИ. Больше десяти лет управляю ИТ-проектами, в том числе для заказчиков из нефтегазовой отрасли и строительства — «Лукойла», аэропорта Шереметьево, «Трансгаза». Автор и преподаватель программ по ИТ-проектам и цифровым продуктам, в том числе в Университете Иннополис. В школе Karpov.Courses преподаю применение ИИ для анализа данных. Веду в ТГ канал «Нейросетка». 

Сам использую ИИ для работы с кодом, документами и прототипами. Fable 5.1 понравилась мне тем, что код получался практически без ошибок с первого раза. В Stitch я описывал изменения интерфейса словами и сравнивал варианты экранов. А один из запусков Sonnet 5 закончился исчерпанием лимита без готового результата. Поэтому меня интересует и качество ответа, и то, сколько работы после него остаётся человеку.

Читать далее

От учебных проектов к работе в ТИМ. История Нины Гагулиной

Время на прочтение6 мин
Охват и читатели4.3K

Окончить бакалавриат, стать ведущим ТИМ-специалистом и получить две награды «САПР-Перспектива – 2026» за учебные проекты – все это Нина Гагулина успела в 2026 году. Ее карьера началась с победы в конкурсе на знание nanoCAD, а сегодня она уже помогает проектным организациям осваивать российское ПО. Поговорили с Ниной о том, как по обмерам и фотографиям создать информационную модель дома XIX века, разработать купольную систему собора и заинтересовать работодателя своим портфолио.

– Нина, этим летом вы получили диплом бакалавра и стали ведущим специалистом. Чем занимаетесь сейчас?

– Я окончила Санкт-Петербургский государственный архитектурно-строительный университет по направлению «Строительство», профиль «Промышленное и гражданское строительство». Выпускалась на кафедре организации строительства. Сейчас продолжаю обучение в магистратуре СПбГАСУ по программе «Программирование и ТИМ-технологии в строительстве». Занятия проходят по вечерам, поэтому их удобно совмещать с работой. Кроме того, участвую в научно-исследовательской работе Центра региональных проблем экономики качества Института проблем региональной экономики Российской академии наук.

Параллельно с учебой развиваюсь и в профессиональной сфере. Начинала карьеру специалистом САПР, а летом 2026 года стала ведущим ТИМ-специалистом по архитектурным и конструктивным решениям. Сейчас много общаюсь с представителями проектных организаций и институтов: провожу обучения, помогаю разобраться в программах и осваивать инструменты информационного моделирования...

Читать далее

Разбор Jev — модели, которая не умеет писать

Время на прочтение11 мин
Охват и читатели9.4K

Утро началось с того, что ко мне в личку пришел друг и спросил: «Кто это такой, этот Jev? Ты работаешь с ИИ, должен знать».

К этому моменту я уже видел десятки постов в ленте о том, насколько он крут, какие задачи решает, и призывы переносить все свои флоу на Jev. Давайте разбираться.

Читать далее