java_developer | Unsorted

Telegram-канал java_developer - Java Developer

6446

MAKE JAVA GREAT AGAIN Мемы: @java_memes

Subscribe to a channel

Java Developer

Что посмотреть на выходных — 20

Наткнулся в Ютубе на классное шоу. Такой мини-формат Своей игры только между джавистами бигтеха. Команды: X5, Сбер, Тинькофф, Самокат, Мир Пей, RuStore, Тинькофф. Пару шуток-перебивок из шоу:

Сколько волка не корми — всё равно опыт крутит


На концерте классической музыки весь зал на сцене видит дирижёра. И только devops-инженер видит там оркестратора


https://youtube.com/playlist?list=PLretT_1_SO-AFm7rjtRuxobGWcI2us2zu

#чтопосмотреть@java_developer

Читать полностью…

Java Developer

JPoint 2025

Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне оплатила компания (правда, с условием отработать ещё полгода или вернуть деньги при увольнении). Последний раз был на крупной конференции в 2018 в Питере на Joker. Если сравнивать, то участников и спонсоров сейчас стало поменьше и мерч поскромнее, зато стенды теперь более яркие и современные. Доклады по-прежнему на высоком уровне, особенно ажиотаж вызвал доклад про микробенчмарки. Организация тоже порадовала — кайфовый сайт с лк, чёткий тайминг, удобные дискуссионные зоны, обед в два потока — без очередей и суеты. В целом кайф!

Читать полностью…

Java Developer

Kafka
Какие есть гарантии доставки сообщений

Ответ:


1. At most once (не более одного раза):
Сообщение может быть потеряно, но никогда не будет доставлено повторно.
2. At least once (как минимум один раз):
Сообщение доставляется минимум один раз, но возможно повторное получение.
3. Exactly once (ровно один раз):
Сообщение доставляется и обрабатывается строго один раз. Это наиболее надёжная гарантия, достигается с помощью механизма идемпотентности продюсера и транзакций.

Примечание:
Гарантия зависит от настроек продюсера, консюмера и брокера Kafka.

Читать полностью…

Java Developer

Spring
При каких условиях транзакция Spring будет откатана (rollback)?

Ответ:


1. Если выброшено unchecked исключение (наследник RuntimeException или Error).

2. Если выброшено checked исключение, указанное в аннотации @Transactional с параметром rollbackFor.
@Transactional(rollbackFor = { IOException.class })

Примечание: Checked исключения (например, IOException) по умолчанию не вызывают роллбэк, поэтому их нужно явно указывать через параметр rollbackFor.

Читать полностью…

Java Developer

Spring
Для чего используется аннотация @Qualifier

Ответ:


Когда есть несколько бинов одного типа, то используя @Qualifier мы говорим Spring'у, какой именно бин внедрить. При этом также существует аннотация @Primary. Если мы укажем бин @Primary, то Spring его выберет по умолчанию. Когда нужен конкретный другой бин, то @Qualifier переопределит выбор @Primary.


Kafka
Как сделать, чтобы сообщения по одному процессу обрабатывались последовательно?
Ответ


Для таких сообщений нужно использовать одинаковый ключ (идентификатор процесса). Продюсер, используя этот ключ, отправит все связанные сообщения в одну и ту же партицию. Так как сообщения внутри партиции обрабатываются строго по порядку, один консьюмер получит их последовательно.


SQL
Чем отличается SELECT COUNT(*) от SELECT COUNT(address)
Ответ:


COUNT(*) считает общее количество строк, независимо от того, содержат ли они NULL в каком-либо поле.
COUNT(address) же считает количество ненулевых значений в столбце address. Если столбец address содержит NULL в некоторых строках, такие строки в подсчёт не включаются.

Читать полностью…

Java Developer

Я за март прошел больше 10 собесов. Накопил портянку вопросов, которые часто спрашивали. Есть желание выкладывать сюда эти вопросы с возможными ответами и обсуждать в комментариях. Как идейка?

Читать полностью…

Java Developer

Отзыв оффера

Недавно ходил по собеседованиям (рынок РФ). Понравилась вакансия - крупная компания пилит свой новый продукт, прошёл тех собес - не супер гладко, но приятные впечатления остались, отправил свою анкету для сб, всё норм, на следующий день прислали оффер, по деньгам как просил. Договорились, что беру неделю на раздумья. И в этот же день вечером эйчар пишет: «могу набрать? срочно». Говорит пришли новые руководители и решили поменять стек, поэтому найм заморожен. Сорян, так бывает. Можем предложить другую команду, но собес надо пройти заново.

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

Были у кого-то похожие приколы?

Читать полностью…

Java Developer

ладно, давайте так. зачем вам этот канал?

Читать полностью…

Java Developer

админ устроился на новую работу

Читать полностью…

Java Developer

Я чего раньше-то так редко писал. Это потому что у меня выгорание было и ощущение, что ничего нового и полезного не расскажу вам. Многие и так умнее меня, так ещё и успевали развиваться, пока я на одном месте сидел. Ещё и голос в голове говорил - зачем писать то, что все и так знают или могут загуглить?

Но сейчас пришёл к мысли, что читать будут те, кому интересно. А кому неинтересно - отпишутся.

Я когда-то задрал планку, сейчас наоборот хочу её опустить. В канале не будет инсайдов, обучений, марафонов, историй успеха. Скорее это будут заметки для себя же самого.

p.s.: добавил лайки. дизлайков и комментариев не будет, я слишком чувствителен к критике.

Читать полностью…

Java Developer

Как гениально и просто

https://vas3k.blog/notes/pets_vs_cattle/

Читать полностью…

Java Developer

Коллега рассказал ещё, что есть Клавиатура Двора — англоязычная раскладка, которая более эффективная за счёт того, самые популярные буквы расположены удобно и так, что руки чередуются как можно чаще

Читать полностью…

Java Developer

30 до 30

Худшее, что медиа сделали для нашего поколения - рейтинг Форбса «30 under 30». И даже пофиг, что значитальная часть участников там - скам. Главное зло, которое он сотворил - убил самооценку куче людей. Теперь если ты после 30 не великий предприниматель, не изобрел лекарство от чего-нибудь и не сделал миллионы, то ты - лох.

Это несправедливо, потому что жизнь - величайший рандом. И то, что кому-то удалось раньше вытащить счастливый билет, не делает этого везунчика лучше остальных. У людей из списка Форбса нет каких-то сверх способностей, секретных знаний или природного таланта. Им просто повезло раньше. Я могу это с уверенностью утверждать как человек, который в 23 уже был директором по продукту в главном онлайн-кинотеатре страны.

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

Поэтому дружище, если ты думаешь почему все вокруг такие умные и успешные, а ты - нет, то помни, что это рандом. Продолжай делать то, что делаешь, не оглядываясь на шум.

Вот попади я в этот рейтинг, было бы другое дело.

Читать полностью…

Java Developer

Рылся тут у себя, обнаружил футболку раритетную.

Периода приблизительно этого

https://web.archive.org/web/20070630041521/http://developers.sun.com/

Читать полностью…

Java Developer

Основы Kafka. Отличное видео для подготовки к собесам

#kafka #собес

https://youtu.be/-AZOi3kP9Js

Читать полностью…

Java Developer

Впечатления от JPoint 2025 моего коллеги

Впечатления позитивные: большинство докладов понравились, интересные темы, классные спикеры. Особенно зашёл доклад «Путеводитель по профилированию приложений
на JVM» — захотелось применить.

Понравился и формат ответов на вопросы после докладов — очень живая атмосфера и возможность пообщаться лично со спикерами.

Отдельно удивило, что были доклады на английском.

Из минусов — попадались молодые спикеры, которые пока слабо владеют темой и не готовы отвечать на вопросы. Немного контрастирует с уровнем профессиональных докладчиков.

В целом такие конференции полезны, помогают увидеть, что ты еще многое не знаешь и мотивируют дальше развиваться)

Читать полностью…

Java Developer

яндексоиды, без негатива )

Читать полностью…

Java Developer

Java Core
Чем отличается abstract class от interface?

Ответ:


1. Наследование
abstract class может extends только один класс (single inheritance), но может реализовывать несколько интерфейсов.
interface может extends несколько других интерфейсов (множественное «наследование» интерфейсов).
2. Методы
abstract class может содержать как абстрактные, так и реализованные методы. Поддерживает любые модификаторы доступа.
interface
◦ до Java 8 содержал только абстрактные методы (по умолчанию public abstract)
◦ с Java 8 появились default и static методы с реализацией
◦ с Java 9 можно объявлять private методы внутри интерфейса, чтобы переиспользовать логику в default-методах. При этом приватные методы могут существовать только внутри интерфейса, и не видны реализующим классам.
3. Конструкторы
abstract class может иметь конструкторы для инициализации общих полей у наследников, но нельзя создать объект абстрактного класса напрямую (только через конкретные подклассы).
interface не может иметь конструкторов — объект интерфейса напрямую создать нельзя.
4. Поля
abstract class может содержать поля любых типов с любыми модификаторами.
interface может содержать только public static final поля (константы).

Когда использовать:
abstract class - когда требуется общее состояние (поля) и общие методы (реализация), которые наследники могут переопределять или дополнять. Абстрактный класс может хранить поля и совместно использовать часть логики во всех наследниках.
interface - когда нужно определить «контракт» (набор методов) для различных классов, не связанных между собой по иерархии. Несмотря на появление default-методов с реализацией, в интерфейсе по-прежнему нельзя хранить состояние экземпляра. default-методы позволяют расширять интерфейс без нарушения совместимости, но не заменяют полноценного «скелета» с полями и логикой, который даёт абстрактный класс.

Читать полностью…

Java Developer

Java Stream API

Разница между методами map и flatMap

• Метод map принимает функцию, которая вызывается для каждого элемента стрима и преобразует его в другое значение. В результате получается стрим с преобразованными элементами, структура стрима при этом не меняется.


List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<String> strings = numbers.stream()
.map(number -> String.valueOf(number))
.collect(Collectors.toList());


• Метод flatMap принимает функцию, которая преобразует каждый элемент стрима в новый стрим. Затем flatMap объединяет (склеивает) полученные стримы в один общий.
Пример. У нас есть список заказов, а каждый заказ содержит список купленных вещей. Получить список всех купленных вещей можно так:

List<Item> items = orders.stream()
.flatMap(order -> order.getItems().stream())
.collect(Collectors.toList());

Читать полностью…

Java Developer

так, на чём мы тут остановились

Читать полностью…

Java Developer

Сегодня опробовал прогу Lens, которая позволяет управлять кластером Kubernetes через графический интерфейс. Красота! Понравилось.

Это как с git - можно всё делать в терминале, а можно и в IDE пушить, черепикать и тд.

https://habr.com/ru/companies/first/articles/677420/

Читать полностью…

Java Developer

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

Очень рад отпискам от канала. В общем-то, последние посты были на это и нацелены.

Для меня важно делиться мыслями именно с приятными людьми, лояльными читателями, которые не ждут ежедневного вау-контента и «пользы»

Читать полностью…

Java Developer

сообщение для англоговорящих подписчиков (индусов) 👇

Читать полностью…

Java Developer

кстати, постов больше не будет.

Читать полностью…

Java Developer

gitignore для java и maven проектов

простенький gitignore для мелких проектов, чтобы был всегда под рукой


# Intellij
.idea/
*.iml
*.iws

# Maven
log/
target/


#git

Читать полностью…

Java Developer

В общем, кому хочется научиться печатать вслепую, рекомендую тренажер Stamina и «Соло на клавиатуре». Мне кажется, что это крутой навык. Успехов!

Читать полностью…

Java Developer

у меня в юности был компьютерный стол, в котором клавиатура задвигалась под столешницу. и надоедало постоянно выдвигать её. делаешь домашку, кто-то написал, нужно выдвинуть клаву чтобы ответить, отвечаешь, задвигаешь, решаешь дальше свои уравнения, потом опять звук аськи, выдвигаешь… короч ещё в школьное время пришлось скачать stamin’у на комп, чтобы научиться печатать вслепую

Читать полностью…

Java Developer

Спрингу 20 лет 🎉

https://springone.io/history-of-spring

Читать полностью…

Java Developer

конспект лекции по основам #Kafka

(спасибо @AnastasiiaZentsova)

Читать полностью…

Java Developer

Пс, там на канале у Kotlin вышли все видео с KotlinConf!
Kotlin/videos" rel="nofollow">https://www.youtube.com/@Kotlin/videos

Срочно бежим смотреть

Читать полностью…
Subscribe to a channel