Мир Plat.Form
СтатистикаПривет! Это официальная страница Мир Plat.Form в Telegram. И ты тут наверняка не просто так, а чтобы узнать последние новости, послушать экспертов, чему-то научиться или стать частью нашей ИТ-команды.
- Последний пост
- 14 авг.
- Последнее чтение
- 18:43
- Постов за неделю
- 3
- Всего постов
- 22
- Тип
- открытый
- Язык
- русский
- Категория
- Новости и СМИ
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 320
- 1/48двое суток
- 366
- 1/72трое суток
- 395
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
А задачки заразные?... Ещё как 😄 Поэтому возвращаемся с новой разминкой для бэкенд-разработчиков ⬇️ При внедрении новых фич в СБП изменения часто раскатывают постепенно: сначала для одних банков, потом для других. Их идентификаторы передаются строкой через…
Руки так и тянутся переписать код 😁 Как справляешься с такой ситуацией? 😄 — работает? не трогаю ❤️ — аккуратно провожу рефакторинг 🔥 — никакие верёвки меня не удержат
А задачки заразные?... Ещё как 😄 Поэтому возвращаемся с новой разминкой для бэкенд-разработчиков ⬇️ При внедрении новых фич в СБП изменения часто раскатывают постепенно: сначала для одних банков, потом для других. Их идентификаторы передаются строкой через разделитель: bankId1;bankId2 Иногда нужно включить фичу сразу для всех банков или, наоборот, для всех, кроме указанных. Для этого Пётр добавил специальные значения: ALL — фича включена для всех I — при добавлении этого значения (в любом количестве) список начинает работать в режиме инверсии. 👍 К сожалению, Пётр заболел Stream'лянкой поэтому реализацию он написал так: static class StringSet { private static final String DELIMITER = ";"; private static final String ALL = "ALL"; private static final String INVERTED = "I"; private Set<String> stringSet; public StringSet(@Nonnull String s) { stringSet = new HashSet<>(Arrays.asList(s.split(DELIMITER))); } public boolean isEntityInSet(String entity) { return stringSet.stream() .reduce(false, (acc, item) -> { if (item.equals(entity)) return true; else if (item.equals(ALL)) return true; else if (item.equals(INVERTED)) return !acc; else return acc; }, (a1, a2) -> a1 || a2 ); } } Пётр проверил код тестами — и все они успешно прошли: @Test void stringSetTest() { assertTrue(new StringSet("a").isEntityInSet("a")); assertFalse(new StringSet("a").isEntityInSet("b")); assertTrue(new StringSet("a;b").isEntityInSet("b")); assertTrue(new StringSet("a;b").isEntityInSet("a")); assertTrue(new StringSet("ALL").isEntityInSet("a")); assertFalse(new StringSet("I;a").isEntityInSet("a")); assertFalse(new StringSet("a;I").isEntityInSet("a")); assertFalse(new StringSet("I;I;a").isEntityInSet("a")); assertFalse(new StringSet("I;ALL;a").isEntityInSet("a")); } 🏃♀️ Задача: найти ошибку, объяснить, почему тесты успешно проходили, и предложить вариант, при котором проверка будет работать корректно. ➡️ Пиши свою версию в комментариях и не забывай спрятать ответ под спойлер 😄 С правильным ответом вернемся в конце недели 🤝
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
Исследовали офис на предмет дофамина: нашли уточек и мини-йоду В карточках делимся своими любопытными находками в офисе, которые со временем стали частью интерьера 😄 👇 Мы в MAX
31 июля — День системного администратора 💻 Сегодня поздравляем тех, кто держит весь прод на плаву и спасает наши рабочие будни (и иногда нас самих) 🎉 — ура!
Ой, мы что-то нажали, и у нас всё пропало... 👨💻 — Позвать системного администратора
видео или голосовое, без подписи
Произошла непредвиденная ошибка ⚠️ Жми 👀 чтобы перезагрузить компьютер
видео или голосовое, без подписи
Пока мы писали этот пост, через платёжную систему «Мир» прошло более 1 800 000 транзакций 🍃 Хочешь работать в проектах такого масштаба? Изучай вакансии и откликайся 👇 🎨🎨🎨🎨 Java-разработчик 🎨🎨🎨🎨 приложения 🎨🎨🎨🎨🔨 для Smart-часов Главная задача — разработка платёжного приложения для оплаты с помощью Smart-часов. Чем предстоит заниматься: — создавать и поддерживать платёжные приложения, эмуляторы и системы сертификации; — развивать спецификации платёжных приложений; — разбирать сложные инциденты и причины отказов в обслуживании клиентов на проде. Что важно: — опыт разработки от 3 лет; — уверенное знание Java или Kotlin; — знание алгоритмов, структур данных и принципов работы ПО; — знание стандарта EMV; — понимание основ криптографии. ❤️ Откликнуться 🎨🎨🎨🎨 DevOps-инженер 🎨🎨🎨🎨 в Программу 🎨🎨🎨🎨🔨 лояльности Предстоит развивать CI/CD-процессы и инфраструктуру высоконагруженных сервисов, участвуя во всём цикле разработки — от анализа требований до релиза. Задачи: — проектировать и поддерживать CI/CD-конвейеры; — развивать инфраструктуру как код на Ansible; — контейнеризировать приложения и разворачивать их в Kubernetes; — настраивать мониторинг, логирование и сбор метрик; — помогать командам разработки и тестирования работать с CI/CD-инструментами; — сопровождать установку релизов. Что важно: — опыт в DevOps от 3 лет; — уверенная работа с Jenkins или GitLab CI; — знание Ansible и принципов IaC; — опыт с Kubernetes, Helm и Hashicorp Vault; — понимание Kafka, AMQP, PostgreSQL и принципов отказоустойчивости; — опыт настройки Nginx, Angie или HAProxy. ❤️ Откликнуться 🎨🎨🎨🎨 Администратор 🎨🎨🎨🎨 фермы телефонов 🎨🎨🎨🎨🔨 и часов Предстоит развивать инфраструктуру собственной фермы из десятков смартфонов и часов, которая используется для тестирования платежных сервисов и мобильных кошельков. Чем предстоит заниматься: — развивать и настраивать CI/CD; — автоматизировать разработку, тестирование и деплой; — управлять конфигурацией серверов; — развивать системы мониторинга; — участвовать в проектировании архитектуры; — взаимодействовать с командой, бизнесом и пользователями. Что важно: — уверенное знание Linux, Docker, Git и Ansible; — опыт работы с Jenkins, GitLab CI, TeamCity, Bamboo или другими CI/CD-инструментами; — навыки настройки SQL-серверов и Nginx; — готовность развиваться в DevOps, архитектуре и автоматизации тестирования. ❤️ Откликнуться Больше вакансий — в Сетке 😎 👇 Мы в MAX
видео или голосовое, без подписи
👍 Пока код компилируется... ...есть несколько секунд, чтобы отвлечься от задач. Следи за движениями нашего кота — небольшая гимнастика для глаз поможет отдохнуть. Жми 😄, если сделал разминку 👇 Мы в MAX
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи