JavaWhiteBook
92 subscribers
202 photos
4 videos
81 links
Привет!
Меня зовут Алексей. Мне 50.
Я третий год работаю java-разработчиком.
В этом канале я рассказываю про трудности-печали, с которыми сталкиваюсь, а также радости-победы, которые случаются.
Только практика, никакой теории, и очень простыми словами.
Download Telegram
Трудовые будни

Сегодня кратко...
На работе выдали лицензию на IntelliJ IDEA 🥳
Обновился до 2022.2.5

Конечно, сейчас доступна 2023.1.3, но пока скачивать не стал.
Не люблю эксперименты по вторникам😆

А у вас есть лицензия?
А может кто другой IDE пользуется?

#idea
4
🎓Развитие

Сегодня сделал первые шаги в изучении Kafka.
Несмотря на то, что это было запланировано давно.

Теперь могу ответить на несколько базовых вопросов:
- Что такое кафка?
- Чем она отличается от очередей?
- Какова структура данных?
- Как кафка масштабируется? (хотя бы теоретически)
- Что такое группы консьюмеров?

Конечно же, сделал в книжечку заметочку

А у вас на проектах есть кафка?
Кто ее настраивал? Кто поддерживает?

#kafka
👏3
Медленно, но уверенно продолжаю двигаться по плану 🚑

Нарешал на leetcode 200 задачек!!! 🥳

Одной из последних и интереснейших была
139. Word Break 🤬🤯

Благодаря ей познакомился c префиксными деревьями и закрепил знания по ним 🛠🔨🔨

На подходе полиномиальные хэши 🙈

А у вас есть план, мистер Фикс?

#leetcode
🔥5👍4
Сегодня на конфе в Перми...
😜😝👍
🔥9👍2
🛠 Трудовые будни

Сегодня работу работаю не из дома, а из отелю в Москве.
А всё почему, а потому что завтра корпоратив 🔥🔥🔥

Тем кому интересны мои небольшие похождения можно смотреть тут
👍2
🛠 Трудовые будни

Всем привет!

Вчера мне дали задачу по кафке!!!

Что имеем:
Первый сервис создает запись в БД, а другой ее должен апдейтить.
Запись и апдейт происходят через другой сервис.
Эти сервисы комуницируют через кафку. 🪄💫

Проблема:
Так вот, бывает такая фигня, что апдейт прилетает раньше, чем создание и все ломается. 🤬

Предполагаемое решение:
Ждать ответа от сервиса записи в первом сервисе, и после получения отправлять сообщение во второй с разрешением на апдейт. 🤞

На обсуждении мне сказали: "Все очень просто! (тут уже стало страшно) Создаешь топик, в первом продюсер, во втором консьюмер. Делаешь логику. И все..." 🤦‍♂️

Чтож, пошел делать 😬
🔥7
Ровно год назад я вышел на текущую работу, и мне до сих пор нравится. 🥳

Очень приятно когда люди вокруг обременены интеллектом. Кстати коллектив достаточно молодой и активный 🏀🏂🏄‍♂️🚴

Большинство задач интересные и не "кровавые". 💥
Из до сих пор не познанного из благ это ДМС и премии.
Думаю что всё и впереди. 😁

Не могу сказать что я сильно вырос за этот год, но то что точно стал увереннее в своих знаниях, это точно. 🧐

На вопрос: Рассматриваете предложения о смене места?
Я искренне отвечаю: Нет!

А вам нравится где вы работаете и какими задачами занимаетесь?
👍7
🎓 Развитие

Вчера внезапно попал на беседу о SOLID. И понял, что такие беседы будут еженедельными в рамках подготовки меня к повышению грейда. 🙈

Дома как раз почти закончил ремонт, поэтому можно безнаказанно переключиться на учёбу. 😜

А раз так - сегодня утро начал с покупки новой книжечки. 📖

А что вы сейчас читаете или учите?

#algorithm
👍6
🎓 Развитие

Утром прочитал первую главу 🤔

Пока ничего нового не узнал 🤗

Но заметочку все же сделал 🤭

Кто по картинке угадает что за алгоритм?

#algorithm
Если кому интересно можете присоединятся
идет прямо сейчас 😏
🎓 Развитие

Осень. Яндекс. Алгоритмы.

Кто хочет пошевелить мозгами присоединяйтесь! 🥳

В прошлом году было очень весело и интересно.
Надеюсь что в это они придумают что-то не менее увлекательное!!! 🤞

И сразу - на финальный спринт я не пойду. 🙈

#algorithm_training
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
🎓 Развитие

Пара инсайтов на тему "Учите матчасть!"

И так задача первая
список каких либо элементов надо "нарезать кусками".

Конечно нужно написать свой метод и гордится, до тех пор пока не узнаешь про класс ListUtils из пакета org.apache.commons.collections4
и его метод:
partition(List<T> list, int size)

После этого просветленный удаляешь 40 строк своего уже не столь восхитительного кода и заменяешь его одной строкой.

Задача вторая
Есть мапа из которой надо всегда получать какое-то значение, т.е. если такого ключа нет, то надо вернуть значение какого близкого ключа.

Что делал я, и тоже гордился собой, как хранилище использовал HashMap и хранил ключи в отсортированном массиве, искал в нем бинарным поиском ключ и если не находил, то брал ключ на котором остановился поиск.

Но после того как узнаешь про методы TreeMap:
floorKey(K obj), lowerKey(K obj) и higherKey(K obj)
можно много строчек по удалять.
До сих пор не понимаю, как я их пропустил мимо ушей, но спасибо задачкам на литкоде...

#учитематчасть
🔥7
23. Merge k Sorted Lists

Сегодня внезапно порешал и главное решил хародовую задачу. 🥳

Получилось не сразу.
Сначала пошел в лоб - загонял элементы в массив и его сортировал. А уже из него брал меньший и засовывал в результирующий список.
Получилось плохо и по времени и по памяти. 🤦‍♂️

Потом после поиска структур данных, которые хранят отсортированные данные попробовал PriorityQueue - и сразу улучшил время почти в три раза.
Но дойти до заветных 4мс так и не смог. 🤔

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

А вы решали эту задачу
🔴 23. Merge k Sorted Lists?

#leetcode #algorithm
👍3
Давайте разомнем мозги!!!

Вчера начались тренировки по алгоритмам 4.0

Открылись задачи для разминки.
10 задач.
Как обычно что-то яндексовском диалекте 🤦🏻‍♂️

Постараюсь сегодня порешать.🤯

Есть еще кроме меня "больные на голову" люди кто участвует

#algorithm_training
Ну вот и размял мозги! 🤯

За два дня решил почти 10 задач.

Парочка была достаточно простыми.
Три оказались сложными.
Особенно последняя. 🫣

Вроде все сделал по феншую - с использованием динамического программирования.
Но во временные рамки так и не влез. 🤬
Подумаю об этом завтра.

Сегодня была первая лекция по тренировкам.
Тема: Сортировки: быстрая, слиянием и поразрядная.
Вроде ничего нового не услышал, и все вспомнил. 🧐

Дали ДЗ - 5 задач, думаю что вспомню еще лучше, ну или проверю как помню !

#algorithm_training