Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам

Разработчики S.O.S. рассказывают, как создавать и продвигать инди-игру с нулевым бюджетом и что делать, если не хватает ресурсов продолжать дальше.

👉 Статья
👉 Группа игры ВК
👉 Стим
Fastexcel

Это легкая и производительная библиотека Java для работы с файлами Excel. Она позволяет читать, создавать и модифицировать электронные таблицы XLSX, используя простой и понятный API.
Привет, друзья! 👋

Мы готовим статью о возможном снижении уровня знаний среди IT-специалистов и хотим узнать ваше мнение. Поделитесь своими мыслями, ответив на следующие вопросы:

Как вы оцениваете уровень знаний современных IT-специалистов по сравнению с их предшественниками 10-15 лет назад? 🤔

- Значительно снизился 📉
- Немного снизился 🔻
- Остался на том же уровне ➡️
- Немного повысился 🔼
- Значительно повысился 📈

Какие факторы, по вашему мнению, наиболее сильно влияют на уровень знаний IT-специалистов сегодня? (выберите до 3 вариантов) 🧠

- Качество образования в вузах 🎓
- Доступность онлайн-курсов и самообучения 💻
- Требования рынка труда 💼
- Развитие технологий и инструментов разработки 🛠️
- Влияние социальных сетей и информационного шума 📱
- Отток квалифицированных специалистов ✈️
- Другое (укажите в комментариях) 🗨️

Как вы считаете, что нужно сделать для повышения уровня знаний IT-специалистов? 💡

Поделитесь своими идеями в комментариях! Самые интересные и конструктивные предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙏
🌐 9 основных паттернов для проектирования распределенных систем

В этой статье мы рассмотрим 9 основных паттернов и области их применения, что поможет вам в проектировании высоконагруженных приложений.

Читать статью
1722832257768 (1).gif
4.4 MB
10 важнейших компонентов веб-приложения

1. CI/CD pipelines: Все начинается с непрерывной интеграции и доставки (Jenkins, GitHub).
2. Запросы пользователей: После разрешения DNS запросы поступают на сервера.
3. Балансировщики: Равномерно распределяют запросы между серверами (Nginx, HAProxy).
4. CDN: Запросы могут обслуживаться через сеть доставки контента.
5. API: Веб-приложение взаимодействует с бекендами через API.
6. Базы данных и кэши: Бекенды взаимодействуют с базами данных или кэшами для получения данных.
7. Очереди задач: Большие задачи отправляются на воркеры с помощью очередей.
8. Поисковые службы: Поиск поддерживается службами полнотекстового поиска (Elasticsearch, Apache Solr).
9. Мониторинг и логирование: Хранение логов помогает анализировать данные, чтобы убедиться, что все работает исправно (Sentry, Grafana, Prometheus).
10. Службы оповещения: Уведомляют разработчиков о проблемах для быстрого реагирования.

💬 Какие еще компоненты вы добавили бы в архитектуру производственного веб-приложения?
😨 Страх ошибок: как он мешает вам писать код

Страх совершить ошибку при внесении изменений в код может серьезно ограничивать профессиональный рост программиста. Как преодолеть этот психологический барьер и стать более эффективным разработчиком? Ответы — в нашей статье.
Что будет результатом этого фрагмента кода?
💬Штат сокращается: OpenAI покинули три ключевых фигуры.

1️⃣ Джон Шульман, сооснователь и "отец" ChatGpt, проработавший в компании более 9 лет, переходит в Anthropic.

2️⃣ Грег Брокман, сооснователь, бывший CTO и фактически правая рука Сэма Альтмана решил, что 9 лет без отдыха — это перебор, и уходит в длительный отпуск (на год).

3️⃣ Питер Денг, вице-президент по продуктам для потребителей.

Ещё и Илон Маск подливает масло в огонь возобновил судебный процесс против OpenAi и его сооснователей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Топ книг по Java для опытных разработчиков

🔸
Java для опытных разработчиков

Книга раскрывает внутренние механизмы работы языка. Она предлагает уникальные главы по конкурентному выполнению, сборке и развертыванию современных проектов, а также отдельные разделы, посвященные альтернативным языкам для JVM, таким как Kotlin и Clojure. Эта книга поможет вам не только овладеть передовыми методологиями разработки ПО, но и освоить принципы функционального программирования и оптимизации быстродействия, что делает её незаменимым инструментом для профессионального роста.

🔸Java: устранение проблем

Книга предоставляет практические методы для анализа и улучшения незнакомого кода, помогая разработчикам выявлять скрытые зависимости и устранять критические сбои в Java-приложениях. Идеально подходит для продвинутых разработчиков, желающих глубже понять процессы профилирования и отладки.

🔸 Реактивное программирование с применением RxJava

К
нига подробно и практично раскрывает принципы реактивного программирования на примере RxJava, помогая Java-программистам создавать более надежные, масштабируемые и быстрые программы. Авторы делятся реальными примерами и стратегиями, что делает книгу ценным ресурсом как для новичков, так и для опытных разработчиков, стремящихся освоить эту перспективную парадигму.

🔸 97 вещей, о которых должен знать каждый Java-программист.


Книга объединяет мнения и советы нескольких десятков опытных Java-разработчиков, создавая единое руководство для начинающих программистов. Читатели найдут подробные инструкции по основным темам работы с Java, а также истории профессионального роста от экспертов. Книга служит отличным путеводителем для тех, кто хочет глубже погрузиться в мир Java-программирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Свежий #дайджест по Java

👩‍💻Compose Desktop ShadowJar — статья посвящена созданию автономного JAR-файла для приложений на Compose Desktop с использованием ShadowJar и ProGuard.

👩‍💻Состояние Spring в 2024 году — статья обсуждает последние тенденции в разработке программного обеспечения на платформе Spring, выделяя ключевые изменения и вызовы, с которыми сталкиваются разработчики.

👩‍💻Нахождение сильно преобладающего элемента последовательности >n/2 (алгоритм большинства голосов Бойера-Мура) — статья рассматривает задачу "Majority Element" с LeetCode и сравнивает решение с использованием хэш-таблицы с более эффективным по пространственной сложности алгоритмом Бойера-Мура.

👩‍💻Вышел Hibernate 7.0.0.Beta1 — статья рассказывает о выпуске обновления Hibernate 7.0.0.Beta1, которое включает в себя изменения и улучшения, такие как переход на новую версию технологии, улучшение проверки моделей и более строгие требования.
Please open Telegram to view this post
VIEW IN TELEGRAM
1723006850012 (1).gif
2 MB
🖥 Фреймворки для тестирования Java приложений

Тестирование играет важнейшую роль в обеспечении качества и надежности ваших приложений. Пять популярных фреймворков для тестирования:

1. JUnit:

🔹 Используется для модульного тестирования.
🔹 Простой, удобный в использовании и легко интегрируется с инструментами разработки.
🔹 Идеален для написания и запуска повторяемых тестов, обеспечивая правильное функционирование отдельных частей кода.

2. TestNG:

🔹 Поддерживает различные категории тестирования.
🔹 Гибкий, масштабируемый и подходит как для простых, так и для сложных тестов.
🔹 Предлагает расширенные функции, такие как параллельное тестирование, тестирование на основе данных и подробные отчеты.

3. Mockito:

🔹 Фреймворк для создания мок-объектов в модульных тестах.
🔹 Легкость в использовании, уменьшение шаблонного кода и интеграция с JUnit/TestNG.
🔹 Позволяет разработчикам тестировать части кода изолированно, не полагаясь на внешние зависимости.

4. Selenium:

🔹 Фреймворк для автоматизации веб-браузеров.
🔹 Поддержка кроссплатформенности, интеграция с TestNG/JUnit и активная поддержка сообщества.
🔹 Обеспечивает правильное функционирование веб-интерфейсов на разных браузерах и платформах.

5. Cucumber:

🔹 Инструмент для разработки на основе BDD.
🔹 Улучшает коммуникацию с нетехническими заинтересованными сторонами.
🔹 Использует спецификации на простом языке для написания тестов, что позволяет заказчику лучше понимать тестовые кейсы.

💬Какие фреймворки вы предпочитаете для ваших проектов? Пробовали какие-то другие, которые могли бы порекомендовать?
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 15 продвинутых лайфхаков для работы в терминале Linux

Рассказываем, как использовать малоизвестные, но мощные инструменты терминала: от редактирования длинных команд в текстовом редакторе до автоматизации сложных процессов с помощью tmux.

👉 Ссылка
Для чего нужен Spring Retry?

Spring Retry используется для автоматической повторной попытки выполнения операций при возникновении ошибок. Это особенно полезно при взаимодействии с ненадежными внешними сервисами, такими как REST API или базы данных, где могут возникать временные сбои или сетевые проблемы. Например, если происходит ошибка соединения с REST API, Spring Retry позволяет использовать аннотацию @Retryable на методе, который требует повторной попытки, и @Recover для обработки отказов после исчерпания всех попыток.
Please open Telegram to view this post
VIEW IN TELEGRAM
devtools (1).gif
3.8 MB
🎮 DevTools на каждый день

Тут собраны самые популярные и эффективные инструменты для разных направлений: IDE, ИИ, безопасность и многое другое.

💬 Какие инструменты вы используете в повседневной работе или хотели бы добавить в подборку?
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, друзья! 👋

Мы готовим статью о важных soft skills для сеньоров, тимлидов и других старших IT-специалистов. Нам очень интересно узнать ваше мнение! Поделитесь своими мыслями, ответив на следующие вопросы:

Какой из перечисленных в статье soft skills вы считаете самым важным для успешной работы в IT? 🤔

- Умение говорить «нет» 🚫
- Давать конструктивный фидбэк 💬
- Брать на себя ответственность 💪
- Общаться с токсичными людьми 🧘
- Доводить процессы до завершения
- Организовывать эффективные совещания 📊
- Импровизировать на публике 🎭
- Сохранять спокойствие в сложных ситуациях 😌

Какой дополнительный soft skill вы бы добавили в этот список? 🆕
Как вы развиваете свои soft skills? 📈

Поделитесь своими мыслями и опытом в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙏