Java Portal | Программирование
11.3K subscribers
798 photos
59 videos
19 files
591 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
📓 The Java Workshop: A New, Interactive Approach to Learning Java.

What you will learn:
• Get to grips with fundamental concepts and conventions of Java 12;
• Write clean and well-commented code that’s easy to maintain;
• Debug and compile logical errors and handle exceptions in your programs;
• Understand how to work with Java APIs and Java streams;
• Learn how to use third-party libraries and software development kits (SDKs);
• Discover how you can work with information stored in databases;
• Understand how you can keep data secure with cryptography and encryption;
• Learn how to keep your development process bug-free with unit testing in Java;

#Eng
📓 OpenCV и Java. Обработка изображений и компьютерное зрение.

• Книга знакомит с современными технологиями компьютерного зрения, позволяющими машинам, роботам, веб-камерам и другим устройствам распознавать изображения. Приведено описание библиотеки компьютерного зрения OpenCV применительно к языку программирования Java.

• Объясняется, как загружать и сохранять изображения в различных форматах, захватывать кадры с веб-камеры в режиме реального времени, выполнять обработку, трансформацию и сегментацию изображения, применять к изображению фильтры. На практических примерах рассмотрены алгоритмы компьютерного зрения, предназначенные для обнаружения, классификации и отслеживания объектов, выделения границ и контуров объектов, поиска объектов по шаблону, особым точкам, цвету или обученному классификатору.

#RU
📓 Волшебство Kotlin.

• Kotlin — один из самых новых языков в экосистеме Java, устраняющий многие ограничения Java и гораздо более универсальный. Среди его преимуществ: полная совместимость с Java и возможность интеграции на уровне исходного кода, широкая поддержка парадигмы функционального программирования, помогающая писать надежный и безопасный код, лаконичность синтаксиса, а также, что весьма немаловажно, гарантии поддержки со стороны IT-гиганта Google.

• Автор является опытным разработчиком на Java, в своей книге подробно освещает нюансы программирования на Kotlin, переходя от общего описания языка к его характерным особенностям и возможностям, включая приемы функционального программирования. Издание предназначено для разработчиков, знакомых с Java и стремящихся повысить безопасность своих программ, а также упростить их написание, тестирование и сопровождение.

#RU #Kotlin
📓 Java EE to Jakarta EE 10 Recipes.

What you will learn:
• Develop enterprise java applications using the latest open-source Jakarta EE platform;
• Create great-looking user interfaces using Jakarta Servlets, Jakarta Server Pages, Jakarta Server Faces and the Eclipse Krazo framework (an implementation of Jakarta MVC);
• Build database applications using Jakarta NoSQL, Jakarta Persistence, and Jakarta Enterprise Beans;
• Develop enterprise grade applications using Context & Dependency Injection, and Jakarta RESTFul web services;
• Automate testing through cohesive test suites built on Arquillian for Jakarta EE applications;
• Build loosely coupled distributed applications using Jakarta Messaging;
• Deploy microservices applications in cloud environments using Docker;
• Secure applications utilizing the Jakarta EE Security API;

#Eng
📓 Основы Java.

• Описан базовый синтаксис языка Java: типы данных, операторы, условия, циклы, регулярные выражения, объектно-ориентированное программирование. Рассмотрены основные классы стандартной библиотеки, получение данных из Интернета, работа с базой данных MySQL. Приводится описание большинства нововведений: Date API, Stream API, лямбда-выражения, ссылки на методы, функциональные интерфейсы и др.

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

#RU
📓 Learn Java 17 Programming: Learn the fundamentals of Java Programming with this updated guide with the latest features.

What you will learn
• Understand and apply object-oriented principles in Java;
• Explore Java design patterns and best practices to solve everyday problems;
• Build user-friendly and attractive GUIs with ease;
• Understand the usage of microservices with the help of practical examples;
• Discover techniques and idioms for writing high-quality Java code;
• Get to grips with the usage of data structures in Java.

#Eng
📓 Основы программирования с Java.

• Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.
Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода.

• С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите основы языка программирования Java, познакомитесь с его синтаксисом, типами данных, объектами и классами и многим другим.

📌 Скачать.

#RU
📓 Гид Java-разработчика.

• Этот гид позволит вам прокачать свои навыки ООП и ознакомиться с его приемами на примере реальных проектов. Авторы представляют проектно-ориентированный подход к созданию ПО на Java, используя который можно стать эффективным разработчиком.

• Каждая глава книги сконцентрирована на определенном проекте, начинающемся как простое консольное приложение и вырастающем в полноценное приложение. Если вы знаете основы программирования на Java, то здесь вы изучите современные методы разработки программного обеспечения, которые позволят создавать актуальные, стабильные и поддерживаемые Java-приложения.

📌 Скачать.

#RU
Строки в Java

По своей сути, строки — это массив символов char, обёрнутый в класс String. Такая обёртка позволяет обрабатывать строку всеми возможными методами: split, join, trim и другими.

Особенность строк Java в том, что они — ссылочные и неизменяемые. Это позволяет оптимизировать занимаемую память строкой.

#lesson
Массив vs Список

В основном вы будете работать с массивами — наборами данных определённой длины. В Java они имеют Си-подобный синтаксис и являются очень быстрыми в работе.

Однако, фиксированная длина часто стреляет в ногу программистам, так как не все данные являются статическими. В таких случаях, им на помощь приходят List-ы. Они позволяют создавать динамические наборы данных, также предоставляя некоторые методы для их обработки.

#java #lesson
System.arraycopy

Невероятно полезный и часто используемый метод. Суть в чём: он копирует данные из одного массива в другой с учётом индексации.

Ситаксис:

System.arraycopy(source, from, root, dest, len);

В результате метод копирует значения из source[from] по source[from + len] и вставляет их в массив root в позицию dest.

#lesson
Инструмент StreamAPI

Думаем, любой программист наслышан о том, как просто можно обрабатывать списки в таких языках, как Python.

Java тоже не обделена подобными особенностями, а в частности — она имеет SteamAPI. Это некий набор объектов и методов, которые позволяют обрабатывать списки.

P.S.: В следующих уроках под тегом #stream мы будем подробно рассказывать о методах обработки

#java #lesson #stream
map и flatMap

Для перевода значений Stream существуют два метода: map и flatMap. В чём же в них разница?

Метод map перевод одно входящие значение строго в одно выходное. Другими словами если переводить массив new int[10] в тип double[], то получится массив длинной 10, не больше и не меньше.

flatMap же не имеет таких ограничений и на выходе может выдавать несколько значений или вообще ничего не возвращать. В основном он нужен для изменения размерности массивов.

#java #lesson #stream
Ключевые типы и их классы

Структура языка Java сильно завязана на ООП. По этой причине, практически всё с чем вы взаимодействуете в Javaобъект.

Даже привычные для всех типы int, float, char и так далее — это всё сокращения объекта. Другими словами, их легко можно заменить соответствующими им классами: Integer, Float и Character.

Однако, у сокращений типов есть одна особенность — они не могут быть null.

#java #lesson #theory
implements и extends

Одной из основных догм в ООП является наследование. В Java можно наследовать как и классы, так и интерфейсы, но делается это по-разному.

Ключевое слово extends привязывает к классу родительский класс и только один. В своё время ключевое слово implements привязывает к классу один или несколько интерфейсов, которые класс должен реализовать.

#java #lesson #oop
В чём разница между абстрактными классами и интерфейсами?

С первого взгляда эти два объекта выполняют одну и тоже функцию — планирование классов. Однако не всё так очевидно.

Абстрактные классы — это такие же обычные классы, но некоторые их методы можно «оставить на потом». Другими словами метод объявленный ключевым словом abstract не надо реализовывать, он будет реализован в дочерних объектах.

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

#java #lesson #oop
В чём разница между абстрактными классами и интерфейсами?

С первого взгляда эти два объекта выполняют одну и тоже функцию — планирование классов. Однако не всё так очевидно.

Абстрактные классы — это такие же обычные классы, но некоторые их методы можно «оставить на потом». Другими словами метод объявленный ключевым словом abstract не надо реализовывать, он будет реализован в дочерних объектах.

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

#java #lesson #oop
Stream Filter

Метод Stream::filter позволяет отфильтровывать значения из набора данных.

Синтаксис: .filter(object -> condition)

Работает он предельно просто: он проходит по каждому элементу из массива и проверяет его с помощью лямбды object -> condition. Если результат равен true, значение оставляем в массиве.

#java #lesson #stream
Кортежи в Java

Часто бывает ситуация, когда надо вернуть из метода несколько объектов одного разного типа. На этот случай придуманы кортежи.

В Java кортежи реализованы интерфейсом Cortege<F, S> и имплементированы классом CortageChain. Чтобы хранить в нём данные, достаточно с помощью дженериков задать типы и присвоить им значения.

Важной особенностью кортежей является возможность выстраивать цепочки, например так:

Cortege<Long, Cortege<String, Cortege<Float, Cortege.End>>>

#java #lesson #collections
Теория дженериков в Java

Дженерики — это невероятно важная часть языка Java, которую вы используете повсеместно. Их суть в обобщении типов, тем самым делая классы и методы гибкими.

Использовать дженерики можно в классах и методы. Обозначаются они стрелочными скобками и именем типа <T> (примеры вы можете увидеть выше).

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

#java #lesson #oop
Рефлексии в Java

Рефлексия — это механизм, который позволяет получить данные из структуры классов, методов и полей.

Сам же механизм рефлексии позволяет обрабатывать типы, отсутствующие при компиляции, но появившиеся во время выполнения программы.

Рефлексия и наличие логически целостной модели выдачи информации об ошибках дает возможность создавать корректный динамический код.

#java #lesson #theory