Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшие мероприятия:
• 14 июня - 5 июля — Fast Track для бэкенд-разработчиков и SRE, офер за 2 дня в команды: Yandex Cloud, Yandex 360, Yandex Infrastructure.
• 15-16 июля — Fast Track для Java-разработчиков, офер за 2 дня в одну из команд Crowd.
Зарегистрироваться
Империя красивых девочек. Как умные спам-боты зарабатывают в Telegram
Наверняка вам уже порядком надоели эти спамерские боты, оставляющие комментарии при помощи нейросетей. В статье автор постарался разобраться, для чего они нужны, как работают и как с ними бороться (спойлер — пока никак).
Читать статью
Предпочитаете улучшать навыки программирования в свободное время, читая статьи и просматривая видео, или обращаетесь к гайдам только по мере необходимости на работе? Расскажите в комментариях ⬇️
#интерактив
Метод Math.pow()
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
#код
Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?Вы когда-нибудь задумывались, какой из фреймворков для многопоточки самый быстрый? Я вроде и знал ответ, но задумывался периодически. В определённый момент сама судьба просто-напросто заставила меня взять и проверить. Так что если вам тоже всегда было это интересно, то я постарался протестировать, сравнить и предоставить результаты для вас.Читать статью
Final класс
Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.
Прекрасным примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда нельзя будет его расширить.
#код
Что означает CAP-теорема?CAP-теорема, также известная как теорема Брюэра, является концептуальной основой для понимания распределенных систем.
Она была предложена в 2000 году Эриком Брюэром и формулирует три фундаментальных свойства, которые невозможно обеспечить одновременно в распределенной системе данных:
— Согласованность (Consistency);
— Доступность (Availability);
— Устойчивость к разделению (Partition tolerance).
Согласно CAP-теореме, в распределенной системе данных можно гарантировать только два из трех свойств:
— Согласованность и доступность (CA);
— Согласованность и устойчивость к разделению (CP);
— Доступность и устойчивость к разделению (AP).
Выбор между этими свойствами зависит от требований и характеристик конкретной системы и ее целей.
#вопросы_с_собеседований
⁉️Как упросить структуру Java-приложения?
♨️Узнаем 21 июня в 20:00 на открытом уроке «Конечные автоматы».
Вебинар приурочен к старту онлайн-курса «Java Developer. Professional» в OTUS.
Занятие проведет Сергей Петрелевич, Java-разработчиком с 20-летним стажем.
📢📢На уроке мы посмотрим, как с помощью конечных автоматов можно существенно упростить структуру приложения и избавиться от кучи if-ов, размазанных тонким слоем по всему приложению.
🔵Не упустите возможность протестировать формат обучения! Больше полезного ждет вас на курсе, который можно оплатить любым удобным способом.
👉 Для участия зарегистрируйтесь и пройдите тест: https://otus.pw/KvS5/
Нативная интеграция. Информация о продукте www.otus.ru
Бинарный поиск в массивах
Допустим, мы хотим вставить новый элемент в отсортированную таблицу. Arrays.binarySearch() возвращает индекс ключа поиска, если он содержится в таблице. В противном случае она возвращает точку вставки, которую мы можем использовать для подсчета индекса для нового ключа: -(insertion point)-1. Более того, метод binarySearch является самым простым и эффективным методом поиска элемента в отсортированном массиве в Java.
Рассмотрим следующий пример. У нас есть таблица ввода с четырьмя элементами, упорядоченными по возрастанию. Мы хотели бы вставить номер 3 в эту таблицу. Вот как мы можем подсчитать индекс точки вставки.
Что такое «поток-демон» (daemon thread)?
Потоками-демонами называются потоки, работающие в фоновом режиме для нашей программы.
В Java процесс завершается тогда, когда завершается последний его поток. Даже если метод main() уже завершился, но еще выполняются порожденные им потоки, система будет ждать их завершения.
Однако это правило не относится к особому виду потоков — демонам. Если завершился последний обычный поток процесса, и остались только потоки-демоны, то они будут принудительно завершены и выполнение процесса закончится. Чаще всего потоки-демоны используются для выполнения фоновых задач, обслуживающих процесс в течение его жизни.
#вопросы_с_собеседований
Извлекаем имя из адреса электронной почты
Метод extractNameFromEmail принимает строку с адресом электронной почты и возвращает подстроку до символа "@" (если символ "@" присутствует в строке) в качестве имени.
#код
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшие мероприятия:
• 24-25 июня — Fast Track для Java разработчиков, офер за 2 дня в команды Яндекс Маркета.
Зарегистрироваться
Метод ensureCapacity
Увеличивает размер внутреннего массива, чтобы в него поместилось количество элементов, переданных в minCapacity. Если массив достаточно вместителен, никакие преобразования не производятся.
Этот метод полезен, когда возникает потребность вместить большое количество элементов в несколько итераций. Например, при создании списка емкость его внутреннего массива — 10. При загрузке данных по сети они обрабатываются асинхронно порциями и результаты помещаются в массив. Если ожидается доставка 10 000 элементов, может быть неэффективно просто добавлять эти данные каждый раз: достаточно будет в начале обработки вызвать метод ensureCapacity(10000) и записывать туда данные по мере необходимости.
#код
🤖🎮 GPT-4 играет в Minecraft и самообучается: сингулярность, в результате которой ИИ сам сделает себя умнее людей
В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.
🔗 Основной сайт
🔗 Зеркало