ServletConfig
Это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.
@javalib #java
Это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.
@javalib #java
👍6❤2🔥2
Prototype — это порождающий паттерн, который позволяет создавать новые объекты путем клонирования уже существующих. Вместо создания объектов с нуля, можно копировать существующие, что сокращает время и ресурсы на создание объектов с похожими параметрами.
Использование:
Преимущества:
Недостатки:
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6🔥4😁2
Доступ, предоставляемый библиотекой LWJGL, является высокопроизводительным, но в то же время обернут в безопасный для типов и удобный для пользователя слой, подходящий для экосистемы Java.
@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥4❤3
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥4
Жизненный цикл разработки ПО — это структура, описывающая процесс создания программного обеспечения, позволяя планировать и управлять разработкой систематично. Вот основные и часто используемые модели:
- Линейный и последовательный подход, где каждый этап строго следует за предыдущим.
- Проект разбивается на отдельные фазы: Сбор требований, Дизайн, Реализация, Верификация, Поддержка.
- Подходит для проектов с четкими, неизменяемыми требованиями.
- Разработка ведется небольшими, управляемыми итерациями, называемыми спринтами, что позволяет быстро реагировать на изменения.
- Включает популярные методологии: Scrum (спринты с командными встречами), Kanban (визуализация задач) и Extreme Programming (XP, акцент на частых релизах).
- Применяется для проектов с неопределенными или часто меняющимися требованиями, благодаря гибкости и акценту на обратную связь.
- Расширение водопадной модели, где для каждой фазы разработки предусмотрена фаза тестирования, формирующая визуальную «V»-структуру.
- Подходит для проектов, где критична строгая проверка и верификация на каждом этапе.
- Продукт создается поэтапно, каждая новая итерация улучшает предыдущие, пока не будет достигнут окончательный результат.
- Хорошо подходит для крупных проектов, где сложно сразу определить все требования, но есть понимание общего направления.
- Комбинирует итеративный подход с этапами водопадной модели, что позволяет постепенно создавать продукт с учетом анализа рисков.
- Каждый цикл включает фазы: планирование, анализ рисков, разработка, оценка.
- Идеальна для сложных и масштабных проектов, требующих многократного анализа и управления рисками.
- Минимальное планирование, основное внимание уделяется коду, и только в конце идет интеграция и тестирование.
- Применяется для небольших проектов или для экспериментов, когда структура не важна и требуется быстрый результат.
- Сосредоточена на быстром прототипировании и регулярной обратной связи от пользователя.
- Цель — ускорить разработку и адаптацию, что полезно для проектов, где важна скорость релизов.
- Продукт разрабатывается и тестируется по частям (инкрементам), каждый из которых добавляет новую функциональность.
- Удобна для проектов с определенными частями функционала, которые можно разрабатывать независимо друг от друга.
- Каждая модель имеет свои плюсы и минусы. Выбор подходящей модели зависит от сложности проекта, стабильности требований, нужной гибкости и степени важности тестирования.
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥5❤4
Java для Sega Mega Drive — возможно ли это?
В этом проекте я хотел ответить на вопрос: возможно ли написать игру на Java для Sega Mega Drive/Genesis. Не хочу раскрывать спойлеры, но ответом будет «да».
Несколько лет назад я повстречал проект Java Grinder, который позволяет писать код для различных ретро процессоров на Java, в том числе для Sega Mega Drive. По сути, он интерпретирует байт-код из файлов .class, полученных после компиляции, в код на Ассемблере 68K. Если файлу класса нужны другие файлы классов, то они тоже считываются и обрабатываются. Все вызовы методов API записываются в выходном коде, либо как встроенный ассемблерный код, либо как вызовы предварительно написанных функций, выполняющих свою задачу.
Читать статью
В этом проекте я хотел ответить на вопрос: возможно ли написать игру на Java для Sega Mega Drive/Genesis. Не хочу раскрывать спойлеры, но ответом будет «да».
Несколько лет назад я повстречал проект Java Grinder, который позволяет писать код для различных ретро процессоров на Java, в том числе для Sega Mega Drive. По сути, он интерпретирует байт-код из файлов .class, полученных после компиляции, в код на Ассемблере 68K. Если файлу класса нужны другие файлы классов, то они тоже считываются и обрабатываются. Все вызовы методов API записываются в выходном коде, либо как встроенный ассемблерный код, либо как вызовы предварительно написанных функций, выполняющих свою задачу.
Читать статью
Дзен | Статьи
Java для Sega Mega Drive — возможно ли это?
Статья автора «Java» в Дзене ✍: В этом проекте я хотел ответить на вопрос: возможно ли написать игру на Java для Sega Mega Drive/Genesis. Не хочу раскрывать спойлеры, но ответом будет «да».
👍19🔥4❤3🍾1
Задачи с собеседований: Поиск первого уникального символа в строке (jun+)
— Как найти первый уникальный символ в строке?
🔘 Ключевые моменты:
- Используйте доп. структуру данных для хранения количества вхождений каждого символа
- Предложите в комментарии другие варианты решения.
Реализация через Map на картинке👆
@javalib #java
— Как найти первый уникальный символ в строке?
- Используйте доп. структуру данных для хранения количества вхождений каждого символа
- Предложите в комментарии другие варианты решения.
Реализация через Map на картинке
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤6🔥3
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Проект написан на Java и предоставляет инструменты и API, которые позволяют агентам взаимодействовать с Minecraft для выполнения сложных задач, таких как построение, крафтинг, исследование и другие
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤4👍3🎉1
Путеводитель по техническим транзакциям с Camunda 8 и Spring
Интересно, как работают технические транзакции с Camunda и фреймворком Spring? Узнайте больше о транзакционном поведении в этом блоге.
Мы регулярно отвечаем на вопросы о том, как работают технические транзакции при использовании Camunda (в последней версии 8.x) и фреймворка Spring. Например, что происходит, если у вас есть две сервисные задачи, и второй вызов завершается с ошибкой? В этом блоге я опишу типичные сценарии, чтобы сделать поведение более наглядным. Я буду использовать примеры кода на Java 17, Camunda 8.3, Spring Zeebe 8.3, Spring Boot 2.7 и Spring Framework 5.3.
Читать статью
Интересно, как работают технические транзакции с Camunda и фреймворком Spring? Узнайте больше о транзакционном поведении в этом блоге.
Мы регулярно отвечаем на вопросы о том, как работают технические транзакции при использовании Camunda (в последней версии 8.x) и фреймворка Spring. Например, что происходит, если у вас есть две сервисные задачи, и второй вызов завершается с ошибкой? В этом блоге я опишу типичные сценарии, чтобы сделать поведение более наглядным. Я буду использовать примеры кода на Java 17, Camunda 8.3, Spring Zeebe 8.3, Spring Boot 2.7 и Spring Framework 5.3.
Читать статью
Дзен | Статьи
Путеводитель по техническим транзакциям с Camunda 8 и Spring
Статья автора «Java» в Дзене ✍: Интересно, как работают технические транзакции с Camunda и фреймворком Spring? Узнайте больше о транзакционном поведении в этом блоге.
👍9❤4
CI/CD Pipeline
CI/CD пайплайн — это система, которая позволяет автоматизировать ключевые этапы разработки: от сборки и тестирования до развертывания программного обеспечения. Такой подход объединяет все стадии жизненного цикла проекта — написание кода, его проверку, тестирование и публикацию — в единый поток, где каждый шаг выполняется автоматически и последовательно.
На диаграмме выше представлены инструменты, которые часто используются для создания эффективного CI/CD пайплайна.
❓ Вы применяете какие-то из них в своих проектах?
@javalib #java
CI/CD пайплайн — это система, которая позволяет автоматизировать ключевые этапы разработки: от сборки и тестирования до развертывания программного обеспечения. Такой подход объединяет все стадии жизненного цикла проекта — написание кода, его проверку, тестирование и публикацию — в единый поток, где каждый шаг выполняется автоматически и последовательно.
На диаграмме выше представлены инструменты, которые часто используются для создания эффективного CI/CD пайплайна.
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉14👍5❤2🔥2
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥4
Forwarded from Java Guru 🤓
Что будет выведено для запроса /api/hello?name=Spring
Anonymous Quiz
3%
Hello, name
16%
Hello, World
69%
Hello, Spring
11%
400 Bad Request
😁15👍5🔥4🍾1
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3👍3
Нормализация — это процесс приведения структуры базы данных к оптимальному виду для устранения избыточности данных и обеспечения их целостности. Процесс состоит из последовательных этапов, соответствующих нормальным формам (НФ).
Основные нормальные формы (НФ):
Данные делятся на атомарные (неделимые) значения.
Пример: В одной ячейке таблицы не может быть списка телефонов, вместо этого создается отдельная строка для каждого телефона.
Требует выполнения 1НФ и исключения зависимости от части составного первичного ключа. Это устраняет проблему дублирования данных.
Пример: Если таблица использует составной ключ (например, "Курс" и "Студент"), информация, относящаяся только к "Курсу", выносится в отдельную таблицу.
Выполняется 2НФ и устраняются транзитивные зависимости — неключевые атрибуты должны зависеть только от ключа.
Пример: Если в таблице есть "ID сотрудника", "Отдел" и "Название отдела", то "Название отдела" переносится в отдельную таблицу "Отделы".
Редко используемые нормальные формы:
- Нормальная форма Бойса-Кодда (BCNF): Уточнённая версия 3НФ, где каждое определяющее множество является суперключом. Используется для устранения более сложных аномалий.
- Четвёртая нормальная форма (4НФ): Устраняет многозначные зависимости, которые появляются при использовании нескольких связей между одними и теми же атрибутами.
- Пятая нормальная форма (5НФ): Делает базу данных устойчивой к разделению данных, устраняя зависимости соединений.
Эти формы применяются в сложных сценариях, например, при проектировании корпоративных систем с огромным количеством взаимосвязей. Для большинства приложений 3НФ оказывается достаточной.
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥9❤6
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤3
Spring Framework и Spring Boot с нуля! 🚀 (12 часов)
Это видео поможет вам с нуля освоить Spring Framework и Spring Boot. В нем вы:
Познакомитесь с основными инструментами.
Разберетесь в принципах работы Spring Framework изнутри.
Научитесь создавать полноценное приложение, используя всё, о чем говорится в видео.
Если вы никогда не работали со Spring Framework или переходите с другого языка программирования на Java, это видео станет отличным стартом для изучения этого фреймворка и начала работы над собственными проектами!
🌐 🗣 СМОТРЕТЬ VKVIDEO
📝 🗣 СМОТРЕТЬ DZEN
@javalib #java
Это видео поможет вам с нуля освоить Spring Framework и Spring Boot. В нем вы:
Познакомитесь с основными инструментами.
Разберетесь в принципах работы Spring Framework изнутри.
Научитесь создавать полноценное приложение, используя всё, о чем говорится в видео.
Если вы никогда не работали со Spring Framework или переходите с другого языка программирования на Java, это видео станет отличным стартом для изучения этого фреймворка и начала работы над собственными проектами!
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥6❤3