Изучаем Java. По вопросам сотрудничества: @seniorvladislav
dOOv
dOOv (Domain Object Oriented Validation) — это фреймворк для Java, который позволяет легко и удобно выполнять валидацию и отображение объектов предметной области. Он использует аннотации, генерацию кода и DSL с безопасной типизацией, что делает процесс валидации и отображения быстрым и простым.
#для_продвинутых
SonarJava
SonarJava — это плагин для статического анализа кода, который используется для проверки качества кода Java. Он может обнаруживать различные проблемы, такие как ошибки кода, дублирование кода, потенциальные уязвимости безопасности и т. д.
#для_продвинутых
Lanterna
Lanterna — это библиотека Java, которая позволяет создавать простые текстовые пользовательские интерфейсы (TUI). Она может быть использована для создания различных приложений,
включая игры, утилиты и даже простые текстовые редакторы.
#для_продвинутых
Bazel
Bazel — это инструмент сборки с открытым исходным кодом, который используется для сборки и тестирования программного обеспечения на разных платформах. Он может использоваться для сборки проектов Java, а также других языков программирования, таких как C++, Python и Go.
#для_продвинутых
HyperMinHash-java
HyperMinHash-java — это библиотека Java, реализующая алгоритм HyperMinHash, который используется для
приблизительного сравнения наборов данных. Библиотека позволяет cоздавать эскизы наборов данных, cравнивать эскизы, oбъединять эскизы,
#для_продвинутых
I like techno — подкаст о технологиях в сервисах Яндекса
Запустили подкаст, где специалисты Яндекса говорят о том, как устроены простые приложения в наших гаджетах.
Первый эпизод посвящен технологиям Фудтеха — узнайте, как алгоритмы Еды и Лавки помогают доставлять продукты пользователям, несмотря на погодные условия и другие неопределенности.
Слушать на Яндекс Музыке
Смотреть на Youtube
Mockito
Mockito — это фреймворк для создания заглушек (mocks) в Java. Заглушки — это имитаторы реальных объектов, которые используются при тестировании кода.
Зачем использовать Mockito?
С помощью Mockito вы можете легко создавать заглушки для сложных объектов, что позволяет вам сосредоточиться на тестировании конкретного фрагмента кода. Также заглушки Mockito позволяют вам имитировать различные сценарии, что помогает вам написать более надежные тесты.
#для_продвинутых
Jackson
Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.
Jackson имеет простой и понятный API, что делает его доступным для начинающих разработчиков. Он работает очень быстро, что делает его идеальным выбором для высокопроизводительных приложений.
Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
#для_продвинутых
Доступ к GigaCode — AI-ассистенту разработчика!
GigaCode – это AI-помощник*, который ускоряет работу с кодом. Он поддерживает 15 языков программирования и может предлагать полные конструкции функций, циклов и других элементов кода.
AI-ассистента можно использовать в любой привычной среде разработки, такой как IDEA, PyCharm, VSCode, Jupyter и других. Он генерирует варианты завершения кода в режиме реального времени, что ускоряет и упрощает процесс работы. По опыту команд в Сбере, GigaCode поможет писать код до 25% быстрее!
GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.
AI-ассистент доступен для раннего использования на площадке GitVerse — платформе для работы с исходным кодом от СберТеха. Здесь можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.
Чтобы получить доступ к GigaCode, зарегистрируйтесь на GitVerse.
*AI, artificial intelligence — искусственный интеллект
Готовы улучшить свое владение Java?
Присоединяйся к нашему каналу - /channel/java_secrets 📲
Свежие советы, лучшие практики, примеры кода и обсуждения, чтобы стать настоящим профессионалом в программировании на Java.
🫡 Повышай свой уровень!
Apache Commons Lang3
Apache Commons Lang3 — это библиотека Java, предоставляющая набор утилит для работы с базовыми классами Java, такими как String, Object, Collection и др.
Она дополняет стандартную библиотеку Java, предоставляя дополнительные методы, которые часто используются в разработке.
#для_продвинутых
Fastjson
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
#для_начинающих
SLF4J
SLF4J (Simple Logging Facade for Java) — это библиотека для логирования, предоставляющая простой и унифицированный интерфейс для работы с различными системами логирования в Java.
Она позволяет разработчикам абстрагироваться от конкретной реализации системы логирования и легко переключаться между ними.
#для_продвинутых
Retrofit
Retrofit — это популярная библиотека Java, которая упрощает взаимодействие с REST API. Она позволяет легко создавать HTTP-запросы, получать и обрабатывать ответы, а также сериализовать и десериализовать данные.
Retrofit генерирует типы Java на основе интерфейсов API, что обеспечивает безопасность типов и упрощает работу с данными. Также имеет простой и понятный API, который позволяет легко начать работу. Его можно легко расширить с помощью конвертеров, интерцепторов и других компонентов.
#для_продвинутых
Алгоритм Бойера-Мура-Хорспула
Данный алгоритм также известен под названием алгоритм Бойера-Мура-Хорспула. Процедура алгоритма очень простая. Сначала строится таблица смещений для каждого символа. Затем исходная строка и шаблон совмещаются по началу, сравнение ведется по последнему символу.
Если последние символы совпадают, то сравнение идет по предпоследнему символу и так далее. Если же символы не совпали, то шаблон смещается вправо, на число позиций взятое из таблицы смещений для символа из исходной строки, и тогда снова сравниваются последние символы исходной строки и шаблона.
И так далее, пока не шаблон полностью не совпадет с подстрокой исходной строки, или не будет достигнут конец строки.
#для_продвинутых
Жадный алгоритм
Жадный алгоритм (greedy algorithm) — это алгоритм, который на каждом шаге делает локально оптимальный выбор, в надежде, что итоговое решение будет оптимальным.
Алгоритм работает следующим образом:
Инициализируем minPrice
максимальным значением. Затем перебираем все цены акций. На каждом шаге обновляем minPrice
, если текущая цена меньше, чем minPrice
, и maxProfit, если разница между текущей ценой и minPrice
больше, чем maxProfit. Возвращаем maxProfit
.
Жадные алгоритмы могут быть очень эффективными для решения некоторых задач. Однако важно помнить, что жадный алгоритм не всегда приводит к оптимальному решению.
#для_продвинутых
RefactorFirst
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
#для_продвинутых
Есть опыт backend-разработки на Java? Приглашаем принять участие в создании революционно новой core banking платформы.
ГК «Иннотех» входит в один из крупнейших* ИТ-Холдингов России. С 2020 мы разрабатываем инновации для цифровизации финансового сектора 📈.
👨🏼💻 Вместе нам предстоит работать над масштабным проектом по импортозамещению: высоконагруженные системы, передовой технологический стек (Spring Boot, Quarkus, Kotlin) и микросервисная архитектура.
Необходимые скилы:
🔹опыт работы с java от 3 лет,
🔹разработка на Java с использованием технологий SpringFramework (Cloud, Boot, AOP), Hibernate,
🔹знание и опыт применения: Stream, Optional, Collections и др., подробнее – на сайте.
Что предлагаем:
🔹интересные задачи на развитие hard-скилов
🔹быстрый оффер и фаст-трек
🔹удалёнка, ДМС и бонусы
🔹развитая культура и профессиональная команда
В нашей команде уже 13 000+ ИТ-профессионалов, и мы продолжаем расти.
📩 Успей подать заявку до 30.04!
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.
Telosys
Telosys — это генератор кода, который позволяет создавать код Java, JavaScript, Python, NodeJS, PHP, C#, JavaEE, Spring, JAX-RS, VueJS, Angular, JPA и других языков программирования. Он работает с двумя типами моделей:
— Модели баз данных: создаются на основе схемы базы данных.
— DSL-модели: проектируются с нуля с использованием текстовых файлов.
Telosys обладает возможностями создания каркасов, что позволяет генерировать CRUD-экраны или REST-бэкэнд в течение нескольких минут.
#для_продвинутых
Юнит-тесты: чек-лист методик проектирования
Смотреть статью
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в throws
всех конструкторов класса.
• Блок инициализации возможно создать и в анонимном классе.
Приглашаем в Гостиную к Алисе!
«Гостиная Алисы. Не один дома» — это митап от команды Яндекса для middle+ бэкендеров: доклады о том, как устроена Алиса, Умные устройства, Беспилотные технологии и нетворкинг в неформальной обстановка
🔸 Павел Капля, руководитель продуктовой разработки Алисы. Расскажет, как запускали Новые возможности — и что пришлось изменить в нашем помощнике, чтобы заставить её думать по новому
🔸 Марат Мавлютов, руководитель службы разработки роботов-доставщиков. Объяснит, как наши роботы-доставщики видят мир вокруг себя, строят маршрут, ориентируются в толпе и проезжают светофоры
18 апреля, 19:00
Москва
Зарегистрироваться можно здесь.
Реклама ООО "Яндекс"
ИНН 7736207543
Apache POI
Apache POI – это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java.
Она позволяет читать, создавать и редактировать файлы Excel, Word, PowerPoint и другие.
#для_начинающих
Библиотека Apache Commons BeanUtils
Apache Commons BeanUtils — это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:
Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.
Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
#для_продвинутых
Worker Thread
Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.
Использование Worker Thread:
— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.
#для_начинающих
Есть ли мемы на Марсе? Как вытянуть репку с помощью кода? Попробуйте разгадать все тайны Гиперкуба на Tinkoff CTF.
20 и 21 апреля пройдет ИТ-соревнование с призами до 420 000 ₽.
Выберите лигу по скиллам и участвуйте даже без опыта в спортивном хакинге. Задания будут интересны сильным разработчикам, QA- и SRE-инженерам, аналитикам и другим ИТ-специалистам.
Играйте как вам удобно: онлайн из дома или офлайн — в одном 16 городов России, Беларуси и Казахстана. В офлайне вас ждет общение с другими игроками, квизы, мерч и другие развлечения.
Узнайте больше о соревновании и зарегистрируйтесь до 19 апреля
erid:2VtzqwwyGS2
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
JPoint 2024 — крупнейшая в России Java-конференция для опытных разработчиков.
В программе доклады про архитектуру, фреймворки, языки, эксплуатацию, VM и Runtime. Лучшие практики Java-разработки, использование Spring Boot, работа JVM «под капотом», программирование на Kotlin и других JVM-языках, backend-архитектура и многое другое. Кроме докладов будут воркшопы, мастер-классы, интервью и круглые столы. В этом году будут выступать спикеры из Сбера, Яндекса, VK, Тинькофф, Huawei, Контур, Syntacore, Мир Plat.Form и OZON.
Билеты можно купить за счет компании. Для тех, кто покупает билеты сам, у нас есть промокод на скидку 10%: SENIORJAVIST
Реклама. ООО "Вайлдкард". ИНН 7801718607
OkHttp
OkHttp — это эффективная библиотека HTTP-клиента с открытым исходным кодом для Java и Kotlin, разработанная Square. Она обеспечивает простой и удобный API для выполнения HTTP-запросов, включая поддержку протоколов HTTP/1.1 и HTTP/2.
#для_продвинутых
Hystrix
Hystrix — это библиотека Java, предназначенная для обеспечения отказоустойчивости и устойчивости к задержкам в распределенных системах.
Она помогает изолировать точки доступа к удаленным системам, службам и сторонним библиотекам, останавливать каскадные отказы и повышать устойчивость в сложных распределенных системах, где сбои неизбежны.
#для_продвинутых
❓Как разработчику повысить свой уровень программирования?
Начните с бесплатного практического урока «Создание словаря, 1-3 способ» от OTUS, где вы вместе с опытным экспертом:
- реализуете популярную структуру данных «ассоциативный массив» для хранения пар (ключ, значение);
- рассмотрите три способа решения этой задачи и сравните их эффективность;
- реализуете способы односвязного списка, динамического массива и отсортированного массива методом вставки.
Занятие пройдёт 1 апреля в 20:00 мск в рамках курса «Алгоритмы и структуры данных». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/nLvp/?erid=LjN8KUvNF
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.