Пройди тест по Java и проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Как создать потокобезопасный счетчик в Java
Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.
Читать статью
Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.
Читать статью
👍4🔥1
Ждём вас на открытом практическом уроке «Сборка приложения на Java» от OTUS, где мы:
- рассмотрим, как запустить и собрать исполняемый jar-файл;
- добавим в него ресурсы;
- запустим Java-приложение;
- научимся использовать утилиты javac и java, jvm, jre, jdk и classpath.
Спикер Андрей Поляков — старший разработчик в международной финтех-компании.
Встречаемся 18 июня в 20:00 мск в рамках курса «Специализация Java-разработчик».
Все участники вебинара получат специальную цену на обучение!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
Teletype
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
👍5
🚀Онлайн-Хакатон Practice & Scale AI
Тебя ждут увлекательные мастер-классы, командная работа над актуальными кейсами, возможность представить свои результаты на захватывающей питч-сессии и доказать, что ты лучший из лучших! 🔝
🧑💻Уникальные кейсы:
- Рерайтинг текста с помощью ИИ для прохождения фильтрации распознающих систем;
- Анализ звонка на соответствие скрипту для выявления отклонений;
- Создание видео на основе фото и текстового сценария.
🏆Призовой фонд 500 000 рублей!
Приступай к разработке решения уже сейчас, чтобы 23 июня представить лучший продукт - мы ждем: крутые решения в программном коде проекта, потенциал для рыночной масштабируемости и внедрения в бизнес.
📅Когда: 21 - 23 июня 2024 года
🌐Формат: Онлайн
🔥Дедлайн регистрации: 19 июня 2024 года, 23:59 (мск)
Подробности и регистрация: https://tglink.io/6952d0e6d50f
Тебя ждут увлекательные мастер-классы, командная работа над актуальными кейсами, возможность представить свои результаты на захватывающей питч-сессии и доказать, что ты лучший из лучших! 🔝
🧑💻Уникальные кейсы:
- Рерайтинг текста с помощью ИИ для прохождения фильтрации распознающих систем;
- Анализ звонка на соответствие скрипту для выявления отклонений;
- Создание видео на основе фото и текстового сценария.
🏆Призовой фонд 500 000 рублей!
Приступай к разработке решения уже сейчас, чтобы 23 июня представить лучший продукт - мы ждем: крутые решения в программном коде проекта, потенциал для рыночной масштабируемости и внедрения в бизнес.
📅Когда: 21 - 23 июня 2024 года
🌐Формат: Онлайн
🔥Дедлайн регистрации: 19 июня 2024 года, 23:59 (мск)
Подробности и регистрация: https://tglink.io/6952d0e6d50f
👍4🔥2
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Teletype
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них...
👍4🔥1
❓Думаете, вы знаете все про ООП?
⚡️Ждем вас на практическом открытом уроке «Еще одно объяснение про ООП» от OTUS, после которого ваше представление об объектах сильно поменяется.
Занятие будет полезно разработчикам на любом языке.
😎Спикер Евгений Тюменцев — директор компании по разработке программного обеспечения и преподаватель с огромным практическим опытом.
🖥Встречаемся 19 июня в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Все участники вебинара получат специальную цену на обучение!
🔗Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cxG23m
⚡️Ждем вас на практическом открытом уроке «Еще одно объяснение про ООП» от OTUS, после которого ваше представление об объектах сильно поменяется.
Занятие будет полезно разработчикам на любом языке.
😎Спикер Евгений Тюменцев — директор компании по разработке программного обеспечения и преподаватель с огромным практическим опытом.
🖥Встречаемся 19 июня в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». Все участники вебинара получат специальную цену на обучение!
🔗Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cxG23m
👍2🔥1
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Telegraph
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Всем привет! В команде Мир Plat.Form я занимаюсь системами сертификации эмиссии – наш отдел разрабатывает программные продукты для внутренних и внешних пользователей, автоматизирующие сертификацию всего, что в конечном итоге превращается в «кредитку» в вашем…
👍3🔥2
Узнайте на открытом практическом уроке от OTUS, где мы:
- посмотрим, как в Java-приложениях можно использовать Redis в качестве in-memory кеша;
- увидим, для чего это может быть полезно и какие задачи можно решить;
- ответим на все возникающие вопросы.
Спикер Сергей Петрелевич — опытный Java/Kotlin-разработчик, Oracle Certified Professional, Java SE 8 Programmer.
Встречаемся 25 июня в 20:00 мск в рамках курса «Java Developer. Professional».
Все участники вебинара получат специальную цену на обучение!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Конфигурирование пула соедининений JDBC в Hibernate
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
Mastertheboss
Configure Hibernate Connection Pool - Mastertheboss
This article discusses how to configure a JDBC Connection Pool in Hibernate applications covering both Hibernate managed applications and Hibernate Native
👍2
Актуальное обучение для всех, кто хочет стать Java-разработчиком с нуля и для тех, кто еще не определился с языком программирования.
- создавать современные приложения на Java;
- работать с реляционными базами данных;
- разрабатывать серверные веб-приложения;
- претендовать на позиции Middle Java Developer.
Вы освоите самые востребованные инструменты и лучшие практики.
Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще сильные проекты для портфолио и карьерный сапорт!
🎁 Успей на курс! Только до 23 июня скидка 10%, подробности у наших менеджеров - просто оставь заявку.
Старт уже 28 июня.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Teletype
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно...
👍4🔥2
Ждём вас на первом занятии серии открытых практических уроков по тестированию Spring-приложений от OTUS, где мы:
- сделаем фокус на теории и основных инструментах тестирования Java-приложений;
- обсудим, как сделать наше приложение тестируемым, какие тесты бывают и как для их написания использовать такие фреймворки и библиотеки как JUnit5, Mockito, AssertJ с учетом некоторых их особенностей и возможностей;
- ответим на все возникающие вопросы.
Спикер — Senior Software Engineer и опытный преподаватель.
Встречаемся 24 июня в 20:00 мск в преддверии старта курса «Разработчик на Spring Framework».
Все участники вебинара получат специальную цену на обучение!
🎁 Только до 23 июня скидка на курс 10%, подробности у наших менеджеров - просто оставь заявку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Как узнать, допускает ли изменения коллекция в Java?
Пишу эту статью, чтобы помочь Java-разработчикам понять, почему необходимо различать интерфейсы изменяемых (mutable) и неизменяемых (immutable) коллекций. Java — на редкость эффективный язык программирования с почти 30-летней историей. Java Collections Framework (JCF) — одна из наиболее активно используемых частей стандартной библиотеки Java — сыграл важную роль в успешном развитии языка. Сегодня Java продолжает совершенствоваться в соответствии с новыми требованиями, оставаясь в ряду лучших языков программирования. Однако, как и во многих других начинаниях, прошлые успехи не являются гарантией будущих достижений.
Читать статью
Пишу эту статью, чтобы помочь Java-разработчикам понять, почему необходимо различать интерфейсы изменяемых (mutable) и неизменяемых (immutable) коллекций. Java — на редкость эффективный язык программирования с почти 30-летней историей. Java Collections Framework (JCF) — одна из наиболее активно используемых частей стандартной библиотеки Java — сыграл важную роль в успешном развитии языка. Сегодня Java продолжает совершенствоваться в соответствии с новыми требованиями, оставаясь в ряду лучших языков программирования. Однако, как и во многих других начинаниях, прошлые успехи не являются гарантией будущих достижений.
Читать статью
Teletype
Как узнать, допускает ли изменения коллекция в Java?
Пишу эту статью, чтобы помочь Java-разработчикам понять, почему необходимо различать интерфейсы изменяемых (mutable) и неизменяемых...
👍4
🚀 Впереди новая эра программирования! Погрузитесь в мир Clojure — революционного языка, который даст вам неограниченные возможности.
Наш открытый вебинар проведет вас от введения до глубокого понимания идеологии и синтаксиса Clojure. Это не похоже на то, что вы видели раньше!
Вы поймете, зачем появился Clojure и как использовать его на практике. Мы покажем выполнение кода в REPL и взаимодействие с ним из IDE. Это не просто теория, а знания, которые вы сможете применять сразу!
Владение Clojure позволит вам сделать свою работу еще интереснее и эффективнее и попасть в крутое комьюнити.
Не пропустите! Вебинар состоится 25 июня в 19:00 мск.
➡️ Зарегистрируйтесь сейчас и станьте частью будущего в IT: РЕГИСТРАЦИЯ
Наш открытый вебинар проведет вас от введения до глубокого понимания идеологии и синтаксиса Clojure. Это не похоже на то, что вы видели раньше!
Вы поймете, зачем появился Clojure и как использовать его на практике. Мы покажем выполнение кода в REPL и взаимодействие с ним из IDE. Это не просто теория, а знания, которые вы сможете применять сразу!
Владение Clojure позволит вам сделать свою работу еще интереснее и эффективнее и попасть в крутое комьюнити.
Не пропустите! Вебинар состоится 25 июня в 19:00 мск.
➡️ Зарегистрируйтесь сейчас и станьте частью будущего в IT: РЕГИСТРАЦИЯ
👍2🔥2
Не используйте в своем коде паттерн Singleton
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
👍3
Media is too big
VIEW IN TELEGRAM
Сегодня один из выпускников курса Java Developer Professional от Отус, Алексей Андреев, расскажет о своем опыте.
Студенты Java Developer Professional выделяют следующие преимущества курса:
✔️ Обилие практических заданий.
✔️ Высокая экспертиза преподавателей.
✔️ Интересный контент, особенно для тех, кто уже знаком с языком Java.
После прохождения курса студенты чувствуют себя увереннее в профессиональной сфере и отмечают, что им легче развиваться в профессии.
Группа стартует уже 27 июня! Успейте присоединится.
Чтобы оценить свой уровень знаний для обучения на курсе, пройдите вступительный тест.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Teletype
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких...
👍4🔥2
Пишем минимальный ActivityPub-сервер с нуля
В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon.
Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.
В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.
Читать статью
В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу в Mastodon.
Mastodon — это децентрализованная социальная сеть, работающая по модели федерации, как email. Протокол федерации называется ActivityPub и является стандартом W3C, а Mastodon — далеко не единственная его реализация, но самая популярная. Различные реализации протокола, как правило, совместимы друг с другом, настолько, насколько им позволяют их совпадения в функциональности. У меня есть и мой собственный проект ActivityPub-сервера — Smithereen, такой зелёный децентрализованный ВК, где я когда-нибудь таки верну стену.
В этой статье мы рассмотрим основы протокола ActivityPub и напишем минимально возможную реализацию сервера, позволяющую отправлять посты в сеть («fediverse»), подписываться на других пользователей и получать от них обновления.
Читать статью
Teletype
Пишем минимальный ActivityPub-сервер с нуля
В последнее время, на фоне покупки Twitter Илоном Маском, люди начали искать ему альтернативы — и многие нашли такую альтернативу...
👍6🔥1😁1
Получить все необходимые навыки до уровня Middle на комплексном онлайн-курсе «Специализация Java-разработчик» от OTUS.
После обучения вы сможете:
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍3
Введение в Apache Flink: осваиваем фреймворк на реальных примерах
Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework.
Наша команда использует разные виды тестирования: Unit, интеграционное, E2E, ручное, автоматизационное, нагрузочное. Этой теме будет уделено особое внимание. Я расскажу, какие подходы и паттерны помогут быть уверенными в качестве того, что вы разработали.
Эти знания будут полезны любому Java-разработчику, знакомому со Spring. А начинающие Flink-специалисты найдут здесь примеры стандартных ошибок и пути их решения. Обратите внимание, что эти материалы писались, когда актуальной версией Flink была 1.17. В конце октября вышла версия 1.18, и она может отличаться некоторыми нюансами.
Читать статью
Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework.
Наша команда использует разные виды тестирования: Unit, интеграционное, E2E, ручное, автоматизационное, нагрузочное. Этой теме будет уделено особое внимание. Я расскажу, какие подходы и паттерны помогут быть уверенными в качестве того, что вы разработали.
Эти знания будут полезны любому Java-разработчику, знакомому со Spring. А начинающие Flink-специалисты найдут здесь примеры стандартных ошибок и пути их решения. Обратите внимание, что эти материалы писались, когда актуальной версией Flink была 1.17. В конце октября вышла версия 1.18, и она может отличаться некоторыми нюансами.
Читать статью
Teletype
Введение в Apache Flink: осваиваем фреймворк на реальных примерах
Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали...
👍4🔥1