TGViewer
Channel Public Channel
Верхняя полка📝

Верхняя полка📝

@stopshelf

Путевые заметки программного инженера и легкоатлета-любителя.

Автор: Владимир @Toparvion Плизга

Домашняя страница: https://toparvion.pro/
Subscribers
360
Photos
349
Videos
11
Links
163

Showing posts older than #438 · Back to latest

Older Posts 8 shown
Post #437 386
Иногда я рассказываю вам об интересных проектах (стартапах), с которыми сам встречаюсь в бизнес-инкубаторе Новосибирского Академпарка 🏭

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

В общем, ребята целятся в весьма больное место. Кто работал над двумя и более проектами одновременно, или хотя бы пробовал организовать на одном компе рабочие и личные дела, наверняка понимает о чём речь 🫂

В качестве решения они предлагают оболочку над операционной системой (любой: Windows, MacOS, Linux), которая строит работу пользователя не вокруг сервисов или приложений, а вокруг задач и проектов. Для этого в оболочке есть контексты — своего рода контейнеры для всех артефактов задачи или проекта: для файлов, чатов, писем, вкладок браузера и т.п. То есть контекст — это место, в которое "выдернуты" все составляющие того, над чем работает пользователь 📦

Это немного напоминает виртуальные рабочие столы в Windows или Linux/Gnome, но гораздо глубже и шире: в контексты могут попадать отдельные чаты мессендежров и вкладки браузеров, контексты можно передавать между устройствами, делиться ими с другими людьми и вытворять другие непотребства, так необходимые для продуктивной мультизадачной работы в наше время 🤹

У ребят уже есть рабочий прототип, где реализованы многие базовые функции, а главное — легко прощупывается основная концепция продукта. Но, разумеется, путь до готового продукта ещё далёк и тернист. В качестве одного из этапов они буквально вчера запустили краудфандинговую компанию на платформе planeta.ru. Это и стало поводом для этого поста ✍️

Целью компании является не столько сбор денег (всё равно на такой продукт их там не соберёшь), сколько формирование круга действительно заинтересованных людей. Поэтому если идея этого проекта в вас отзывается, поддержите его любой копейкой и/или расскажите о нём друзьям и коллегам 🙏🏻

Согласитесь, будет здорово чувствовать себя причастным к успеху большого, крутого и популярного продукта, с улыбкой вспоминая, как просто всё когда-то начиналось 🙂
  • 🔥 9
  • ❤ 2
Post #436 336
В этот четверг в 17:00 МСК буду выступать на онлайн митапе от сообщества CommIT с докладом о профилировании ⚒️

За время, прошедшее с выпуска первой версии этого доклада, профайлеры заметно развились: вышли значительные доработки и в async-profiler (v4.2+), и в JFR (JDK 25), поэтому кое-что обновилось и в материалах доклада 📚

Увидимся! 📺
  • 👍 5
Post #429 367
Гонка героев (2026) 🎖

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

Мероприятие проходит несколько раз в год во многих городах России, а в Новосибирске проводится уже 10-ый год подряд, но остаётся довольно популярным, собирая больше 1000 участников в разнообразных форматах: личном, командном, по возрастам, в чемпионате и т.п. Местная полоса имеет длину порядка 8 км и содержит около 32 препятствий, многие из которых сопряжены с погружением в грязную воду или проползанием по жидкому грунту. Это и придаёт мероприятию особый вайб атмосферу 🧟‍♂️

В первые два года (2016-2017) проведения я участвовал в гонке 4 раза: трижды в составе взводов с коллегами и один раз индивидуально в чемпионате, который завершился для меня дисквалификацией из-за провала на одном из препятствий. За прошедшие после этого годы моё отношение к гонке сменило все грани:
— сначала не хотелось и думать о повторном участии, ибо пресытился;
— потом стало как-то безразлично;
— а в последние год-два поймал себя на том, что уже не против вписаться в это безобразие ещё разок 🤠

А тут как раз товарищи предложили собрать взвод от нашего спортивного клуба. Основным вызовом для меня стало не столько прошедшее время (всё же 8 лет), сколько полная смена физической активности: за это время я окончательно перестал заниматься уличной гимнастикой (воркаутом) и полностью перешёл в циклические виды спорта: бег, плавание, лыжи. Месяц специальных тренировок на стадионе (силовые упражнения вперемешку с бегом) показал, что физическая форма действительно изменилась, причём с т.з. предстоящей полосы препятствий не в лучшую сторону. Но надежда была 🙏🏼

Однако на гонке она почти не оправдалась — многочисленные рукоходы, на которые пришлась четверть всех препятствий, довольно быстро вскрыли недостаток хватки и силы, из-за чего приходилось прибегать к помощи товарищей или проходить препятствия с нарушением правил. Дело осложнялось содранными накануне тремя мозолями и неверно выбранными перчатками, хотя плохому танцору, как известно... Зато все канатные препятствие дались на удивление хорошо, включая подъём из водяного рва по канату на 3 м до колокольчика и, конечно же, изюминку трассы — финальное препятствие "Эверест", на которым многие команды теряли массу времени в безуспешных попытках взобраться по канату на высокую стену с уже обессилевшими руками 🫩

Вероятно, быстрое прохождение этого рубежа, а также довольно бодрый темп на беговых участках позволил нашему взводу обойти порядка 5-7 других команд. А общее время прохождения полосы — 1:25:43 — обеспечило нам 7-ое место среди 118 взводов формата "teams". Признаться, это результат превзошёл наши собственные ожидания: по самым оптимистичным вскидкам мы рассчитывали попасть лишь в топ-20 🙂

Едва ли этот опыт вдохновит нас погрузиться в бег с препятствиями с головой и вписаться в "Сибирский предел", "Битву титанов" и прочие схожие мероприятия. Но как вариант разнообразить тренировочный процесс он очень даже неплох 👍

#спорт
  • 🔥 11
  • 👍 1
Post #428 276
С интересным вопросом пришли недавно коллеги-фронтендеры: хотим, мол, в перспективе перейти на WebTransport API — модно-молодёжную альтернативу WebSocket-ам, с изолированными стримами, out-of-order сообщениями и прочими ништяками. Основная особенность — работа поверх протокола HTTP/3 (который, в свою очередь, построен на QUIC). Отсюда вопрос: а поддерживает ли такое наш бэкенд на #Java? 🤔

Немного поизучав тему, я выяснил, что:
• В самой Java протокол HTTP/3 поддерживается только в качестве клиента и только начиная с версии 26, вышедшей в марте этого года (JEP-517).
• Для поддержки на стороне сервера нужны сторонние библиотеки, в нашем случае это Apache Tomcat, так как API для фронта крутится на нём.
◦ При этом от Java как от платформы требуется реализация DTLS, но она, к счастью, сделана ещё в Java 9.
• А вот Tomcat поддержки HTTP/3 не имеет и не сильно торопится её вводить, потому что:
◦ HTTP/3 построен поверх протокола UDP и сильно оптимизирован для работы в мобильных сетях и прочих нестабильных условиях;
◦ Но Tomcat редко взаимодействует с ними напрямую, т.к. чаще всего стоит за балансировщиком, реверс-прокси, side-car'ом или чем-то ещё внутри корпоративного контура, где соединения уже стабильны, быстры и предсказуемы;
◦ Поэтому разработчики Tomcat считают старый добрый HTTP/1.1 (поверх TCP) всё ещё более подходящим:
Tomcat is not normally directly internet facing. It is typically sat behind some form of load-balancer and/or TLS termination and/or reverse proxy. In those scenarios poor network conditions aren't an issue so using QUIC is costs CPU power which is something folks - particularly those with large installations - try to minimise. It makes more sense to use HTTP/1.1 in those scenarios.
Hence there isn't much requirement for an HTTP/3 implementation in Tomcat at the moment.

◦ В этой связи, авторы Tomcat предлагают страждущим поддержки HTTP/3 ставить перед Tomcat'ом NGINX и снимать HTTP/3 на нём (либо на Caddy, Envoy и др.)
• Но если стоит задача эффективно и быстро упаковывать данные для передачи и приёма именно по WebTransport API, то в этом сценарии бэкендовый сервер всё равно рискует остаться узким местом 🍾

Тогда остаются такие варианты:
• Ждать поддержки HTTP/3 в Tomcat (рано или поздно она, скорее всего, будет);
• Менять Tomcat на другой сервлет-контейнер, например, Jetty, который уже поддержал HTTP/3;
• Переходить с сервлетного стека на реактивный, в котором Reactor Netty тоже поддерживает HTTP/3 ☢️

Есть ли другие альтернативы — не знаю, но не исключаю, что появятся, ведь и сам WebTransport API ещё только в baseline и потому поддерживается не повсеместно. Поживём-увидим 👀
MDN Web Docs WebTransport API - Web APIs | MDN The WebTransport API provides a modern update to WebSockets, transmitting data between client and server using HTTP/3 Transport. WebTransport provides support for multiple streams, unidirectional streams, and out-of-order delivery. It enables reliable transport…
  • 👍 14
Post #427 293

Forwarded from SnowOne-канал

Всем привет!

В такую жару приятно вспомнить о нашей ламповой зимней конференции SnowOne ❄️

Публикуем видео всех 19-ти докладов! В этот раз на двух платформах, можно смотреть, где удобно)

Youtube: https://www.youtube.com/playlist?list=PLecWId-JT7S4gCNI3cqLT5sBYku49vutQ
VK Videos: https://vkvideo.ru/playlist/-166874186_1

Спасибо, что были с нами в феврале! А если нет, присоединяйтесь сейчас за просмотром записей) Увидимся следующей зимой на SnowOne 2027 ☃️
VK Видео SnowOne 2026 - JUGNsk | VK Видео JUGNsk — 19 видео. Смотрите онлайн VK Видео
  • 🔥 7
  • ❤ 1
Post #426 406
В эти жаркие (по меркам Сибири) летние деньки во многих вузах проходят не менее жаркие защиты дипломов у выпускников 📚

Не обошла эта активность и меня — уже лет восемь я состою в экзаменационной комиссии на защите у бакалавров специальности "Программная инженерия" в НГТУ (НЭТИ), на кафедре Вычислительно техники, выпускником которой сам и являюсь 🎓

В этот раз защит было довольно много, и почему-то среди них было немало проектов, реализующих сервисы для трекинга всего и вся: питания, привычек, книг, тренировок, записей на СТО и т.п. Прямо отчетливый тренд. Интересно, сами студенты реально пользуются такими сервисами? 🤭

Ещё было любопытно видеть, как некоторые выступления ребят на защитах становятся всё больше похожи на питч-сессии стартапов: студенты не столько показывают проделанную работу и констатируют пресловутую "научную новизну и практическую ценность", сколько будто бы пытаются продать комиссии свою разработку. Но если у меня это вызывает лишь улыбку и желание задать заковыристый вопрос по технической части (чтобы напомнить, где находится автор), то у других членов комиссии, особенно очень взрослых преподавателей, такой подход вызывает явное недоумение 🥴

Немного удручило отсутствие у некоторых ребят понимания предметной области, в которой они разрабатывают своё программное решение. Кто-то пилит приложение для моделирования химических реакций, но при этом плохо представляет себе таблицу Менделеева. Кто-то строит электронный каталог книг, но не учитывает их годы издания. А кто-то сделал сетевую игру в реальном времени, но не знает основных отличий TCP от UDP. Мне осталось неясным, то ли это проявление типичного студенческого подхода "Ну оно же работает!" или же отголоски избыточного применения ИИ в учебе?.. 🧐

Как бы там ни было, я рад,что снова поучаствовал в защитах, ведь эти ребята — наши с вами завтрашние коллеги, и для налаживания продуктивного контакта с ними очень полезно понимать, что они пинали делали все эти годы в универе 🤓
  • 🔥 7
  • 👍 3
  • ❤ 2
Post #425 430
Первый старт этого лета 🏃‍♂️

Сегодня состоялся ежегодный "Пробег памяти В. Рыцарева" — кросс по лесам и горкам близ Новосибирского Академгородка. Он был уже 50-ым по счёту в своей истории и 4-ым для меня. Своему первому участию в нём я посвящал отдельный очерк 📜

По сложившейся традиции я вписался в максимальную его дистанцию — 22,5 км (3 круга по 7,5). Но вопреки предыдущим разам уже на втором круге на главном подъёме почувствовал, что пульс неадекватно высок, и перешёл на шаг, хотя раньше никогда так не делал. Бывало, что к третьему кругу сползал на нечто близкое к трусце, но не на шаг 🐌

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

Ровно поэтому я принял решение финишировать досрочно и сошёл на 15-ом километре. Неприятно, но правильно. Упрись я рогом и дотяни до финиша, ничего хорошего бы из этого не вышло 💯

Надеюсь, это лишь разовое отклонение, а не начало большого спада. Поживём-увидим; буду держать в курсе 📻

#спорт
toparvion.github.io 43-й пробег памяти В. Рыцарева По-домашнему уютный и красивый кросс
  • ❤ 5
  • 🤝 3
  • 👍 1
Post #416 354
Мало кто знает, но нелепый ник Toparvión образован от слова "Топáр" — названия небольшого посёлка в центральном Казахстане. А откуда взялось это название — доподлинно неизвестно, но есть, как минимум, две версии: либо от фамилии некогда бывавшего там революционного деятеля Топаровского, либо (что кажется более правдоподобным) — от казахского слова "тулпар", что в переводе на русский значит "конь", ведь в тех степях много веков подряд находились бесчисленные пастбища 🐴

Как бы там ни было, те места обладают одним замечательным свойством — невероятным простором для взора. Достаточно отойти от застройки минут на 20 почти в любую сторону, чтобы очутиться в точке, откуда даже без подъёма в гору (а их там и нет, только сопки) будет открываться настолько просторный вид, что взгляд ни упрётся ни во что, кроме горизонта — ни в дома, ни в деревья, ни в заборы, ни в рельеф 👀

Как всё же приятно и ценно хотя бы иногда возвращаться к своей точке отсчёта, подпитываться воспоминаниями от знакомых с детства людей, мест и предметов, сбрасывать накопленный негатив и заряжаться добрым, светлым настроем на новые дела и свершения. Первый отпуск этого года почти окончен; возвращаемся к работе ✊
  • ❤ 6
  • 🔥 3
  • 💯 2
  • 🤩 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →