Верхняя полка📝
361 subscribers
284 photos
11 videos
3 files
145 links
Путевые заметки программного инженера и легкоатлета-любителя.

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

Домашняя страница: https://toparvion.pro/
Download Telegram
Моим первым в жизни полумарафоном (21,1 км) был забег А. Раевича в Новосибирске в 2016 году. Мне было интересно и вместе с тем как-то жутковато бежать такую дистанцию, потому что столько же километров было между посёлком, в котором я рос, и районным центром, куда мы с родителями периодически ездили на автобусе или машине, и никто даже подумать не мог, что такое расстояние можно преодолеть на ногах, тем более бегом 😳

С тех пор я сбегал уже немало всяких "половинок", но полумарафон Раевича остаётся любимым и очень важным стартом, потому что он позволяет довольно чётко ответить на вопрос "Как я провёл лето?" (в плане беговой подготовки). Этот год не стал исключением — я вписался в этот старт уже в 8-ой раз и, больше того, решил замахнуться на обновление своего личного рекорда (1:26:03), который поставил в 2023 году и не сумел побить в 2024, проиграв себе около 40 секунд ⏱️

Несмотря на то, нынешнее лето выдалось для меня больше плавательным, чем беговым, в нём был одна важная беговая "фича" — почти каждый четверг в 7:00 мы с товарищами по спортивного клубу встречались на стадионе НГУ и под руководством тренера (который готовился вместе с нами) делали много специальной беговой и силовой работы 🦵🏼

Видимо, это сработало, потому что сегодня мы подтвердили ожидаемые результаты, в том числе я: пробежал 21,1 км за 1:25:09, улучшив личный рекорд почти на минуту. В мужском абсолюте стал 78-ым из 865 бегунов, а в категории М35-40 оказался 23-им из 233. Да, отнюдь не пьедестал, но при такой конкуренции всё равно приятно. Равно как и то, что личник вообще удалось обновить, ведь есть мнение, что у любителей результаты растут только первые 5 лет 📈

Ещё одной прелестью таких стартов является сообщество — там заводятся и укрепляются очень приятные (и порой весьма полезные) знакомства, а ежегодные встречи с некоторыми людьми становятся доброй традицией. Пример тому — фото двух инкубаторских в синих майках и черных шортах🤪
Кто не узнал - слева на фото Иван Углянский, тоже обновивший личник, но аж на 5 минут 👏🏼

#спорт
👍108🔥6
Парадоксально, но чем бОльшая задача приходит на Code Review, тем хуже её смотрят 👀

Впрочем, оно и понятно, если вспомнить, как начинает сводить зубы при виде Pull Request'а на десятки, а тем более сотни файлов 🤦‍♂️ Как решается эта проблема у вас? 🧐
Anonymous Poll
24%
Жестко декомпозируем задачи на мелкие
9%
Назначаем больше ревьюеров
23%
Дополняем code review личным обсуждением/презентацией
12%
Привлекаем AI-ревьюеров
27%
Нет code review — нет проблем
6%
Свой вариант (в комментах)
24%
Просто покажи мне ответы
Я понятию не имею, как отмечать День программиста. Видимо, тот мем с двумя одинаковыми картинками — про меня. Лучше вспомню какой-нибудь случай из профессиональных будней 📜

Как-то давно, когда мы в прошлой компании активно переходили с монолита на микросервисы, и у нас ещё не было устоявшейся практики функционального описания на эти микросервисы, основным источником информации были файлы README, писавшиеся разработчиками. Понятно, что степень полезности от них была сильно разной, но это всё же было лучше, чем ничего... ⚖️

И вот как-то раз меня занесло в микросервис, отвечавший за работу с push-уведомлениями. Назывался он PUSHkin (да, мы тогда креативили как могли). Сервис был мне мало знаком, но при том был довольно сложным. Безо всякой надежды я мимолётом ткнул на его readme-файл и приятно удивился — описание сервиса оказалось не только подробным, но и было сделано что называется с душой, а местами и с юмором 💎

Понимая, скольких трудов это стоило, я решил публично поблагодарить коллегу Диму за старания, но так, чтобы это не выглядело как дежурное "объявление благодарности". Возможно, выбрал не самый удачный способ, но в тот день во внутренней соц.сети компании появилась вот такая картинка (теперь можно кликать в спойлер)👆🏼

P.S. С профессиональным праздником, коллеги! 👨‍💻
😁12🔥92
Совсем недавно с лёгкой подачи Ивана Углянского (@gdb_dbg) мне довелось попробовать себя в роли преподавателя: прочёл студентам "Системного программирования" на МехМате НГУ две лекции по основам компьютерных сетей. Не знаю, насколько интересно и полезно было ребятам, но кажется, что получилось норм; по крайней мере, опыт позитивный 🙂

Пока готовился, наткнулся на эту прелесть — http.cat — сайтик, где для каждого стандартного статуса ответа HTTP подобран мемасик с котом (открывать из-под VPN) 😸

Любопытно, что автору вообще удалось разместить такой сайт на таком домене, ведь .cat вопреки названию создан вовсе не для залипания на котиках, а для популяризации каталонского языка и сохранения культуры народов-носителей каталонской речи (Каталония, Андорра, части Франции и Италии) 🇮🇹

В своё время я помогал в создании сайта для одного котокафе, и мы конечно очень хотели разместить его именно в этом домене, но упёрлись в то, что для регистрации сайт должен быть на каталонском, а его размещение должны одобрить несколько других владельцев сайтов в этом домене — короче, всё как в элитарных клубах. Видимо, поэтому сайт про HTTP и котиков внезапно имеет версию на каталонском языке 🤭
😁13🔥3👍2👏2
Одной из долгожданных фич вышедшего намедни 25-го релиза #Java для меня стал JEP-520 "JFR Method Timing & Tracing" — доработка Java Flight Recorder'а, которая позволяет профилировать приложения с помощью инструментирования, то есть считать точные количества вызовов методов и средние времена исполнения, да и вообще даёт более высокую точность по сравнению с сэмплингом 📐

Как бы в ответ на это Андрей Паньгин сегодня выпустил пост с ненавязчивым напоминанием о том, что в async-profiler возможность трейсить указанные Java-методы появилась ещё в 2020-ом году. И возможность замерять времена исполнения методов тоже есть, правда, подвезли её совсем недавно, поэтому доступна она пока только в ночных сборках 🌃

Заодно он прошёлся и по самому JEP-520: объяснил, чем принятый в async-profiler'е подход выгодно отличается от реализованного в JDK, и подсветил два бага (раз, два), которые сам же и обнаружил 🪲

Если опираться только на этот пост, может показаться, что async-profiler безоговорочно лучше JFR подходит для трассирующего профилирования. Но, как обычно, на деле всё не так однозначно. Например, JFR может оказаться предпочтительнее, когда:
— нельзя профилировать сторонними инструментами;
— нужно подключиться к процессу удалённо;
— профилируемые методы нельзя описать маской имени, но у них есть общие аннотации 📧

Словом, всему своё место. В любом случае здорово, что оба инструмента развивают схожий функционал, ведь это даёт нам — конечным пользователям — возможность выбрать из них наиболее подходящий для каждой конкретной задачи👷
👍113
Нанёс немножко непоправимой пользы #opensource проекту Spring PetClinic REST, который я использую в качестве лабораторного кролика в своих тренингах 🎓

В феврале в этот проект нагрянула небезызвестная в #Java мире Monica Beckwith (которая, кстати, выступала у нас онлайн на конференции SnowOne в 2021 году!) и привезла туда поддержку встраиваемой СУБД H2, логично мотивировав этом тем, что раз проект учебный, то должен соответствовать лучшим практикам Spring Boot, а там уже давно H2 используется по умолчанию 🤐

И хотя её issue и PR были оформлены очень хорошо (видать, ChatGPT постарался%)), само нововведение не обошлось без багов, поэтому пришлось:
починить (и упростить) переключение между разными СУБД;
обеспечить доступность веб-консоли H2 при (якобы) выключенном Spring Security 🔐

Ещё там сломалась пара SQL-запросов при работе на H2 в режиме plain JDBC; я уже поправил, но теперь надо как-то покрыть тестами. С этими opensource-проектами почти всегда так — стоит только сунуться... 🤦🏼‍♂️
❤‍🔥8👏6😁2🔥1
Коротко о погоде в окрестностях Новосибирска 📺

(снято во время утренней пробежки)
🔥14🎄9🆒3😁21👍1
На прошлой неделе бизнес-инкубатор, резидентом которого я нынче являюсь, был официально признан лучшим в России среди не столичных. И хотя моё участие в этом достижении равно приблизительно 0% (если не меньше🤭), мне всё равно очень приятно, что Новосибирский Академгородок обретает славу перспективного места не только для учёных, но и для технологических предпринимателей 🦄
❤‍🔥7
Бизнес-инкубатор Академпарка — лучшая региональная практика по поддержке стартапов в России 💎

2 октября в Москве прошла премия Startup Summit от Сбера, где наградили региональные органы власти и институты развития, которые успешно реализуют меры поддержки для стартапов. Из 79 регионов в шорт-лист номинации вошли Технопарки Новосибирской области (Академпарк), Санкт-Петербурга и Якутии.

Экспертный совет во главе с Первым заместителем Председателя Правления ПАО Сбербанк Александром Ведяхиным и Заместителем Мэра Москвы в Правительстве Москвы — руководителем Аппарата Мэра и Правительства Москвы Натальей Сергуниной из трех финалистов присудили первое место Академпарку.

Эта победа — результат работы команды, которая помогает технологическим стартапам в Новосибирске с момента их зарождения до масштабирования. Уже 15 лет мы создаем условия для успешного старта и роста инновационных проектов.

Бизнес-инкубатор в цифрах:
140 компаний-резидентов на сегодняшний день
490 млн руб. годовая выручка резидентов
380 сотрудников в компаниях-резидентах
435 компаний-выпускников
5,5 млрд руб. выручка выпускников в 2024 году

Алексей Логвинский, исполнительный директор Фонда «Технопарк Академгородка», руководитель бизнес-инкубатора Академпарка:

«Мы хотим разделить эту награду за многолетнюю работу с нашими резидентами и выпускниками бизнес-инкубатора Академпарка, с этими активными, творческими, талантливыми и смелыми людьми-предпринимателями, которые много лет доверяют нам и выбирают строить свой бизнес и технологическое будущее страны с Академпарком. Поздравляю команду Академпарка с победой и благодарю Правительство Новосибирской области за надежную поддержку экосистемы Академпарка»


🚀 Благодарим всех, кто причастен к этой победе — наших резидентов, выпускников и партнеров. А мы продолжаем работать, чтобы поддерживать самые смелые идеи и помогать им становиться большим бизнесом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5