Мир Plat.Form
Відкрити в Telegram
Привет! Это официальная страница Мир Plat.Form в Telegram. И ты тут наверняка не просто так, а чтобы узнать последние новости, послушать экспертов, чему-то научиться или стать частью нашей ИТ-команды.
Показати більше2 665
Підписники
-124 години
-27 днів
+3330 днів
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
вересень '26
вересень '26
+81
в 2 каналах
серпень '26
+32
в 2 каналах
Get PRO
липень '26
+36
в 0 каналах
Get PRO
червень '26
+659
в 3 каналах
Get PRO
травень '26
+104
в 1 каналах
Get PRO
квітень '26
+94
в 0 каналах
Get PRO
березень '26
+62
в 0 каналах
Get PRO
лютий '26
+12
в 0 каналах
Get PRO
січень '26
+16
в 0 каналах
Get PRO
грудень '25
+37
в 0 каналах
Get PRO
листопад '25
+640
в 1 каналах
Get PRO
жовтень '25
+579
в 1 каналах
Get PRO
вересень '25
+278
в 0 каналах
Get PRO
серпень '25
+15
в 0 каналах
Get PRO
липень '25
+20
в 1 каналах
Get PRO
червень '25
+627
в 0 каналах
Get PRO
травень '25
+40
в 20 каналах
Get PRO
квітень '25
+91
в 0 каналах
Get PRO
березень '25
+94
в 0 каналах
Get PRO
лютий '25
+73
в 0 каналах
Get PRO
січень '25
+31
в 1 каналах
Get PRO
грудень '24
+722
в 28 каналах
Get PRO
листопад '24
+183
в 0 каналах
Get PRO
жовтень '240
в 0 каналах
Get PRO
вересень '240
в 1 каналах
Get PRO
серпень '240
в 0 каналах
Get PRO
липень '240
в 0 каналах
Get PRO
червень '24
+11
в 0 каналах
Get PRO
травень '240
в 0 каналах
Get PRO
квітень '240
в 0 каналах
Get PRO
березень '240
в 0 каналах
Get PRO
лютий '24
+20
в 0 каналах
Get PRO
січень '24
+25
в 0 каналах
Get PRO
грудень '23
+43
в 0 каналах
Get PRO
листопад '23
+12
в 0 каналах
Get PRO
жовтень '23
+4
в 0 каналах
Get PRO
вересень '23
+1 232
в 0 каналах
Get PRO
серпень '23
+5
в 0 каналах
Get PRO
липень '23
+5
в 0 каналах
Get PRO
червень '23
+107
в 0 каналах
Get PRO
травень '23
+5
в 0 каналах
Get PRO
квітень '23
+265
в 0 каналах
Get PRO
березень '23
+85
в 0 каналах
Get PRO
лютий '23
+11
в 0 каналах
Get PRO
січень '23
+10
в 0 каналах
Get PRO
грудень '22
+227
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 23 вересня | +1 | |||
| 22 вересня | +1 | |||
| 21 вересня | +1 | |||
| 20 вересня | +1 | |||
| 19 вересня | +1 | |||
| 18 вересня | +1 | |||
| 17 вересня | +3 | |||
| 16 вересня | +1 | |||
| 15 вересня | 0 | |||
| 14 вересня | +1 | |||
| 13 вересня | +4 | |||
| 12 вересня | +2 | |||
| 11 вересня | +1 | |||
| 10 вересня | +4 | |||
| 09 вересня | +1 | |||
| 08 вересня | +2 | |||
| 07 вересня | 0 | |||
| 06 вересня | +1 | |||
| 05 вересня | +47 | |||
| 04 вересня | +1 | |||
| 03 вересня | +2 | |||
| 02 вересня | +3 | |||
| 01 вересня | +2 |
Дописи каналу
Проводим тест на моторику и фантазию 🔍
Лапки панды уже готовы к эксперименту — осталось определить их содержимое.
🎨🎨🎨🎨🎨
💳🎨🎨🎨🎨
🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨
Твоя задача:
1. Выделить картинку.
2. Скопировать и вставить её в комментарии.
3. Заменить 💳 на любой эмодзи (лучше тот, который переживёт модерацию 😉)
Скорее отправляй свои версии 👇
| 2 | Немає тексту... | 11 086 |
| 3 | Просто ли на самом деле вызвать Java из браузера? 👍
В новой статье наш fullstack-разработчик Зураб Гостохов продолжает собирать цепочку между веб-страницей и локальной Java-программой.
Во второй части разбираемся, как перейти от разового вызова к полноценному двустороннему каналу: наладить обмен между браузером и Java-хостом, передавать прогресс, отменять задачи и переживать обрывы соединения 😄
Как всё это связать и заставить стабильно работать ➡️ читай на Хабре | 552 |
| 4 | Как распознать QA-инженера вне рабочего чата? 👀
На прошедшем митапе Мир Plat.Form × Moscow QA искали ответ на этот и другие важные вопросы: сравнивали запуск релиза с событиями из жизни и выясняли, при чём здесь прыжок в море.
😄 Смотри видео и ищи себя на кадрах в альбоме ВК
👇 Мы в MAX | 633 |
| 5 | Сбор на подарок коллеге вышел на новый технологический уровень 🤝
Вместо «скинь номер», «а какой банк?» и лишних уточнений — C2C-ссылка или QR-код.
Для сбора можно даже задать срок действия ссылки и заранее указать сумму — одним словом ✨текнолоджия ✨
А что происходит после сканирования QR и как несколько веков переводов привели нас к этому сценарию — рассказываем в спецпроекте.
➡️ Читать статью на Хабре | 729 |
| 6 | Немає тексту... | 623 |
| 7 | Золото в теннисе, бадминтоне и паделе 🥇
Ворвались командой на V Международные летние корпоративные игры — в этом году Mir Plat.Form представляли 27 коллег.
Соревновались в пяти дисциплинах, а особенно эффектным получился дебют в паделе: впервые вышли на турнир — и сразу забрали первое место.
Ну что сказать — команда мечты! ❤️ | 856 |
| 8 | Уже, уже:) | 853 |
| 9 | Відеоповідомлення | 768 |
| 10 | В нашем офисе наступило бабье лето 🌽
Продлеваем сезон и угощаемся с коллегами сладкой кукурузой — делимся настроением в кружочке 👇 | 730 |
| 11 | Все когда-то были джунами 🎒
Даже те, кто сегодня проектирует системы, руководит командами и разбирается с задачами любой сложности, когда-то начинали с чистой тетради в клеточку.
К 1 сентября заглянули в школьные архивы команды Мир Plat.Form.
Листай картинки и знакомься с теми, кого теперь привычнее видеть с ноутбуком, чем с портфелем ❤️
А как ты встречаешь 1 сентября сегодня?
🤓 — уроки сменились парами в вузе
❤️ — собираю в школу своих детей
😎 — наблюдаю за школьной суетой со стороны | 11 484 |
| 12 | Выбери таблетку:
🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨
Красная — Синяя —
новые новые
знания🎨 знакомства
20 августа мы выбрали обе и на день погрузились в «Мир Plat.Form: перезагрузка» — шестую внутреннюю ИТ-конференцию.
👇 На сцене — 18 докладов и 27 спикеров: говорили про backend, QA, AI и ML, надёжность систем и делились кейсами, которые обычно остаются внутри команд.
А между выступлениями выходили из Матрицы по-своему: проходили антикапчу, собирали работающий платёжный QR-код, общались и встречались с теми, кого чаще видишь только в рабочих чатах.
Перезагрузка завершена — листай фотографии и смотри, как это было ❤️ | 856 |
| 13 | Немає тексту... | 694 |
| 14 | $ happy_birthday_linux 🎉👍
В честь дня рождения Linux собрали команды терминала, без которых наши разработчики уже не представляют рабочий день.
Что вошло в их личный топ — смотри в карточках.
Делись своей любимой командой в комментариях 👇 | 571 |
| 15 | Что происходит с Java после Loom? 🤔
Разбираться будем на JVM Day — конференции для тех, кому интересно не только писать код, но и знать, что происходит с ним под капотом.
👇 В программе — выступление Александра Ланцова, эксперта отдела расчётных систем Мир Plat.Form, с докладом «Java после Loom: альтернативные модели конкурентности».
Александр разберёт, что изменилось после появления Virtual Threads, и покажет, как теперь можно работать с моделями CSP и actors без лишней тяжеловесности.
✍️ Когда? 29 августа, доклад Александра с 11:40 до 12:30
✍️ Где? T-Space, Москва, ул. Грузинский Вал, д. 7
Если Java и устройство бэкенда — твоя тема, приходи послушать 🙌
➡️ Подробнее о докладе и конференции | 581 |
| 16 | Немає тексту... | 653 |
| 17 | 10 лет на одном месте ≠ 10 лет в одной роли 😄
В 2016 году Саша пришёл в НСПК на позицию консультанта. Сегодня он — директор направления в Департаменте разработки.
Собрали его историю — о карьерных поворотах, задачах и о том, почему иногда для следующего шага не нужно никуда уходить.
👇 А тем, кто думает о смене работы, но пока сомневается, Саша советует:
«Главное — не где расти, а хотеть развиваться через новые вызовы. Если внутри компании есть и вызовы, и возможность на них ответить — значит, вы на верном пути».
Кажется, 10+ лет — вполне убедительный аргумент 😉
👇 Мы в MAX | 681 |
| 18 | Выяснили, где Пётр подхватил Stream’лянку? 😄
Ошибка спряталась в инверсии: в текущей реализации I просто меняет накопленный результат внутри reduce.
Такая логика сработает корректно только если I попадёт в стрим последним. Но stringSet — это HashSet, а у него нет гарантированного порядка обхода элементов. Петру просто повезло: во всех тестах с инверсией I обрабатывался в нужный момент, поэтому тесты прошли.
📌 Например, этот кейс уже помог бы поймать ошибку:
assertFalse(new StringSet("I;a;z;c;ALL").isEntityInSet("z"))
Чтобы не зависеть от порядка элементов, перепишем проверку через обычные логические выражения:
var result = stringSet.contains(ALL) || stringSet.contains(entity);
return stringSet.contains(INVERTED) != result;
➡️ Так код становится проще, предсказуемее и быстрее: вместо линейного обхода получаем проверки по HashSet, которые в среднем выполняются за константное время.
Ставь ❤️, чтобы пожелать Петру скорейшего выздоровления от Stream’лянки | 698 |
| 19 | Руки так и тянутся переписать код 😁
Как справляешься с такой ситуацией?
😄 — работает? не трогаю
❤️ — аккуратно провожу рефакторинг
🔥 — никакие верёвки меня не удержат | 633 |
| 20 | А задачки заразные?... Ещё как 😄
Поэтому возвращаемся с новой разминкой для бэкенд-разработчиков ⬇️
При внедрении новых фич в СБП изменения часто раскатывают постепенно: сначала для одних банков, потом для других. Их идентификаторы передаются строкой через разделитель: 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"));
}
🏃♀️ Задача: найти ошибку, объяснить, почему тесты успешно проходили, и предложить вариант, при котором проверка будет работать корректно.
➡️ Пиши свою версию в комментариях и не забывай спрятать ответ под спойлер 😄
С правильным ответом вернемся в конце недели 🤝 | 703 |
