📓 Книги по Java
870 subscribers
340 photos
27 videos
5 files
835 links
📓 Книги по Java

Самый крутой канал c подборкой книг, статей, но и как без рекламы все в одном месте
По ворпосам размещения @qa_autom
Download Telegram
Кодирования не будет через 5 лет. Вот почему

Те, кто не приспособятся, перестанут существовать.

https://javascript.plainenglish.io/coding-wont-exist-in-5-years-this-is-why-6da748ba676c
Привет! На связи Podlodka Crew — организатор IT-конференций, родившихся из известного подкаста!

Что важно уметь для построения микросервисной архитектуры? Профайлить, держать код в порядке, придерживаться принципов DDD и SOLID, создавать грамотный API и не использовать антипаттернов.

Это и многое другое разберём во втором сезоне Podlodka Java Crew, который стартует 20 марта.

Вместе с экспертами из Yandex Cloud, Tinkoff, Точка, Альфа-банк, СберМаркет, Qiwi, Huawei и других компаний:

*️⃣ Узнаем, возможно ли построить чистую архитектуру и добиться порядка в коде, не построив распределённый монолит вместо микросервисной архитектуры;
*️⃣ Поучаствуем в круглом столе по монолитам, микросервисам, гибридной архитектуре;
*️⃣ Научимся проектировать микросервисную архитектуру, разберёмся, что такое eventual consistency и как сделать грамотный API;
*️⃣ Обсудим 10 популярных антипаттернов и узнаем, как их исправить.

Это не все темы: расписание уже на сайте: https://podlodka.io/javacrew! Поспеши забрать свой билет 😉
Media is too big
VIEW IN TELEGRAM
Java. Распараллеливаем вычисления на пуле потоков

Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.

Исходный код

источник

👉@BookJava
Автотестировщик (middle)
#полныйдень
З/П: от 160 000 ₽
Локация: Екатеринбург
Компания: Сбер

Обязанности:
- проводить функциональное тестирование
- писать автотесты
- готовить протоколы ИФТ и ПСИ.

Требования:
- работы в роли автоматизатора тестирования от 2-х лет на проектах разработки/модификации/внедрения систем с использованием Java
- функционального и интеграционного тестирования
- автоматизации (Java) (разработка новых и актуализация существующих автоматизированных тестов, запуск автотестов)
- работы с багтрекенговыми системами и системами управления тестированием (HP ALM, Atlassian Jira).
#вопросы_с_собеседований
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?

Ответ:
Так сделать не получится, т.к. при попытке одновременного вызова getWriter() и getOutputStream() будет выброшено исключение java.lang.IllegalStateException с сообщением, что уже был вызван другой метод.
Коротко и по работному делу!

Море IT вакансий на удалёнку разработчикам и джунам, стажёрам!
Каждый день
Прямые контакты эйчаров


||Погнали|| Подписаться на канал 🤘
Media is too big
VIEW IN TELEGRAM
Телеграм бот-игра на JAVA в 100 строк

Пишем телеграм бота, реализующего простую игру в стиле "камень-ножницы-бумага" на чистой джава + библиотека telegram api. Для пущей сложности я делаю это без БД и при этом пытаюсь выдернуть информацию о том, в каком чате происходит дело (может пригодиться для хранения какой-либо статистики)

Код из видео

Использованная библиотека

источник

👉@BookJava
Weekend Offer для PHP-разработчиков 24-26 марта

Отправляйте заявку до 23 марта и получите шанс всего за одни выходные присоединиться к команде ВКонтакте — крупнейшей социальной сеть в России и странах СНГ, которая объединяет людей, сервисы и компании, создавая простые и удобные инструменты коммуникации.

Разработчики требуются сразу по нескольким направлениям: в команду потребления контента и рекомендаций, в команду контента, в команду поиска, в команду NFT, в команду pазвития суперприложения и в команду UX.

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

Зарегистрироваться
Нашли для вас ребят, с которыми можно начать карьеру разработчика без вложений, а после прохождения курса они гарантировано устроят на работу!🤩

ITM Space - один из немногих проектов в России, где ты можешь научиться Java разработке бесплатно. Оплата обучения происходит только после того, как ты начнешь работать. Первая зарплата - от 150 000 рублей. 💸

1. Ты получаешь гарантию трудоустройства, если не найдешь работу - ничего не должен.
2. Будешь учиться по индивидуальной программе с личным наставником.
3. Изучишь востребованный стек технологий: Java Core, JDBC, HIBERNATE, SPRING(Core, MVC, Security), SPRING BOOT, GIT(GITHUB, GITLAB), MAVEN
4. Сможешь общаться в закрытом сообществе студентов - разработчиков
5. И получишь карьерную поддержку от экспертов бессрочно: мастер-классы, митапы, консультации и тренинги.

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

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

В этой статье рассматриваются ложные и устаревшие представления о Java.

Читать статью
Android Developer (teamlead)
#офис #полныйдень #удаленка
З/П: от 250 000 до 280 000 ₽
Локация: Москва, Санкт-Петербург, Ростов-на-Дону
Компания: Aston

Обязанности:
- разрабатывать приложения на платформе Android;
- оценивать сложность разработки, планировать и работать по спринтам (Agile/Scrum);
- разрабатывать unit-тесты, проводить рефакторинг и code review;
- управлять командой разработки.

Требования:
- опыт разработки под Android от 7-ми лет;
- опыт работы на Java и Kotlin от 5-ти лет;
- опыт управления командой разработки;
- опыт работы с проектом, где DAU от 10 000 человек;
уверенное знание Android SDK, знание разницы между API Levels;
- знание современных архитектурных паттернов в Android-разработке, Clean Architecture;
- понимание принципов проектирования SOLID;
- опыт разработки клиент-серверного приложения (REST, JSON);
- опыт оптимизации сложного UI;
- опыт оптимизации технических метрик приложения.
Для чего используются аннотации?

Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy:

SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:

Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры –
@Immutable и @ThreadSafe из Hibernate.

Вторая категория – инструкции для инструментов разработки. Примеры этой категории,
@SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.

CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.

RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
Что такое busy spin?

busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.
Media is too big
VIEW IN TELEGRAM
Java. Лямбда-выражения

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

источник

👉@BookJava
Java: A Beginner's Guide, Ninth Edition

Автор:
Herbert Schildt
Год издания: 2022

#java #english

Скачать книгу
Метод Math.pow()

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

Выше рассмотрен пример возведение числа в квадрат и куб.

Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Можно ли наследовать аннотацию?

Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.

Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.

Но в отличие от других ссылочных типов, объявление аннотации (
@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Java для сисадминов

Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.

Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.

Читать статью
🚀 Спроектируйте ленту друзей ВКонтакте в прямом эфире!

📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.

🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.

Чему вы научитесь:  
- проводить анализ требований;  
- оценивать нагрузку на систему;  
- проектировать ленту друзей ВКонтакте;  
- проходить собеседования.

➡️ Регистрация на открытый урок ⬅️