Библиотека Java разработчика
Kanalga Telegram’da o‘tish
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Ko'proq ko'rsatish9 993
Obunachilar
Ma'lumot yo'q24 soatlar
-157 kun
-5830 kun
Postlar arxiv
Обучение на тренера по конному спорту. Диплом 2023!
Погрузитесь в профессию тренера по конному спорту всего за 3 месяца и начните применять новые знания сразу после прохождения курса!
Мы предлагаем:
- Квалификация: Тренер по конному спорту. (340 часов)
- Московский диплом о профпереподготовке с гос. лицензией за 3 месяца;
- Дистанционное обучение;
- Удобное мобильное приложение;
- Обучение в любое время, можно совмещать с основной работой;
- Доступ к учебным материалам навсегда.
Сделайте свой первый шаг к успешной карьере в любимом деле уже сегодня!
Ознакомиться с программой и получить бесплатную консультацию по курсу:
Подать заявку
#реклама
niidpo.ru
О рекламодателе
Управление зависимостями в IntelliJ IDEA
В этом руководстве, в продолжение темы просмотра зависимостей, мы рассмотрим управление зависимостями в IntelliJ IDEA.
Мы рассмотрим различные способы добавления зависимостей в ваш проект, а также способы добавления, обновления и удаления зависимостей с помощью Package Search.
https://habr.com/ru/post/710802/
👉@BookJava
Курс «DevOps для эксплуатации и разработки» от Яндекса
За 6 месяцев обучения освоите принципы DevOps и автоматизацию процесса разработки.
Зарегистрироваться
#реклама 16+
practicum.yandex.ru
О рекламодателе
Отличаются ли сокращенные и обычные операторы?
Java предлагает программисту сокращенную запись для применения операции с сохранением ответа в операнд. Это например
+=, &=, и другие. Их правильное название – операторы сложного присваивания (compound assignment). Сокращенные версии есть для всех арифметических и битовых операторов.
У таких сокращений есть одно неочевидное отличие от полных версий. Если прочитать спецификацию, там сказано, что x += y – это на самом деле сокращение от x = (XType)(x + y). То есть, кроме самой операции происходит приведение результата к типу левого операнда.
Незнание этой особенности может привести к ошибочно успешной компиляции, и неожиданным результатам работы кода.
👉@BookJavaОтвет на вопрос и Яндекс Музыка ваша за 1₽ до конца года
Яндекс Музыка для вас и 3-х ваших близких до конца года за 1₽. Попробуйте сейчас!
Попробовать
#реклама 16+
mrqz.me
О рекламодателе
Борьба с временем ответа сервиса
Работаю сейчас в довольно крупной компании на позиции ведущего разработчика с ролью TL. Занимаюсь разработкой сервиса, который в обозримом будущем станет принимать приличную нагрузку. И по договоренностям с клиентами время ответа (HTTP) нашего сервиса должно быть не более 65мс.
Когда я пришел в компанию в июне 2022 года, время ответа уже составляло примерно 50мс при нагрузке в пике около 80 RPS. Стек на тот момент: Java 11 (Spring MVC) + PostgreSQL + Apache Ignite в качестве кэша.
https://habr.com/ru/articles/767042/
👉@BookJava
Советы и рекомендации по работе с Java
https://medium.com/javarevisited/java-tips-tricks-4b188e70e170
👉@BookJava
Курс UX/UI дизайн - Начните бесплатно!
Обучение с нуля в удобном формате.
Подготовка портфолио и помощь в трудоустройстве.
Преподаватели — ведущие дизайнеры из «Яндекса», Авито, «Сбера»
Сделайте карьеру в IT-компаниях и на фрилансе. Работайте в удобном графике из любой точки мира.
Подать заявку
#реклама
bangbangeducation.ru
О рекламодателе
Используем Elasticsearch вместе со Spring Boot
В это статье я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше приложение на Spring Boot. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшего погружения в тему.
В эру огромных объемов данных осуществление эффективного поиска является ключевым фактором для успешного бизнеса. К счастью, разработчикам сегодня доступны инструменты, которые могут справиться с такими задачами, одним из которых является Elasticsearch.
Elasticsearch - это мощный и гибкий open-source инструмент, который позволяет создавать быстрые и масштабируемые системы для поиска и анализа данных. Он представляет собой распределенную поисковую и аналитическую систему, которая может интегрироваться с многими современными технологиями.
В этой статье мы рассмотрим, как интегрировать Elasticsearch в Spring Boot приложение для поиска пассажиров в контексте авиаперевозок. Это полезный пример, который поможет нам детально изучить, как Elasticsearch может быть использован в реальных проектах.
Будем изучать основные концепции Elasticsearch и его преимущества, а также подробно рассмотрим проект, использующий Elasticsearch для выполнения запросов на основе данных о пассажирах. Вы также узнаете, как написать код на Java для реализации функциональности поиска пассажиров с помощью Elasticsearch.
Итак, пристегните ремни, дорогие читатели, мы начинаем наше путешествие в мире Elasticsearch и Spring Boot!
https://habr.com/ru/articles/766674/
👉@BookJava
Обучение для бухгалтера с реальной практикой
Дистанционная программа обучения «1С: Бухгалтерия 8: от начальных настроек до отчетности». Первые 7 дней обучения - бесплатно.
Вы научитесь:
- отражать в учете операции с основными средствами, запасами, капвложениями с учетом требований новых ФСБУ;
- выполнять без ошибок расчет налогов и взносов;
- вести безопасный учет кассы и операций на расчетном счете с учетом последних требований ЦБ;
- настраивать 1С под требования компании;
- предупреждать ошибки в расчетах с контрагентами.
Оставьте заявку сейчас, и мы откроем вам бесплатный доступ на неделю. Вы успеете познакомиться с программой и изучите основные разделы.
Все, кто продолжит обучение и успешно сдаст тесты, получат официальный документ, подтверждающий квалификацию.
18+
Подать заявку
#реклама
about.school.glavbukh.ru
О рекламодателе
Сгенерируйте случайное число в интервале
Когда мы сталкиваемся со случайными числами, то всегда должны помнить о вопросе их распределения. Не будем здесь углубляться в теорию мат. статистики, а рассмотрим только практические следствия.
Самые стандартные классы-генераторы случайных чисел создают равномерно распределенные значения. Любое число возникает с одинаковой вероятностью – это ожидаемое поведение для большинства задач. Например, метод
Random.nextInt(1) будет генерировать примерно одинаковое количество значений 0 и 1.
Однако, программист легко может "испортить" равномерность значений последующими операциями. Возьмем вместо предыдущего примера Random.nextInt(2)%2. Такая конструкция тоже будет возвращать 0 или 1. Однако, третье возможное значение из генератора, 2, будет тоже превращено в 0. Значит, ответ 0 будет возникать в два раза чаще чем 1.
Это та причина, по которой лучше не пользоваться общепринятым «школьным» арифметическим ограничением с помощью оператора %. Вместо этого следует оставить заботу о распределении разработчикам библиотеки, и пользоваться в прикладном коде готовыми методами с границами.
Если задача подразумевает более плотную работу с распределениями, стоит воспользоваться специализированной библиотекой вроде Apache Commons Math.
👉@BookJava⁉️ Как создать TCP/IP-серверное приложение в Java?
Стек протоколов TCP/IP позволяет обеспечивать доставку информации в необходимое место назначения. Умение с ней работать – важный скилл для разработчика.
🦾 Изучите эту технологию на бесплатном открытом уроке «TCP/IP-сервер в Java» от OTUS.
На эфире:
- Посмотрим, какие есть варианты реализации TCP/IP-серверного приложения в Java.
- Изучим пару примеров, их особенности и области применения.
📌 Занятие пройдёт 17 октября в 20:00 мск в рамках курса «Java Developer. Professional». После бесплатного вебинара вы сможете продолжить обучение на курсе в рассрочку.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
👉 Зарегистрируйтесь на событие прямо сейчас, чтобы ничего не пропустить.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruРазбираемся в «базовых» алгоритмах для проекта
Меня зовут Александр Певненко, я Java developer в СберТехе. Вместе с командой развиваю Platform V DataSpace — BaaS-продукт, обеспечивающий базовые сервисы для работы с данными.
В этой статье я собрал примерный список алгоритмов, которые использую в работе с высоконагруженным проектом с большой кодовой базой. Материал будет интересен всем, кто на практике решает задачи оптимизации и вообще задумывается, обязательно ли разработчику глубоко погружаться в математику.
Если скорость и производительность критичны для системы, то оптимизация кода перестает быть пустой тратой времени. А использование сторонних библиотек без понимания их устройства становится риском, так как может обернуться падением производительности.
Поэтому здесь я приведу несколько «базовых» алгоритмов, знание которых помогает мне работать с прицелом на эффективность кода, и дополню примерами на Python и Java.
https://habr.com/ru/companies/sberbank/articles/756894/
👉@BookJava
Курс «Python-разработчик» от Яндекса. Начните с нуля.
Программа 2023 года.
Диплом о переподготовке и помощь с поиском работы.
Рассрочка.
Зарегистрироваться
#реклама 16+
practicum.yandex.ru
О рекламодателе
Следующая локация IT Talk by Sber для Java и QA-специалистов — Омск! 💻
Митап состоится уже 26 октября. На нём топовые спикеры расскажут о том, как реализуются задачи по разработке и тестировании в Сбере:
✔️ Егор Курилов раскроет все секреты нагрузочного тестирования Java-приложений.
✔️ Евгений Ляшенко объяснит, что же такое — релизный поезд веб-приложений.
✔️ А Дмитрий Лысаченко и Максим Нелин подискутируют о развитии больших языковых моделей от GPT до GigaChat.
Помимо интересных докладов, всех участников будет ждать игра «Интуиция», фуршет и очень много классного общения.
Встречаемся 26 октября в ресторации «Рига-Москва» по адресу: ул. Маяковского, 74. Регистрируйтесь по ссылке! 💚
Java и современный процессор, Часть 1: Память и иерархия кэша
Разобравшись в том, как процессоры, память и кэш влияют на выполнение программ, вы сможете лучше понять производительность приложений и оптимизировать свой подход к их написанию.
Давайте представим, что у нас есть массив, содержащий 67 000 целочисленных элементов. Над этим массивом выполняются два цикла, как показано в Листинге 1. Оба эти цикла просто умножают элементы массива на три. Однако если первый цикл изменяет каждый элемент, то второй цикл изменяет только каждый 16-й элемент. Насколько быстрее будет работать второй цикл по сравнению с первым? Попробуйте угадать: в 16 раз быстрее?
Листинг 1. Какой цикл отработает быстрее?
private static final int ARRAY_SIZE = 64 * 1024 * 1024;
public int[] array = new int[ARRAY_SIZE];
for (int i = 0, n = array.length; i < n; i++) {
array[i] *= 3;
}
for (int i = 0, n = array.length; i < n; i+=16) {
array[i] *= 3;
}
Rus https://habr.com/ru/companies/otus/articles/756450/
Eng https://blogs.oracle.com/javamagazine/post/java-and-the-modern-cpu-part-1-memory-and-the-cache-hierarchy
👉@BookJavaСтарт на маркетплейсе: выбираем прибыльный товар
Бесплатный вебинар от Ближе к делу банка ВТБ для начинающих предпринимателей и всех, кто хочет попробовать бизнес на маркетплейсах.
Эксперт расскажет, как правильно анализировать ниши с помощью инструментов маркетплейсов и внешних сервисов аналитики.
Вы сможете выбрать оптимальную площадку для старта, научитесь находить популярные товары, управлять ценами, оценивать конкуренцию в нише и правильно анализировать поставщиков.
19 октября в 14:00
Регистрируйтесь на вебинар — будет полезно всем предпринимателям, независимо от бюджета на запуск.
Зарегистрироваться
#реклама 16+
kdelu.vtb.ru
О рекламодателе
Лишает ли var строгой типизации?
Ключевое слово
var появилось в Java 10. Указание var вместо типа локальной переменной применяет к ней механизм вывода типов (type inference). Тип будет вычислен на этапе компиляции из того, чем переменная инициализируется.
Отсюда несколько выводов. Во-первых, нельзя использовать var в полях класса, параметрах метода, и где-либо еще кроме локальных переменных. Во-вторых, обязана быть инициализация с понятным типом – варианты var x; или var x = null; не скомпилируются.
И главное следствие – к концу компиляции у таких переменных фиксированный и известный тип, который не может быть изменен позднее. А это и есть определение строгой типизации.
Ответ: нет, выводимый тип – строгий. Более того, типизация остается статической.
Главное упущение – в инициализации разрешено использовать diamond operator. В обычных обстоятельствах в нём выведется правильный generic-тип, но в случае var информации недостаточно, и типом-параметром будет Object.
👉@BookJavaМогут ли потоки заменить циклы в Java?
Выход Java 8 стал знаменательным событием в истории Java. Появились потоки и Lambdas, которые сейчас широко используются. Если вы не знаете о потоках или никогда о них не слышали, это совершенно нормально. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не будет проблем без потоков.
Тогда зачем нам нужны потоки? Могут ли они заменить циклы или иметь преимущества перед ними? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов.
https://betterprogramming.pub/can-streams-replace-loops-in-java-f56d4461743a
👉@BookJava
Профессия Разработчик игр на Unreal Engine с 0 до Middle
Вы освоите игровой движок Unreal Engine и язык C++. Соберёте портфолио и сможете применить свои навыки в геймдеве, киноиндустрии, архитектуре, промышленности, медицине и многих других сферах!
Узнать больше
#реклама 16+
skillbox.ru
О рекламодателе
