Библиотека Java разработчика
前往频道在 Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
显示更多📈 Telegram 频道 Библиотека Java разработчика 的分析概览
频道 Библиотека Java разработчика (@bookjava) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 104 名订阅者,在 技术与应用 类别中位列第 11 692,并在 俄罗斯 地区排名第 62 896 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 104 名订阅者。
根据 30 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -83,过去 24 小时变化为 -5,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 7.46%。内容发布后 24 小时内通常能获得 3.77% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 754 次浏览,首日通常累积 381 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 7。
- 主题关注点: 内容集中在 string, интерфейс, строка, boot, api 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.
По всем вопросам @evgenycarter
РКН clck.ru/3KoGeP”
凭借高频更新(最新数据采集于 31 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 104
订阅者
-524 小时
-227 天
-8330 天
帖子存档
⁉️ Как стать востребованным разработчиком на Java в 2024?
Освойте JVM и облачную инфраструктуру на онлайн-курсе «Java Developer. Advanced» от OTUS.
После обучения вы сможете:
- реализовать проект с несколькими сервисами, развёрнутыми в Kubernetes с демонстрацией модели метрик на дашборде Grafana;
- подать нагрузку на приложение, снять дамп памяти и описать его содержимое;
- запустить профилирование приложения под нагрузкой.
Все это позволит вам претендовать на вакантные позиции в крупных российских и международных компаниях.
Стартуем уже 28 марта!
👉 Узнайте подробности и пройдите короткий тест прямо сейчас, это последний шанс попасть в группу: https://vk.cc/cvBhjj
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Хранилище файлов. Java + WebDav
Java + WebDav - загружаем файл на webdav через Rest запрос.
00:00 Приветствие
00:34 Spring Init
00:55 Docker Hub
01:54 docker-compose
04:25 webdav.conf
06:00 application.yaml
06:50 Sardine
07:36 WebDavConfig
09:15 WebConfig
11:40 FileService
14:09 Controller
17:22 Docker Fix
17:47 Postman
18:16 что не так?
20:46 Подписывайтесь
источник
👉@BookJava
Как разработчику перейти на Scala и увеличить доход в 2024?
Всего за 5 месяца освоить подходы функционального программирования и самые мощные библиотеки на онлайн-курсе «Scala-разработчик» от OTUS.
Программа идеально подойдет Java-разработчикам с опытом работы от года и программистам на другом языке с опытом от трёх лет.
На курсе вас ждут:
- живые вебинары с возможностью задать вопросы экспертам;
- много практики и сильные проекты для портфолио;
- поддержка профессионального комьюнити;
- рассрочка на комфортных условиях.
Только до 24 марта вы можете применить 🎁 промокод scala10 и получить скидку на обучение!
Не упускайте свой шанс, изучите подробности и оставьте заявку прямо сейчас: https://vk.cc/cvzgSJ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruМоментальная аналитика с помощью Spring + Redis. Это возможно?
Артем Артемьев
В каждой крупной компании есть аналитические сервисы, и компания спикера — не исключение.
Артем вкратце расскажет об одном из аналитических сервисов своего проекта и о некоторых сложностях, с которыми его команда столкнулась в процессе разработки. Сломает стереотип о том, что Redis — это просто база для кэша. Поговорит о возможностях Redis в качестве БД для аналитики, а также о том, как с ним работать на стеке Java + Spring. Покажет схему работы с двумя БД, примеры кода и демо проекта.
В заключении спикер расскажет о том, что в команде получили на выходе (производительность), и о подводных камнях, с которыми столкнулись.
Презентация к докладу
источник
👉@BookJava
Когда используют Aware интерфейсы в Spring?
В Spring Framework существует большое количество «глобальных» (в рамках какого-либо скоупа) сущностей-синглтонов, которые не являются бинами. Естественно, все сразу они не нужны ни одному бину, обычный механизм внедрения для них не работает. Но тем не менее, должен существовать способ воспользоваться их функциональностью.
Маркерный интерфейс
Aware служит родителем большому количеству интерфейсов с именами *Aware. Каждый из них, при реализации, доставляет бину какую-то специфичную для себя сущность. Так, например, компонент, которому нужно обратиться к контексту приложения, должен реализовывать ApplicationContextAware.
Технически, сами интерфейсы ничего не делают. Интерфейс FooAware обычно объявляет единственный метод void setFoo(Foo value). Через этот метод связанный с интерфейсом BeanPostProcessor передаст в бин нужную сущность.
Если бин реализует ServletContextAware, то в процессе инициализации бина к нему придет ServletContextAwareProcessor, и вызовет setServletContext с контекстом сервлета в качестве параметра.
👉@BookJava♨️ Хочешь выйти на новый профессиональный уровень джавист?
- Осваивай Spring!
Тест на знание языка Java
— Ответь на 21 вопрос и проверь, насколько хорошо nы знаешь язык Java и готовы освоить Spring. Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!
👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework": https://vk.cc/cvxr0M
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruСовет по SpringFramework 💡
В SpringFramework есть класс
DataSize, который может помочь вам с преобразованием между единицами размера от байтов до терабайтов. Сумма должна быть типа long. Дробные числа не поддерживаются.
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/unit/DataSize.html
👉@BookJavaУ Тинькофф открылась стипендиальная программа для студентов на 2024 год!
В отборе могут участвовать студенты бакалавриата, специалитета и магистратуры (кроме выпускного курса) из всех городов и ВУЗов.
Стипендия выдаётся на один учебный год и составляет 25 000 ₽ в месяц.
Кроме этого:
— доступ к лекциям;
— общение с менторами;
— отложенный оффер на стажировку или работу в Тинькофф.
Более подробная информация и форма подачи заявки 👉 по ссылке
Переходите и подавайте заявку на одну из крупнейших в стране частных стипендий для студентов!
erid:2VtzqxRtN4k
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
Какие есть преимущества у массива перед коллекцией?
Для хранения ссылочных типов массив подходит хуже чем
ArrayList. В основе реализации коллекции лежит такой же массив, поэтому эффективность будет той же самой. Однако, вам придется самостоятельно реализовывать логику управления хранилищем: например, увеличение массива при переполнении. А значит, будет больше шансов на ошибку.
Если использовать массивы вместо коллекций для примитивов, можно получить выигрыш по эффективности. Коллекции – generic-типы, из-за этого простые значения хранятся в них в форме ссылочных типов-оберток.
1. Autoboxing выделяет память под новый объект, это дорогая операция;
2. Кроме данных, Object занимает дополнительную память под метаинформацию;
3. Ячейки массива лежат близко в оперативной памяти, это увеличивает шансы попадания в кэш процессора.
С другой стороны, для массива всё так же нужно написать больше кода, он сложнее. Поэтому замена листов на массивы обычно считается излишней микрооптимизацией.
Когда сэкономить всё-таки хочется, стоит выбрать одну из множества готовых библиотек не-generic реализаций коллекций. Списки примитивов можно найти в Eclipse Collections. В Android есть HashMap с целочисленными ключами – SparseArray.
👉@BookJavaРазработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking
В этой публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.
https://habr.com/ru/articles/774322/
👉@BookJava
🔥 Это база с 1700 вопросами с собеседований на Java разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏
Какая разница между @Controller и @RestController?
Controller – это один из стереотипов Spring Framework. Компоненты такого типа обычно занимаются обработкой сетевых запросов. Контроллер состоит из набора методов-обработчиков, помеченных аннотацией
@RequestMapping.
Ответ на запрос можно сформировать разными способами: например просто вернуть из обработчика строку с именем jsp-файла, или же вернуть ResponseBodyEmitter, который будет асинхронно заполняться данными позже. Все возможные варианты перечислены в документации.
Большинство современных API реализуется по архитектуре REST. В ней каждая сущность доступна под собственным URI. В методе-обработчике возвращается экземпляр класса этой сущности, который преобразуется в ответ сервера одним из HttpMessageConverter-ов. Например, в JSON его превратит MappingJackson2HttpMessageConverter. Чтобы использовать этот способ ответа, метод, или весь контроллер, должен иметь аннотацию @ResponseBody.
@RestController – это просто сокращенная запись для @Controller + @ResponseBody.
👉@BookJavaЧто такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов.
Если вы новичок в Java или хотите освежить знания о том, чем отличаются абстрактные классы или интерфейсы, то можете почитать руководство и на эту тему: Difference Between Interface and Abstract class in Java.
Rus https://habr.com/ru/companies/piter/articles/738508/
Eng https://www.appsdeveloperblog.com/17-abstract-classes-and-methods-in-java/
👉@BookJava
🔥 Какие актуальные технологии нужно знать для разработки на Spring?
🎙 Расскажет Александр Оруджев — Senior Software Engineer. Встречаемся на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
- паттерны Controller, Service и Repository;
- какую пользу они могут принести;
- особенности использования данных шаблонов в Spring.
📅 Занятие пройдёт 20 марта в 20:00 мск и будет приурочено к старту курса «Разработчик на Spring Framework». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://vk.cc/cvrYLe
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruВведение в Apache Flink: осваиваем фреймворк на реальных примерах
Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework.
Наша команда использует разные виды тестирования: Unit, интеграционное, E2E, ручное, автоматизационное, нагрузочное. Этой теме будет уделено особое внимание. Я расскажу, какие подходы и паттерны помогут быть уверенными в качестве того, что вы разработали.
Эти знания будут полезны любому Java-разработчику, знакомому со Spring. А начинающие Flink-специалисты найдут здесь примеры стандартных ошибок и пути их решения. Обратите внимание, что эти материалы писались, когда актуальной версией Flink была 1.17. В конце октября вышла версия 1.18, и она может отличаться некоторыми нюансами.
https://habr.com/ru/companies/ru_mts/articles/772898/
👉@BookJava
Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?
Если да, то вам следовало бы обновить свой код, используя приведенные ниже рекомендации.
Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:
POST и PUT-запросы, использующие requestBody для передачи параметров.
GET-запросы, использующие requestParam/PathVariable для передачи параметров.
https://habr.com/ru/companies/otus/articles/799987/
original https://medium.com/javarevisited/still-use-if-else-perform-validation-in-spring-6-0-springboot-3-0-4e5e0936dec4
👉@BookJava
👩💻 Как собрать дамп памяти в Eclipse Memory Analyzer и провести экспресс анализ OutOfMememory — практический урок для разработчиков и тестировщиков на Java
🎙Спикер Александр Царев — Tech Lead в Сбере и кандидат технических наук.
На вебинаре вы:
- узнаете, что такое дамп памяти, как его собрать и какие инструменты существуют для этих целей;
- познакомитесь с инструментом Eclipse Memory Analyzer, с помощью которого можно исследовать дампы памяти;
- получите ответы на все свои вопросы.
📢📢 Занятие пройдёт 19 марта в 20:00 мск и будет приурочено к старту курса «Java Developer. Advanced». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://vk.cc/cvq70h
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Можно ли удалять части API?
Иногда этот вопрос можно встретить в форме задачи. Когда библиотека попадает в пользование широкого круга разработчиков, на её разработку фактически накладывается ограничение обратной совместимости. То есть, если в следующей версии вдруг пропадут используемые классы и их члены, разработчики не захотят обновляться. Тогда развитие библиотеки остановится.
Это масштабная и сложная проблема. В её решении помогает в первую очередь семантическое версионирование и механизм прекращения поддержки (deprecation).
В новой версии библиотеки некоторые компоненты API могут получать аннотацию
@Deprecated. Функционально она не делает в программе ничего, но разработчик получит на этапе компиляции предупреждение: компонент устарел и не должен больше использоваться.
Ранее мы уже писали об особенностях использования @Deprecated. Собираясь удалить компонент API, нужно прежде отметить его @Deprecated(forRemoval=true).
Обычно разработчики библиотеки дают пользователю запас времени на миграцию. Они предоставляют Deprecation policy – документ, в котором дают обещание, сколько времени (или версий) после появления @Deprecated компонент всё еще не будет удален.
Для поиска в коде использования deprecated компонентов комплект JDK содержит утилиту jdeprscan. Утилита javadoc собирает список устаревших компонентов в отдельную страницу deprecated-list.html.
👉@BookJavaRepost from Книги по Java | Books Java 📚
Android Studio 4.2 Development Essentials
Neil Smyth (2021)
Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Layout Editor tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment.
Скачать
👉 @java_360
