Как стать автором
Обновить
543.4
Сбер
Технологии, меняющие мир
Сначала показывать

Domain-Driven Design: чистая архитектура снизу доверху

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

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

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

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

Из подземелья в QA: как и почему я перешёл в тестирование после 14 лет работы сисадмином в метрополитене

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

Привет, Хабр! Меня зовут Андрей Курье, уже почти два года я работаю инженером по автоматизированному тестированию в СберТехе — пишу тесты для Platform V Pangolin. Это специальная доработанная сборка PostgreSQL, целевая СУБД в Сбере и не только. А до перехода в тестирование я был сисадмином 14 лет. Администрировал парк пользовательских хостов, настраивал и поддерживал серверы, обслуживал СКД и видеонаблюдение в петербургском метрополитене. К слову, админскую работу я любил, мне было хорошо и комфортно, но при этом понимал, что всё вокруг меняется, а мои обязанности — нет. К тому же вырасти из сисадминов на моей работе было некуда, да и просто хотелось попробовать себя в другой области.

И вот я иду учиться на разработчика, получаю диплом, выхожу на Headhunter, получаю отказ за отказом, с трудом нахожу проект на полставки, но платят мало, я продолжаю работать сисадмином по ночам... Мой переход в новую профессию — от первого отклика до получения полноценного оффера — занял полтора года. В этой статье расскажу, как я сменил работу в 35+ лет, и что помогало, а что мешало мне на этом пути. Надеюсь, будет полезно тем, кто думает о том, чтобы поменять направление. Добро пожаловать под кат.

Вход в подземелье

Популярные фреймворки для автоматизации тестирования

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

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

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

Читать далее

SoftSIM, или Будущее сотовой идентификации в России

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

Добрый день, меня зовут Максим Бритвин, я много лет занимаюсь разработкой и производством электроники, закрывая весь цикл от идеи до вывода на рынок. Свой карьерный путь прошёл от рядового специалиста до директора по продуктам, а в данный момент времени совмещаю роль руководителя направления GSM-решений в Лаборатории Интернета вещей ПАО Сбербанк.

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

Читать далее

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

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

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

Читать далее

Что такое блокчейн, как работает и как его можно использовать

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

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

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

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

Читать далее

Зомби-апокалипсис, или Теория мёртвого интернета

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

Одна из версий гласит, что впервые теория о мёртвом интернете появилась на форуме Macintosh Cafe на Agora Road в 2021 году, когда пользователь под ником «IlluminatiPirate» начал тему под названием «Теория мёртвого интернета: большая часть интернета — фейк». Ссылаясь на сообщения крупных онлайн-форумов, таких как 4Chan. 

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

Читать далее

Test-Driven Development: как полюбить модульное тестирование

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

Как и многие, я, как мог, сопротивлялся Test-Driven Development. Я не понимал, почему тесты нужно писать перед реализацией. Почему мы должны выворачивать разработку наизнанку и переворачивать естественный, как мне тогда казалось, процесс, с ног на голову.

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

И об этом мы поговорим в статье ниже.

Мы разберём страхи, останавливающие разработчика перед тем, чтобы начать, наконец, писать тесты. Выявим очевидные преимущества. Обсудим основные правила разработки через тестирование. И подкрепим всё это реальными примерами.

Читать далее

Разница между прямым прокси, обратным прокси и балансировщиком нагрузки

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

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

Читать далее

Генерируем презентации с помощью GigaChat и Kandinsky

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

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

Мы решили проверить, насколько современные LLM и модели генерации изображений могут тут облегчить нам жизнь, учитывая, насколько мощно они продвинулись в последние годы. Для этого мы собрали MVP на базе GigaChat-Max и Kandinsky 3.1, принимающий на вход текстовый запрос и количество слайдов и генерирующий файл презентации в формате .pptx.

Читать далее

OpenShift и Kubernetes: сравнительный обзор, основные различия

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

OpenShift и Kubernetes (K8s) выбирают чаще всего для оркестровки контейнеров. Эти инструменты сложно сравнивать напрямую, поскольку Kubernetes — открытое решение (open source), а OpenShift — продукт (дистрибутив) на основе Kubernetes. В этой статье рассмотрены их основные функции и отличия, модели развёртывания и пригодность для различных вариантов использования.

Статья будет полезна тем, кто пока не знаком с этими инструментами и хочет узнать о них больше.

Читать далее

Как мы развиваем архитектурные навыки ИТ-специалистов в Сбере

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

Привет, Хабр! Меня зовут Антон Мамичев, я исполнительный директор Департамента корпоративной архитектуры в Сбере и лидер Школы ИТ‑архитекторов.

ИТ‑архитектура для большой организации имеет исключительное значение. Компании очень важно, чтобы сотрудники обладали необходимыми компетенциями для успешного выполнения поставленных задач, а сотрудникам эти компетенции необходимы, чтобы чувствовать себя увереннее, быть успешнее и расти профессионально. Для достижения этой задачи в Департаменте корпоративной архитектуре (ДКА) была создана Школа IT‑архитекторов SberAX.

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

Читать далее

Обзор решений описания и обновления state экрана в Сompose

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

Всем привет. В этой статье я предлагаю рассмотреть, как в Compose можно описать, обновить и масштабировать состояние экрана с помощью паттерна MVI.

Читать далее

Мониторинг, который кричал «Волк»! Что мы придумали для корректного сбора метрик

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

Привет, Хабр! Меня зовут Станислав Савостин, в СберТехе я занимаюсь системой мониторинга «Маяк». Это наш внутренний сервис, который основан на Prometheus, но включает много доработок и «тюнинга» под наши условия и стандарты работы.

Основная задача мониторинга — быстро выявить проблему (до того, как что‑то упало) и отреагировать, чтобы пользователи не заметили. Из‑за высокого темпа уведомлений и реакций часто возникает риск пойти по неправильному сценарию. Например, перезагрузка брокера Kafka или Artemis занимает около 30 секунд, поэтому упустить такую ситуацию легко, хотя для нас это критически важная метрика. Ложная тревога или задержка передачи метрик — максимально неприятные события, так что мы постоянно дорабатываем систему и уже научились отслеживать перезагрузки сервисов.

Я расскажу, как мы дорабатывали мониторинг, как реагируем на действительно опасные ситуации и что помогает нам ловить дзен, когда все кричат: «Волк!»

Читать далее

Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

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

Лучший способ отпугнуть монстров на Хэллоуин — это не только свечку в тыкве зажечь, но и страшную игру написать.

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

– Python

– Модуль p5py (p5.js, но только для Пайтона)

Online-IDE в браузере

Читать далее

GigaChat MAX — новая, сильная модель GigaChat

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

Салют, Хабр! Прошедший сезон оказался богат на релизы: ровно год назад мы делились новостями о GigaChat Pro, затем весной рассказали об увеличении контекста и улучшении возможностей модели, а совсем недавно завершили обучение GigaChat Vision: мы научили GigaChat понимать картинки и уже пишем про это статью.

Наши модели непрерывно развиваются, обретая всё больше новых функций, и сегодня повод рассказать о них. Встречайте наш новый GigaChat MAX!

GigaChat MAX

Настраиваем работу конвейера CI/CD (почти) без рук. Опыт использования Orchestra R в энтерпрайзе

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

Компании, что используют Jenkins в качестве CI/CD‑инструмента, обычно делают несколько экземпляров, если в разработке участвует множество команд или приходится работать с большим количеством проектов. При этом оркестрация Jenkins»ов в командах — не самая простая работа, а во многом ещё и рутинная. С одной стороны, сложно соблюдать все требования сборки и тестирования и вовремя находить согласующих. С другой, одним скриптом невозможно решить всю задачу от получения доступов до вывода релизов в эксплуатацию.

Есть правило, что если система становится слишком сложной, то люди чаще ищут способы обойти алгоритмы, а не следовать им. Чтобы не усложнять систему, а разложить всё по ролям и этапам, мы пришли к созданию собственного инструмента — Orchestra R. С его помощью мы хотели не только автоматизировать работу конвейера CI/CD, но и упростить жизнь всех DevOps‑инженеров. В этом материале поделимся особенностями работы инструмента и опытом эксплуатации в СберТехе.

Читать далее

Хотите, покажу вам магию живого кода на p5py?

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

Хотите, покажу вам магию живого кода на p5py?

Вдохновившись статьёй, посвящённой написанию клеточного автомата на Godot и экспорту проекта в HTML, хочу показать вам, как использовать для этих целей модерновый онлайн-движок p5py. Код живой не только потому, что мы про игру «Жизнь», но и благодаря способу его разработки и запуска. Всё очень живо!

Чёрный плащ

TL;DR: финальный проект вот здесь. Только кликните, и он появится.

Читать далее

Чему и на каких роботах учить на уроках робототехники

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

Сегодня в стране действует образовательный проект Минцифры России для школьников 8-11 классов и студентов колледжей «Код будущего». В рамках проекта молодёжь бесплатно учится программированию на курсах от ведущих ИТ-компаний и вузов России. И в скором времени пройдёт стратегическая сессия по внедрению в «Код будущего» с 2025 года обучения робототехнике. Эта учебная программа должна обеспечить массовость, эффективность и соответствие образовательных программ реальным запросам ИТ-отрасли и рынка труда.

На сессии будет:

Обсуждение места робототехники в «Коде будущего» и её роли в системе подготовки ИТ‑специалистов.

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

Создание рабочей группы для дальнейшей проработки стратегии и её реализации.

Зарегистрироваться на трансляцию

И в этой статье я хочу обсудить некоторые вопросы, которые будут подняты на стратегической сессии.

Читать далее

Как не сломать мониторинг своими руками

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

Проблема наблюдаемости (observability) возникает во всех организациях. Я помогу вам научиться не на своих, а на моих ошибках, подскажу, как обойти грабли и подводные камни. Здесь вы найдёте подборку антипаттернов, которая поможет избежать проблем в будущем.

Меня зовут Кирилл Борисов, я в IT около 13 лет. Создавал DevOps-процессы и инфраструктуру в больших проектах, руководил группой сопровождения. Сейчас SRE-инженер в VK, в проекте VK Реклама.

Читать далее
1
23 ...

Информация

Сайт
www.sber.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия