Thingsboard позволяет управлять IoT устройствами, собирать, обрабатывать и визуализировать данных для них.
Быстрый старт с Docker:
mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs
docker run -it -p 8080:9090 -p 7070:7070 -p 1883:1883 -p 5683-5688:5683-5688/udp -v ~/.mytb-data:/data \
-v ~/.mytb-logs:/var/log/thingsboard --name mytb --restart always thingsboard/tb-postgres
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍14❤4🔥3
Класс java.lang
Класс java.lang — это базовый пакет, который автоматически импортируется в любую программу на Java.
Содержит фундаментальные классы, как Object, String, Integer и т. д., определяет общие классы-исключения, такие как NullPointerException, ArithmeticException, класс Math с математическими функциями, System для взаимодействия с системой.
Также включает класс Thread для многопоточного программирования, интерфейсы Cloneable, Runnable, Comparable, определяет класс Class, представляющий классы времени выполнения.
Класс java.lang — это базовый пакет, который автоматически импортируется в любую программу на Java.
Содержит фундаментальные классы, как Object, String, Integer и т. д., определяет общие классы-исключения, такие как NullPointerException, ArithmeticException, класс Math с математическими функциями, System для взаимодействия с системой.
Также включает класс Thread для многопоточного программирования, интерфейсы Cloneable, Runnable, Comparable, определяет класс Class, представляющий классы времени выполнения.
1👍21❤4🔥4🍾2
Хотите узнать, как использовать Kafka Streams Processor API для создания эффективных приложений?
Всего за пару часов узнаете, как разрабатывать эффективные и мощные приложения потоковой обработки, и сможете применять эти знания в своих проектах.
Присоединяйтесь к открытому вебинару 27 августа в 20:00 мск!
Урок будет полезен разработчикам и архитекторам.
Спикер Вадим Заигрин — опытный разработчик, Data Engineer и Data Scientist, Team Lead команд инженеров данных на разных проектах.
Встречаемся в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czTrcP
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Всего за пару часов узнаете, как разрабатывать эффективные и мощные приложения потоковой обработки, и сможете применять эти знания в своих проектах.
Присоединяйтесь к открытому вебинару 27 августа в 20:00 мск!
Урок будет полезен разработчикам и архитекторам.
Спикер Вадим Заигрин — опытный разработчик, Data Engineer и Data Scientist, Team Lead команд инженеров данных на разных проектах.
Встречаемся в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czTrcP
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1❤4👍4🔥2
—
pip install voyagerVoyager может использоваться как из Python, так и из Java;
библиотека опирается на алгоритм HNSW, основанный на пакете hnswlib, плюс использует много дополнительных функций.
Voyager активно используется в продакшене в Spotify
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤10👍7🔥2
'result = 1 == 2
print(result) # True
Сентябрь — время знаний и… осенних спецусловий на курсы Cлёрма!
С 22 августа по 15 сентября: для вас — два курса по цене одного, для нас — открытие учебного сезона 🛎
К каждому старту курса в этот период мы добавили видеокурс, который отлично дополнит основной материал и достанется вам бесплатно.
Ближайшие старты наших курсов:
⚙️ Python для инженеров
⚙️ Golang для инженеров
⚙️ Ansible: Infrastructure as Code
⚙️ DevOps Upgrade
⚙️ Администрирование Linux. Мега
⚙️ Kubernetes для разработчиков
⚙️ Data Science
⚡️Подробнее об акции — на этой странице: slurm.io/set2024
Присоединяйтесь! Будем учиться и снижать риски возникновения осенней хандры 🫡
Реклама ООО «Слёрм» ИНН 3652901451
1👍5❤3🔥2
Локальные переменные в лямбда-выражениях
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
Это означает, что после их инициализации переменные не могут быть изменены.
Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения.
@javalib #java
Java позволяет использовать локальные переменные внутри лямбда-выражений, но с одним важным ограничением: переменные должны быть эффективно финальными (effectively final).
Это означает, что после их инициализации переменные не могут быть изменены.
Использование локальных переменных в лямбда-выражениях может быть очень полезным для передачи дополнительных данных в лямбда-выражения.
@javalib #java
1❤15🔥6
Хотите глубже понять типы данных в Java? Ждем вас на открытом вебинаре 2 сентября в 20:00 мск,
где мы разберем:
Урок идеально подходит для тех, кто хочет изучить Java вглубь, узнать тонкости и хитрости языка, а также для Java-разработчиков, стремящихся структурировать свои знания и лучше подготовиться к собеседованиям.
Спикер Дмитрий Коган — опытный разработчик, председатель совета предприятия в DXC, публицист, спортивный журналист и блогер.
Встречаемся в преддверии старта курса «Углубленное изучение языка Java».
Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czWbUB
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
1❤4👍2🔥2☃1
ProGuard — это open-source минификатор, оптимизатор и обфускатор байткода Java.
Какие действия выполняет ProGuard?
— обнаруживает и удаляет неиспользуемые классы, поля, методы и атрибуты
— оптимизирует байткод и удаляет неиспользуемые инструкции
— переименовывает оставшиеся классы, поля и методы, используя короткие имена
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍11❤4🔥3
Интерфейс Delayed
Используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.
Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.
Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
Используется для объектов, у которых есть время истечения задержки.
Он позволяет организовать очередь объектов с учетом их задержки.
Основные методы:
getDelay(TimeUnit unit) — возвращает оставшееся время задержки в указанных единицах измерения.
compareTo(Delayed o) — сравнивает текущий объект с переданным по оставшемуся времени задержки.
Этот интерфейс реализуется классами, которые должны храниться в очереди с задержкой, например в DelayQueue.
1👍15❤3🔥2
📚 Пройди тест на знание Java и получи доступ к 🌿 🌿 открытым урокам по Spring
🕗 Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса «Разработчик на Spring Framework» от OTUS необходимо пройти входное тестирование: ответить на 21 вопрос и уложиться в тайминг.
📊 -Курс рассчитан на профессионалов с практическим опытом работы на Java.
- Мы будем 5 месяцев погружать вас в теорию и практику Spring Framework. - Дадим 18 практических работ. Процесс review сдаваемой работы максимально приближен к тому, каким он мог быть на реальном проекте. Помимо этого, мы попросим вас сдать дипломную работу , каких скучных записанных занятий, только живые онлайн-лекции, интересные практические задачи и развернутая обратная связь от лучших экспертов ниши. 📅 Старт группы уже 30 сентября 2024г . Доступна рассрочка на обучение.
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ
🕗 Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса «Разработчик на Spring Framework» от OTUS необходимо пройти входное тестирование: ответить на 21 вопрос и уложиться в тайминг.
📊 -
- Мы будем 5 месяцев погружать вас в теорию и практику Spring Framework.
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
1👍6❤4🔥3
brew tap endava/tap
brew install cats
CATS автоматически генерирует тесты, запускает их и сообщает о результатах, требуя минимальных усилий по написанию кода. Тесты также не требуют обслуживания.
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍15❤4🔥4😁3
Хотите уверенно проектировать гибкие, масштабируемые и надежные системы, используя современные архитектурные практики?
Присоединяйтесь к онлайн-курсу «Software Architect», где за 4 месяца под руководством практикующих экспертов вы разберёте:
✔️ актуальные тактики по работе с атрибутами качества архитектуры: доступность, отказоустойчивость, безопасность и многое другое;
✔️ основные паттерны и стили архитектуры, их плюсы, минусы и подводные камни;
✔️ технологические домены, включая бекенд, BigData, мобильную разработку, фронтенд и хранилища данных.
👨💻🛠👨🏻💻 Программа разработана для архитекторов, разработчиков и тимлидов.
Старт группы уже 30 августа. Доступна рассрочка и 🎁10 % скидка по промокоду otus10 до 31.08 включительно⏱!
➡️ Пройдите тест прямо сейчас, чтобы чтобы активировать скидку и получить доступ ко всем открытым урокам курса: https://vk.cc/czZZ81
Присоединяйтесь к онлайн-курсу «Software Architect», где за 4 месяца под руководством практикующих экспертов вы разберёте:
✔️ актуальные тактики по работе с атрибутами качества архитектуры: доступность, отказоустойчивость, безопасность и многое другое;
✔️ основные паттерны и стили архитектуры, их плюсы, минусы и подводные камни;
✔️ технологические домены, включая бекенд, BigData, мобильную разработку, фронтенд и хранилища данных.
👨💻🛠👨🏻💻 Программа разработана для архитекторов, разработчиков и тимлидов.
Старт группы уже 30 августа. Доступна рассрочка и 🎁
➡️ Пройдите тест прямо сейчас, чтобы чтобы активировать скидку и получить доступ ко всем открытым урокам курса: https://vk.cc/czZZ81
Реклама. ООО «Отус онлайн-образование», ОГРН 11777466185761❤4👍3🔥2
FileChannel
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
1❤12👍10🔥3❤🔥2
🎯 Хотите стать Java-разработчиком, но думайте, что изучение основ программирования — это скучно?
Только не в нашем формате! Ждём вас на онлайн-курсе «Специализация Java-разработчик». Только живые вебинары, вы освоите самые востребованные инструменты и лучшие практики.
Ознакомится с курсом можно на бесплатном открытом уроке «Введение в Java Collections: обзор интерфейсов и их имплементаций».
📌 Урок пройдет 11 сентября в 20:00 мск.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cA1RNg
Только не в нашем формате! Ждём вас на онлайн-курсе «Специализация Java-разработчик». Только живые вебинары, вы освоите самые востребованные инструменты и лучшие практики.
Ознакомится с курсом можно на бесплатном открытом уроке «Введение в Java Collections: обзор интерфейсов и их имплементаций».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
1❤4👍3🔥2
Пару месяцев назад вышла стабильная версия open-source проекта TornadoVM 1.0 для запуска Java на гетерогенном оборудовании: CPU, GPU и FPGA.
TornadoVM — это плагин к OpenJDK и другим дистрибутивам JDK (например, GraalVM, Red Hat Mandrel, Amazon Corretto, Microsoft OpenJDK, Azul Zulu), который позволяет разработчикам автоматически запускать программы Java на гетерогенном оборудовании. TornadoVM нацелен на устройства, совместимые с OpenCL, PTX и Level-Zero, которые включают в себя многоядерные процессоры, выделенные графические процессоры (Intel, NVIDIA, AMD), интегрированные графические процессоры (Intel HD Graphics и ARM Mali) и FPGA (Intel и Xilinx).
В версии TornadoVM 1.0 появился новый API для размещения объектов вне кучи и коллекций массивов, улучшенная обработка внутреннего байт-кода, поддержка большего количества математических операций в OpenCL/PTX/SPIR-V, 16 векторных типов данных для
float/double/int, поддержка драйвера Mesa Rusticl OpenCL, улучшение порядка устройств по умолчанию на основе максимального размера потока, обновление программы установки, а также значительно доработана документация проекта.@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8❤4👍2
Хотите узнать, как легко и эффективно работать с потоковыми данными с помощью Alpakka?
Всего за пару часов вы разберете работу с потоковыми данными, узнаете, что такое «продьюсер» и «консьюмер», и научитесь применять эти знания в различных областях, где данные отсылаются и принимаются через Kafka.
Присоединяйтесь к открытому вебинару «Потоковая обработка данных с помощью Alpakka» 5 сентября в 20:00 мск!
Урок будет полезен всем, кто работает с потоковыми данными.
Спикер Валентин Шилин — старший программист/аналитик данных в зарубежной компании.
Встречаемся в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cA1W4A
Всего за пару часов вы разберете работу с потоковыми данными, узнаете, что такое «продьюсер» и «консьюмер», и научитесь применять эти знания в различных областях, где данные отсылаются и принимаются через Kafka.
Присоединяйтесь к открытому вебинару «Потоковая обработка данных с помощью Alpakka» 5 сентября в 20:00 мск!
Урок будет полезен всем, кто работает с потоковыми данными.
Спикер Валентин Шилин — старший программист/аналитик данных в зарубежной компании.
Встречаемся в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cA1W4A
Реклама. ООО «Отус онлайн-образование», ОГРН 11777466185761❤3👍2🔥2😁1
Инкапсуляция
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
1❤19👍8🔥3☃2
Apache Ignite 3.0 — платформа для распределенного кэширования и вычислений
Недавно вышла стабильная версия Apache Ignite 3.0 — это open-source платформа, предоставляющая возможности для распределенного кэширования и вычислений в реальном времени.
Apache Ignite предлагает разработчикам мощный набор инструментов для работы с большими данными. Платформа позволяет организовать распределенное хранилище данных и обрабатывать их с высокой производительностью, используя CPU и GPU.
В версии Apache Ignite 3.0 были реализованы следующие улучшения:
Новый API для асинхронных операций и улучшенная поддержка транзакций.
Оптимизация работы с распределенными кешами и поддержка новых типов данных.
Интеграция с популярными инструментами для анализа данных, такими как Apache Spark и Apache Flink.
Улучшенная документация и обновленный интерфейс для мониторинга и администрирования.
🖥 GitHub
🟡 Доки
@javalib #java
Недавно вышла стабильная версия Apache Ignite 3.0 — это open-source платформа, предоставляющая возможности для распределенного кэширования и вычислений в реальном времени.
Apache Ignite предлагает разработчикам мощный набор инструментов для работы с большими данными. Платформа позволяет организовать распределенное хранилище данных и обрабатывать их с высокой производительностью, используя CPU и GPU.
В версии Apache Ignite 3.0 были реализованы следующие улучшения:
Новый API для асинхронных операций и улучшенная поддержка транзакций.
Оптимизация работы с распределенными кешами и поддержка новых типов данных.
Интеграция с популярными инструментами для анализа данных, такими как Apache Spark и Apache Flink.
Улучшенная документация и обновленный интерфейс для мониторинга и администрирования.
🖥 GitHub
🟡 Доки
@javalib #java
1👍9❤4🔥3😁2