Обложка канала

javaswag

3797 @javaswag

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

  • javaswag

    https://javaswag.github.io/episode/49/ Слушать подкаст в Apple | Spotify | Google | Yandex В 49 выпуске подкаста Javaswag поговорили с Владимиром Швецом, автором книги “От джуна до сеньора. Как стать востребованным разработчиком” 00:01:10 О себе и высоконагруженных сервисах 00:15:37 Где в книге мидлы? Курсы, блоки в книге 00:25:05 О книгах - “Я практически не читаю технической литературы” 00:34:55 Стиль написания 00:48:00 Работа с издательством, редактором, чистый код 01:04:30 Об интервью и алгоритмах на “бумажке” 01:13:18 Пример интервью 01:20:20 “Побивание камнями” как стиль код-ревью 01:29:20 Бюрократия 01:36:40 Зачем в книге для программистов блок про психотерапию 01:45:00 Следующая книга 01:49:15 Отвечаем на непопулярное мнение из предыдущего выпуска 01:53:00 Непопулярное мнение Гость - Владимир Швец Ссылки: Книга “От джуна до сеньора. Как стать востребованным разработчиком” alpinabook.ru/catalog…o-senora Промокод на скидку 20%: javaswag Кип сейф! 🖖
    #49 - Владимир Швец- от Джуна до Сеньора, как выжить в IT

    В 49 выпуске подкаста Javaswag поговорили с Владимиром Щвецем, автором книги "От джуна до сеньора. Как стать востребованным разработчиком"

    Javaswag
  • javaswag

    JDK 21 https://openjdk.org/projects/jdk/21/ В сентябре выйдет Джава 21 - следующий LTS релиз. Фич там много, но многое к сожалению в превью режиме. Я понимаю для чего нужен превью режим, но как же неудобно им пользоваться. Вот захочу я в домашнем проекте использовать все последние фичи, а их надо как-то включать. В 21 версии мы наконец получим рекорды, паттерн матчинг, коллекции-последовательности и виртуальные потоки. Там еще много чего, но вот я жду конкретно эти фичи. Что ждете вы?
  • javaswag

    Спонсор выпуска - онлайн-курс «Java Developer. Professional» от OTUS ⁉️ Как упросить структуру Java-приложения? ♨️ Узнаем 21 июня в 20:00 на открытом уроке «Конечные автоматы». Вебинар приурочен к старту онлайн-курса «Java Developer. Professional» в OTUS. Занятие проведет Сергей Петрелевич, Java-разработчиком с 20-летним стажем. 📢📢 На уроке мы посмотрим, как с помощью конечных автоматов можно существенно упростить структуру приложения и избавиться от кучи if-ов, размазанных тонким слоем по всему приложению. 🔵Не упустите возможность протестировать формат обучения! Больше полезного ждет вас на курсе, который можно оплатить любым удобным способом. 👉 Для участия зарегистрируйтесь и пройдите тест: https://otus.pw/bLH4/ Нативная интеграция. Информация о продукте www.otus.ru
  • Реклама

  • javaswag

    До следующего выпуска ☮️
  • javaswag

    Java 20 Pattern Matching for Switch: What’s Under the Hood? betterprogramming.pub/java-20…109f5e2f В статье Наталия разбирает паттерн матчинг и свитч со стороны байткода. Как работает байткод внутри, и что за инструкции реализуют возможность "свитчиться" по типу.
  • javaswag

    JEP 443: Unnamed Patterns and Variables (Preview) https://openjdk.org/jeps/443 JEP 443 вводит всего лишь одно нововведение – возможность называть переменные символом нижнего подчеркивания. Казалось бы, что сложного? Для чего для этого вообще нужен целый JEP? По ссылке разобраны все нюансы, что может пойти не так даже с такой "небольшой фичей" языка. Кажется, все идет к тому что в будущем Джава будет показывать "варнинги", если переменные не используются.
  • javaswag

    Migrating Netflix to GraphQL Safely netflixtechblog.com/migrati…4d4f1e72 Инженеры Нетфликса рассказывают как "безопасно" смигрировали свои REST эндпойнты на Графкуэль. В больших компаниях такая миграция сама по себе огромный проект, который внутри состоит из других подпроектов. А/Б тесты, "перепроигрывающий" трафик фреймворк и канареечный релиз - это три основных паттерна, которые использовались при миграции. Подробнее про них в статье.
  • javaswag

    Привет в этом выпуске миграция на Графкуэль от Нетфликса, Джава 21 и почему не нужно инициализировать волатайл переменную.
  • javaswag

    How to Write MockMvc Tests Without ObjectMapper, Part One - The Simplest Possible Solution www.petrikainulainen.net/program…part-one Если в тестах нужно быстро создать JSON строку пользуетесь ли вы классом ObjectMapper или "склеиваете" строку вручную? Автор разобрал три подхода, как можно собрать JSON строку и рассмотрел плюсы и минусы.
  • javaswag

    Профилирование, ассемблер и все-все-все https://habr.com/ru/articles/542156/ Статья от Сергея Цыпанова (который кстати был у нас в подкасте в 13 выпуске https://javaswag.github.io/episode/13/ ) о том почему для JPA нужно использовать DTO объекты, а не интерфейсы. Ну это я так суммировал, упростив до минимального. Так-то, в статье Сергей в профилировании добрался аж до байт кода. Оказывается присваивание дефолтного значения волайтайл переменной влияет на производительность. Надеюсь IDEA это подсвечивает желтым варнинг предупреждением? Ведь подсвечивает? Да..?
  • javaswag

    До следующего выпуска ☮️
  • javaswag

    Спонсор выпуска: онлайн-курса «Kotlin Backend Developer. Professional» от OTUS Хотите создавать на Kotlin высокопроизводительные серверные приложения? 🔥Приглашаем 12 апреля в 20:00 мск на открытый вебинар "Как заменить 100-500 if на один оператор: простое описание сложной логики с нечеткими условиями" в OTUS. 📚 На вебинаре мы рассмотрим типичные примеры использования машины состояний: - вычисление разрешений на доступ - фазы обработки станком детали -контроль проникновений в помещение Обсудим, как вообще проектируются такие модели, в том числе, с полным моделированием переходов и с сокращенным набором переходов. Также оценим пределы применимости конечных автоматов и когда следует переходить на другие модели, в частности, на машинное обучение. 👉 Регистрация на вебинар: https://otus.pw/RCLJ/ Вебинар является частью онлайн-курса «Kotlin Backend Developer. Professional». Курс доступен в рассрочку. Реклама. Информация о рекламодателе на сайте www.otus.ru
  • javaswag

    Writing a Profiler in 240 Lines of Pure Java mostlynerdless.de/blog/20…ure-java Автор показывает, как написать сэмплирующий профайлер в 240 строк Джава кода. На код и правда интересно посмотреть. Так же вы научитесь генерировать красивые flame графики, которые так популярны у перфоманс инженеров.
  • javaswag

    Make your own Optionals https://mccue.dev/pages/3-28-23-custom-optional Автор предлагает писать свои классы Optional. Например, есть у вас метод getPerson() -> Optional<Person> и получили вы empty, что лучше чем получить null, но все равно же непонятно, а почему там нет Пёрсона? Хороший ведь вопрос, как передать “наверх” причину, что случилось с этим Пёрсоном? По мнению автора, нужно создать систему типов для каждого такого случая. Согласны? Как вы обычно пишите?
  • javaswag

    Graph-support is a minimalistic re-implementation of a Graphviz using pure Java, almost without external dependencies https://github.com/jamisonjiang/graph-support Реализация инструмента graphviz полностью на Джаве и без дополнительных зависимостей. graphviz очень полезен когда нужно сгенерировать быстро какую-то картинку или граф, и каждый раз приходится его скачивать, устанавливать, на проде так его вообще никогда нет. А тут реализация на Джаве, супер! Вот будет у вас какой-то граф, обязательно для него сгенерируйте картинку, ведь по картинке гораздо легче понять, что происходит.
  • Реклама

  • javaswag

    Not your grandfather’s logs — A Java library’s new approach to observability betterprogramming.pub/not-you…a90d198d Автор рассказывает про новый подход к “наблюдаемости”( а как вы переводите обзервабилити?). Что же это за новый подход? Оказывается вместо логов, автор советует добавить в код библиотеку https://micrometer.io/, дописать к каждому методу немного кода для трейсов и тогда вы сможете увидеть, что у вас происходит в системе в реальном времени. А то что мы все println да println, да затем логи смотрим. Я согласен, конечно, хорошо смотреть в красивый интерфейс, а не в логи, но в каждый метод добавлять еще кода для трейсов, я пока не готов. А вы?
  • javaswag

    How I Used ChatGPT for Debugging a Process in Java spin.atomicobject.com/2023/04…ber-duck Сейчас так много разговоров о том что скоро разработчики останутся без работы и кодить будет AI. Давайте оставим этот спор за кадром, но проверим может ли ЧатЖПТ(с таким именем шансов мало:) ) заменить хотя бы одного программиста в парном программировании. Сможет ли он помочь найти баг в программе на Джаве? Автор статьи как раз это и проверил, и пришел к выводу что вашего коллегу ЧатЖПТ не заменит, а вот резиновую утку на столе так точно. Выдохнули, AI пока не в силах разобраться в нашей ”лапше”-коде.

    image_2023-04-10_16-00-16.png

    image/png
  • javaswag

    Java’s Checked Exceptions Are Just Weird Union Types blog.jooq.org/javas-c…on-types После выпуска подкаста Javaswag 45 с Олегом Ненашевым наткнулся на старую статью об исключениях от Лукаса (это тот парень, который разрабатывает JOOQ.) В подкасте было непопулярное мнение, что CheckedException нужны. Автор статьи Лукас показывает, что под определенным углом эксепшены очень похожи на юнион-типы. Как думаете нужны ли юнион типы в джаве?