Фундаментальный подход к программной архитектуре: паттерны, свойства, проверенные методы (2023) PDF
Архитекторы ПО стабильно входят в десятку самых высокооплачиваемых профессий. Но до сих пор не было реального руководства, которое позволило бы разработчикам стать архитекторами. И вот наконец появилась книга, в которой дается всеобъемлющий обзор разнообразных аспектов архитектуры программного обеспечения. Начинающие и уже состоявшиеся архитекторы найдут в ней паттерны архитектур, определения компонентов, приемы построения эволюционных архитектур и множество других тем. Марк Ричардс и Нил Форд обладают бесценным практическим опытом, профессионально занимаются этой темой, уделяя особое внимание принципам построения архитектуры, применимым ко всем технологическим стекам. Они предлагают современный взгляд на архитектуру ПО с учетом всех нововведений последнего десятилетия.
Архитекторы ПО стабильно входят в десятку самых высокооплачиваемых профессий. Но до сих пор не было реального руководства, которое позволило бы разработчикам стать архитекторами. И вот наконец появилась книга, в которой дается всеобъемлющий обзор разнообразных аспектов архитектуры программного обеспечения. Начинающие и уже состоявшиеся архитекторы найдут в ней паттерны архитектур, определения компонентов, приемы построения эволюционных архитектур и множество других тем. Марк Ричардс и Нил Форд обладают бесценным практическим опытом, профессионально занимаются этой темой, уделяя особое внимание принципам построения архитектуры, применимым ко всем технологическим стекам. Они предлагают современный взгляд на архитектуру ПО с учетом всех нововведений последнего десятилетия.
👍17🤩4🔥3
Как между собой связаны Iterable и Iterator?
Интерфейс
Интерфейс
Iterable имеет только один метод - iterator(), который возвращает Iterator.👍21
Jakarta Bean Validation — это спецификация, описывающая API для валидации объектов в рамках Jakarta EE. Вы можете использовать данную спецификацию для валидации в проектах вне зависимости от используемого фреймворка или сервера приложений. Более того, вы можете использовать Jakarta Bean Validation в полностью самостоятельных проектах, не основанных на Jakarta EE или каком-либо фреймворке.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Jakarta Bean Validation 3.0 - Jakarta EE
Jakarta Bean Validation — это спецификация, описывающая API для валидации объектов в рамках Jakarta EE. Вы можете использовать данную спецификацию для валидации в проектах вне зависимости от используемого фреймворка или сервера приложений. Более того, вы…
👍9🔥4
Java from EPAM: Учебно-методическое пособие, 2-е изд. (2021) PDF
Второе издание пособия предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и XML. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
Функциональное программирование (ФП) было добавлено в очередную версию Java и ориентировано на вычисления и обработку информации. Этот подход предполагает формирование функции как объекта и передачу этого объекта в метод для использования или, наоборот, сама функция есть возвращаемое методом значение.
Второе издание пособия предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и XML. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
Функциональное программирование (ФП) было добавлено в очередную версию Java и ориентировано на вычисления и обработку информации. Этот подход предполагает формирование функции как объекта и передачу этого объекта в метод для использования или, наоборот, сама функция есть возвращаемое методом значение.
👍18🔥3😁3
Сравните Iterator и ListIterator.
•
•
•
• При помощи
•
ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;•
Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();•
ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().• При помощи
ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.👍24🔥4❤1
Грокаем функциональное мышление (2023) PDF
Кодовые базы разрастаются, становясь всё сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы? Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее. Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают дублирование кода, и откроете для себя новые уровни его выразительности. Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
Кодовые базы разрастаются, становясь всё сложнее и запутаннее, что не может не пугать разработчиков. Как обнаружить код, изменяющий состояние вашей системы? Как сделать код таким, чтобы он не увеличивал сложность и запутанность кодовой базы? Большую часть «действий», изменяющих состояние, можно превратить в «вычисления», чтобы ваш код стал проще и логичнее. Вы научитесь бороться со сложными ошибками синхронизации, которые неизбежно проникают в асинхронный и многопоточный код, узнаете, как компонуемые абстракции предотвращают дублирование кода, и откроете для себя новые уровни его выразительности. Книга предназначена для разработчиков среднего и высокого уровня, создающих сложный код. Примеры, иллюстрации, вопросы для самопроверки и практические задания помогут надежно закрепить новые знания.
👍26🔥3🤩2
Java — один из самых популярных языков программирования в мире. Хотите начать путь в IT с его изучения? Присоединяйтесь к практическому онлайн-интенсиву по Java-разработке 31 июля в 19:00 (МСК).
Мы расскажем, какие навыки нужны разработчику для трудоустройства, а также сравним возможности Java и Python.
При регистрации дарим гайд по профессии Java-разработчика: 👉https://epic.st/kbvlEF
💪Вы попробуете написать Telegram-бота, даже если никогда не программировали.
🔔Спикер — Даниил Пилипенко, основатель и директор центра подбора IT-специалистов SymbioWay. Более 19 лет работает в сфере Java и веб-разработки. За его плечами более 500 выступлений на семинарах и конференциях.
🎁Участвуйте, задавайте вопросы и получите сертификат на скидку 10 000 рублей на любой курс Skillbox. Всем дошедшим до конца интенсива дарим электронную книгу издательства МИФ «Разум под контролем» Роджера Сайпа и Робба Збиерски.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Мы расскажем, какие навыки нужны разработчику для трудоустройства, а также сравним возможности Java и Python.
При регистрации дарим гайд по профессии Java-разработчика: 👉https://epic.st/kbvlEF
💪Вы попробуете написать Telegram-бота, даже если никогда не программировали.
🔔Спикер — Даниил Пилипенко, основатель и директор центра подбора IT-специалистов SymbioWay. Более 19 лет работает в сфере Java и веб-разработки. За его плечами более 500 выступлений на семинарах и конференциях.
🎁Участвуйте, задавайте вопросы и получите сертификат на скидку 10 000 рублей на любой курс Skillbox. Всем дошедшим до конца интенсива дарим электронную книгу издательства МИФ «Разум под контролем» Роджера Сайпа и Робба Збиерски.
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
👍4❤2
Что произойдет при вызове Iterator.next() без предварительного вызова Iterator.hasNext()?
Если итератор указывает на последний элемент коллекции, то возникнет исключение
Если итератор указывает на последний элемент коллекции, то возникнет исключение
NoSuchElementException, иначе будет возвращен следующий элемент.👍13
Модернизация Java Enterprise: облачные технологии для разработчиков (2023) PDF, ePUB
В разговорах о технологиях постоянно упоминаются контейнеры, микросервисы и распределенные системы, однако большинство приложений по-прежнему работают на базе монолитных архитектур, основанных на традиционных процессах разработки. Давайте поближе познакомимся с хорошо зарекомендовавшими себя моделями на основе Java и разберемся, как перенести эти монолитные приложения в будущее.
Опираясь на многолетний опыт модернизации приложений, Маркус Эйзеле и Натале Винто показывают, что необходимо сделать для обновления приложений Java, как разделить на части монолитные приложения и перейти на современный программный стек, работающий как в облаке, так и в локальной среде.
В разговорах о технологиях постоянно упоминаются контейнеры, микросервисы и распределенные системы, однако большинство приложений по-прежнему работают на базе монолитных архитектур, основанных на традиционных процессах разработки. Давайте поближе познакомимся с хорошо зарекомендовавшими себя моделями на основе Java и разберемся, как перенести эти монолитные приложения в будущее.
Опираясь на многолетний опыт модернизации приложений, Маркус Эйзеле и Натале Винто показывают, что необходимо сделать для обновления приложений Java, как разделить на части монолитные приложения и перейти на современный программный стек, работающий как в облаке, так и в локальной среде.
👍15🔥4❤1
❓Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
👩💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.
👩💻 Kotlin Developer - самый топовый канал для котлин разработчика!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2🤩1
Сколько элементов будет пропущено, если Iterator.next() будет вызван после 10-ти вызовов Iterator.hasNext()?
Нисколько -
Нисколько -
hasNext() осуществляет только проверку наличия следующего элемента.👍21🔥5❤1
Более чем за десять лет работы со Spring Framework и Enterprise Java автор успел полюбить Spring Framework, возненавидеть и в итоге пересмотреть свои подходы к работе с ним. То же самое касается работы с рефлексией в целом и работы с АОП в частности.
Всё это из-за того, что магия фреймворков иногда ломается, и делает это очень неочевидно.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Когда ломается магия фреймворков...
Более чем за десять лет работы со Spring Framework и Enterprise Java я успел полюбить Spring Framework, возненавидеть и в итоге пересмотреть свои подходы к работе с ним. То же самое касается работы с рефлексией в целом и работы с АОП в частности.
Всё это…
Всё это…
👍13🔥6
Kafka в действии (2022) True PDF
Это практическое руководство показывает, как использовать распределенную потоковую платформу Apache Kafka для удовлетворения различных бизнес-требований. Рассказывается, как устроена Kafka и где она может пригодиться на практике; описываются характеристики проектов, в которых может пригодиться эта платформа. Рассматриваются основные ее компоненты – клиенты и кластер, представлены варианты улучшения работающего кластера. Книга адресована разработчикам, желающим ознакомиться с идеей потоковой обработки данных. Для изучения примеров кода понадобятся базовые знания командной строки; желательно иметь навыки программирования на языке Java.
Это практическое руководство показывает, как использовать распределенную потоковую платформу Apache Kafka для удовлетворения различных бизнес-требований. Рассказывается, как устроена Kafka и где она может пригодиться на практике; описываются характеристики проектов, в которых может пригодиться эта платформа. Рассматриваются основные ее компоненты – клиенты и кластер, представлены варианты улучшения работающего кластера. Книга адресована разработчикам, желающим ознакомиться с идеей потоковой обработки данных. Для изучения примеров кода понадобятся базовые знания командной строки; желательно иметь навыки программирования на языке Java.
👍15🔥6
Как поведёт себя коллекция, если вызвать iterator.remove()?
Если вызову
Если вызову
iterator.remove() предшествовал вызов iterator.next(), то iterator.remove() удалит элемент коллекции, на который указывает итератор, в противном случае будет выброшено IllegalStateException().👍27
В этом видео автор рассказывает, как решить тестовое задание SQL Parser на Java/Kotlin.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Тестовое задание Java Kotlin - SQL Parser
В этом видео я рассказываю, как решить тестовое задание SQL Parser на Java/Kotlin.
Каркас - https://github.com/peterarsentev/job4j_sql_parser
Тестовые задания - https://github.com/Ecwid/new-job/blob/master/SQL-parser.md
Курс по Java/Kotlin - https://job4j.ru/
Каркас - https://github.com/peterarsentev/job4j_sql_parser
Тестовые задания - https://github.com/Ecwid/new-job/blob/master/SQL-parser.md
Курс по Java/Kotlin - https://job4j.ru/
👍9❤🔥1❤1🎅1
В этом видео автор рассказывает о том, что такое лямбда-выражения в языке программирования Java. На примерах показывает, для чего нужны лямбды, и какую роль они играют при написании кода в функциональном стиле.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Лямбда-выражения.
В этом видео я рассказываю о том, что такое лямбда-выражения в языке программирования Java. На примерах показываю, для чего нужны лябды, и какую роль они играют при написании кода в функциональном стиле.
Стать спонсором канала:
https://www.youtube.com/c…
Стать спонсором канала:
https://www.youtube.com/c…
👍20🔥2❤1
Spring в действии, 6-е издание (2022) True PDF
Каждый разработчик на Java должен быть знаком со Spring! Почему? Этот мощный фреймворк избавляет от множества утомительной работы, связанной с настройкой и решением повторяющихся задач, и упрощает создание готового к работе программного обеспечения промышленного качества. Последние обновления в значительной мере способствуют увеличению продуктивности программиста при разработке микросервисов, реактивных служб и других современных приложений. Неудивительно, что больше половины всех разработчиков на Java используют Spring.
Перед вами перевод 6-го издания великолепной книги Крейга Уоллса. Шаг за шагом вы пройдете путь создания законченного веб-приложения на основе базы данных. Новое издание охватывает не только основы Spring, но и новые возможности, такие как реактивные потоки или интеграция с Kubernetes и RSocket.
Каждый разработчик на Java должен быть знаком со Spring! Почему? Этот мощный фреймворк избавляет от множества утомительной работы, связанной с настройкой и решением повторяющихся задач, и упрощает создание готового к работе программного обеспечения промышленного качества. Последние обновления в значительной мере способствуют увеличению продуктивности программиста при разработке микросервисов, реактивных служб и других современных приложений. Неудивительно, что больше половины всех разработчиков на Java используют Spring.
Перед вами перевод 6-го издания великолепной книги Крейга Уоллса. Шаг за шагом вы пройдете путь создания законченного веб-приложения на основе базы данных. Новое издание охватывает не только основы Spring, но и новые возможности, такие как реактивные потоки или интеграция с Kubernetes и RSocket.
👍23🔥6❤4
Как поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?
При следующем вызове методов итератора будет выброшено
При следующем вызове методов итератора будет выброшено
ConcurrentModificationException.👍14
Шпаргалка по структурам данных в Java
К каждому собеседованию важно готовиться и проще всего это делать, когда перед глазами есть готовый материал. В данной публикации я хочу поделиться с вами своей шпаргалкой, которую использую перед собеседованиями для повторения структур данных в Java.
Читать статью
К каждому собеседованию важно готовиться и проще всего это делать, когда перед глазами есть готовый материал. В данной публикации я хочу поделиться с вами своей шпаргалкой, которую использую перед собеседованиями для повторения структур данных в Java.
Читать статью
Teletype
Шпаргалка по структурам данных в Java
К каждому собеседованию важно готовиться и проще всего это делать, когда перед глазами есть готовый материал. В данной публикации я хочу...
👍17🔥10❤1
Основы программирования с Java (2022) True PDF
Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.
Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода. С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите основы языка программирования Java, познакомитесь с его синтаксисом, типами данных, объектами и классами и многим другим.
Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.
Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода. С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите основы языка программирования Java, познакомитесь с его синтаксисом, типами данных, объектами и классами и многим другим.
👍12🔥2
Как избежать ConcurrentModificationException во время перебора коллекции?
• Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу
• Использовать
• Преобразовать список в массив и перебирать массив.
• Блокировать изменения списка на время перебора с помощью блока
Отрицательная сторона последних двух вариантов - ухудшение производительности.
• Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу
fail-safe.• Использовать
ConcurrentHashMap и CopyOnWriteArrayList.• Преобразовать список в массив и перебирать массив.
• Блокировать изменения списка на время перебора с помощью блока
synchronized.Отрицательная сторона последних двух вариантов - ухудшение производительности.
👍20