Метод before()
Метод before() используется для сравнения порядка двух объектов типа Date.
Он позволяет проверить, идет ли одна дата перед другой.
Метод before() определен в классе java.util.Date и имеет следующий формат:
boolean before(Date date)
Он сравнивает текущий объект Date с датой, переданной в качестве параметра, и возвращает:
— true, если текущая дата идет раньше переданной даты.
— false, если текущая дата идет позже переданной даты или эти даты равны.
Этот метод часто используется для сравнения и сортировки дат, например:
— Проверить, было ли какое-то событие до определенной даты.
— Отсортировать список дат по возрастанию или убыванию.
— Найти самую раннюю или самую позднюю дату в наборе.
В этом примере создаются две даты, с помощью метода before() мы проверяем, идет ли date1 раньше date2.
Так как date1 содержит более раннюю дату, то метод before() возвращает true.
Метод before() используется для сравнения порядка двух объектов типа Date.
Он позволяет проверить, идет ли одна дата перед другой.
Метод before() определен в классе java.util.Date и имеет следующий формат:
boolean before(Date date)
Он сравнивает текущий объект Date с датой, переданной в качестве параметра, и возвращает:
— true, если текущая дата идет раньше переданной даты.
— false, если текущая дата идет позже переданной даты или эти даты равны.
Этот метод часто используется для сравнения и сортировки дат, например:
— Проверить, было ли какое-то событие до определенной даты.
— Отсортировать список дат по возрастанию или убыванию.
— Найти самую раннюю или самую позднюю дату в наборе.
В этом примере создаются две даты, с помощью метода before() мы проверяем, идет ли date1 раньше date2.
Так как date1 содержит более раннюю дату, то метод before() возвращает true.
👍26🔥4
new vs valueOf
Старайтесь всегда использовать метод
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
Старайтесь всегда использовать метод
valueOf
вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👍49🔥5🎄1
Какой брокер сообщений выбрать для написания асинхронной связи?
🔥 Расскажем на бесплатном открытом уроке «RabbitMQ vs Kafka» от OTUS и Евгения Непомнящего – разработчика в «IT Sense».
На вебинаре:
✅ изучим особенности, плюсы и минусы брокеров;
✅ познакомимся с основными принципами их работы;
✅ посмотрим использование этих брокеров в live demo.
🗓 Занятие пройдёт 27 ноября в 20:00 мск и будет приурочено к старту курса «Microservice Architecture». После урока вы сможете продолжить обучение, в том числе в рассрочку.
🌐 Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/RxU9/
🔥 Расскажем на бесплатном открытом уроке «RabbitMQ vs Kafka» от OTUS и Евгения Непомнящего – разработчика в «IT Sense».
На вебинаре:
✅ изучим особенности, плюсы и минусы брокеров;
✅ познакомимся с основными принципами их работы;
✅ посмотрим использование этих брокеров в live demo.
🗓 Занятие пройдёт 27 ноября в 20:00 мск и будет приурочено к старту курса «Microservice Architecture». После урока вы сможете продолжить обучение, в том числе в рассрочку.
🌐 Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/RxU9/
👍9🔥2
Что такое тернарный оператор выбора?
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
условие ? выражение1 : выражение2Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
👍31🔥5❤3🎄2
Класс StringJoiner
Класс StringJoiner предназначен для построения строки путем соединения элементов из коллекции.
Он позволяет указать разделитель, префикс и суффикс результирующей строки.
StringJoiner часто используется при необходимости преобразовать коллекцию объектов в строку.
В примере StringJoiner используется как раз для объединения имен в строку с разделителем и добавлением префикса/суффикса.
Класс StringJoiner предназначен для построения строки путем соединения элементов из коллекции.
Он позволяет указать разделитель, префикс и суффикс результирующей строки.
StringJoiner часто используется при необходимости преобразовать коллекцию объектов в строку.
В примере StringJoiner используется как раз для объединения имен в строку с разделителем и добавлением префикса/суффикса.
👍32🔥6❤5😍1🎄1
🔧В большинстве случаев Gradle используется в командах для довольно несложных задач и только для Kotlin-проектов, java. Между тем, он является очень мощным инструментом разработки для DevOps.
⚡️30 ноября в 19.00 (мск) приглашаем на открытый урок курса “Kotlin Backend Developer Professional” в OTUS
📌На уроке обсудим:
- как выполнять сборку проектов, содержащих компоненты на C/C++, Rust, Go и др. языках;
- как автоматически генерировать исходники с дальнейшей их компиляцией;
- извлекать файлы из репозиториев для дальнейшей обработки;
- разрабатывать кастомные плагины;
- гибко управлять версиями;
- собирать докер-образы.
👉Регистрация для участия https://otus.pw/CytJ/
После урока вы сможете продолжить обучение, поступив в группу курса по специальной цене. Возможны разные способы и рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⚡️30 ноября в 19.00 (мск) приглашаем на открытый урок курса “Kotlin Backend Developer Professional” в OTUS
📌На уроке обсудим:
- как выполнять сборку проектов, содержащих компоненты на C/C++, Rust, Go и др. языках;
- как автоматически генерировать исходники с дальнейшей их компиляцией;
- извлекать файлы из репозиториев для дальнейшей обработки;
- разрабатывать кастомные плагины;
- гибко управлять версиями;
- собирать докер-образы.
👉Регистрация для участия https://otus.pw/CytJ/
После урока вы сможете продолжить обучение, поступив в группу курса по специальной цене. Возможны разные способы и рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍10❤2🔥2
Где и для чего используется модификатор abstract?
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
👍19🎄5
Как разработчику увеличить доход?
Расширять список своих скиллов! Начать можно с бесплатного открытого урока «Шаблон проектирования ""Цепочка обязанностей""» от OTUS.
На вебинаре:
- рассмотрим превращение элементов поведения в объекты;
- проанализируем его на конкретном примере, формируя диаграмму классов;
- узнаем, как использовать шаблон «Цепочка обязанностей» для решения различных задач;
- покажем, как создать классы обработчиков и связать их в цепочку так, чтобы сообщение было обработано последовательно каждым обработчиком;
- разберем возможности настройки приоритета и условий обработки определенных сообщений.
Занятие пройдёт 5 декабря в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/QNaN/
Расширять список своих скиллов! Начать можно с бесплатного открытого урока «Шаблон проектирования ""Цепочка обязанностей""» от OTUS.
На вебинаре:
- рассмотрим превращение элементов поведения в объекты;
- проанализируем его на конкретном примере, формируя диаграмму классов;
- узнаем, как использовать шаблон «Цепочка обязанностей» для решения различных задач;
- покажем, как создать классы обработчиков и связать их в цепочку так, чтобы сообщение было обработано последовательно каждым обработчиком;
- разберем возможности настройки приоритета и условий обработки определенных сообщений.
Занятие пройдёт 5 декабря в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/QNaN/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍9🔥2
Ещё с самого начала карьеры разработчика программного обеспечения на платформе Java автора волновал вопрос: "А можно ли компилировать Java-код в нативные исполняемые файлы?", и автор был далеко не один такой. И инструменты для компиляции Java-кода в нативные исполняемые файлы и библиотеки существовали, например тот же GNU C compiler for Java (gcj), хоть и с некоторыми нюансами.
Но автора этот вопрос как-то не сильно волновал, так что дальше чтения теории он не ушёл, да и как-то забыл про это.
Однако в 2019 году корпорация Oracle явила общественности новый проект - GraalVM, являющийся по сути JDK с компилятором Graal вместо HotSpot C1/C2 и набором дополнительных инструментов, одним из которых является native-image - инструмент для компиляции нативных исполняемых файлов и библиотек из Java-байткода.
В этом ролике автор рассмотрит три сценария использование native-image для компиляции Java-байткода в исполняемые файлы:
- Компиляция одного класса
- Компиляция простого проекта в Maven и Gradle
- Компиляция проекта на основе Spring Boot в Maven и Gradle
Кроме этого в ролике рассматривается компиляция со статическим связыванием (musl + GCC 10 и zlib 1.3) и запуск приложений в Docker.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java нативно - GraalVM Native Image #java #graal #docker #maven #gradle #springboot
Ещё с самого начала моей карьеры разработчика программного обеспечения на платформе Java меня волновал вопрос: "А можно ли компилировать Java-код в нативные исполняемые файлы?", и я был далеко не один такой. И инструменты для компиляции Java-кода в нативные…
👍15🔥4❤1
Как работать с базами данных еще эффективнее?
Узнайте на бесплатном открытом уроке «Индексы: структуры данных» от OTUS.
На вебинаре:
✅ рассмотрим, какие ситуации требуют использования индексов;
✅ объясним, как они помогают ускорить выполнение запросов и улучшить производительность системы;
✅ разберём структуры данных, на которых основаны индексы, включая бинарные деревья поиска, B-tree, сбалансированные деревья и хеш-таблицы;
✅ научимся использовать команду explain в PostgreSQL для анализа выполнения запросов.
Занятие пройдёт 29 ноября в 20:00 мск в рамках курса «Highload Architect».
Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/iC8p/
Узнайте на бесплатном открытом уроке «Индексы: структуры данных» от OTUS.
На вебинаре:
✅ рассмотрим, какие ситуации требуют использования индексов;
✅ объясним, как они помогают ускорить выполнение запросов и улучшить производительность системы;
✅ разберём структуры данных, на которых основаны индексы, включая бинарные деревья поиска, B-tree, сбалансированные деревья и хеш-таблицы;
✅ научимся использовать команду explain в PostgreSQL для анализа выполнения запросов.
Занятие пройдёт 29 ноября в 20:00 мск в рамках курса «Highload Architect».
Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/iC8p/
👍6🔥2
Интерфейс UnaryOperator
Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.
UnaryOperator часто используется в stream API для применения функций к элементам потока.
В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.
UnaryOperator часто используется в stream API для применения функций к элементам потока.
В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
👍16🔥3❤1
На вебинаре рассмотрим Virtual Threads (JEP444), которые наконец-то стали стабильными.
Узнаем:
- что в итоге получилось;
- как и зачем этим пользоваться.
После урока вы сможете продолжить обучение в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤1
Git. Практическое руководство. Управление и контроль версий в разработке программного обеспечения (2021) PDF
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками
🔥6
Разберитесь в микросервисной архитектуре и повысьте свою востребованность
Всего за 5 месяцев на онлайн-курсе «Microservice Architecture» от OTUS.
После обучения вы сможете:
- на профессиональном уровне планировать архитектуру и создавать масштабируемые, fault-tolerant приложения;
- решать нетривиальные задачи в рамках распределенных и децентрализованных систем;
- использовать в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
Обучение идеально подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps, которые хотят повысить свои доход и востребованность.
Вы можете заранее бесплатно получить полную программу, чтобы убедиться, что она вам подходит. Также курс доступен для приобретения в рассрочку.
Пройдите бесплатное вступительное тестирование прямо сейчас, чтобы занять место в группе по спец.цене: https://otus.pw/sjsq/
Всего за 5 месяцев на онлайн-курсе «Microservice Architecture» от OTUS.
После обучения вы сможете:
- на профессиональном уровне планировать архитектуру и создавать масштабируемые, fault-tolerant приложения;
- решать нетривиальные задачи в рамках распределенных и децентрализованных систем;
- использовать в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).
Обучение идеально подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps, которые хотят повысить свои доход и востребованность.
Вы можете заранее бесплатно получить полную программу, чтобы убедиться, что она вам подходит. Также курс доступен для приобретения в рассрочку.
Пройдите бесплатное вступительное тестирование прямо сейчас, чтобы занять место в группе по спец.цене: https://otus.pw/sjsq/
👍13🔥2
Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов?
Ключевое слово
Начиная с
Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными
Ключевое слово
interface
используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public
.Начиная с
Java 8
в интерфейсах разрешается размещать реализацию методов по умолчанию default
и статических static
методов.Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными
public
, статическими static
и неизменяемыми final
.👍20🔥3❤1
Освоить один из самых популярных фреймворков на онлайн-курсе «Разработчик на Spring Framework» от OTUS.
Что даст вам курс:
✔️ Понимание, как создавать Web-приложения на микросервисной архитектуре и решать высокоуровневые задачи по разработке
✔️ Умение быстро проходить путь от идеи до production-grade
✔️ Владение фреймворками Spring и технологиями вспомогательных проектов (Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5).
Вы можете заранее бесплатно получить полную программу, чтобы убедиться, что она вам подходит.
🎁 Черная пятница в OTUS! Успейте получить скидку 15% на курс!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Метод insert()
Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.
Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.
*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.
Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.
*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
👍24🔥3😁3
💻Углубленный курс: Apache Kafka для разработчиков
Для тех, кто уже работал с Kafka, и хочет выйти на новый уровень владения инструментом
Что будет на курсе:
✔️Практика на Java и Golang;
✔️Работа с платформой Spring+Docker+Postgres;
✔️Кейсы, основанные на личном опыте разработчиков;
✔️Задачи, максимально приближенные к реальным.
Эксперты курса:
🔸Всеволод Севостьянов, Engineering Manager в HelloFresh;
🔸Алексей Бурылов, Site Reliability в Qiwi.
Стартуем уже 22 ноября!
А специально для тех, кто не успевает приступить, запись будет открыта еще целую неделю. Присоединяйтесь!
Изучить программу курса и оставить заявку на обучение
Для тех, кто уже работал с Kafka, и хочет выйти на новый уровень владения инструментом
Что будет на курсе:
✔️Практика на Java и Golang;
✔️Работа с платформой Spring+Docker+Postgres;
✔️Кейсы, основанные на личном опыте разработчиков;
✔️Задачи, максимально приближенные к реальным.
Эксперты курса:
🔸Всеволод Севостьянов, Engineering Manager в HelloFresh;
🔸Алексей Бурылов, Site Reliability в Qiwi.
Стартуем уже 22 ноября!
А специально для тех, кто не успевает приступить, запись будет открыта еще целую неделю. Присоединяйтесь!
Изучить программу курса и оставить заявку на обучение
👍6😁1
Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
👍26🔥7❤4
This media is not supported in your browser
VIEW IN TELEGRAM
О чём расскажут эксперты по разработке и эксплуатации на YaTalks 2023
Делимся некоторыми темами ↓
«Интеграция Delivery Club и Яндекс Еды» — как объединяли приложения и сотрудников разных команд, как укладывались в сроки и какие уроки извлекли из этого опыта.
Никита Илясов, СТО, Яндекс Еда и Маркет Деливери
«Искусство бенчмаркинга и оптимизации распределённых баз данных на примере YDB» — как бенчмарки и оптимизация помогают работать с серверами, на которых лежат петабайты данных.
Евгений Иванов, старший разработчик программного обеспечения, Yandex Infrastructure
«Ускоритель в масштабе планеты: как инженеры управляют временем» — доклад о технологиях, которые увеличили скорость целых городов и стран, и о том, что происходит уже сейчас и ждёт нас в будущем.
Алексей Гусаков, технический директор, Яндекс Поиск
Эти и другие доклады можно послушать 5 декабря. Офлайн — в Москве и Белграде, онлайн — из любой точки мира. Если придёте лично, сможете поучаствовать в нетворкинге, полайвкодить с коллегами и посоветоваться с HR Яндекса, как написать резюме.
Всё бесплатно, регистрируйтесь ↓
Зарегистрироваться
Реклама. ООО "Яндекс". erid:2VtzqxQAFsM
Делимся некоторыми темами ↓
«Интеграция Delivery Club и Яндекс Еды» — как объединяли приложения и сотрудников разных команд, как укладывались в сроки и какие уроки извлекли из этого опыта.
Никита Илясов, СТО, Яндекс Еда и Маркет Деливери
«Искусство бенчмаркинга и оптимизации распределённых баз данных на примере YDB» — как бенчмарки и оптимизация помогают работать с серверами, на которых лежат петабайты данных.
Евгений Иванов, старший разработчик программного обеспечения, Yandex Infrastructure
«Ускоритель в масштабе планеты: как инженеры управляют временем» — доклад о технологиях, которые увеличили скорость целых городов и стран, и о том, что происходит уже сейчас и ждёт нас в будущем.
Алексей Гусаков, технический директор, Яндекс Поиск
Эти и другие доклады можно послушать 5 декабря. Офлайн — в Москве и Белграде, онлайн — из любой точки мира. Если придёте лично, сможете поучаствовать в нетворкинге, полайвкодить с коллегами и посоветоваться с HR Яндекса, как написать резюме.
Всё бесплатно, регистрируйтесь ↓
Зарегистрироваться
Реклама. ООО "Яндекс". erid:2VtzqxQAFsM
👍7🔥2