You've successfully subscribed to Заметки Разработчиков
Great! Next, complete checkout for full access to Заметки Разработчиков
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info is updated.
Billing info update failed.

review

Рецензия на первый день Joker 2022

Моя субъективная реакция на первый день конференции Joker 2022. Рассказываю о докладах, которые успел посмотреть.

Итак первый день конференции для Java разработчиков начался. Полноценные рецензии на особенно понравившиеся доклады выложу через полгода, когда они будут опубликованы в публичном доступе.

А вот короткие рецензии на то, что успел посмотреть:

Spring Boot с Amazon Web Services SDK: взаимодействие основных сервисов

Посмотрел минут 30, но буду досматривать в выходные. Кажется доклад ознакомительного характера про возможности работы Spring с AWS. Любопытно посмотреть как там живут люди в облаках. Но перспективы AWS в РФ покрыты туманом. У нас в РФ заказчики предпочитают держать все на своих серверах, а не в облаках. И я тоже пропагандист такого подхода, не хочу продаваться облакам 😅

Так что AWS я скорее не люблю. Да там вроде как все просто, нажал кнопочку и у тебя репликация БД, нажал вторую кнопкочку и у тебя БД зашифрована и доступы извне закрыты.

Но вы за это все платите рублем, и уже множество случаев было, когда бюджет случайно улетал в трубу. Я сам использовал небольшой сервачок AWS под VPN, полгода платил где-то 5$ и горя не знал, а потом в какой-то месяц мне пришел счет на 134$, потому что вышел за пределы выделенного трафика.

Также на проекте работал с AWS S3, но не с облачной версией, а с проектом MinIO. Легко разворачивается в защищенном контуре в виде коробочного решения и полностью совместим с AWS S3.

Архитектура приложения и ошибки проектирования

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

Если вы только начинаете свой путь в изучении архитектуры приложений, то доклад явно будет полезным.

Блеск и нищета Hibernate

Не доклад, а дискуссия. Вспоминали прошлое хибернейта. Было интересно, так как я особо не вдавался никогда в историю возникновения хибера. Когда я пришел в разработку, то он уже был сформировавшийся.

Рекомендую послушать по пути куда-нибудь, как подкаст отлично зайдет :)

Hibernate 6: что нового и почему это важно

А этот доклад о том, почему хибер не собирается умирать. В этом докладе рассказывают о новых фишках API, которые появяться, о том что у вас точно сломается. И о том, что изменилось у хибера под капотом.

Спойлер: логи теперь читать будет намного приятнее, а запросы должны будут выполнятсья быстрее. Этот доклад мне понравился больше всего.

P.S.

Не знаю зачем я это пишу, для истории. Буду в старости перечитывать :)

Доклад: Spring Cloud goes cloud

Случайно натолкнулся на внутренний доклад для Epam от Евгения Борисова. То есть этот доклад доступен только по ссылке. Доклад выложили 29 августа 2022 года, и за это время его посмотрели всего 24 раза. Но судя по комментариям Евгения это видео сделано намного раньше.

Случайно натолкнулся на внутренний доклад для Epam от Евгения Борисова. То есть этот доклад доступен только по ссылке. Его выложили 29 августа 2022 года, и за это время его посмотрели всего 24 раза. Но судя по комментариям Евгения это видео записано намного раньше.

Я никогда не работал со Spring-Cloud, было интересно взглянуть что там к чему. Если вы никогда не интересовались этой темой, то будет полезно глянуть. Однако до 44 минуты никакого клауда нет, но есть размышления Борисова о микросервисах. Также демонстрируется работа весьма спорной Spring Data REST. Этот модуль генерирует для ваших JpaRepository контроллеры.

Во второй части вы узнаете о том, как уменьшить размер вашего контейнера. Эта часть доклада вдохновила меня на написание статьи: "Собираем Docker Image для Spring Boot". Также в этой части повествуется про Spring-Actuator.

Опубликованы доклады с Jpoint 2022

Только что опубликовали доклады с Java конференции "Jpoint 2022". Я посмотрел многие доклады в дни проведения конференции. До каких-то всё ещё не добрался 😅 Это первая конференция, за которую я заплатил баблишко и присутствовал в режиме онлайн. В доковидные времена конференции Jocker и Jpoint проходили офлайн, и я хотел

Только что опубликовали доклады с Java конференции "Jpoint 2022". Я посмотрел многие доклады в дни проведения конференции. До каких-то всё ещё не добрался 😅

Это первая конференция, за которую я заплатил баблишко и присутствовал в режиме онлайн. В доковидные времена конференции Jocker и Jpoint проходили офлайн, и я хотел когда-нибудь туда попасть, возможно, в качестве спикера. Но ковид всё испортил, и конференция проходит в онлайне, что не так круто. Но, надеюсь, когда-нибудь вернутся полноценные офлайн дни.

У меня сложились двоякие впечатления от этой конференции. Я купил билет за несколько дней до начала, то заплатил фул цену за билет. За такие же деньги я учился вождению. И у меня  были слишком завышенные ожидания. Спойлер: они не оправдались, но некоторые доклады мне понравились.

Пока мой топ выглядит так. Он может измениться, когда я посмотрю остальные выступления.

А теперь немного критики конференции. Что мне не понравилось:

  1. Расписание докладов накладывается друг на друга. Ты хочешь посмотреть 2 доклада, но у них будет пересечение по времени. Собственно из этого вытекает большинство других проблем.
  2. На вопросы отвечают после доклада. И эта активность не записывается. Ты задаёшь вопрос во время доклада, убегаешь на следующий доклад, потому что наслоение расписания, и не получаешь ответ на свой вопрос.
  3. Некоторые активности просто не записываются. Не спрашивайте, видимо, это активности для скоромников. Опять же, допустим, в одно и то же время идут два доклада, и при этом один не записывается.
  4. Если время закончилось, то начинается Армагеддон. Каждый доклад идёт фиксированное количество времени. Докладчики не профессиональные ораторы, а поэтому не всегда укладываются в тайминги. Не проблема, если доклад интересный. Проблема в том, что платформа трансляции устроена таким образом, что нас просто выкидывает из конференции в конце. На докладе «Индексы в PostgreSQL» слушателям буквально пришлось уговаривать организаторов дать закончить в нормальном темпе доклад. Мы его продолжали в зуме, а не на платформе.

Это, наверное, все объективные проблемы, какие я вспомнил, по организации. Дальше уже мои субъективные:

  1. Качество многих докладов откровенно спорное. Это касается преимущественно выступлений, которые проводят "спонсоры". В одном докладе описание просто не совпадает с действительностью, а ещё он был в записи, хотя преподносилось, что онлайн. Там тупо были видны прямые склейки.
  2. Доклады про Kotlin. Казалось бы, конференция про Java. Но это мне Kotlin не нравится, может, остальные в восторге.
  3. Много докладов, которые не несут ценности. Это обычные поболтушки. Ничего не имею против поболтушек, когда я за них не плачу.
  4. Один день тупо сделали бесплатным, и там не было ничего полезного. Я так понял, многие выступления были в этот день от Сбера, и он инициатор бесплатного дня. Малоприятного, когда платишь баблишко, а тебе через неделю говорят, что 1/3 становится бесплатной для всех, но спасибо, что заплатил. Ну дело ваше ребятки.
  5. Судя по всему, на офлайн день перенесли многие достойные доклады. Непонятно зачем судя по онлайн-трансляции там было не так много людей. Точнее, понятно зачем, ууу офлайн это круто, но из-за этого 3 онлайн-дня выглядели совсем скудно. Эффект ещё сильнее усилился, потому что между этими днями был перерыв.

Ещё мне показалось, что организаторы слишком заморачиваются с продакшеном. И на это уходят большие деньги, студия, оборудование. Мне кажется, что эти расходы можно и сократить, но разнести конференцию на большее количество дней, чтобы расписание не наслаивалось, и чтобы всё проходило спокойно, и все спикеры могли проводить доклад в комфортном темпе.

Наверное, это все впечатления от конференции. Но несмотря на все недостатки, я купил билет на Jocker 2022 на старте продаж. Потому что я хочу поддержать организаторов, чтобы эта активность не умирала, и чтобы у нас оставались русскоязычные конференции о Kotlin Java. Ну и некоторые доклады действительно достойные, я узнал что-то новое из них, что не может не радовать. Обязательно поделюсь мнением о Jocker 2022, когда он пройдёт.

Рецензия: Добровольно принудительный Spring

Посмотрел недавно доклад, который называется "Добровольно принудительный Spring". Доклад мне в целом понравился, хоть я и не узнал ничего нового для себя. И я ожидал практические кейсы, best practices, которые улучшат код. Но доклад оказался больше философско-теоретическим. Суть доклада в том, что современные фреймворки облегчают разработчикам задачу писать

Посмотрел недавно доклад, который называется "Добровольно принудительный Spring". Доклад мне в целом понравился, хоть я и не узнал ничего нового для себя. И я ожидал практические кейсы, best practices, которые улучшат код. Но доклад оказался больше философско-теоретическим.

Суть доклада в том, что современные фреймворки облегчают разработчикам задачу писать некачественный код, нарушая S.O.L.I.D. Как пример, Lombok+Spring, когда вы ставите аннотацию @RequiredArgsConstructor над классом, который принимает 20 параметров в конструкторе, а спринг сам за вас создаст и внедрит эти 20 классов. Так как все это легко просто и много кода не занимает, то в голове у разработчика может и не екнуть, что он делает что-то не так, и зачем ему столько параметров в конструкторе.

Забавный вывод, что мы не далеко ушли от Pascal. В паскале тоже были модули/зависимости. В паскале функции/процедуры, а наш типичный код сейчас это бин, который по факту является мешком функций. То есть никакого ООП по факту нет. Ну и единственное что у нас появилось, в отличие от паскаля, это модульные тесты, а значит нам нужно изо всех сил стараться использовать это, и облегчить себе тесты, а значит:

  • Никаких private методов. Их нельзя замокать, и поэтому тестировать становится сложнее.
  • Никаких static методов по этой же причине.

Спорные утверждения конечно, но что имеем.

В итоге все свелось к тому, что разрабатывать нужно через DDT. Даже дебагер не нужно использовать, потому что его вам заменят тесты.

Мне притно, что начали появляться докладчики, которые признают, что никакого ООП у нас по факту нет, оно возможно есть только в головах у интервьюерах на собеседованиях. Собственно то что проповедует Егор Бугаенко по факту правда.

Только вот подход Егора в том, что надо пытаться учиться писать в стиле ООП, а посыл этого доклада в том, что надо смириться и просто жить с этим, потому что настоящих ООП проектов никто в глаза не видел.

Для меня ближе второй вариант, эволюция она такая, бессердечная.