ANTLR
ANTLR (ANother Tool for Language Recognition) — это генератор парсеров, который позволяет создавать парсеры для различных языков программирования, включая Java. Он основан на LL(*) грамматиках, которые определяют правила языка.
#для_продвинутых
Geci
Geci — это библиотека для генерации кода Java. Она позволяет выполнять программы генерации кода, используя Java::Geci
, для генерации нового исходного кода или модификации существующих исходных файлов Java.
Geci имеет простой API, который делает генерацию кода Java простой и понятной. Также он может генерировать широкий спектр кода Java, включая классы, методы, интерфейсы и аннотации.
Эту библиотеку можно использовать для генерации кода Java как из исходного кода Java, так и из других источников, таких как XML или JSON. Geci можно расширить с помощью пользовательских генераторов кода.
#для_продвинутых
Clover
Clover — это инструмент покрытия кода для Java и Groovy, который помогает разработчикам измерить насколько тестами покрыт ваш код, определить какие части кода не тестируются, улучшить качество вашего кода за счет написания тестов для непокрытых частей.
Clover работает путем отслеживания выполнения вашего кода и записи информации о том, какие строки кода были выполнены.
Эта информация используется для создания отчетов, которые показывают вам, насколько хорошо ваш код покрыт тестами.
#для_продвинутых
30 мая встречаемся на бесплатном онлайн-митапе от Naumen для java-разработчиков. В программе четыре доклада. Делимся анонсами некоторых из них:
🔸 Обновление Java с 17 на 21: через тернии к звездам — Денис Абрамов из Naumen.
Расскажем о непростом пути миграции систем на Java 21, с какими неожиданными препятствиями можно столкнуться и как их преодолеть. Поделимся, какие результаты мы получили после обновления и почему вообще стоит обновляться.
🔸 Лучше день потерять, потом за 5 минут долететь — Анатолий Саблин из «Сибур».
Представим несколько кейсов из тринадцатилетнего опыта java-разработчика. Расскажем, как лень обработать исключение вылилась в плавающую ошибку в промышленной эксплуатации на несколько месяцев. И как нехватка опыта спрогнозировать возможное поведение системы, а также непонимание работы инфраструктуры и компонентов привели к финансовым убыткам компании. На примере продемонстрируем, почему паттерны проектирования придумали не ради каверзных вопросов на собеседовании.
→ Зарегистрироваться.
Встречаемся онлайн 30 мая в 16:00 мск.
Если вы из Екатеринбурга — ждём на афтепати 🍕
erid: 2VtzqxUnXZV
Реклама, АО «Нау-сервис», ИНН 6671116364,
https://www.naumen.ru/
Cамый простой способ изучить Java — залезть в голову профи
Один из лучших айтишников России учит базе кодинга в Telegram. Даже гуманитарий поймёт, как создавать приложения, сайты, игры и чат-боты.
Достаточно подписаться на «Секреты Java», где каждый день появляются гайды, готовые примеры кода и лучших практик.
И всё это бесплатно — вместо сотен тысяч рублей за курсы. Стартовать в прибыльной профессии с нуля вы сможете гораздо проще!
Теперь обучиться Java может каждый: @java_secrets
🔥 Это база 1700 вопросами с собеседований на Java разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏
Читать полностью…CharBuffer CharBuffer
в Java представляет собой класс, который используется для хранения и манипулирования последовательностями символов. Он является частью пакета java.nio
и реализует интерфейс CharSequence
.
#для_начинающих
AnnotatedElementAnnotatedElement
— это интерфейс в Java, который представляет собой элемент программы, снабженный аннотациями. Он позволяет рефлексивно считывать аннотации.
FXGL
FXGL (FX Game Library) — это библиотека для разработки игр на Java, основанная на JavaFX 8. Она обеспечивает простой и удобный интерфейс для создания 2D-игр, а также включает в себя множество функций, необходимых для создания полноценных игр.
#для_продвинутых
👉 С чего начать изучение Apache Kafka?
Apache Kafka — многогранный и непростой инструмент. Даже если вы уверены, что знаете его, наш курс докажет вам обратное!
💻 Начните работу с Kafka на открытом практическом уроке от OTUS, где вы:
— разберете особенности и устройство Kafka;
— познакомитесь с основными утилитами;
— рассмотрите базовое API для работы с Kafka.
♦️ Спикер — опытный разработчик и преподаватель.
Встречаемся 20 мая в 20:00 мск в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
🔥 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/6hKL/?erid=LjN8KNCS9
Double-brace инициализация
Double-brace инициализация — это нестандартная инициализация объекта, которая использует двойные фигурные скобки для создания и инициализации коллекций, таких как списки (List) или множества (Set) в одной строке. Этот метод инициализации обычно используется для краткости кода, но его использование не является рекомендуемой практикой в реальных проектах из-за своей неочевидности и потенциальных проблем.
Конечно, вместо double-brace инициализации лучше использовать стандартные способы создания и инициализации коллекций в Java, такие как вызов конструктора и методов добавления элементов.
#для_продвинутых
ConcurrentSkipListSetConcurrentSkipListSet
— это реализация интерфейса Set, предназначенная для хранения уникальных элементов в отсортированном порядке. Она основана на структуре данных, называемой Skip List
, и обеспечивает эффективную поддержку многопоточности.
Основные особенности ConcurrentSkipListSet
:
— ConcurrentSkipListSet
не позволяет хранить дублирующиеся элементы. Если вы попытаетесь добавить в него элемент, который уже существует, операция добавления завершится успешно, но элемент не будет дублироваться.
— Элементы в ConcurrentSkipListSet
хранятся в отсортированном порядке по их естественному порядку (если элементы реализуют интерфейс Comparable
) или с использованием заданного компаратора.
— ConcurrentSkipListSet
является потокобезопасной структурой данных. Она обеспечивает безопасное чтение и запись элементов из нескольких потоков без необходимости явной синхронизации.
#для_продвинутых
Подкаст про системное программирование для разработчиков на Java/Kotlin
Использовать компиляторы, операционные системы и отладчики — здорово, еще круче — понимать, как они устроены. О сложных материях системного программирования доступно рассказывают ведущие подкаста «Битовые маски». Вместе с гостями — практикующими инженерами и разработчиками — они обсуждают актуальные задачи в отрасли и случаи из практики.
Для разработчиков на Java/Kotlin есть отдельный плейлист. Вот несколько тем из него:
• Разработка компиляторов / LLVM backend для RISC-V / Ккомпилятор для Kotlin
• Разработка JVM / Компиляторы в виртуальных машинах / Поддержка RISC-V, Apple M1 в JVM
Смотреть подкаст → по ссылке.
Чтобы не пропустить новые выпуски подкаста, подписывайтесь на Telegram-канал «Битовые маски».
TON проводит трехдневные оффлайн-марафоны для разработчиков в 13 городах мира
TON (The Open Network), блокчейн, интегрированный в Telegram, прямо сейчас проводит самый масштабный в своей истории хакатон для разработчиков “The Open League Hackathon” с призовым пулом $2,000,000!
В поддержку хакатона, TON Society организовывают оффлайн мероприятия по всему миру, давая возможность всем желающим Web3-энтузиастам провести три дня в атмосфере разработки и нетворкинга.
📍Марафоны состоятся в Праге, Берлине, Киеве, Варшаве, Тбилиси, Белграде, Сеуле, Тайпее (Тайвань), Гуругаме (Индия), Гонг-Конге, Минске, Москве и Санкт-Петербурге. Первые начнутся уже 24 мая, поэтому поспешите зарегистрироваться!
🔥 Почему стоит принять участие:
— 3 дня знакомств, лекций, конкурсов и работы над собственными проектами с непрерывной поддержкой от представителей TON Foundation и команд из экосистемы TON. Подключиться можно и в онлайн-формате
— Призовые $5.000 для трех лучших проектов на каждом оффлайн ивенте + много мерча и других бонусов
Не упустите возможность предоставить свое мини-приложение 900 миллионам активных пользователей Telegram вместе с TON.
Расписание марафонов по городам и подробности можно посмотреть по ссылке - записывайтесь и не упускайте такую крутую возможность!
Чтобы вашу заявку гарантированно проверили и по другим вопросам, пишите community менеджеру @kate_shuffle
Станьте экспертом в Яндекс Практикуме: создавайте курсы и делитесь знаниями
Мы ищем авторов курса по архитектуре ПО, которые будут писать тексты уроков вместе с командой контента.
Мы ждем, что вы:
• имеете глубокие знания и практический опыт в архитектуре ПО
• работали в крупных проектах и делали редизайн существующих систем
Мы предлагаем:
• удалёнку, частичную занятость от 10 часов в неделю, гибкий график
• ежемесячный дополнительный доход
• прокачку своего личного бренда
• образовательную миссию, возможность делиться знаниями со студентами
📩 Узнать подробности и откликнуться
• Автор контента на курс «Архитектура ПО» -
https://practicum.yandex.ru/job/vacancy-203/
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее Fast Track мероприятие:
• 3–7 июня — для технических менеджеров и Crowd Solutions Architect, офер за 5 дней в команду Crowd.
Зарегистрироваться
JaCoCo
JaCoCo (Java Code Coverage) — это инструмент с открытым исходным кодом, который используется для измерения покрытия кода Java-тестами. Он помогает разработчикам определить, какие части кода были выполнены тестами, а какие нет.
#для_продвинутых
SWT
SWT (Standard Widget Toolkit) — это кроссплатформенный виджетный набор для Java, позволяющий создавать десктопные приложения с нативным интерфейсом. Он является частью проекта Eclipse и пользуется популярностью благодаря своей производительности, простоте использования и богатому набору функций.
#для_продвинутых
LITIENGINE
LITIENGINE — это бесплатный, открытый и простой 2D движок для игр на Java, созданный двумя баварскими братьями. Он состоит из двух компонентов:
— Легковесная Java-библиотека, предоставляющая базовую инфраструктуру игры.
— Специальный инструмент управления проектами и редактор карт utiLITI.
LITIENGINE предназначен для быстрого прототипирования и получения видимых результатов практически мгновенно.
#для_продвинутых
SnapKit
SnapKit — это современная библиотека пользовательского интерфейса Java, которая позволяет создавать богатые клиентские приложения Java, реализующие первоначальное обещание Java, работая безупречно и нативно на рабочем столе и в браузере (WORA).
#для_продвинутых
Москва, приглашаем 25 мая на One Day Offer для Java-разработчиков 😉
Сбер ищет опытных Java-разработчиков для создания нового продукта класса ERP для учёта и планирования хозяйственной деятельности, расчёта заработной платы. Проект полного цикла от подготовки требований до внедрения и сопровождения.
Всего за один день вы сможете пройти все этапы отбора, познакомиться с будущей командой и получить оффер.
В работе мы используем:
✔️ Java 17, Spring Framework
✔️ Микросервисную архитектуру
✔️ Service Mesh, Kafka
✔️ WildFly, PostgreSQL, приложения с открытым исходным кодом
✔️ Сервисы Jenkins, Ansible, Git/BitBucket, Nexus, Jira, Confluence
Что будем делать?
✔️ Участвовать в полном цикле разработки компонентов и сервисов с нуля.
✔️ Проектировать и разрабатывать backend, API.
✔️ Внедрять масштабный продукт класса ERP для учёта и планирования хозяйственной деятельности.
✔️ Разрабатывать коммерческую версию ИТ-продуктов.
✔️ Оптимизировать производительность продуктов и сервисов.
Приглашаем в команду Java-разработчика для создания нового конкурентного продукта на современном технологическом стеке Platform V!
Регистрируйтесь по ссылке 👈
Какой язык добавить в стек опытному разработчику?
Актуальное обучение для самых искушенных программистов, которые устали от рутины и хотят интересных вызовов и крутых проектов.
Изучите Best Practices по одному из любимых языков разработчиков всего за 5 месяцев на онлайн-курсе «Clojure Developer» от OTUS!
Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще крутые проекты для портфолио и карьерный сапорт!
❗Старт уже 27 июня.
Изучите подробности и оставьте заявку, чтобы получить персональную консультацию менеджера и специальную цену на курс: ПОДРОБНЕЕ
Стать бэкендером в Яндексе за выходные
8–9 июня устраиваем Weekend Offer Backend: всего за 2 дня можно пройти технические секции и попасть в Яндекс. Для этого нужно зарегистрироваться и решить несколько задач в Контесте.
Вы сможете выбрать одну из команд: Crowd, Ecom-сценарии, Поиск, Алиса, Автономные автомобили и Большие данные. Можно пообщаться с нанимающими менеджерами и выбрать самый интересный проект. Если всё пройдёт хорошо, сразу же получите офер.
Нанимаем в офисы России и Республики Беларусь.
Узнать подробности и зарегистрироваться можно здесь.
StreamEx
StreamEx — это библиотека для Java 8, которая расширяет возможности стандартного Stream API, добавляя новые операции, коллекторы и источники стримов.
#для_продвинутых
Fastexcel
Fastexcel — это легкая и производительная библиотека Java для работы с файлами Excel. Она позволяет читать, создавать и модифицировать электронные таблицы XLSX, используя простой и понятный API.
#для_начинающих
Хотите узнать о технологиях в Яндексе? Слушайте I like techno 🔥
I like techno — подкаст про технологии от Яндекс Еды, Лавки, Такси, Маркета, Доставки и Техплатформы Екома и Райдтеха. В выпусках эксперты рассказывают, что стоит за простыми приложениями в гаджетах, и говорят о бизнесе, продукте и людях, которые создают технологии.
В первых двух эпизодах обсудили технологии в Яндекс Еде и Лавке и продуктовую разработку в Такси и Самокатах.
Узнайте подробнее на сайте подкаста и переходите слушать на YouTube и Яндекс Музыку! 🎧
ServletConfig
ServletConfig — это интерфейс в Java, который предоставляет информацию о настройках сервлета. Каждый сервлет веб-приложения имеет свой объект ServletConfig, который позволяет сервлету получать доступ к параметрам и настройкам, определенным в файле развёртывания (web.xml) или в других конфигурационных файлах. Это полезно для настройки и переопределения поведения сервлета без изменения его исходного кода.
#для_продвинутых
MenuItem
MenuItem — это интерфейс, который представляет элемент меню в графическом пользовательском интерфейсе (GUI) приложения, таком как оконное приложение, веб-приложение или мобильное приложение. Этот интерфейс используется в различных библиотеках и фреймворках, таких как Java AWT (Abstract Window Toolkit) и JavaFX для создания меню и команд, доступных пользователю.
MenuItem определяет базовые методы и свойства, которые используются для создания и настройки элементов меню.
#для_продвинутых