Как работает сравнение двух строк?
Чтобы сравнить две строки, используется метод equals() класса String. Этот метод сравнивает строки по символам и возвращает логическое значение — true если строки одинаковые, false если строки разные.
Также можно использовать метод compareTo(), который возвращает 0, если строки одинаковые, положительное число, если первая строка больше в лексикографическом порядке, и отрицательное, если вторая строка больше.
#вопросы_с_собеседований
Чтобы сравнить две строки, используется метод equals() класса String. Этот метод сравнивает строки по символам и возвращает логическое значение — true если строки одинаковые, false если строки разные.
Также можно использовать метод compareTo(), который возвращает 0, если строки одинаковые, положительное число, если первая строка больше в лексикографическом порядке, и отрицательное, если вторая строка больше.
#вопросы_с_собеседований
Когда ломается магия фреймворков...
Более чем за десять лет работы со Spring Framework и Enterprise Java автор успел полюбить Spring Framework, возненавидеть и в итоге пересмотреть свои подходы к работе с ним. То же самое касается работы с рефлексией в целом и работы с АОП в частности.
Всё это из-за того, что магия фреймворков иногда ломается, и делает это очень неочевидно.
Смотреть видео
Более чем за десять лет работы со Spring Framework и Enterprise Java автор успел полюбить Spring Framework, возненавидеть и в итоге пересмотреть свои подходы к работе с ним. То же самое касается работы с рефлексией в целом и работы с АОП в частности.
Всё это из-за того, что магия фреймворков иногда ломается, и делает это очень неочевидно.
Смотреть видео
В продолжение темы предыдущего опроса рассмотрим самые популярные платформы на рынке – Xbox, PlayStation, Nintendo Switch и Steam Deck – и поможем вам определиться с выбором.
🔗Читать статью
🔗Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
Очередной #дайджест по Java:
☕ Анализ дампа кучи Java: разбираем на примерах
В этой статье автор пробует объяснить, как взять и проанализировать дамп кучи – разбор на примерах.
☕ Не придумывайте данные для интеграционных тестов — генерируйте их
Testcontainers "по щелчку пальцев" запускают базы данных, но для того, чтобы тесты начали проходить, нужно кое-что ещё: начальные данные внутри базы. Их необходимо подготовить перед запуском тестов, а по мере того, как схема растёт и усложняется, делать это становится всё труднее.
☕ Репликация между SQL- и NoSQL-базами данных: туда и обратно
Часто при построении высоконагруженных проектов задействуют несколько хранилищ. При этом нередко одновременно используют как SQL-, так и NoSQL-базы данных. Такая реализация оправдана, но для её корректной работы надо правильно настроить репликацию данных в одну из сторон.
☕ Spring Security и архитектура наследования ролей в не плоской модели
Когда речь заходит об авторизации, роли вступают в игру.
☕ Анализ дампа кучи Java: разбираем на примерах
В этой статье автор пробует объяснить, как взять и проанализировать дамп кучи – разбор на примерах.
☕ Не придумывайте данные для интеграционных тестов — генерируйте их
Testcontainers "по щелчку пальцев" запускают базы данных, но для того, чтобы тесты начали проходить, нужно кое-что ещё: начальные данные внутри базы. Их необходимо подготовить перед запуском тестов, а по мере того, как схема растёт и усложняется, делать это становится всё труднее.
☕ Репликация между SQL- и NoSQL-базами данных: туда и обратно
Часто при построении высоконагруженных проектов задействуют несколько хранилищ. При этом нередко одновременно используют как SQL-, так и NoSQL-базы данных. Такая реализация оправдана, но для её корректной работы надо правильно настроить репликацию данных в одну из сторон.
☕ Spring Security и архитектура наследования ролей в не плоской модели
Когда речь заходит об авторизации, роли вступают в игру.
Хотите ли вы изучить vim или он вам не нужен?
#интерактив
#интерактив
Java и IBM Watson
IBM Watson предоставляет мощный инструмент для анализа изображений — Visual Recognition. Этот инструмент позволяет классифицировать изображения, обнаруживать объекты на изображениях и даже обучать свои собственные модели на основе пользовательских данных.
Java SDK для IBM Watson предоставляет простой и удобный интерфейс для работы с Visual Recognition API. Это позволяет Java-разработчикам легко интегрировать функции распознавания изображений в свои приложения.
В примере мы классифицируем изображение по URL с использованием Visual Recognition API. Результатом будет объект ClassifiedImages, который содержит информацию о классах, к которым относится изображение, и уровне уверенности для каждого класса.
Java и IBM Watson предоставляют мощные инструменты для анализа изображений. С помощью Java SDK для Watson разработчики могут легко интегрировать эти функции в свои приложения и использовать их для решения сложных задач.
#код
IBM Watson предоставляет мощный инструмент для анализа изображений — Visual Recognition. Этот инструмент позволяет классифицировать изображения, обнаруживать объекты на изображениях и даже обучать свои собственные модели на основе пользовательских данных.
Java SDK для IBM Watson предоставляет простой и удобный интерфейс для работы с Visual Recognition API. Это позволяет Java-разработчикам легко интегрировать функции распознавания изображений в свои приложения.
В примере мы классифицируем изображение по URL с использованием Visual Recognition API. Результатом будет объект ClassifiedImages, который содержит информацию о классах, к которым относится изображение, и уровне уверенности для каждого класса.
Java и IBM Watson предоставляют мощные инструменты для анализа изображений. С помощью Java SDK для Watson разработчики могут легко интегрировать эти функции в свои приложения и использовать их для решения сложных задач.
#код
Какова иерархия коллекций?
В Java есть два основных интерфейса для коллекций — Collection и Map.
Interface Collection находится на верху иерархии и определяет общие методы для работы с коллекциями, такие как add(), remove(), size() и другие. От него наследуются конкретные реализации коллекций.
Наиболее часто используемые реализации Collection — это List, Set и Queue.
Map интерфейс реализует отдельную структуру данных. Он представляет отображение ключ-значение. Основные реализации — HashMap и TreeMap.
#вопросы_с_собеседований
В Java есть два основных интерфейса для коллекций — Collection и Map.
Interface Collection находится на верху иерархии и определяет общие методы для работы с коллекциями, такие как add(), remove(), size() и другие. От него наследуются конкретные реализации коллекций.
Наиболее часто используемые реализации Collection — это List, Set и Queue.
Map интерфейс реализует отдельную структуру данных. Он представляет отображение ключ-значение. Основные реализации — HashMap и TreeMap.
#вопросы_с_собеседований
Объекты как параметры методов
В Java объекты могут использоваться как параметры методов, что позволяет передавать данные и взаимодействовать с ними внутри методов. Это один из основных способов работы с данными в ООП.
Параметры методов представляют собой значения, которые передаются методу при его вызове. Они объявляются в заголовке метода и позволяют методу получать информацию, необходимую для выполнения своей задачи.
#код
В Java объекты могут использоваться как параметры методов, что позволяет передавать данные и взаимодействовать с ними внутри методов. Это один из основных способов работы с данными в ООП.
Параметры методов представляют собой значения, которые передаются методу при его вызове. Они объявляются в заголовке метода и позволяют методу получать информацию, необходимую для выполнения своей задачи.
#код
Шпаргалка по структурам данных в Java
К каждому собеседованию важно готовиться и проще всего это делать, когда перед глазами есть готовый материал. В данной публикации я хочу поделиться с вами своей шпаргалкой, которую использую перед собеседованиями для повторения структур данных в Java.
Смотреть статью
К каждому собеседованию важно готовиться и проще всего это делать, когда перед глазами есть готовый материал. В данной публикации я хочу поделиться с вами своей шпаргалкой, которую использую перед собеседованиями для повторения структур данных в Java.
Смотреть статью
Сколько вы тратите времени в день на работу по факту?
#интерактив
#интерактив
Адаптер
Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе. Он позволяет «преобразовать» интерфейс одного класса в интерфейс другого класса таким образом, чтобы они могли взаимодействовать без изменения существующего кода.
Паттерн Адаптер включает в себя два вида адаптеров:
☕ Классовый адаптер: использует наследование для адаптации интерфейса исходного класса к целевому интерфейсу. То есть, он наследует исходный класс и реализует целевой интерфейс.
☕ Объектный адаптер: использует композицию, чтобы включить объект исходного класса в адаптер и реализует целевой интерфейс.
#код
Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе. Он позволяет «преобразовать» интерфейс одного класса в интерфейс другого класса таким образом, чтобы они могли взаимодействовать без изменения существующего кода.
Паттерн Адаптер включает в себя два вида адаптеров:
☕ Классовый адаптер: использует наследование для адаптации интерфейса исходного класса к целевому интерфейсу. То есть, он наследует исходный класс и реализует целевой интерфейс.
☕ Объектный адаптер: использует композицию, чтобы включить объект исходного класса в адаптер и реализует целевой интерфейс.
#код
Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
📕 ТОП-9 книг по языку программирования Go в 2023 году: от новичка до профессионала
🐍 Дорожная карта Python-разработчика в 2023 году
🎓💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
☕🛣️ Дорожная карта Java-разработчика в 2023 году
🦸⚡ 9 способов настройки градиента цели для поддержания мотивации
⚒️ ТОП-27 плагинов для Visual Studio Code в 2023
🔎💼🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Приоритизация задач по методу MoSCoW: как за 5 минут научиться грамотно расставлять приоритеты
🤖 Создание собственного ИИ-бота на Python за 33 строчки кода
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
📕 ТОП-9 книг по языку программирования Go в 2023 году: от новичка до профессионала
🐍 Дорожная карта Python-разработчика в 2023 году
🎓💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
☕🛣️ Дорожная карта Java-разработчика в 2023 году
🦸⚡ 9 способов настройки градиента цели для поддержания мотивации
⚒️ ТОП-27 плагинов для Visual Studio Code в 2023
🔎💼🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Приоритизация задач по методу MoSCoW: как за 5 минут научиться грамотно расставлять приоритеты
🤖 Создание собственного ИИ-бота на Python за 33 строчки кода
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
Micronaut
Micronaut — это относительно новый фреймворк для разработки микросервисов на Java.
Основные преимущества — высокая производительность, низкое потребление памяти, интеграция с популярными технологиями микросервисов.
Фреймворк активно развивается и используется в продакшене несколькими крупными компаниями.
Области применения:
— Разработка высокопроизводительных микросервисов. Micronaut оптимизирован для создания легковесных микросервисов с минимальным использованием ресурсов.
— Построение serverless-приложений. Благодаря низким накладным расходам при старте фреймворк хорошо подходит для бессерверных архитектур на основе функций.
— Быстрая разработка микросервисов. Фреймворк содержит много готовой инфраструктуры для разработки, позволяя быстрее создавать сервисы.
— Интеграция с GraalVM. Micronaut оптимизирован для работы со средой исполнения GraalVM, что дает дополнительное ускорение.
#код
Micronaut — это относительно новый фреймворк для разработки микросервисов на Java.
Основные преимущества — высокая производительность, низкое потребление памяти, интеграция с популярными технологиями микросервисов.
Фреймворк активно развивается и используется в продакшене несколькими крупными компаниями.
Области применения:
— Разработка высокопроизводительных микросервисов. Micronaut оптимизирован для создания легковесных микросервисов с минимальным использованием ресурсов.
— Построение serverless-приложений. Благодаря низким накладным расходам при старте фреймворк хорошо подходит для бессерверных архитектур на основе функций.
— Быстрая разработка микросервисов. Фреймворк содержит много готовой инфраструктуры для разработки, позволяя быстрее создавать сервисы.
— Интеграция с GraalVM. Micronaut оптимизирован для работы со средой исполнения GraalVM, что дает дополнительное ускорение.
#код
Упрощаем работу с Excel с помошью Apache POI: готовый шаблонный код
Пошаговое практическое руководство c преобразованием шаблона poiTemplate.xlsx в Excel документ с возможностью программной модификации страниц. Также код может послужить образцом применения паттерна стратегия.
Читать статью
Пошаговое практическое руководство c преобразованием шаблона poiTemplate.xlsx в Excel документ с возможностью программной модификации страниц. Также код может послужить образцом применения паттерна стратегия.
Читать статью
ServletConfig
ServletConfig используется для настройки сервлетов при их инициализации.
Основные моменты, которые следует знать о ServletConfig:
— ServletConfig предоставляет сервлету доступ к инициализационным параметрам. Эти параметры определяются в дескрипторе развертывания (например, web.xml).
— Для получения экземпляра ServletConfig используется метод getServletConfig(), вызываемый в методе инициализации сервлета init().
— Через ServletConfig можно получить доступ к контексту сервлета с помощью метода getServletContext().
— Можно получить значение инициализационного параметра по имени с помощью метода getInitParameter().
— Можно перечислить все инициализационные параметры методом getInitParameterNames().
#код
ServletConfig используется для настройки сервлетов при их инициализации.
Основные моменты, которые следует знать о ServletConfig:
— ServletConfig предоставляет сервлету доступ к инициализационным параметрам. Эти параметры определяются в дескрипторе развертывания (например, web.xml).
— Для получения экземпляра ServletConfig используется метод getServletConfig(), вызываемый в методе инициализации сервлета init().
— Через ServletConfig можно получить доступ к контексту сервлета с помощью метода getServletContext().
— Можно получить значение инициализационного параметра по имени с помощью метода getInitParameter().
— Можно перечислить все инициализационные параметры методом getInitParameterNames().
#код
Какие коллекции синхронизированы?
Vector — синхронизированный аналог ArrayList.
Hashtable — синхронизированный аналог HashMap.
Stack — синхронизированный стек на основе Vector.
Collections.synchronizedList() — возвращает синхронизированный список на основе переданного в нее списка.
Collections.synchronizedSet() — то же самое для множества.
Collections.synchronizedMap() — для отображения.
Синхронизация в этих коллекциях реализована с помощью внутренних блокировок, которые упорядочивает доступ к коллекции из разных потоков.
Обычно предпочтительнее использовать несинхронизированные коллекции и синхронизировать доступ к ним самостоятельно при необходимости, чтобы не терять производительность.
Это можно сделать с помощью методов synchronizedCollection(), synchronizedList(), synchronizedSet(), synchronizedMap().
#вопросы_с_собеседований
Vector — синхронизированный аналог ArrayList.
Hashtable — синхронизированный аналог HashMap.
Stack — синхронизированный стек на основе Vector.
Collections.synchronizedList() — возвращает синхронизированный список на основе переданного в нее списка.
Collections.synchronizedSet() — то же самое для множества.
Collections.synchronizedMap() — для отображения.
Синхронизация в этих коллекциях реализована с помощью внутренних блокировок, которые упорядочивает доступ к коллекции из разных потоков.
Обычно предпочтительнее использовать несинхронизированные коллекции и синхронизировать доступ к ним самостоятельно при необходимости, чтобы не терять производительность.
Это можно сделать с помощью методов synchronizedCollection(), synchronizedList(), synchronizedSet(), synchronizedMap().
#вопросы_с_собеседований
SQLException
SQLException — это класс исключений, используемый для обработки ошибок, связанных с работой с базами данных.
Обычно он возникает при выполнении запросов к БД через JDBC и сигнализирует об ошибках соединения с БД, синтаксических ошибках в SQL запросе, проблемах с транзакциями и т.д.
Здесь мы подключаемся к БД, выполняем запрос INSERT и отлавливаем возможную ошибку через блок catch по SQLException.
Если запрос выполнится успешно, ничего не будет выведено в консоль.
Если произойдет ошибка, например, из-за неправильного SQL синтаксиса, будет выведена информация об исключении.
SQLException — это класс исключений, используемый для обработки ошибок, связанных с работой с базами данных.
Обычно он возникает при выполнении запросов к БД через JDBC и сигнализирует об ошибках соединения с БД, синтаксических ошибках в SQL запросе, проблемах с транзакциями и т.д.
Здесь мы подключаемся к БД, выполняем запрос INSERT и отлавливаем возможную ошибку через блок catch по SQLException.
Если запрос выполнится успешно, ничего не будет выведено в консоль.
Если произойдет ошибка, например, из-за неправильного SQL синтаксиса, будет выведена информация об исключении.
Может ли Java быть быстрой? Сравнение производительности Helidon Níma и Spring
Java долгое время была и остается фаворитом в enterprise решениях, но все чаще в высоконагруженных проектах предпочтение отдается более "производительным" языкам, таким как Go, а порой даже C++. Но вдруг Java тоже может быть быстрой?
Читать статью
Java долгое время была и остается фаворитом в enterprise решениях, но все чаще в высоконагруженных проектах предпочтение отдается более "производительным" языкам, таким как Go, а порой даже C++. Но вдруг Java тоже может быть быстрой?
Читать статью
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека devops’a
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook
🔸Instagram
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека devops’a
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🗺️ Дорожная карта: что это, как ее составить и почему она обязательно нужна разработчику
Откройте для себя секретное оружие успешного программиста — дорожную карту, которая поможет составить пошаговый план действий на ближайшие несколько лет. В данной статье разберемся, зачем она нужна, как правильно ее составить и где «подглядеть» роадмап для айтишников всех направлений 🤫
📌 Примеры дорожных карт и полезные материалы по теме:
🤩 Подборка дорожных карт для разработчиков
👉 Дорожная карта Frontend-разработчика в 2022 году
🏃 8 шагов от новичка до профессионала: дорожная карта разработчика на C#
👨💻 Как стать фрилансером и где найти первый заказ: дорожная карта
🍏 Карьерный гид от новичка до профи: дорожная карта iOS-разработчика
☕ Дорожная карта Java-разработчика в 2023 году
🧔 Повышение до тимлида: дорожная карта
🐍 Дорожная карта Python-разработчика
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
Откройте для себя секретное оружие успешного программиста — дорожную карту, которая поможет составить пошаговый план действий на ближайшие несколько лет. В данной статье разберемся, зачем она нужна, как правильно ее составить и где «подглядеть» роадмап для айтишников всех направлений 🤫
📌 Примеры дорожных карт и полезные материалы по теме:
🤩 Подборка дорожных карт для разработчиков
👉 Дорожная карта Frontend-разработчика в 2022 году
🏃 8 шагов от новичка до профессионала: дорожная карта разработчика на C#
👨💻 Как стать фрилансером и где найти первый заказ: дорожная карта
🍏 Карьерный гид от новичка до профи: дорожная карта iOS-разработчика
☕ Дорожная карта Java-разработчика в 2023 году
🧔 Повышение до тимлида: дорожная карта
🐍 Дорожная карта Python-разработчика
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
Очередной #дайджест по Java:
☕ Автоматизация разработки с помощью подхода DB-first
Интеграция с БД — привычно сложная и хрупкая часть большинства кодобаз, постоянно отвлекающая внимание разработчиков и раздувающая сроки.
☕ Java: что нужно знать новичку?
Необходимые знания одного из самых популярных языков.
☕ Какую IDE для Java выбрать?
Какую IDE выбрать для начинающего Java-разработчика?
☕ Особенности разработки автотестов различными инструментами, а также статистика по использованию
Однозначным плюсом внедрения автотестов на проекте является сокращение времени на тестирование и сокращение возможности ошибки при тестировании человеком.
☕ Автоматизация разработки с помощью подхода DB-first
Интеграция с БД — привычно сложная и хрупкая часть большинства кодобаз, постоянно отвлекающая внимание разработчиков и раздувающая сроки.
☕ Java: что нужно знать новичку?
Необходимые знания одного из самых популярных языков.
☕ Какую IDE для Java выбрать?
Какую IDE выбрать для начинающего Java-разработчика?
☕ Особенности разработки автотестов различными инструментами, а также статистика по использованию
Однозначным плюсом внедрения автотестов на проекте является сокращение времени на тестирование и сокращение возможности ошибки при тестировании человеком.