13937
Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Java_per_month
⚙️ Math.random()
В Java метод Math.random() генерирует случайное число с плавающей точкой от 0.0 (включительно) до 1.0 (исключительно). Это базовый способ генерации случайных чисел.
Java Learning 👩💻
👩💻 Задача по Java: Подсчёт частоты слов в строке
Напишите метод, который принимает строку и возвращает Map, где ключи — это слова из строки, а значения — количество их вхождений. Игнорируйте регистр и удаляйте знаки препинания.
Пример:
public class Main {
public static void main(String[] args) {
String text = "Hello, world! Hello Java.";
Map<String, Integer> result = countWordFrequency(text);
System.out.println(result);
// Ожидаемый результат:
// {hello=2, world=1, java=1}
}
}
⚙️ String.replaceAll()
В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.
Java Learning 👩💻
📕Открытый урок по Scala для Java, C#, Kotlin и Android программистов, аналитиков данных и специалистов по обработке больших данных
На открытом уроке 4 декабря в 20:00 мск мы изучим, функциональные стримы в Scala на примере fs2.
📗На уроке:
- Рассмотрим, что такое стримы и их разновидности;
- Изучим конструкторы и комбинаторы fs2;
- Проанализируем примеры использования стримов для обработки данных без загрузки в память.
📘В результате:
- Поймете, что такое стримы и как они отличаются от коллекций;
- Как использовать конструкторы и комбинаторы fs2 для обработки данных;
- Получите примеры применения стримов в реальных задачах, что позволит оптимизировать обработку данных.
Спикер Валентин Шилин — senior программист/аналитик данных Deutsche Telekom IT GmbH, 15+ лет программирования на С++, С#, JavaScript, Python, Scala, Java и эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/Uux3/
📙 Все участники открытого урока получат скидку на курс "Scala-разработчик"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Онлайн-курс «JAVA-разработчик» от EdMe: 6 месяцев, гарантия работы, оплата после трудоустройства
Образовательный проект EdMe открывает набор на курс по Java-разработке. Программа подойдет как для новичков, начинающих с нуля, так и для тех, кто стремится улучшить свои навыки. Обучение построено на менторстве и направлено на комплексную подготовку к трудоустройству. За 6 месяцев вы сможете достичь уровня middle-разработчика, для этого нужно уделять обучению от 20 часов в неделю.
Вы будете взаимодействовать с опытным разработчиком, который объяснит, что нужно учить и как это делать, а также чего избегать, чтобы быстрее освоить необходимые навыки и получить оффер. Ментор будет направлять вас, советовать, как решать технические вопросы, мотивировать и помогать готовиться к собеседованиям.
Плюсы курса от EdMe:
➕Гарантированное трудоустройство с зарплатой от 140 000 рублей;
➕Оплата курса только после выхода на работу – 20% от зарплаты в течение 18 месяцев;
➕Бесплатная карьерная поддержка после окончания курса;
➕Возможность завершения обучения без оплаты и штрафов, если вы по каким-либо причинам не сможете закончить курс.
Во время обучения вы будете использовать Jira, Confluence, Bitbucket, GitLab – те самые системы, с которыми вы столкнетесь на реальных проектах.
Программа курса:
▪️ Основы Java: Java Core, List, JDBC, Hibernate, Spring (Core, MVC, Security), Spring Boot, Git.
▪️ Проект.
▪️ Подготовка к собеседованиям (составление резюме, прохождение тестовых собеседований).
▪️ Прохождение реальных собеседований.
Записаться на курс можно на cайте EdMe.pro
Отбор включает несложное тестовое задание, которое под силу выполнить человеку без опыта, и собеседование.
Реклама. ООО "БАКСЭТ", ИНН 4345115602. Erid 2VtzqvcHgVV
⚙️ Collectors.toMap()
В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.
Java Learning 👩💻
⚡️ Приглашаем на открытый урок «Разрабатываем Kafka-appender для логгера».
🗓 05 декабря в 20:00 МСК
Интеграция логирования с системами обмена сообщениями, такими как Apache Kafka, становится все более востребованной в современных Java-приложениях. Однако найти готовый функционал для этой задачи не всегда просто, поэтому часто возникает необходимость разработки собственного Kafka-appender для логгера.
На вебинаре разберем:
✔️ Зачем нужен Kafka-appender для логгера.
✔️ Подходы к разработке собственного Kafka-appender.
✔️ Шаги по созданию Kafka-appender для логгера.
✔️Практические рекомендации
Вебинар пройдет в рамках курса «Java Developer. Professional», все посетители получат welcome-скидку на обучение.
🔗 Ссылка на регистрацию: https://clck.ru/3EtXxjРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Задача по Java: Удаление дубликатов из списка с сохранением порядка
Напишите метод, который принимает список строк и возвращает новый список, содержащий только уникальные строки, сохраняя их порядок появления.
Пример:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> input = List.of("apple", "banana", "apple", "orange", "banana");
List<String> result = removeDuplicates(input);
System.out.println(result);
// Ожидаемый результат: [apple, banana, orange]
}
}
⚙️ Stream.collect() с Collector.of()
В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов.
Java Learning 👩💻
👩💻 Начали путь в программировании и хотите практики?
На вебинаре 4 декабря в 20:00 мск вы создадите свой первый сетевой чат на Java!
Вместе разберем, как работать с сетью, потоками и java .io.
Этот вебинар — отличная практика для начинающих.
Это ваш шанс выйти за рамки теории и сделать реальный проект, который отлично подойдет для портфолио.
Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.
➡️ Регистрируйтесь на вебинар, погружайтесь в мир Java и получайте скидку на большое обучение «Java-разработчик»: https://clck.ru/3EqtWkРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Прожарка резюме для Java-разработчиков в четверг
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: 28 ноября, в четверг, в 19:00 по мск
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_sh_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_sh_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_sh_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqvvKMpB
PostgreSQL vs Oracle: что выбрать для вашего проекта?
Построение базы данных — основа любой надежной системы. Oracle и PostgreSQL — два популярных выбора, но какой из них лучше для ваших задач?
На бесплатном вебинаре 27 ноября в 20:00 мск разберем ключевые отличия PostgreSQL и Oracle! Вы узнаете, как их архитектура и лицензирование влияют на масштабируемость и стоимость, чем различаются их подходы к безопасности, и почему PostgreSQL становится фаворитом в современных компаниях.
Урок будет полезен администраторам, которые планируют переход на PostgreSQL, и разработчикам, которые хотят понимать особенности обеих СУБД для обоснованного выбора.
Спикер Игорь Тоескин — автор статей, активный участник профессионального сообщества, участник центра компетенций СУБД в Магните.
Регистрируйтесь на вебинар и получите скидку на большой курс «PostgreSQL для администраторов баз данных и разработчиков».
⚙️ List.subList()
В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.
Java Learning 👩💻
Онлайн-курс «JAVA-разработчик» от EdMe: 6 месяцев, гарантия работы, оплата после трудоустройства
Образовательный проект EdMe открывает набор на курс по Java-разработке. Программа подойдет как для новичков, начинающих с нуля, так и для тех, кто стремится улучшить свои навыки. Обучение построено на менторстве и направлено на комплексную подготовку к трудоустройству. За 6 месяцев вы сможете достичь уровня middle-разработчика, для этого нужно уделять обучению от 20 часов в неделю.
Вы будете взаимодействовать с опытным разработчиком, который объяснит, что нужно учить и как это делать, а также чего избегать, чтобы быстрее освоить необходимые навыки и получить оффер. Ментор будет направлять вас, советовать, как решать технические вопросы, мотивировать и помогать готовиться к собеседованиям.
Плюсы курса от EdMe:
➕Гарантированное трудоустройство с зарплатой от 140 000 рублей;
➕Оплата курса только после выхода на работу – 20% от зарплаты в течение 18 месяцев;
➕Бесплатная карьерная поддержка после окончания курса;
➕Возможность завершения обучения без оплаты и штрафов, если вы по каким-либо причинам не сможете закончить курс.
Во время обучения вы будете использовать Jira, Confluence, Bitbucket, GitLab – те самые системы, с которыми вы столкнетесь на реальных проектах.
Программа курса:
▪️ Основы Java: Java Core, List, JDBC, Hibernate, Spring (Core, MVC, Security), Spring Boot, Git.
▪️ Проект.
▪️ Подготовка к собеседованиям (составление резюме, прохождение тестовых собеседований).
▪️ Прохождение реальных собеседований.
Записаться на курс можно на cайте EdMe.pro
Отбор включает несложное тестовое задание, которое под силу выполнить человеку без опыта, и собеседование.
Реклама. ООО "БАКСЭТ", ИНН 4345115602. Erid 2VtzqvcHgVV
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Статический вложенный класс Nested может быть создан без экземпляра внешнего класса Outer. Код Outer.Nested nested = new Outer.Nested(); корректен, и метод display выводит "Nested class".
⚡️ Только что закончили ВУЗ?
Начните карьеру Java-разработчика с прочной базой!
Java — один из ключевых языков программирования, который используют в банковском деле, корпоративных приложениях и IT-гигантах. Курс поможет вам освоить современные инструменты, такие как Spring, Docker, Hibernate и PostgreSQL.
Обучение на примерах реальных задач, опытные наставники и живая практика с кодом. С дипломом от OTUS вы станете заметным кандидатом для работодателей!
💪 Готовы сделать первый шаг в IT?
👉 Присоединяйтесь к курсу «Java-разработчик» и получите скидку на обучение: https://clck.ru/3Eze4TРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❓ Вопрос на собеседовании
Что такое Optional в Java, зачем он нужен и как его правильно использовать для работы с потенциально отсутствующими значениями?
Ответ ⬇️
Optional — это контейнер, введённый в Java 8, который используется для представления значений, которые могут быть null. Это помогает избежать проблем с NullPointerException и делает код более читаемым. Optional предоставляет методы, такие как isPresent(), orElse(), и функциональные подходы вроде map() и ifPresent(), чтобы безопасно обрабатывать значения.
Пример использования ⚙️
import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<String> optionalName = Optional.ofNullable(getName());
// Проверяем, есть ли значение
optionalName.ifPresent(name -> System.out.println("Имя: " + name));
// Задаём значение по умолчанию
String defaultName = optionalName.orElse("Без имени");
System.out.println("Имя по умолчанию: " + defaultName);
// Используем map для преобразования значения
optionalName.map(String::toUpperCase)
.ifPresent(name -> System.out.println("Заглавными: " + name));
}
private static String getName() {
return null; // Или любое строковое значение
}
}
⚙️ StringBuilder.reverse()
В Java метод StringBuilder.reverse() используется для разворота строки. Это удобный способ изменить порядок символов в строке без создания промежуточных объектов.
Java Learning 👩💻
⚙️ PriorityQueue
В Java класс PriorityQueue предоставляет структуру данных с приоритетной очередью, где элементы извлекаются в порядке их приоритета. По умолчанию элементы сортируются по возрастанию, но можно задать собственный компаратор.
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Переменная x объявлена как final, что делает её неизменяемой после инициализации. Она выводит значение 10. Класс FinalExample содержит переменную value, также объявленную как final, и метод show, который возвращает строку с этим значением. Финальный метод можно вызывать, но его нельзя переопределить в подклассах. Код компилируется и работает без ошибок.
⚙️ Optional.flatMap()
В Java метод Optional.flatMap() позволяет преобразовать значение внутри Optional, возвращая другой Optional. Это особенно полезно для работы с вложенными Optional.
Java Learning 👩💻
Онлайн-курс «JAVA-разработчик» от EdMe: 6 месяцев, гарантия работы, оплата после трудоустройства
Образовательный проект EdMe открывает набор на курс по Java-разработке. Программа подойдет как для новичков, начинающих с нуля, так и для тех, кто стремится улучшить свои навыки. Обучение построено на менторстве и направлено на комплексную подготовку к трудоустройству. За 6 месяцев вы сможете достичь уровня middle-разработчика, для этого нужно уделять обучению от 20 часов в неделю.
Вы будете взаимодействовать с опытным разработчиком, который объяснит, что нужно учить и как это делать, а также чего избегать, чтобы быстрее освоить необходимые навыки и получить оффер. Ментор будет направлять вас, советовать, как решать технические вопросы, мотивировать и помогать готовиться к собеседованиям.
Плюсы курса от EdMe:
➕Гарантированное трудоустройство с зарплатой от 140 000 рублей;
➕Оплата курса только после выхода на работу – 20% от зарплаты в течение 18 месяцев;
➕Бесплатная карьерная поддержка после окончания курса;
➕Возможность завершения обучения без оплаты и штрафов, если вы по каким-либо причинам не сможете закончить курс.
Во время обучения вы будете использовать Jira, Confluence, Bitbucket, GitLab – те самые системы, с которыми вы столкнетесь на реальных проектах.
Программа курса:
▪️ Основы Java: Java Core, List, JDBC, Hibernate, Spring (Core, MVC, Security), Spring Boot, Git.
▪️ Проект.
▪️ Подготовка к собеседованиям (составление резюме, прохождение тестовых собеседований).
▪️ Прохождение реальных собеседований.
Записаться на курс можно на cайте EdMe.pro
Отбор включает несложное тестовое задание, которое под силу выполнить человеку без опыта, и собеседование.
Реклама. ООО "БАКСЭТ", ИНН 4345115602. Erid 2VtzqvcHgVV
Jackson-dataformat-csv
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
Java Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Когда класс реализует два интерфейса с одинаковыми методами default, необходимо явно указать, какой метод вызывать. В данном случае A.super.show() вызывает метод show из интерфейса A, а B.super.show() — из интерфейса B. Поэтому оба метода выполняются последовательно, и в выводе будет A's show и B's show.
⚙️ Set.retainAll()
В Java метод Set.retainAll() позволяет оставить только те элементы множества, которые присутствуют в другом множестве. Это удобно для нахождения пересечения множеств.
Java Learning 👩💻
👩💻 Задача по Java: Binary Addition
Реализуйте функцию, которая принимает два числа, складывает их и возвращает результат в двоичном формате. Результат должен быть строкой.
Пример:
1, 1 --> "10" (1 + 1 = 2 in decimal or 10 in binary)
5, 9 --> "1110" (5 + 9 = 14 in decimal or 1110 in binary)
❓ Вопрос на собеседовании
Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?
Ответ ⬇️
ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата.
Пример использования ⚙️
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask<Integer> {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start <= 5) {
int sum = 0;
for (int i = start; i < end; i++) sum += array[i];
return sum;
} else {
int mid = (start + end) / 2;
SumTask left = new SumTask(array, start, mid);
SumTask right = new SumTask(array, mid, end);
left.fork();
return right.compute() + left.join();
}
}
}
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ForkJoinPool pool = new ForkJoinPool();
int result = pool.invoke(new SumTask(array, 0, array.length));
System.out.println("Сумма: " + result); // Сумма: 55
}
}
Fastjson
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Java Learning 👩💻
⚙️ Math.round()
В Java метод Math.round() округляет число до ближайшего целого значения. Это полезно для обработки чисел с плавающей запятой, если требуется округление до ближайшего целого.
Java Learning 👩💻