Senior Java Developer
Статистика№ 4931127152 Изучаем Java. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorjavist
- Последний пост
- 14 авг.
- Последнее чтение
- 11:14
- Постов за неделю
- 6
- Всего постов
- 24
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 1 412
- 1/48двое суток
- 1 618
- 1/72трое суток
- 1 745
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Как бы вы связали Spring MVC Framework с архитектурой MVC? Как следует из названия, Spring MVC построен на основе архитектуры Model-View-Controller. DispatcherServlet — это передний контроллер в приложении Spring MVC, который обрабатывает все входящие запросы и делегирует их различным методам обработчика контроллера. Моделью может быть любой Java-бин в Spring Framework, как и в любой другой среде MVC Spring обеспечивает автоматическую привязку данных формы к Java-бинам. Мы можем установить bean-компоненты модели в качестве атрибутов, которые будут использоваться на страницах View. Страницы View могут быть JSP, статическим HTML и т. д., а преобразователи представлений отвечают за поиск правильной страницы просмотра. Как только страница просмотра идентифицирована, управление возвращается контроллеру DispatcherServlet. DispatcherServlet отвечает за визуализацию представления и возврат окончательного ответа клиенту.
➡️ 5 сентября пройдет deep tech night — событие Яндекса о технологических вызовах в эпоху AI Эксперты обсудят, как AI меняет инфраструктуру, архитектуру, процессы разработки и роли в командах. 🗣 Мо Гавдат, ex-Chief Business Officer Google X, расскажет, как генеративные модели могут фундаментально изменить разработку и подходы к постановке задач. Отдельно — про эволюцию инженерных команд и вызовы, которые их ждут. Также участников ждет блок, посвященный технологической экспертизе и инженерному опыту Яндекса: например, Алексей Гусаков, CTO бизнес-группы Поисковых сервисов и ИИ, разберёт, как генеративные модели меняют рекомендательные системы, дополняя классический ML и отказываясь от ручного фичеинжиниринга. Эти и другие доклады из Hard-трека будут доступны в онлайне, также в прямом эфире пройдет Q&A-сессия с экспертами. Полную программу и подробности про офлайн-участие можно узнать на сайте. Регистрируемся на онлайн-трансляцию.
Как можно извлечь цвет изображения из PDF IText Java? Чтобы извлечь цвет изображения из PDF-файла с помощью IText и Java, вы можете использовать класс PdfImageObject для извлечения необработанных данных изображения из PDF-файла, а затем использовать класс BufferedImage из API ввода-вывода изображений Java для создания буферизованного изображения из необработанных данных. Оттуда вы можете использовать метод getRGB() класса BufferedImage для получения цвета определенного пикселя изображения.
#вопросы_с_собеседований Что такое Dead lock? Случай когда у нас выполняются два потока(A, B) и наш первый поток(А) заблокировал метод a() и второй поток(В) заблокировал метод b() и в то же время поток А пытается получить доступ к методу b(), а поток B пытается получить доступ к методу а() называют dead lock.
#вопросы_с_собеседований Как получить текущую дату с использованием Date Time API из Java 8? LocalDate.now(); Как добавить 1 неделю, 1 месяц, 1 год, 10 лет к текущей дате с использованием Date Time API? LocalDate.now().plusWeeks(1); LocalDate.now().plusMonths(1); LocalDate.now().plusYears(1); LocalDate.now().plus(1, ChronoUnit.DECADES);
#вопросы_с_собеседований Как создать поток-демон? Объявить поток демоном достаточно просто — нужно перед запуском потока вызвать его метод setDaemon(true). Проверить, является ли поток демоном, можно вызвав его метод boolean isDaemon().
uniVocity-parsers uniVocity-parsers — это набор высокопроизводительных и надежных парсеров для Java. Он предлагает унифицированный интерфейс для работы с различными форматами файлов, а также надежную инфраструктуру для разработки новых парсеров. #для_продвинутых
OpenCSV OpenCSV — это библиотека Java с открытым исходным кодом, предназначенная для работы с CSV-файлами. Она обеспечивает простой и удобный интерфейс для чтения, записи, обработки и анализа CSV-данных. OpenCSV является одной из самых популярных библиотек для работы с CSV в Java, благодаря своей простоте использования, производительности и широкому набору функций. https://opencsv.sourceforge.net/ #для_продвинутых
FastCSV FastCSV — это высокопроизводительная, соответствующая RFC и не требующая зависимостей библиотека CSV для Java. Она является одной из самых популярных библиотек CSV для Java на GitHub. https://github.com/osiegmar/FastCSV #для_продвинутых
➡️ MyBatis — мощный ORM-фреймворк для работы с базами данных MyBatis — это гибкий и мощный фреймворк для работы с базами данных, который позволяет маппировать SQL-запросы на Java-объекты. В отличие от других ORM, таких как Hibernate, MyBatis предоставляет больше контроля над SQL-запросами и позволяет напрямую писать SQL, оставаясь при этом гибким инструментом для работы с базами данных. 🗣 MyBatis — это отличный выбор для тех, кто хочет больше контроля над SQL-запросами, но при этом предпочитает типобезопасное взаимодействие с базой данных. 🔗 Ссылочка на доку
➡️ Использование метода Optional.ifPresentOrElse() для обработки значения или выполнения альтернативного действия Начиная с Java 9, метод Optional.ifPresentOrElse() позволяет выполнить действие, если значение присутствует, или выполнить другое действие, если значение отсутствует. Это помогает избавиться от лишних проверок на наличие значения. • Optional.ifPresentOrElse() упрощает обработку значений и позволяет добавить fallback-логику в случае отсутствия значения. • Этот метод делает код более компактным и читабельным, устраняя необходимость использовать громоздкие условные конструкции.
➡️ Использование Virtual Threads для упрощения многопоточности В Java 21 были введены виртуальные потоки — лёгковесные потоки, которые значительно упрощают создание и управление большим количеством параллельных задач. Они позволяют запускать тысячи и даже миллионы потоков без значительных затрат ресурсов и сложности управления. • Виртуальные потоки потребляют меньше системных ресурсов, позволяя более эффективно использовать многопоточность. • Они упрощают написание параллельного кода, делая его более читаемым и поддерживаемым.
➡️ TestContainers — инструмент для тестирования с использованием контейнеров Docker TestContainers — это библиотека, которая позволяет создавать тестовые окружения с использованием Docker-контейнеров. Это особенно полезно для тестирования взаимодействий с базами данных, сообщениями, веб-сервисами и другими инфраструктурными компонентами в изолированной среде. TestContainers помогает запускать интеграционные тесты, используя реальные сервисы, работающие в контейнерах. 🗣 TestContainers — идеальный выбор для разработки интеграционных тестов, где нужно взаимодействовать с реальными сервисами. 🔗 Ссылочка на доку
➡️ JUnit 5 — современный инструмент для модульного тестирования JUnit 5 — это обновлённая версия популярной библиотеки для тестирования, которая предоставляет мощный и гибкий API для написания модульных тестов. JUnit 5 поддерживает аннотации для удобного создания тестов, расширяемость через расширения, а также работу с различными тестовыми сценариями. Он также лучше интегрируется с современными инструментами и фреймворками. 🗣 JUnit 5 — идеальный выбор для проектов, где необходимо гибкое и масштабируемое тестирование с возможностью использования мощных расширений. 🔗 Ссылочка на доку
Собираем бэкенд-комьюнити на JVM Day Бэкендеры, 29 августа в Москве пройдет хардкорная конференция. Ждут своих: Java-, Scala- и Kotlin-разработчиков, архитекторов и тимлидов. Здесь выступят и расскажут: — Андрей Кулешов — что нового в мире JVM за год. — Сергей Петрелевич — разработка по Mechanical Sympathy. — Александр Ланцов — Java после Loom: другие модели concurrency. — Антон Курако — как бенчмарки вводят в заблуждение. А вечером во дворе T-Space — посиделки, интерактивы и открытый микрофон с историями ошибок. Мест мало, а цена билета будет расти. Успевай зарегистрироваться
➡️ Использование метода Collectors.filtering() для фильтрации элементов при сборе в коллекцию Начиная с Java 9, метод Collectors.filtering() позволяет фильтровать элементы потока перед их сбором в коллекцию. Это полезно, когда нужно собирать только определённые элементы, не прибегая к дополнительным фильтрациям на этапе потока. • Collectors.filtering() делает код более лаконичным, предоставляя встроенный способ фильтрации элементов в процессе их коллекционирования. • Этот метод позволяет объединять фильтрацию и сбор данных в одну операцию.
✔️ Использование Collectors.teeing для объединения потоков Java 12 представила новый метод Collectors.teeing, который позволяет объединить результаты двух различных коллекторов в один итоговый результат. 🗣️ Эта возможность значительно упрощает обработку сложных потоков данных.
➡️ Сила коллекций: Неизменяемые коллекции в Java Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf. ✔️ Эти методы предоставляют простой способ создания неизменяемых представлений существующих коллекций, улучшая безопасность и надежность кода.
Метод Character.toString() Метод Character.toString() — возвращает строковый объект (String) и представляет указанное char-значение как одну символьную строку.
substring Метод substring() в Java имеет два варианта и возвращает новую строку, которая является подстрокой данной строки. Подстрока начинается с символа, заданного индексом, и продолжается до конца данной строки или до endIndex-1, если введен второй аргумент.