Тимлид в команду разработки на Java
Гибридный формат в городах РФ, Сербии, Казахстана, Армении, Беларуси.
Инфраструктура Яндекса — это набор сервисных провайдеров, на основе которых строится runtime облака, хранилища, системы офлайн-вычислений и другие продукты компании. Все провайдеры объединены проектной, ресурсной и ролевой моделью — это позволяет быстрее запускать новые продукты и гарантировать стабильность работы уже существующих. Наша команда разрабатывает базовые сервисы, которые реализуют эти модели и связывают всю инфраструктуру воедино, позволяют группировать ресурсы по проектам, предоставлять к ним доступы.
Ищем опытного тимлида в команду разработки на Java, который поможет спроектировать и реализовать новые компоненты системы, будет руководить командой, нанимать новых инженеров и развивать их.
Наш стек: Java 11, Spring Boot, Reactor, HTTP и gRPC API, Kotlin, PostgreSQL.
Мы ждем, что вы:
- разрабатывали на Java больше трех лет;
- пишете эффективный и понятный код;
- управляли командой разработки; нанимали людей и знаете, как правильно развивать разработчиков;
- можете вести за собой младших участников команды, делиться с ними знаниями и опытом;
- знаете, как устроены веб-сервисы;
- работали с реляционными и нереляционными базами данных и понимаете их устройство, *nix-подобными ОС.
- знаете популярные Java-библиотеки и фреймворки (Spring Boot, jUnit, Netty, Reactor);
Условия:
- сильная команда, с которой можно расти;
- зарплата на уровне рынка и выше;
- премии каждые полгода для всех, кто успешно прошёл ревью;
- расширенная программа ДМС: оплата 80% стоимости ДМС для супругов и детей;
- гибкий график работы.
Откликнуться: https://goo.su/5inhyN или в ТГ: @Karm_Anna
Создание аннотации в java [Java Annotations | Reflection api]
Создаем собственные аннотации. Изучаем из чего состоит аннотация, для чего они нужны и как их обрабатывать. Николай Бунис, senior инженер, расскажет вам про основные составляющие аннотации, ее жизненный цикл и область применения. Используя Reflection Api разберемся как создать свою аннотацию и напишем обработчик наших аннотаций.
В качестве примера возьмем всем знакомую ситуацию когда нужно провалидировать поля класса на минимальную и максимальную длину, соответствие email шаблону и тд. Существует 2 основных варианта как это сделать. Первый это писать каждый раз логику валидации для каждого конкретного класса. Ну а второй вариант это сделать обработчик аннотаций и аннотировать поля класса. Таким образом логика будет написана единожды. Именно этот пример мы и будем разбирать в нашем видео.
источник
👉@BookJava
lfa Backend Stories Meetup #2 🔥
26 июля встречаемся на митапе для бэкенд-разработчиков: эксперты из Альфы и Авито обсудят межсерверное взаимодействие и архитектурные паттерны, которые могут упростить жизнь разработчику.
🔺 Александр Карташов, Senior Java Developer, расскажет про технологии межсервисного взаимодействия на примере проектов Альфа-Банка.
🔺 Василий Рыбин, Java Developer, познакомит с архитектурным паттерном API Gateway.
🔺 Павел Агалецкий, Lead Engineer в Авито, рассмотрит механики валидации контрактов внутренних API и протокол межсервисного взаимодействия в Авито.
🔺 Екатерина Попкова, Java/Kotlin Developer, расскажет, что такое Сага и как его можно реализовать на Camunda Platform 8.
✔️ Зарегистрироваться на митап и узнать больше о программе
Принцип инверсии зависимости - SOLID в деталях
Принцип инверсии зависимости гласит: "Код, реализующий высокоуровневую политику, не должен зависеть от кода, реализующего низкоуровневые детали. Напротив, детали должны зависеть от политики". В этом ролике я постарался наглядно продемонстрировать применение этого принципа.
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
источник
👉@BookJava
🥷 Готов выбрать светлую сторону силы, юный джавист?
Эксперты OTUS приготовили для тебя полный сложной практики онлайн-курс «Java Developer. Professional», который расширит твои возможности использования Java.
🟠За 6 месяцев ты прокачаешь алгоритмы и сборщики мусора, байт-код и classloader, паттерны и тестирование, работу с окружением — логирование, jdbc и Hibernate, библиотеки и фреймворки, многопоточность и многое другое.
🦸🏼♂️Компании-партнеры ждут, когда ты овладеешь этим мастерством. Проходи вступительный тест и помни большая сила — большая ответственность.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/VlGLx/Нативная интеграция. Информация о продукте www.otus.ru
Java. Префиксное дерево. Основные операции, сохранение в файл, практическое применение.
В данном видео я рассказываю о префиксных деревьях. Разбираем, что из себя представляет префиксное дерево, для чего оно применяется. Изучаем и реализуем основные операции с префиксным деревом на языке программирования Java. Кроме этого я показываю как сохранить дерево в файл и потом загрузить обратно. С помощью этого проверяю, насколько выгодней может быть хранение строк в префиксном дереве на примере автомобильных номеров.
00:00 - Вступление
00:26 - Применение в приложении
01:58 - Построение дерева и операции с ним
06:33 - Построение префиксного дерева на Java
11:22 - Операции с префиксным деревом на Java
16:31 - Сохранение дерева в файл
20:51 - Загрузка дерева из файла
25:32 - Экономия по сравнению со списком
27:12 - Замечание о Null-безопасности
28:26 - Заключение
источник
👉@BookJava
⁉️Конструкторы и блоки инициализации в Java, что это и как с этим работать?
⚡️Узнаем 24 июля в 20:00 мск на открытом уроке онлайн курса «Углублённое изучение Java» от OTUS.
В рамках вебинара мы:
- Разберём конструктор на запчасти.
- Определим финалистов (финальные переменные).
- Наведём порядок (инициализации).
♨️ Усаживайтесь поудобнее, берите в руки карандаш. Мы будем решать задачи, подобные тем, что встречаются на собеседовании и точно встретятся на экзамене Oracle, и даже сложнее. С конструкторами в Java у вас больше никогда не возникнет сложностей.
🔵Это отличная возможность перенять опыт преподавателя и посмотреть на процесс обучения изнутри.
Оплата курса возможна любым удобным для вас способом.
➡️ Для участия в вебинаре зарегистрируйтесь:https://otus.pw/vq3T/Нативная интеграция. Информация о продукте www.otus.ru
Техническое интервью Java Developer - Сергей Гонтаренко
00:00 Введение
02:38 Почему Сергей выбрал Java?
05:20 Кроссплатформенность Java
06:24 Типы данных
08:00 Wrapper Classes (Классы обертки)
09:45 Ссылочные типы данных
11:40 Инкапсуляция
18:50 Метод vs Конструктор
21:38 Интерфейс vs Абстрактный класс
31:20 Collections. HashSet vs TreeSet
38:46 JDK, JRE, JVM
40:15 Как хранить и обрабатывать пароль работая с Java
44:28 HashMap vs HashTable
45:24 Техническая задача на реализацию Immutable Class
50:15 Enum (перечисления)
52:20 Техническая задача на работу с Enum
01:03:10 Spring. Spring Scope
01:04:55 Техническая задача на знание аннотаций в Spring
01:21:55 Базы данных. Left, Right, Inner Join
01:24:05 Техническая задача на знание баз данных
01:41:28 Заключение
источник
👉@BookJava
Хотите усовершенствовать свои навыки Java с помощью Groovy?
Начните с открытого урока "Введение в функциональное программирование в Groovy" от OTUS. Вебинар пройдёт 24 июля в 20:00 и проведет его преподаватель Андрей Поляков, старший разработчик в Unlimint.
Урок приурочен к старту онлайн-курса "Groovy Developer"
🔥На уроке вы:
- познакомитесь с понятием функциональное программирование;
- узнаете в чем отличие функционального программирования от ООП;
- познакомитесь с Closures, контекстом исполнения, областями видимости;
- познакомитесь с использованием Closures как функций.
Кому будет полезен этот урок?
Разработчикам, QA, DevOps, которые хотят более глубоко понять, как работают инструменты тестирования
и CI/CD jenkins.
После вебинара полный курс можно приобрести в рассрочку.
⚡️Для участия зарегистрируйтесь: https://otus.pw/OYYH/Реклама. Информация о рекламодателе на сайте www.otus.ru.
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👉@BookJava
Миллиарды сообщений в минуту по протоколу TCP/IP
Основные выводы
Согласованность данных имеет решающее значение при обмене данными между программными компонентами на разных машинах, чтобы обеспечить сохранность информации.
Обмен данными с низкой задержкой требует иного подхода, чем обычные форматы.
Библиотека Chronicle Wire с открытым исходным кодом обеспечивает высокоэффективные средства сериализации и десериализации данных для передачи в и из Chronicle Queue.
Недавние дополнения к библиотеке расширяют возможности ее использования с каналами связи TCP/IP, обеспечивая чрезвычайно высокую пропускную способность.
Использование Wire через TCP/IP открывает возможность облачно-ориентированного (cloud native) развертывания приложений на основе Chronicle.
www.infoq.com/article…s-minute
👉@BookJava
Chronicle Wire offers an alternative way of transferring data between systems, delivering more messages, faster, than common JSON/XML approaches. This approach to data serialization improves both latency and throughput.
Еще один путь снизить боль при работе с Java проектами и их документированием
За время карьеры, чаще всего сталкивался с ситуацией — когда получаешь проект в котором непонятно, где «вход», где «выход» и один только вопрос — «куда ткнуть?!». Товарищи, давшие проект, говорят — «это делал Вася, но он уже уволился, а на звонки не отвечает и никто не знает что к чему». Знакомая ситуация? Так же, после перебросок между многочисленными проектами бывало — когда смотришь непонимающе на код, а в коммитах автором видишь своё имя, но уже не помнишь вообще что к чему и как писал. Знакомо? В какой‑то момент меня стала доставать такая ситуация и я сделал себе небольшую автоматизацию, что бы снизить количество проблем и ненужных нагрузок на мозг, это — карта проекта.
https://habr.com/ru/articles/732564/
👉@BookJava
Apache Kafka - это распределённая платформа потоковой передачи данных с открытым исходным кодом.
Её используют LinkedIn, Netflix и тысячи других компаний для создания высокопроизводительных конвейеров данных, потоковой аналитики и критически важных приложений.
— Как эффективно использовать Apache Kafka в своих проектах?
— Как применять best practices от лидеров индустрии?
— Как избежать распространённых ошибок?
Читайте в канале Рецепты Kafka
Как за полчаса написать простую читалку книг FB2 для десктопа на Java
Недавно мне для личных целей потребовалось написать читалку FB2. И сразу я столкнулась с тем, что информации по теме минимум. Палочка-выручалочка под названием ChatGPT выдал что-то невразумительное в ответ на довольно подробный запрос. К тому же, никаких готовых библиотек, чтобы по-быстренькому наваять ридер, я также не смогла обнаружить. Хотя искала долго и упорно, как Чубакка расческу.
https://habr.com/ru/articles/732412/
👉@BookJava
Spring по верхам: Разработка REST-сервиса
00:00 Вступление
02:13 Конфигурация проекта
06:48 Создание аннотированного контроллера и реализация API для получения списка задач
16:08 API для создания задачи, базовая валидация и интернационализация
34:54 API для получения задачи по идентификатору
источник
👉@BookJava