Служба Безупречных Помощников Деда Мороза расскажет, почему она такая быстрая
🌐 Онлайн-митап
🗓 19 декабря в 17:00 (МСК, GMT+3)
Посмотрим, как устроена Система быстрых платежей и что помогает ей выдержать повышенную нагрузку новогодних хлопот — когда миллионы людей покупают подарки.
Разработчики СБП расскажут, как в СБП обеспечивается скорость, надежность и отказоустойчивость и почему им пришлось ускорять транзакционные отчеты в несколько тысяч раз. А еще, в чем особая магия платежных ссылок — фундамента множества сценариев оплаты.
Авторы лучших вопросов к докладам получат подарки от организаторов — наборы мерча Мир Plat.Form.
Подробности и регистрация по ссылке.
Реклама. АО "НСПК". ИНН 7706812159
Класс Properties
Класс Properties
— это подкласс Hashtable
. Он используется для хранения списков значений, в которых ключ является String
, а значение также является String
.
Класс Properties
используется множеством других классов. Например, это тип объекта, возвращаемый System.getProperties()
, когда тот получает внешние значения.Properties
определяет следующие переменную экземпляра. Эта переменная содержит список свойств по умолчанию, связанный с объектом Properties
.
Следующая программа показывает несколько методов, поддерживаемых этой структурой данных.
Методы и классы, объявленные Properties
, можно посмотреть здесь.
#для_продвинутых
Класс Stack
Класс Stack
является подклассом класса Vector. Стек является линейной структурой данных, где элементы добавляются и удаляются в соответствии с принципом «последним вошел, первым вышел» (LIFO — Last-In, First-Out).
В Java, класс Stack
был часто использован в более ранних версиях для работы со стеками, но в более современных версиях рекомендуется использовать класс Deque (Double-ended queue) из пакета java.util
. Deque предоставляет методы для работы как со стеком, так и с очередью.
#для_продвинутых
Gradle
Это инструмент автоматизации сборки, который в основном используется в Android-разработке. Популярная альтернатива Ant и Maven.
Gradle позволяет определять и управлять зависимостями проекта, запускать модульные тесты и упаковывать приложение для развертывания. Gradle также имеет систему плагинов, которая позволяет добавлять функциональные возможности и настраивать процесс сборки.
#для_начинающих
Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ
Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться.
Смотреть статью
Логирование данных
Уже давно прошло то время, когда для наблюдением за работой программы надо сидеть на стуле и всматриваться в консоль, сейчас эту работу делают логеры.
Суть логеров в записи данных из программы, дополняя её такими данными как время, место, уровень и так далее.
Самым популярным логером на данный момент является Log4J, установить который можно с помощью Maven/Gradle.
#для_продвинутый
Как вырасти от джуна до сеньора?
Расскажут на митапе Газпромбанка для начинающих IT-специалистов.
Что в программе:
🔹 28 спикеров, 19 лекций: backend, frontend, data science, кибербезопасность, прокачка IT-карьеры и многое другое.
🔹 Прожарка резюме.
🔹 Нетворкинг с 1000+ участниками митапа и спикерами.
🔹 After-party.
🎁 Каждому участнику подарят велком пэк с мерчем.
Где и когда?
📍 Москва, ул. Покровка, д. 47 (м. Красные ворота / м. Курская)
📅 16 декабря.
Участие бесплатное, но нужно зарегистрироваться!
👉🏻 Получить бесплатный билет
#для_начинающих
Реклама. БАНК ГПБ (АО). ИНН 7744001497.
Метод flatMap
Метод flatMap
используется в контексте работы с потоками (streams) в пакете java.util.stream
. Он представлен в интерфейсе Stream<T> и предназначен для преобразования элементов потока, когда каждый элемент может быть преобразован в ноль или один элемент другого потока.
Метод flatMap
применяет функцию mapper
к каждому элементу исходного потока и «разворачивает» (сплющивает) поток элементов в один объединенный поток, игнорируя нулевые потоки, которые могут быть результатом преобразования.
#для_продвинутых
Интерфейс Supplier
Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.
Метод Supplier:
T get();Где
T
-- это тип возвращаемого значения.Supplier
может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.В чем отличия между TreeSet и HashSet?
Основное отличие между TreeSet
и HashSet
заключается в том, что TreeSet
хранит элементы в отсортированном порядке, в то время как порядок хранения элементов в HashSet
не определен. TreeSet
также обеспечивает быстрый поиск и извлечение элементов в отсортированном порядке.
#для_начинающих
Класс DataOutputStream и его методы
Поток DataOutputStream
позволяет записывать примитивные данные в исходный код.
Если используйте объект DataOutputStream
, то у Вас есть под рукой вспомогательные методы, которые можно использовать для записи потока или для выполнения других операций над потоком.
Все перечисленные методы можно просмотреть здесь.
#для_продвинутых
«Иннотех» собирает ИТ-команду для самого масштабного fintech проекта. И ты — именно тот, кого мы ищем.
Что будем создавать? Чрезвычайно важный проект — АБС, автоматизированную банковскую систему, для России. Важнейшая история для всей финансовой сферы страны.
Цель — импортозамещение core banking платформы и создание с нуля ключевой ИТ-системы для банковской сферы.
Это будет не просто сложно, а невероятно сложно — таких проектов на рынке просто нет. Обещаем задачи 80 lvl, +100500 к опыту и 🔥🔥🔥-скилы.
Создаём АБС на современном технологическом стеке и микросервисной архитектуре.
В команду нужны:
• Java-разработчики;
• аналитики;
• специалисты DevOps;
• архитекторы систем;
• тестировщики;
• и не только.
Готов войти в финтех-историю? Это идеальный шанс, который нельзя упустить. Переходи по ссылке, жми «Присоединиться к команде» и получи быстрый оффер.
Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496. erid: LjN8KMb7c
java.time.LocalDatejava.time.LocalDate
— это класс из пакета java.time, введенного в Java 8, который предоставляет удобные средства для работы с датами в формате «год-месяц-день». Этот класс представляет собой дату без времени и без учета часовых поясов. Он используется для выполнения операций, связанных только с датами, без учета времени суток.
#для_начинающих
Anonymous Inner Class
Anonymous Inner Class (Анонимный Внутренний Класс) — это специальный тип внутреннего класса, который определяется без имени и создается «на лету» внутри блока кода или выражения. Он является удобным способом создания классов, когда класс нужен только для реализации какого-то интерфейса или абстрактного класса, и нет необходимости создавать отдельный именованный класс.
Анонимные внутренние классы обычно используются для создания объектов, которые реализуют интерфейсы или наследуются от абстрактных классов. Они часто используются в событийном программировании и обработке событий в пользовательском интерфейсе, где нужно определить обратный вызов (callback) или обработчик (handler) на месте.
#для_продвинутых
#вопросы_с_собеседований
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
Как вызвать один конструктор из другого?
В Java, вы можете вызвать один конструктор из другого с использованием ключевого слова this. Это делается с целью избежать дублирования кода в разных конструкторах класса.
В приведенном выше примере конструктор по умолчанию вызывает конструктор с параметром, передавая ему значение 0.
Обратите внимание, что вызов другого конструктора должен быть первым оператором в теле конструктора. Это обязательное правило.
#для_начинающих
ХОЧЕШЬ ПОВЫШЕНИЕ В 2024 ГОДУ? 😎🔥
Тогда самое время разобраться в микросервисной архитектуре и стать более востребованным специалистом.
🚀 Курс ведет действующий архитектор Кирилл Ветчинкин. Он успешно реализовал проекты для Мегафона, Теле2, ВСS Brокer. Постоянный спикер крупных IT-конференций.
Какие скиллы прокачаем:
📌 Декомпозиция систем на микросервисы, отталкиваясь от бизнес-домена.
📌 Встройка микросервисов в оргструктуру компании.
📌Организация перехода от монолитной системы к микросервисной.
Полная программа ТУТ 👉https://microarch.ru/?utm_source=posev&utm_medium=erid%2VtzqwzHJsM&utm_campaign=4
А самое главное — поддержка от спикера, чат с одногруппниками и полезные созвоны с разбором домашки.
📕 Сертификат об участии по итогам прохождения курса.
Узнай больше о курсе 👉 https://microarch.ru/?utm_source=posev&utm_medium=erid%2VtzqwzHJsM&utm_campaign=4
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzqwzHJsM
Почему от кандидатов на Middle и Senior-должности в крупных IT-компаниях требуют знания алгоритмов?
Расскажем на открытом уроке Теория графов.
С Евгением Волосатовым – профессиональным программистом, преподавателем языка Java и автором курсов по C#, Java и PHP подробно разберём теорию графов и ее составляющие, а также сделаем обзор первой половины программы курса «Алгоритмы и структуры данных».
🔥 Вебинар подойдет бэкенд-разработчикам на любых языках программирования начального и среднего уровня и системным программистам. Доступно обучение в рассрочку.
💻 Занятие пройдёт 26 декабря в 20:00 мск.
🌐 Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/nQoW/?erid=LjN8K44Vn
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Когда использовать рефлексии?
Уверен многих кто только начал учить ReflectionAPI удивили возможности этого инструмента. Но работа с ним довольно тяжёлая для системы, поэтому лучше использовать её в крайних случаях.
К примеру — обработка класса с аннотациями (пример выше). Извлекая аннотации из объектов класса, можно обрабатывать её каким угодно образом.
Также рефлексии часто применяют в тестировке, а именно для приватных полей и методов. Достаточно получить метод из класса, задать method.isAccessible(true)
и можно вызывать его как публичный.
#для_начинающих
Скажите что-то на карьерном
Тинькофф в поиске крутых ИТ-спецов. С компании — профессиональный рост, интересные финтех-задачи, решение бытовых забот и работа там, где вы живете. С вас — выбрать вакансию и откликнуться тут
АО «Тинькофф Банк», ИНН 7710140679
Интерфейс SortedMapSortedMap
— это интерфейс в Java, который представляет собой отсортированную коллекцию ключей и связанных с ними значений. Он расширяет интерфейс Map
и предоставляет методы для управления данными в упорядоченном виде.
Важно отметить, что SortedMap
не дублирует элементы и обеспечивает их упорядоченное хранение на основе натурального порядка ключей или с использованием заданного компаратора. Это означает, что элементы в SortedMap
автоматически упорядочиваются по ключам.
Методы, объявленные SortedMap
, можно посмотреть здесь.
#для_продвинутых
Apache Commons CLI
Apache Commons CLI (Commons Command Line Interface) — это библиотека для обработки аргументов командной строки в Java. Она предоставляет удобный способ определения и обработки аргументов командной строки для ваших Java-приложений. Библиотека Apache Commons CLI упрощает работу с аргументами командной строки, включая разбор аргументов, создание справки и обработку различных опций командной строки.
#для_продвинутых
Команда Поиска и рекламных технологий Яндекса приглашает на митап для senior бэкенд-разработчиков в Екатеринбурге.
Поговорим про разработку, поиграем в квиз, понетворкаемся и просто хорошо проведем время.
12 декабря, 18:00.
Регистрируйтесь, количество мест в офлайне ограничено!
Описание вакансии: Java Разработчик (Senior Level)
Компания: TALANTLIVO
Зарплата: от 250 тр
Основные обязанности:
✔️Разработка новых продуктов или поддержка уже текущих;
✔️Взаимодействие с различными командами
✔️Активное участие в жизни Java-сообщества;
Требования к кандидату:
✔️Опыт разработки на Java не менее 5 лет;
✔️Уверенное знание Spring Framework и микросервисной архитектуры;
✔️Понимание основных принципов работы с алгоритмами, структурами данных, объектно-ориентированного программирования (ООП) и принципов SOLID;
✔️Знание английского языка на уровне, достаточном для чтения технической документации;
Будет плюсом:
✔️Уверенное знание гибких методологий разработки;
✔️Лидерские качества и потенциал для роста до позиции лидера команды;
Что мы предлагаем:
✔️Работу в динамичной и инновационной среде;
✔️Широкий спектр интересных проектов;
✔️Возможности для профессионального роста и развития;
✔️Удаленный формат работы из любой точки мира
Контакт для связи @czarina007
Сообщение для амбициозных программистов!
📆 Для тех, кто уже знает как делать бэкенд, но ищет возможностей для развития, школа Smartup запускает курс «Облачные serverless приложения на Java». И первая неделя обучения - бесплатно!
Зачем осваивать облачные serverless приложения?
✅ Ближайшие 5 лет технология будет активно развиваться как на зарубежном, так и на российском рынках.
✅ Работодатели готовы вкладываться в переезд и поддержание облачной инфраструктуры. Эта технология существенно экономит ресурсы компании.
✅ Сейчас специалистов в разы меньше, чем нужно рынку
✅ Ежемесячно в компании требуется от 400 сотрудников облачных приложений
Первый модуль бесплатный — можно оценить курс и достаточность ваших навыков для его прохождения.15 декабря открывается доступ, успейте занять свое место на курсе!
➡️ Регистрирация по ссылке: https://clck.ru/36wi8M! Облака — это тренд, и он надолго.
Реклама. ООО "СМАРТАП ТЕХНОЛОДЖИ". ИНН 5501278983. erid: LjN8K77ot
Закрытие потоков через метод close()
Закрытие потоков через метод close()
обычно используется для освобождения ресурсов, связанных с потоками ввода/вывода (I/O), такими как файловые потоки, сетевые соединения и т. д. Это важно для предотвращения утечки ресурсов и обеспечения правильной работы вашей программы. Важно вызывать close()
после завершения работы с потоками.
#для_продвинутых
Класс Hashtable
Класс Hashtable
представляет собой структуру данных, которая используется для хранения и управления коллекциями пар «ключ-значение». Hashtable
является одной из структур данных, предоставляемых Java Collections Framework, и работает по принципу хеш-таблицы. Он был представлен в ранних версиях Java и является устаревшим начиная с Java 5, так как более современные альтернативы, такие как HashMap
, предпочтительнее.
#для_продвинутых
🎄 Как насчет ежедневных best practices вплоть до Нового Года?
Новый день = новая возможность сделать твой код чуточку лучше!
Присоединяйся и открывай DMDEV ADVENT CALENDAR 🎁
Как сделать объект сериализуемым?
Чтобы сделать объект сериализуемым, вы должны реализовать интерфейс Serializable
. Этот интерфейс не содержит ни одного абстрактного метода и предназначен для маркировки объекта как сериализуемого. Когда объект класса реализует этот интерфейс, вы можете использовать механизм сериализации Java для сохранения и восстановления его состояния.
#для_продвинутых
Метод Math.random()
Используется для генерации случайного числа в диапазоне от 0.0 до 1.0. Различные диапазоны могут быть достигнуты с помощью арифметики.
Выше приведен пример выбора случайного числа в диапазоне от 0 до 10.