близка мне концепция «жим-жим» — «отдых» в работе.
смысл простой: стабильно беру себе такую задачу, что и страшно, и интересно. когда не до конца понимаешь, что делать, и от этого внутри чуть ёкает. когда нужно выжать из себя больше, чем обычно, за те же часы. но зато — растёшь.
а между такими «жим-жимами» — отдых. лёгкие задачи, поток быстрый, почти не устаёшь, но всё равно делаешь полезное.
сейчас у меня снова прокачка мышц: перевожу микросервис на более свежую Java.
хоть перечитай все статьи на эту тему, но всё равно опыт будет у всех разным.
приложение просто не стартует. «не могу найти бин» — какой-то системный. без конкретики. вот и сиди, верти этот кубик рубика.
нравится!
а какой у вас подход к рабочим задачам? просите сами или берете что дают?
смысл простой: стабильно беру себе такую задачу, что и страшно, и интересно. когда не до конца понимаешь, что делать, и от этого внутри чуть ёкает. когда нужно выжать из себя больше, чем обычно, за те же часы. но зато — растёшь.
а между такими «жим-жимами» — отдых. лёгкие задачи, поток быстрый, почти не устаёшь, но всё равно делаешь полезное.
сейчас у меня снова прокачка мышц: перевожу микросервис на более свежую Java.
хоть перечитай все статьи на эту тему, но всё равно опыт будет у всех разным.
приложение просто не стартует. «не могу найти бин» — какой-то системный. без конкретики. вот и сиди, верти этот кубик рубика.
нравится!
а какой у вас подход к рабочим задачам? просите сами или берете что дают?
❤31💋4
поделиться ли с вами чуть позже своим опытом переезда с java 11 -> java 17 (sb 2.* -> 3.*)?
посмотрю на количество реакций❤️
посмотрю на количество реакций
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥92😭8👍6🔥4❤1😢1
и также своим опытом перевоза всего проекта на postgresql??
❤77🔥16👍8😭4😢2
давайте соберем под этим постом все конференции/митапы/суету, которые посещали/хотите посетить?
❤8
спросили недавно: «как глубже погрузиться в кодинг?»
решила поразмышлять.
включать режим «великий почемучка». на первых порах я без конца спрашивала у авторов кода: «почему именно так, а не иначе?», «почему выбрали это решение?», «как можно сделать лучше?». и это касается не только команды, но и смежных проектов. этот навык нужен на всех грейдах: можно разбирать хорошие практики в открытых репозиториях на гитхабе, читать статьи, смотреть доклады.
в разработке есть мем «крудошлёп» — и он не случайный. json гонять действительно приходится всем. и это нормально, это база. другое дело — наполнять рутину более нетривиальными вызовами: просить задачи посложнее или предлагать улучшения в системе. опыт и уверенность помогают со вторым, но первое доступно сразу.
залезать в чужие pr — отдельное удовольствие. я этим часто занимаюсь: можно найти много интересного.
ютуб для меня — лавина. с одной стороны, кладезь знаний, с другой — вечный поток, где невозможно получить конечное понимание. код проекта можно изучить вдоль и поперёк, а ютуб — нет. поэтому я стараюсь держать баланс и не уходить в фанатизм.
чтение — отдельная история. узкая теория, которая «приносит деньги», работает до определённого уровня. дальше без качания хардов никуда. но широта мышления всегда зависит от того, насколько готов выходить за пределы привычных задач. книги тут — отличный тренажёр: нейроны прокачиваются, но важно не просто читать, а разбирать и прорабатывать материал.
ещё одно: уходить от копипаста с ии или гугла к настоящему пониманию. пока копируешь — кажется, что понял. но это иллюзия, остаётся только в кратковременной памяти. закрепить можно только через осознанную проработку.
и, наверное, самое базовое — это окружение. коллеги, которые пишут хорошо и интересно. тут не нужно прилагать специальных усилий — со временем скилл подтягивается сам.
а у вас какие наблюдения?
решила поразмышлять.
включать режим «великий почемучка». на первых порах я без конца спрашивала у авторов кода: «почему именно так, а не иначе?», «почему выбрали это решение?», «как можно сделать лучше?». и это касается не только команды, но и смежных проектов. этот навык нужен на всех грейдах: можно разбирать хорошие практики в открытых репозиториях на гитхабе, читать статьи, смотреть доклады.
в разработке есть мем «крудошлёп» — и он не случайный. json гонять действительно приходится всем. и это нормально, это база. другое дело — наполнять рутину более нетривиальными вызовами: просить задачи посложнее или предлагать улучшения в системе. опыт и уверенность помогают со вторым, но первое доступно сразу.
залезать в чужие pr — отдельное удовольствие. я этим часто занимаюсь: можно найти много интересного.
ютуб для меня — лавина. с одной стороны, кладезь знаний, с другой — вечный поток, где невозможно получить конечное понимание. код проекта можно изучить вдоль и поперёк, а ютуб — нет. поэтому я стараюсь держать баланс и не уходить в фанатизм.
чтение — отдельная история. узкая теория, которая «приносит деньги», работает до определённого уровня. дальше без качания хардов никуда. но широта мышления всегда зависит от того, насколько готов выходить за пределы привычных задач. книги тут — отличный тренажёр: нейроны прокачиваются, но важно не просто читать, а разбирать и прорабатывать материал.
ещё одно: уходить от копипаста с ии или гугла к настоящему пониманию. пока копируешь — кажется, что понял. но это иллюзия, остаётся только в кратковременной памяти. закрепить можно только через осознанную проработку.
и, наверное, самое базовое — это окружение. коллеги, которые пишут хорошо и интересно. тут не нужно прилагать специальных усилий — со временем скилл подтягивается сам.
а у вас какие наблюдения?
❤40
помню, что во времена университета мне не хватало чего-то реального: правдивых задач, невыдуманных сценариев и серьезных вызовов.
сейчас на работе я этого получаю слихвой.
вот, например, недавняя ситуация: попросили перевести мс-ы на балансер постгреса. казалось бы, смена портов — и готово. но не все так тривиально. спустя время в логах заметила ошибки, что таблицы не находятся. и это плавающее поведение, не при старте.
что ж.
я предполагала, что дело было в схемах, но всегда нуждаюсь в доказательной основе, подтверждении теорий и т.д. пришлось разворачивать и воспроизводить локально.
включать логи хикари, писать их в файлах. аспекты вспомогательные делать.
в итоге вот что было: со временем балансер может отрубать неиспользуемые соединения, подрубать новые — и выставлять им настройки по умолчанию без указания нужной схемы. а потом к этому соединению цепляется хикари и… падает. повезет, если подцепится по новой к нужному из пула. и часть свойств, которые были указаны в конфигурации - не спасали от этого мракобесия.
одно дело — воспроизвести, другое — починить. благо хватило немного гуглинга да новых наблюдений.
вот такие вот лабораторные работы.
сейчас на работе я этого получаю слихвой.
вот, например, недавняя ситуация: попросили перевести мс-ы на балансер постгреса. казалось бы, смена портов — и готово. но не все так тривиально. спустя время в логах заметила ошибки, что таблицы не находятся. и это плавающее поведение, не при старте.
что ж.
я предполагала, что дело было в схемах, но всегда нуждаюсь в доказательной основе, подтверждении теорий и т.д. пришлось разворачивать и воспроизводить локально.
включать логи хикари, писать их в файлах. аспекты вспомогательные делать.
в итоге вот что было: со временем балансер может отрубать неиспользуемые соединения, подрубать новые — и выставлять им настройки по умолчанию без указания нужной схемы. а потом к этому соединению цепляется хикари и… падает. повезет, если подцепится по новой к нужному из пула. и часть свойств, которые были указаны в конфигурации - не спасали от этого мракобесия.
одно дело — воспроизвести, другое — починить. благо хватило немного гуглинга да новых наблюдений.
вот такие вот лабораторные работы.
❤40
маленькое наблюдение.
раньше было стыдно за то, что могу что-то забыть. что-то невероятно базовое или обыденное. или то, что вроде «обязан знать каждый разработчик».
я впитываю много знаний, но как только они не используются — мозг откладывает их на дальнюю полку.
правда в том, что сейчас я опираюсь на другую метрику.
не «я всё помню» (что оказалось невозможным), а «как быстро я смогу вспомнить, где это найти и как работает»
это как база данных: ценность в том, чтобы в нужных местах были индексы
и это действительно сильно упрощает мое восприятие мира
💎 - знакомо/узнал себя
⛰ - задумался
🪨 - я все по жизни помню
🐓 - для веселых ребят
раньше было стыдно за то, что могу что-то забыть. что-то невероятно базовое или обыденное. или то, что вроде «обязан знать каждый разработчик».
я впитываю много знаний, но как только они не используются — мозг откладывает их на дальнюю полку.
правда в том, что сейчас я опираюсь на другую метрику.
не «я всё помню» (что оказалось невозможным), а «как быстро я смогу вспомнить, где это найти и как работает»
это как база данных: ценность в том, чтобы в нужных местах были индексы
и это действительно сильно упрощает мое восприятие мира
Please open Telegram to view this post
VIEW IN TELEGRAM
идея вам на вечер пятницы: посмотреть документалку по Python (вышел фильм) 🍪
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
The Story of Python and how it took over the world | Python: The Documentary
This is the story of the world's most beloved programming language: Python. What began as a side project in Amsterdam during the 1990s became the software powering artificial intelligence, data science and some of the world’s biggest companies. But Python's…
прочитала java concurrency in practice. книга лежала на полке больше года — не видела особой срочности.
тема для меня довольно специфичная: в реальных проектах редко приходится с головой уходить в детали конкурентности. но желание разобраться глубже — понять, как это устроено и почему именно так работают привычные нам решения — вот ради этого и захотелось уделить время книге.
основа у меня была: java core, oracle exam, подготовки к собесам. честно — это все быстро замыливается, если его не трогать.
что не понравилось: структура. авторы делают «плавающие листики» — на одной странице вводная, а примеры уже через пару страниц. это неудобно. читала на русском - терпимо. определенная терминология продублирована оригинальным названием.
часть материала шла тяжело. но ИИ примерами в моменте помогал раскладывать по полочкам.
книга точно не для новичков. нужно уже знать java и её нарративы.
нашла ещё книжный клуб по этой книге на ютубе
в целом — сильный труд, чтобы с умом использовать (и не использовать) отдельные вещи. для кругозора было полезно
а теперь соберем статистику в виде реакций (очень интересно):
❤️ - спасибо за пост, было полезно/интересно
🥇 - пишу многопоточный код в реальном проекте (сам проектирую, а не использую библиотеки, где это есть, но я об этом даже мог не знать)
⛰ - редко пишу многопоточный код
🪨 - совсем не трогал многопоточку
тема для меня довольно специфичная: в реальных проектах редко приходится с головой уходить в детали конкурентности. но желание разобраться глубже — понять, как это устроено и почему именно так работают привычные нам решения — вот ради этого и захотелось уделить время книге.
основа у меня была: java core, oracle exam, подготовки к собесам. честно — это все быстро замыливается, если его не трогать.
что не понравилось: структура. авторы делают «плавающие листики» — на одной странице вводная, а примеры уже через пару страниц. это неудобно. читала на русском - терпимо. определенная терминология продублирована оригинальным названием.
часть материала шла тяжело. но ИИ примерами в моменте помогал раскладывать по полочкам.
книга точно не для новичков. нужно уже знать java и её нарративы.
нашла ещё книжный клуб по этой книге на ютубе
в целом — сильный труд, чтобы с умом использовать (и не использовать) отдельные вещи. для кругозора было полезно
а теперь соберем статистику в виде реакций (очень интересно):
Please open Telegram to view this post
VIEW IN TELEGRAM
недавно обнаружила у себя в intellij вкладку «моя продуктивность». там, оказывается, собирается статистика: какие фичи используешь постоянно, а какие — «never». удобно: можно либо гордиться своей привычкой к шорткатам, либо внезапно понять, что половину возможностей IDE даже не открывала.
забавная штука — как будто интровертный трекер привычек для программиста
из минусов: у меня три разных IJ😑
💎 - не знал
⛰ - знал
забавная штука — как будто интровертный трекер привычек для программиста
из минусов: у меня три разных IJ
Please open Telegram to view this post
VIEW IN TELEGRAM
ревью кода у вас в команде
Anonymous Poll
80%
может проводиться теми же грейдами
20%
только грейдами старше
мне кажется, мы недооцениваем силу маленьких задач.
каких-то внезапных сложностей с прода или багов, которые приходится чинить буквально с песочными часами в руках. такие эпизоды (у меня, по крайней мере) быстро выпадают из памяти.
яркими остаются крупные истории — те, что потом легко упаковать в резюме: они звучат цельно, масштабно, из них легко сделать кейс.
а «мелочи в моменте» — так и остаются в моменте. ведь не опишешь их без долгого контекста, не сделаешь из них красивый кейс.
хотя именно они и закрепляют навык. учат кусочками. помогают лучше понимать систему. прокачивают troubleshooting.
кажется, что это незначительные задачи. а на деле — фундамент, на котором и строится наш рост
каких-то внезапных сложностей с прода или багов, которые приходится чинить буквально с песочными часами в руках. такие эпизоды (у меня, по крайней мере) быстро выпадают из памяти.
яркими остаются крупные истории — те, что потом легко упаковать в резюме: они звучат цельно, масштабно, из них легко сделать кейс.
а «мелочи в моменте» — так и остаются в моменте. ведь не опишешь их без долгого контекста, не сделаешь из них красивый кейс.
хотя именно они и закрепляют навык. учат кусочками. помогают лучше понимать систему. прокачивают troubleshooting.
кажется, что это незначительные задачи. а на деле — фундамент, на котором и строится наш рост
с этого года «ответственность» — это уже не только сделать хорошо свою фичу и вычеркнуть задачу из списка. вещи, которые тянутся месяцами, требуют внимания и терпения на длинной дистанции.
и даже если руками работу по фиче выполняю не я, моя задача — следить, чтобы всё складывалось в цельный и работающий пазл: чтобы контекст был прозрачен для каждого участника процесса, а команда понимала, что происходит внутри.
кажется, именно здесь в моей жизни отчётливо проявился навык управления. когда важно не только заботиться о своём участке, но и держать в поле зрения всё вокруг. когда даже отпуск сопровождается фоновыми переживаниями. моя слабая сторона — делегирование. и в 2025 году я как раз поставила цель прокачать эту область. работа в найме — идеальное поле для таких тренировок. придётся ещё учиться отпускать и доверять.
эта тема красной нитью проходит через всё: и рабочие проекты, и личные истории. я учусь выстраивать ожидания, чётко формулировать идеи и доносить их до других. иногда выходит, иногда нет.
три недели назад я спокойно передала задачу по фиче в руки ребят и ушла в отпуск, попросив, чтобы меня не трогали. в чатах стояла тишина. и как же я удивилась, когда вернулась и увидела результат: «кашка сварилась», да ещё и в хорошей кастрюле. да, были нюансы, но я считаю это маленькой победой. моей — потому что смогла расслабиться и делегировать, их — потому что справились и довели всё до конца, несмотря на сложности.
фичу сегодня вывела в прод. рада!❤️
и даже если руками работу по фиче выполняю не я, моя задача — следить, чтобы всё складывалось в цельный и работающий пазл: чтобы контекст был прозрачен для каждого участника процесса, а команда понимала, что происходит внутри.
кажется, именно здесь в моей жизни отчётливо проявился навык управления. когда важно не только заботиться о своём участке, но и держать в поле зрения всё вокруг. когда даже отпуск сопровождается фоновыми переживаниями. моя слабая сторона — делегирование. и в 2025 году я как раз поставила цель прокачать эту область. работа в найме — идеальное поле для таких тренировок. придётся ещё учиться отпускать и доверять.
эта тема красной нитью проходит через всё: и рабочие проекты, и личные истории. я учусь выстраивать ожидания, чётко формулировать идеи и доносить их до других. иногда выходит, иногда нет.
три недели назад я спокойно передала задачу по фиче в руки ребят и ушла в отпуск, попросив, чтобы меня не трогали. в чатах стояла тишина. и как же я удивилась, когда вернулась и увидела результат: «кашка сварилась», да ещё и в хорошей кастрюле. да, были нюансы, но я считаю это маленькой победой. моей — потому что смогла расслабиться и делегировать, их — потому что справились и довели всё до конца, несмотря на сложности.
фичу сегодня вывела в прод. рада!
Please open Telegram to view this post
VIEW IN TELEGRAM
я к вам с серьезным вопросом:
ваш любимый паттерн проектирования??🔫
ваш любимый паттерн проектирования??
Please open Telegram to view this post
VIEW IN TELEGRAM
ревьюила код в одном из микросервисов и заметила любопытное изменение в поведении Spring 6 (Java 17).
раньше можно было создавать несколько бинов одного типа с разными именами — например postgresJdbcTemplate и oracleJdbcTemplate — и спокойно внедрять их без @Qualifier, просто по имени поля. Spring автоматически сопоставлял их по названию, полагаясь на информацию о параметрах, доступную в байткоде.
С выходом Spring 6.1 это перестало работать. Причина — в изменении механизма извлечения метаданных о параметрах. Теперь, в контексте развития нативных сборок, фреймворк перешёл на использование стандартного Reflection API с флагом --parameters. Если раньше применялся LocalVariableTableParameterNameDiscoverer, который мог во время рантайма доставать имена параметров из таблицы локальных переменных, то теперь используется StandardReflectionParameterNameDiscoverer.
В итоге, если вы не используете @Qualifier или @Primary, и при этом не компилируете код с -parameters, Spring просто не сможет определить, какой бин внедрять — имя параметра для него окажется недоступным.
Мелкое изменение, но может неожиданно что-то сломать. Подробнее: https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.1-Release-Notes#parameter-name-retention
раньше можно было создавать несколько бинов одного типа с разными именами — например postgresJdbcTemplate и oracleJdbcTemplate — и спокойно внедрять их без @Qualifier, просто по имени поля. Spring автоматически сопоставлял их по названию, полагаясь на информацию о параметрах, доступную в байткоде.
С выходом Spring 6.1 это перестало работать. Причина — в изменении механизма извлечения метаданных о параметрах. Теперь, в контексте развития нативных сборок, фреймворк перешёл на использование стандартного Reflection API с флагом --parameters. Если раньше применялся LocalVariableTableParameterNameDiscoverer, который мог во время рантайма доставать имена параметров из таблицы локальных переменных, то теперь используется StandardReflectionParameterNameDiscoverer.
В итоге, если вы не используете @Qualifier или @Primary, и при этом не компилируете код с -parameters, Spring просто не сможет определить, какой бин внедрять — имя параметра для него окажется недоступным.
Мелкое изменение, но может неожиданно что-то сломать. Подробнее: https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.1-Release-Notes#parameter-name-retention
GitHub
Spring Framework 6.1 Release Notes
Spring Framework. Contribute to spring-projects/spring-framework development by creating an account on GitHub.
после конференции в голове снова куча мыслей. их и до этого было немало — а теперь и вовсе поток.
и речь даже не столько о сцене, сколько о «хабро-мире» в целом.
знаете этот запах упущенных возможностей? вот это оно самое.
да, когда-то я уже успела немного поспикерить, но теперь хочется делать что-то небанальное. не то, о чём уже сто раз говорили. и, главное, — в своём стиле.
пожалуй, эту любовь к коммьюнити во мне воспитал Когунь. а на Joker я как будто поймала новую дозу — пообщалась со спикерами, которые действительно откликаются, и снова ощутила, зачем всё это может быть нужно.
порой слышу:
— «Даш, ну ты же делаешь столько интересного на работе, просто рассказывай об этом!»
да, но вот тут и включается синдром самозванца. когда ты глубоко погружаешься в задачу, читаешь сотни статей, выстраиваешь собственное понимание, делаешь релиз — у тебя возникает искажение. кажется, что это всё уже где-то было. что и Яндекс про это рассказывал, и вообще — кто я такая, чтобы это писать. а вдруг еще где-то что-то неправильно скажу!!!!
хочется многого. и интересно многое.
с одной стороны, нырнуть в мир контрибьютинга и докладов, текстов.
с другой — развиваться как лидер (в эту сторону я тоже получала комплименты).
посмотрим, что выйдет.
я помню, что обещала тут посты про Java и PostgreSQL — мы сейчас как раз добиваем релизы, и я обязательно напишу по итогам пост. кажется, это неплохой старт в этой песочнице.
а дальше — посмотрим. не хочется делать просто «лишь бы сделать».
но и правда в том, что иногда «хотя бы что-то» — это уже начало.
кнопочка поддержки в начинаниях -💎
— «а не хочешь ли ты выступать?»
а я стабильно отвечаю:
— «не знаю».
и речь даже не столько о сцене, сколько о «хабро-мире» в целом.
знаете этот запах упущенных возможностей? вот это оно самое.
да, когда-то я уже успела немного поспикерить, но теперь хочется делать что-то небанальное. не то, о чём уже сто раз говорили. и, главное, — в своём стиле.
пожалуй, эту любовь к коммьюнити во мне воспитал Когунь. а на Joker я как будто поймала новую дозу — пообщалась со спикерами, которые действительно откликаются, и снова ощутила, зачем всё это может быть нужно.
порой слышу:
— «Даш, ну ты же делаешь столько интересного на работе, просто рассказывай об этом!»
да, но вот тут и включается синдром самозванца. когда ты глубоко погружаешься в задачу, читаешь сотни статей, выстраиваешь собственное понимание, делаешь релиз — у тебя возникает искажение. кажется, что это всё уже где-то было. что и Яндекс про это рассказывал, и вообще — кто я такая, чтобы это писать. а вдруг еще где-то что-то неправильно скажу!!!!
хочется многого. и интересно многое.
с одной стороны, нырнуть в мир контрибьютинга и докладов, текстов.
с другой — развиваться как лидер (в эту сторону я тоже получала комплименты).
посмотрим, что выйдет.
я помню, что обещала тут посты про Java и PostgreSQL — мы сейчас как раз добиваем релизы, и я обязательно напишу по итогам пост. кажется, это неплохой старт в этой песочнице.
а дальше — посмотрим. не хочется делать просто «лишь бы сделать».
но и правда в том, что иногда «хотя бы что-то» — это уже начало.
кнопочка поддержки в начинаниях -
Please open Telegram to view this post
VIEW IN TELEGRAM
какую реляционную базу используете?
Anonymous Poll
4%
oracle
6%
mySQL
82%
postgreSQL
3%
microsoft SQL
5%
другое
процесс миграции с базы на базу
Anonymous Poll
16%
делали, имею представление
4%
предстоит, имею представление
5%
предстоит, не имею представления
75%
не имею представления