Чашечка Java
Ir al canal en Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Mostrar más8 281
Suscriptores
-124 horas
-37 días
-7130 días
Archivo de publicaciones
8 281
Форматирование милли/микро/нано секунд в java.sql.Timestamp
В JVM 1.8 отсутствует удобный и простой в использовании класс форматирования класса java.sql.Timestamp с микро и нано секундами. Есть специализированный пакет java.time с достаточно разнообразной функциональностью. Но его использование для преобразования типа java.sql.Timestamp в строку и из строки в тип выглядит как то сложновато. Хотелось иметь простой способ преобразования с функциональностью класса java.text.SimpleDateFormat.
Конечно есть множество советов и вариантов решения этих преобразований в интернет, но все они меня как то не устроили по разным причинам. Повозившись и помучавшись с поиском решения решил написать свой класс, при этом реализовывать весь разбор строки и форматирование в строку совсем не хотелось. Решил наследовать свой класс от одного из существующих классов, переопределив поведение только интересуемой меня функциональности. Но и здесь меня ждало большое разочарование из ограничения зон видимости полей, методов и используемых классов в классах, от которых я пробовал наследоваться. .
Хочешь, не хочешь, но надо все же писать полностью свой класс, но писать то все с нуля не хочется. И тут мне в голову пришла идея, раз нельзя наследоваться от класса java.text.SimpleDateFormat, но использовать то его можно же. Идея реализации простая, форматировать и разбирать милли/микро/нано секунды отдельно. Сказано, сделано.
Читать: https://habr.com/ru/post/700148/?utm_campaign=700148
8 281
Datafaker: альтернатива использованию производственных данных
Как разработчики или тестировщики, мы часто сталкиваемся с необходимостью тестирования наших систем. В этом процессе, будь то модульное тестирование, интеграционное тестирование или любая другая форма тестирования, данные часто являются ведущим и решающим фактором.
Но получить доступ к хорошим тестовым данным не всегда просто. Иногда данные являются весьма конфиденциальными, например, медицинские или финансовые данные. В других случаях данных недостаточно (например, при попытке нагрузочного тестирования), а иногда искомые данные трудно найти. Для случаев, подобных описанному выше, есть решение называемое Datafaker.
Datafaker — это библиотека для JVM, предназначенная для генерации фиктивных данных, похожих на производственные данные.
Эти данные могут быть сгенерированы как часть ваших модульных тестов или могут быть сгенерированы в виде внешних файлов, таких как файлы CSV или JSON, чтобы они могли служить в качестве входных данных для других систем.
В этой статье вы узнаете, что такое Datafaker, что он может делать и как его можно эффективно использовать для улучшения стратегии тестирования.
Читать: https://habr.com/ru/post/667610/?utm_campaign=667610
8 281
Подборка актуальных вакансий
— Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Java-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— Ведущий Java-разработчик
Где: удалённо
Опыт: от 3 лет
— Android-разработчик
Где: удалённо
Опыт: от 3 лет
— Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет
— QA Automation Engineer
Где: Москва, можно удалённо
Опыт: до 3 лет
#вакансии #работа
8 281
Мясная аналитика на СlickHouse
У нас в hh.ru есть три кластера PostgreSQL, два кластера Cassandra, кластер Hadoop и пять кластеров ClickHouse. Не то чтобы всё это было жизненно необходимо в разработке, но если уж начал собирать серьезную коллекцию, к делу надо подходить серьезно.
В этой статье расскажу, как нам удалось запилить конкретную бизнес-фичу с применением ClickHouse и на какие подводные камни при этом наткнулись. Щас будет мясо!
Читать: https://habr.com/ru/post/699778/?utm_campaign=699778
8 281
Попробуй пройди за 4 часа тестовое задание в канадскую компанию
Поделюсь своим свежим опытом непрохождения интервью в канадскую компанию, может кому поможет пройти отбор и получить работу. Либо же узнать что творится с рынком труда с точки зрения разработчика в реальном мире.
Читать: https://habr.com/ru/post/699668/?utm_campaign=699668
8 281
[recovery mode] Храним процедуры, функции и триггеры на Java
Всем привет! Сегодня мы расскажем о полезной возможности СУБД Ред База Данных - создании внешних подпрограмм, то есть процедур, функций и триггеров на языке Java. Например, язык PSQL не позволяет работать с объектами файловой системы или сети, а Java запросто решает такие задачи и существенно расширяет возможности встроенного языка.
Читать: https://habr.com/ru/post/699732/?utm_campaign=699732
8 281
Хотите развиваться в Java-разработке?
Начните с открытого урока "Enum в Java" 24 ноября в 20:00 от OTUS.
Данное занятие будет полезно начинающим разработчикам, которые хотят программировать на Java.
На занятии Андрей Поляков, Senior Java Developer в компании Unlimint расскажет что такое перечисления и для чего они применяются. Также он разберёт конструкторы, поля, методы и синглетон.
В результате занятия вы изучите неочевидные особенности Enum, про которые многие даже не подозревают.
Вебинар входит в программу онлайн-курса "Специализация Java-Разработчик" от OTUS.
Регистрируйтесь по ссылке: https://otus.pw/U4bZ
Реклама ООО «Отус онлайн-образование» LjN8Jwv2v
8 281
Методы equals() и hashcode() в языке Java
Разберём equals и hashCode в Java: поговорим о различии методов, контрактов, а также посмотрим на реальные примеры использования.
Читать: «Методы equals() и hashcode() в языке Java»
8 281
Spring Modulith Structures Spring Boot 3 Applications with Modules and Events
VMware shipped the experimental Spring Modulith project to better structure Spring Boot 3 applications with modules and events. The project introduces new classes and annotations but doesn't generate code. Modules map to Java packages and are encouraged to use Spring events which can be automatically stored in an event log. Spring Modulith also eases the testing of modules and events.
By Karsten Silz
Read: https://www.infoq.com/news/2022/11/spring-modulith-launch/
8 281
10 забавных фактов о Java
Угадаете, какие из них — правда в коротком тесте Иннотех и Tproger
Читать: «10 забавных фактов о Java»
8 281
Java, Python top most wanted list for employers
Read: https://www.infoworld.com/article/3680088/java-python-top-most-wanted-list-for-employers.html#tk.rss_java
8 281
Java skills top most wanted list for employers
Read: https://www.infoworld.com/article/3680088/java-skills-top-most-wanted-list-for-employers.html#tk.rss_java
8 281
Пишем приложение на Mi Band 7 с сервисной частью
Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений.
Читать: https://habr.com/ru/post/699368/?utm_campaign=699368
8 281
Создание очередей с низкой задержкой размером в терабайт
Очереди часто являются фундаментальными компонентами в паттернах проектирования программного обеспечения.
Но что, если каждую секунду поступают миллионы сообщений, а многопроцессорные потребители должны иметь возможность читать полный журнал всех сообщений?
Java может хранить ограниченное количество информации, пока куча не станет ограничивающим фактором, в результате чего сборка мусора будет иметь большие последствия, что потенциально может помешать нам выполнить целевые SLA (соглашения об уровне обслуживания) или даже остановить JVM на секунды или даже минуты.
В этой статье рассказывается о том, как создавать огромные персистентные очереди, сохраняя при этом предсказуемую и стабильную низкую задержку с помощью Chronicle Queue с открытым исходным кодом.
Читать: https://habr.com/ru/post/698858/?utm_campaign=698858
8 281
Представление Project Loom в Java
Это руководство поможет вам понять, что представляет собой Project Loom в Java и как его виртуальные потоки (также называемые «fibers») работают «под капотом».
Читать: https://habr.com/ru/post/698440/?utm_campaign=698440
8 281
Omni Faces 4.0 Changes Minimal Dependency to Java 11, While Removing Deprecated Classes
Five years after its previous major release, OmniFaces 4.0 has been released after a long series of milestones that included a "Jakartified version of 3.14 with a couple of breaking changes" following the release of Jakarta EE 10. Besides the minimum requirements and breaking changes, new utility methods have been added and omnifaces.js is now sourced by Typescript rather than vanilla JavaScript.
By Olimpiu Pop
Read: https://www.infoq.com/news/2022/11/omnifaces-4/
8 281
Java News Roundup: WildFly 27, Spring Release Candidates, JEPs for JDK 20, Project Reactor
This week's Java roundup for November 7th, 2022 features news from OpenJDK, JDK 20, OpenSSL CVEs, Build 20-loom+20-40, Spring Framework 6.0-RC4, Spring Boot 3.0-RC2, Spring Security 6.0-RC2, Spring Cloud 2021.0.5, WildFly 27, WildFly Bootable JAR 8.1, Quarkus 2.14 and 2.13.4, Project Reactor 2022.0, Micrometer Metrics 1.10 and Tracing 1.0, JHipster Lite 0.22.0 and Camel Quarkus 2.14 and 2.13.1.
By Michael Redlich
Read: https://www.infoq.com/news/2022/11/java-news-roundup-nov07-2022/
8 281
Параллелизм, асинхронность, многопоточность – Reactor почти всё сделает за Вас
Реактивные паттерны программирования становятся всё более востребованы при реализации высоконагруженных сервисов. Вот уже и в Spring законсервировали RestTemplate. В тоже время, реактивные фреймворки предоставляют инструменты, позволяющие с минимальными затратами на кодирование использовать механизмы асинхронности и многопоточности.
В качестве примера, предлагаю рассмотреть реализацию сервис индексации данных в ElasticSearch. Данные хранятся в MongoDB, ключевые атрибуты которых синхронизируются с ElasticSearch (функционально похоже на Logstash). В проекте используется стек: Java/Spring Boot/Reactor/WebFlux/WebClient/RabbitMQ/MongoDB. На выбор RabbitMQ и MongoDB повлияло, в том числе, наличие реактивных драйверов.
Читать: https://habr.com/ru/post/699112/?utm_campaign=699112
8 281
Porting Million Lines of Code from Java to Kotlin at Meta
Meta has been at work to port their Android codebase from Java to Kotlin. In the process, they have learned a number of lessons of general interest and developed a few useful approaches, explains Meta engineer Omer Strulovich.
By Sergio De Simone
Read: https://www.infoq.com/news/2022/11/meta-port-java-kotlin/
8 281
Сбер набирает Java-разработчиков!
Стек: Java 11+, Kotlin, Kafka, Spring Framework, Hibernate, SpringBoot, PostgreSQL, XML/JSON, Git, Maven, Gradle и k8s/OpenShift.
Подробнее: https://tprg.ru/0Yjp
Это #партнёрский пост
