Верхняя полка📝
رفتن به کانال در Telegram
Путевые заметки программного инженера и легкоатлета-любителя. Автор: Владимир @Toparvion Плизга Домашняя страница: https://toparvion.pro/
نمایش بیشترروسيا495 879دسته بندی مشخص نشده است
359
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+27 روز
-330 روز
آرشیو پست ها
В Spring Айо вышла запись подкаста со мной и Алексеем Рагозиным, где мы говорили о современных подходах и инструментах для анализа и оптимизации производительности приложений на JVM, попутно раздавая спойлеры из наших курсов 🤭
Любопытно, что запись подкаста почти совпала с запуском курсов у самих ребят из Spring Айо — сейчас они набирают желающих на первый курс "Продвинутый Hibernate". Там можно будет глубоко погрузиться в реальные enterprise-кейсы и научиться их правильно "готовить" 🍳
+2
Первый беговой старт летнего сезона 2026 ✅
Новосибирский Весенний Полумарафон — самое близкое мне (в географическом смысле слова) беговое соревнование, так как проходит прямо по улицам Академгородка. А стартово-финишный городок расположен между Гусями — башнями АкадемПарка, которые соединены переходом на уровне 13-го этажа. Благодаря этому организаторы заявляют, что у этого старта самая большая в мире финишная арка (65 метров) 🤓
Вчера этот забег проходил уже в 11-ый раз, а для меня участие в нём стало 5-ым. И как обычно, бежалось весьма нелегко, так как зимой я практически не бегал, а лыжный сезон завершился вот только неделю назад. Можно подумать, что бег на лыжах и в кроссовках взаимозаменяемы, но не деле это не совсем так — в этих видах спорта задействованы разные группы мышц, и характер движения тоже разный. Из-за этого переход с одного на другой осенью и весной всегда даётся мне не просто 🥵
Как бы там ни было, вчера я пробежал за 1:32:05, став 107-ым из 449 мужчин на 21 км (результаты ещё уточняются). Это стало моим 2-ым результатом за 5 попыток (лучше было только в 22-ом году, и то всего на 4 сек). Ноги, конечно, до сих пор офигевают, но кого это теперь волнует?.. 🤷🏻♂️
Примечательным в этот раз стало моё "двойное участие": перед своим забегом я свозил туда пятилетнего сына, который пробежал свой первый соревновательный километр. И хотя в сравнении с другими ребятами его результат получился скромным (5:51, 9-ый из 12), свои основные задачи он уверенно выполнил: пробежал всю дистанцию без перехода на шаг и финишировал в нормальном расположении духа, без соплей и слёз. А на детских забегах, знаете ли, часто бывает иначе 🤭
Теперь мы с ним оба — обладатели медалек с цифровой белкой и номером года в двоичной форме 👨🏻💻
На этом беговой сезон 2026 можно считать открытым. А какие спортивные планы намечены у вас? 🙂
При подготовке к недавно анонсированному подкасту набрёл на любопытный инструмент javaperf — MCP-сервер, предоставляющий ИИ-агентам средства диагностики производительности JVM, например, возможность управлять JDK Flight Recorder'ом и анализировать его записи 🔍
Всего в его арсенале на сегодня 15 тулов ⚒️
Сам я ещё не игрался, поэтому рекомендовать не готов, но выглядит, как минимум, интересно. Если кто-то уже пощупал, поделитесь, пожалуйста, впечатлениями 👇🏼
#инструменты
+9
Лыжный сезон 2025-2026 завершён ✅
Он начался необыкновенно рано — в первой половине октября внезапно выпало много снега, который потом растаял за день. И хотя это была лишь забавная случайность, она стала предзнаменованием насыщенного, мощного лыжного сезона, фактически продлившегося с середины ноября по сегодняшний день 🗓
Я провёл его в той же лыжной школе, но под руководством другого тренера — бывшего члена олимпийской сборной, к которому давно хотел попасть. Совпадение или нет, но с ним мои лыжные навыки за этот сезон выросли весьма заметно, несмотря на то, что я занимаюсь лыжным бегом больше десяти лет, из которых пять — в различных школах ⛷
Скорее всего, никто не помнит, но в ноябре я говорил вам, что купил слот на главный старт этого сезона — лыжный марафон в Кемерово в середине марта (50 км свободным стилем). Ещё шутил, что благодаря публичному объявлению мне будет сложнее отмазываться, если всё же сольюсь. Должен признаться, да, писать эти строки сейчас не просто, ибо я всё же слился... 🙄
Причин, как обычно, несколько. Среди них и внезапные морозы, вычеркнувшие две недели очень важных тренировок, и большая нагрузка по работе, когда приходилось начинать рабочий день по Новосибирску, а заканчивать по Москве, в том числе по выходным, просиживая за компьютером часы плановых тренировок. Но главная (и, возможно, вытекающая из первых двух) причина — это неготовность головой. Трудно объяснить, но это как будто кричишь куда-то вглубь себя: "Ну что, готов!?", а в ответ не задорный отклик, не ободряющий гул и не звонкое эхо, а опустошающая тишина вперемешку с лёгким ропотом и невнятным шёпотом. Конечно, можно было собрать волю в кулак и стартануть назло хандре, но я чувствовал, что этот подвиг обойдётся мне дорого и вряд ли будет в удовольствие, а для меня, любителя, это важно. Поэтому я пропустил этот старт ✖️
Взамен его я взял слот в тех же числах на давно полюбившийся мне лыжный полумарафон (30 км) в родном Академгородке и пробежал его на удивление бодро — стал 18-ым из 53 лыжников, хотя раньше почти никогда не появлялся в верхней половине финишных протоколов. После него ещё стартовал на 10 км, но чувство незакрытого гештальта всё равно не покидало, ведь сопоставимого с марафоном забега так и не было. Отдушиной стало лишь замёрзшее море — только там и только в апреле удалось за один раз пробежать 50 км, пусть и не в соревновательном темпе. И вот тогда, наконец, начало появляться чувство удовлетворения ☺️
Венцом этого периода стал день сегодняшний, а точнее, его "Пляжный забег" — любительский лыжный старт на 10 км вдоль побережья всё ещё замёрзшего водохранилища. Я много слышал об этом соревновании, но всякий раз пропускал из-за слишком позднего срока проведения — стереотипы диванного аналитика не давали понять, как можно в середине апреля бегать на скорость на лыжах, да ещё по морю (звучит как бред). Но этот день показал — очень даже можно, и это новый прикольный опыт, который хочется получить вновь 👍
Я бестолковый бегун в том смысле, что бросаю бег на всю зиму, предаваясь лыжам. А заодно и хреновый лыжник, потому что на полгода бросаю лыжи в пользу бега и плавания вместо того, чтобы всё лето делать специальную силовую работу и гонять на лыжероллерах во имя сохранения техники. И каждый раз переход с одного на другое даётся с большим трудом. И каждый такой раз вспоминается надпись на футболке какого-то случайно встреченного атлета:
Бегаю я медленно, зато плаваю не быстро.И вот настало время совершить этот переход ещё раз. Каким будет следующий сезон загадывать не хочу; главное, чтобы он состоялся. Всем #спорт ✊
+2
Опираясь на эти возможности Borg, я построил такое решение:
1. Каждую ночь специальный скрипт по Cron'у создаёт новую версию всего фотоархива в локальном репозитории Borg на VPS (чтобы в случае отказа сервера бэкап пропал вместе с ним — ну удобно же, да?)
2. Этот же скрипт сразу реплицирует эту версию по SSH на удалённый репозиторий Borg, развернутый дома на NAS.
3. В случае реализации любого из перечисленных выше рисков, последняя версия архива в репозитории окажется испорченной. НО: у меня будет 3 месяца на то, чтобы откатиться к любой предыдущей — именно такую глубину хранения версий я заложил в настройки скрипта 🏛
Восстановление данных в случае Borg не тривиально, ведь он хранит их в своём собственном двоичном формате, и в этом, пожалуй, его главный недостаток. Но всё же предлагаемые им варианты восстановления покрывают все основные потребности. Варианта этих два:
1. Можно извлечь любую версию репозитория в указанную папку, как из архива. Это сделает файлы полностью независимыми от репозитория, но может потребовать много места на диске.
2. А можно смонтировать любую версию репозитория на диск в виде папки с файловой системой FUSE. Содержимое папки будет выглядеть как содержимое архива, но на самом деле это будут данные, прозрачно транслируемые Borg'ом. Благодаря этому папка не занимает места на диске (как при извлечении), но её содержимое доступно только для чтения и только при запущенном Borg'е 🤖
Я пользуюсь именно монтированием, чтобы быстро проверять содержимое копий фотоархива: походить по ним как по обычному дереву каталогов и позаглядывать в произвольные файлы. Работает это заметно медленнее, чем настоящая файловая система, но для таких целей сойдёт 🗂
Резюме
Построенное решение не на 100% страхует меня от риска потерять ценные данные. Но оно существенно снижает этот риск. Кроме того, оно создаёт достаточно удобный резервный канал доступа к фотографиям на случай, если основной канал (Immich) окажется недоступен.
В качестве доказательства — извлечённая из автоматически созданного архива фотография автора этих строк, сделанная до того, как он осознал сложности надёжного резервного копирования... 📸
Сага о семейном фотоархиве
Эпизод II. Воцарение бэкапа.
В начале года я рассказывал вам о том, что за новогодние праздники наконец-то построил себе решение для автоматической загрузки, надёжного хранения и гибкого поиска фоток и видео в семейном архиве. Оно основано на opensource сервисе Immich, который я развернул в облаке (на VPS) ☁️
И хотя, в целом, решение рабочее (3 месяца полёт нормальный), оно в каком-то смысле убивает саму идею владения своим фотоархивом, ведь теперь основное хранилище там, в облаке, а доступ к нему может пропасть по 1000 и 1 причине: от банальной неуплаты аренды до глобального сбоя в Интернете. Понимая это, я ещё тогда заказал себе домой сетевое хранилище (NAS) и к нему два одинаковых жестких диска по 2 ТБ, чтобы объединить их в RAID-1 массив и сохранять каждый байт информации дважды на случай отказа одного из дисков. К слову, ждать отказа не пришлось — один из дисков был куплен за полцены по распродаже на Озоне, приехал без гарантийного талона и сдох на первой же массовой записи. Мораль: скупой платит дважды 💰
По моей исходной задумке, данные фотоархива из облака (с VPS) должны быть скопированы домой (на NAS), а затем как-то автоматически обновляться, чтобы домашняя резервная копия оставалась актуальной. Но когда стал продумывать в деталях, осознал, что не понимаю, как именно они должны "обновляться":
— забирать каждый раз весь архив целиком не вариант, он весит 500 ГБ 🏋️
— значит, нужно переносить только разницу: некий дифф того, что изменилось с последнего переноса 🤏
Здесь важно отметить, что в разницу могут входить не только добавленные файлы, но и удалённые, потому что я периодически наведываюсь в архив, чтобы:
— удалить откровенно неудачные снимки
— убрать дубликаты, пропущенные машинными обучением
— стереть фото домов/цветов/котов, которые казались прикольными на момент снимка, а сейчас я даже не помню, где и когда (и на фига) это снято 🧐
Ок, вроде логичное требование, стоит его учесть. Но что если вдруг:
— я с бодуна наудаляю лишнего?
— или Immich сойдёт с ума (из-за бага) и грохнет часть архива?
— или вирус-шифровальщик проникнет на VPS и превратит все фото в тыкву, требуя выкуп?
Придуманное выше автоматическое обновление во всех этих случаях слепо отразит изменения на домашнюю резервную копию, умножив масштаб проблемы вместо её предотвращения. И, понятное дело, оно не сможет отличить "хорошее" удаление файлов от "плохого" 🤷♂️
Как быть? Решением видится такой компромисс, при котором все изменения всё же будут безусловно отражаться на резервной копии, но эти изменения при случае можно будет легко откатить. Осталось придумать, как это сделать 😏
Прямую наводку на ответ я нашёл в документации на Immich, в статье о расширенном резервном копировании. В качестве основного инструмента там предлагается Borg — бэкапер, написанный на Python. Borg помещает резервируемые файлы в т.н. репозиторий — версионируемое хранилище в собственном двоичном формате. Версионность здесь означает, что репозиторий может содержать множество слепков (версий) исходного архива, но хранятся они не в виде полных копий, а в виде неких диффов к предыдущим слепкам. Таким образом можно восстановить полное состояние архива на любой момент, для которого в репозитории есть слепок (версия). Дополнительно к этому нативно поддерживаются сжатие и шифрование данных в репозитории. Версии могут именоваться произвольным образом и в этом смысле похожи на коммиты в репозиториях Git, да и вся идея Borg во многом перекликается с Git'ом 🪞
Другая важная для меня фича Borg — работа с удалёнными репозиториями по SSH. Именно под неё я наконец-то заполучил себе у провайдера "белый" IP, настроил для него проброс порта на роутере и поднял вторую копию Borg на сетевом хранилище. Правда, вскоре после этого у провайдера не неделю отвалился интернет во всем подъезде. Еси чё, это не я 🙄
Repost from Spring АйО
🔥 Профилирование? Не, не слышал
Друзья, следующий подкаст пройдет не как обычно, а с очень уважаемыми IT индустрией людьми - Владимиром Плизга и Алексеем Рагозиным - настоящими гуру JVM performance.
У нас, конечно же, есть, что обсудить.
Например:
🔘Нужны ли профайлеры в 2к26?
🔘Зачем вообще запрофилировать?
🔘Поможет ли ИИ в анализе перформанса?
❓Но мы ждем и ваши вопросы в комментариях под постом. Самые интересные обсудим на подкасте!
Давно не был ни у кого в гостях на подкасте, а тут как раз замечательный случай. Присылайте вопросы — постараемся осветить их за время беседы ✍️
Начинающим линуксоидам на заметку ✍️
И хотя на дворе 2026-ой год, а вокруг сплошные ИИ агенты, в трудовых буднях разработчика всё ещё остаются вещи, которые проще/надёжнее/быстрее сделать руками, надо только вспомнить дурацкий исторически сложившийся синтаксис той самой линуксовой утилиты... ⚒️
В таких случаях меня уже давно выручает не Google и не встроенный в терминал ИИ-агент (хотя они, безусловно, тоже могут), а старый добрый TLDR — терминальный справочник по линуксовым командам 📚
Суть его предельно проста — когда вам нужно вспомнить синтаксис какой-то команды, вы просто пишете
tldr <command>, и она возвращает вам краткое описание команды с примерами наиболее частых применений (см. скриншот) 💎
Прелесть такого подхода не только в том, что не надо выискивать нужные опции утилиты среди разношерстно написанных справок, но и в том, что приводимые примеры зачастую включают и валидные, проверенные комбинации этих опций 🔩
Основной недостаток вижу лишь в том, что утилита всякий раз обращается к своей базе онлайн, поэтому для работы требует выхода в Сеть и порой отвечает не мгновенно ⏳
Однако этот минус с лихвой компенсируется тем, что (по моему опыту) выводимой информации хватает в >90% случаев — остаётся только скопипастить 📝+9
Сибирь ассоциируется с лыжами у многих, но мало кто связывает её с морем, и уж тем более с лыжами на море🥴
Однако есть в году сезон, когда в наших краях эти два несвязанных понятия вдруг начинают друг друга гармонично дополнять. И этот сезон — сейчас. Судите сами:
— лёд Обского водохранилища ещё толстый (там много рыбаков, некоторые даже на машинах)
— снег на льду тоже ещё есть
— ночью заморозки
— днём плюсовая
— и так несколько суток подряд.
Всё вместе это ингредиенты для формирования наста — плотного, ровного покрова, катучего для беговых лыж 🚀
Однако хороший наст формируется не всегда, да и поймать его оптимальное состояние не просто — нужно приехать в один из тех самых считанных дней, причем обязательно утром. Сегодня как раз один из них ☀️
Погода нынче непростая, было уже много жарких дней, поэтому наслаждаться гладким настом почти не пришлось. Вместо этого было много рыхлых участков, снежных перемётов, ледяных луж и даже барханов — небольших холмов из снега. Ехать по всему этому в начале было весьма непросто — вестибюлярный аппарат ещё не проснулся. Но постепенно я вработался и стало даже нравиться — на скорости около 16 км/ч нужно было очень быстро перестраивать стиль движения под постоянно меняющийся характер поверхности: то бежать одношажным ходом по снегу, то преодолевать неровности (следы снегоходов и людей) равнинным двухшажным, то нестись по льду даббл-поллингом, а порой даже забираться на снежные склоны вблизи островов традиционным горным ходом. Словом, прогулка не удалась вообще, а вот тренировка — вполне! 👍🏼
Пока непонятно, как долго ещё продержатся пригодные для катания условия и удастся ли выбраться туда ещё раз. Но всё же здорово, что получилось хотя бы так, ведь такое завершение сезона стало уже традицией, которая поддерживается примерно лет семь. Равно как и приятно предвкушать скорое появление новых треков с тренировок ровно в тех же местах, только уже вплавь 🏊♂️
#спорт
Небезызвестный в #Java мире Крис Ньюланд (a.k.a.
ChrisWhoCodes) является автором множества полезных утилит для разработчиков. Но лично мне больше всего пригождается его VM Options Explorer — справочник всех поддерживаемых JVM опций для разных версий и дистрибутивов Java 📚
С его помощью можно узнать/вспомнить, как называется тот самый хитрый ключик, который в такой-то раз помог в(ы)ключить такую-то фичу или подтюнить то самое поведение Java-машины ⚒️
Заодно можно получить моральное облегчение от того, что ваши десятки никому непонятных флажочков в application.yaml — это сущие пустяки на фоне, например, Liberica JDK 21, у которой число опций командной строки почти достигает... Сколько бы вы думали? Правильно: 900! 😱Одним из участников текущего бизнес-акселератора А:Старт, о котором я упоминал здесь ранее, является мой хороший товарищ с любопытным проектом — виртуальным стилистом по одежде 👗
И хотя сама по себе идея не нова, этот проект примечателен тем, что основан на давно зарекомендовавшей себя методике подбора образов, которая используется профессиональными стилистами по всему миру. Но если раньше эта методика могла применяться исключительно людьми (всё же это не формальный алгоритм), то теперь стала посильна разуму искусственному, и, надо признать, он с ней неплохо справляется 👌
После череды неудач в применении ИИ к задачам, требующим строгого решения, мне начинает казаться, что вот в таких областях, как эта, он может проявить себя гораздо лучше. Ведь здесь нет формализованного порядка действий, а если для одних и тех же входных данных результаты будут немного отличаться от раза к разу, так это даже хорошо — "А то чё как дура всё время в одном и том же!?" 👧
Словом, тот случай, когда хочется верить, что применение ИИ вполне уместно 🎯
Уместно — персональный ИИ стилист.
Не подборка на модели, а 3 образа на ваших фото. Cобираем персональный лукбук под внешность и контекст. Первая генерация бесплатно.
Из недавнего выпуска дайджеста Java Annotated Monthly от JetBrains я узнал о сайте https://awesome-java-ui.com/ — каталоге инструментов для построения UI на Java. Знаю, звучит как дичь (что там каталогизировать-то?), и многие думают, что Java давно и безнадёжно утратила свои позиции в этой сфере. Но как будто бы нет... 🤔
И дело отнюдь не только в JavaFX. За последние годы появилось и продолжает развиваться немало новых инструментов, покрывающих как десктопный интерфейс, так и веб, и мобильный, и конечно же терминальный. Многие из них сделаны по лекалам успешных инструментов из других языков, а некоторые развиваются самостийно. Вот несколько фреймворков, зацепивших моё внимание:
• Asciitable — библиотечка для вывода таблиц в текстовом виде. У нас в AggreGate таблицы — это основная единица данных, но при отладке часто не хватает средств для их удобной визуализации, например, в дебаггере;
• Casciian — от одного только скриншота сразу захлёстывает волна ностальгии, ведь это же вылитый Borland Turbo Vision из 90-ых годов, но только воссозданный на современной кодовой базе, да ещё с кучей модерновых фич. Не знаю, насколько удобен в использовании, но выглядит очень интересно;
• j2html — билдер HTML на Java; позволяет строить несложную разметку страниц через статически типизированный DSL на Java; используется, в том числе в самом сайте каталога;
• TamboUI — мощный фреймворк для создания богатых терминальных интерфейсов с возможностью стилизации через CSS (да, оказывается, можно и так);
• Wicket — когда в 2011-ом году я пришёл команду интернет-банка, построенного на этом фреймворке, слово "Wicket" было своего рода ругательством, синонимом слова "legacy", обозначающем нечто неудачное, безнадёжно устаревшее, но вынужденно используемое по сей день. Через пару лет мы всё же ушли с него на другой фреймворк. С тех пор я неоднократно встречал упоминания Wicket'а в действующих проектах, а сейчас виже в этом каталоге как активно развивающийся. Выходит, не всё так однозначно 🧐
У меня нет иллюзий о том, что Java в ближайшем будущем сможет потеснить, например, Electron для построения богатого и гибкого UI. Однако всё же отрадно видеть, что в Java есть и развиваются пусть не такие крутые, но всё же удобные и доступные инструменты, с которыми можно строить UI, например, для собственных вспомогательных разработок или прототипов коммерческих приложений. Ведь такие возможности как раз и отличают взрослую, могучую экосистему от "просто языка программирования", не так ли? 😉
Всех очаровательных подписчиц этого канала поздравляю с первым весенним праздником — днём женственности, красоты и заботы, т.е. всецело вашим днём! 💐
Когда-то давно услышал мысль:
За каждым успешным мужчиной стоит сильная женщина, и с тех пор неоднократно убеждался в её верности. Спасибо вам за то, что вы есть! 🙌🏼 Открытка из Шедеврума
Repost from Cassandra & Beyond
Removal of Sensitive Data from JFR and Heap Dumps
Не стоит забывать, что диагностические данные могут содержать чувствительную информацию — например, пароли.
Если текстовые логи относительно легко отредактировать и удалить из них такие данные, то с бинарными форматами всё значительно сложнее. JFR-файлы и heap dump’ы могут хранить большое количество информации, и точечное удаление информации из них — нетривиальная задача.
Недавно Johannes Bechberger опубликовал две утилиты, которые помогают удалять чувствительные данные из:
- JFR-файлов (Java Flight Recorder)
- Java heap dump’ов (HPROF)
Подробности:
- https://mostlynerdless.de/blog/2026/02/24/redacting-data-from-heap-dumps-via-hprof-redact/
- https://mostlynerdless.de/blog/2026/02/13/redacting-sensitive-data-from-java-flight-recorder-files/
Эти утилиты могут быть полезными для тех, кто делится диагностикой с внешними командами, но хочет минимизировать риски утечки данных.
В недавних докладах и тренингах я не раз упоминал вопросы обфускации sensitive данных, попадающих в heap-дампы, правда, в качестве решения предлагал буквально полтора инструмента 🤷♂
А вот теперь их стало больше, да ещё и появилось решение для обфускации данных в JFR записях, чего раньше и вовсе не было, насколько я знаю🧐
В общем, берём на заметку на случай прихода безопасников👇🏼
Repost from АКАДЕМПАРК | channel
🎯14 марта в Академпарке соберутся предприниматели, инженеры и ученые, чтобы выступить на Easy pitch — открытом микрофоне для стартапов и бизнес-идей.
Если ваше выступление зацепит экспертное жюри, вы попадете в бизнес-ускоритель А:СТАРТ, минуя конкурс. Это ваш шанс прокачать проект по полной: разобраться в финансах, маркетинге, продажах и упаковать технологию в готовый бизнес.
Что нужно сделать?
✅Зарегистрироваться: leader-id.ru/events/592681
✅Подготовить трехминутный питч и презентацию
✅ Отправить презентацию до 12 марта (17:00, НСК) на электронный адрес организационного комитета: astart@academpark.com.
В ответ получите живую обратную связь и предметный разбор проекта с трекерами и экспертами Академпарка — профи из мира приборостроения, ИТ, биомедицины и нанотехнологий.
❕Кстати, А:СТАРТ стартует 20 марта и продлится до 23 апреля.
Подробности тут: https://academpark.com/media/news/27032/
Для тех, кто учится правильно питчить свои идеи (неважно кому) и в районе 14 марта будет в Новосибирске, есть хорошая новость — в этот день в Академпарке пройдёт ежегодный открытый микрофон Easy Pitch 🎙
Это такое мероприятие, где соберутся около 10-15 экспертов из разных технологических областей (основателей стартапов, техдиров, инвесторов, менторов и др.), а также несколько десятков зрителей, и любой желающий сможет запитчить им всем практическую любую свою идею технологии или (не)готовую разработку 💡
Цель — донести им ценность и перспективность своей идеи/разработки, а награда — бесплатная проходка на бизнес-акселератор А:Старт (12 килорублей в денежном эквиваленте). Но даже если цель не достигнется, а награда не нужна, профит всё равно будет — сама возможность обстучать свою идею об шарящих людей, получить от них обратную связь (не всегда лестную, но тут уж сорян) и прокачаться в выступлениях на публике. Всё это потом сильно помогает отстаивать свою позицию на работе, даже если не собираешься становиться стартапером 💪🏼
Я участвовал в Easy Pitch дважды, и оба раза успешно, поэтому хорошо представляю, как это работает. Если сомневаетесь в участии или хотите что-то прояснить, можете написать мне здесь или лично — с удовольствием помогу 💁🏼♂️
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
