Вход Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Тренеры
Уход за животными
Автоинструкторы

Разработка на Java — удалённая работа в Москве

Дата: 2023-07-14
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2023-07-14
Описание
Смоделировать “Умный дом“ Условие задачи Напишите программу, которая реализует функции хаба умного дома. В умном доме размещены сенсоры, то есть устройства, измеряющие параметры окружающей среды, актуаторы, то есть устройства, воздействующие на среду в доме, таймер, передающий показания текущего времени, и хаб, то есть устройство, которое управляет всеми остальными устройствами в умном доме. Все устройства находятся в общей коммуникационной среде (сети). Информация по сети передаётся с помощью пакетов. Пакет может отправляться одному устройству, либо всем устройствам одновременно (broadcast). Каждое устройство, включая хаб, имеет свой уникальный 14-битный адрес в сети. Коммуникационная среда ненадёжна, то есть пакеты могут в сети теряться либо портиться, но пакеты не дублируются, то есть ситуация, когда получатель получает один и тот же пакет несколько раз, невозможна. Для моделирования функциональности хаба умного дома ваша программа должна получать данные из сети, и в качестве реакции на полученные данные отправлять данные в сеть. В рамках данной задачи получение данных из сети и отправка данных в сеть моделируется с помощью HTTP POST запроса на специальный сервер, который моделирует функционирование остальных устройств умного дома. Работа вашей программы Вашей программе в аргументе командной строки передается URL, который нужно использовать для обмена данными с сетью, и 14-битный адрес вашего устройства-хаба в сети в шестнадцатеричном виде. Для отправки данных в сеть необходимо выполнить POST-запрос передав в теле запроса выдаваемые в сеть пакеты данных в виде URL-encoded Base64 строки. В ответ POST-запрос вернет пакеты данных, принятые из сети. Каждую порцию данных таким образом можно прочитать только один раз. В случае успешного чтения очередной порции данных сервер вернет код ответа HTTP 200. В случае, когда данных больше нет, сервер вернет код ответа HTTP 204. При получении кода 204 ваша программа должна завершить свою работу с кодом завершения 0. Пример запуска вашей программы: solution http://localhost:12183 ef0 Если при взаимодействии с сервером возникла какая-либо ошибка на уровне сети или протокола HTTP, или сервер вернул код ответа, отличный от 200 или 204, ваша программа должна завершить выполнение с кодом завершения 99. Каждая порция входных данных закодирована с помощью URL-encoded unpadded Base64, причем все пробельные символы (пробелы, табуляции, переводы строк) являются незначимыми и должны быть проигнорированы. Если порция данных закодирована в base64 некорректно, она должна быть пропущена, и ваша программа должна перейти к обработке следующей порции данных, то есть снова выполнить POST-запрос. Если при декодировании пакета возникла ошибка контрольной суммы, пакет игнорируется. Ваша программа должна моделировать работу хаба по следующему алгоритму: В начале работы хаб собирает информацию о сети с помощью запроса WHOISHERE и запрашивает начальное состояние всех устройств. Обратите внимание, что устройства могут задержаться с ответом на запрос, задержки вплоть до 300мс допустимы. Далее хаб ожидает сообщений от сенсоров, и для каждого сообщения от сенсора выполняются действия, прописанные в dev_props сенсора Все подключенные устройства кроме хаба и таймера в процессе работы могут быть отключены. Отключенное устройство перестает отвечать на сообщения, адресованные этому устройству. Устройства могут быть включены в процессе работы, и могут появиться новые устройства. Повторно или вновь включенное устройство посылает в сеть запрос WHOISHERE, на который хаб должен ответить. Конфигурация устройства (dev_props) может отличаться от конфигурации, которая была в прошлый раз, в этом случае хаб должен начать работать с новой конфигурацией. Здесь под отключением понимается то, что по какой-то причине перестал работать контроллер соответствующего устройства, и поэтому устройство перестало принимать команды и реагировать на них. Но обычно у устройств типа LAMP или SWITCH или SOCKET контроллер устройства принимает команды и реагирует на них, даже если сама по себе лампа не горит. Если хаб отправил команду какому-то конкретному устройству и не получил от него ответа в течение 300мс, это устройство считается выключенным и на него больше не отправляется команд, а сообщения от него игнорируются, пока это устройство само не объявит о своем включении с помощью запроса WHOISHERE.
Похожие заказы

Разработка на Java

дистанционно
договорная
ЦЕЛЬ: переложить/переписать готовую APK для MirPay на язык MonkeyC для экосистемы Garmin. MonkeyC — это язык программирования, разработанный компанией Garmin для платформы Connect IQ (CIQ). Он используется для создания приложений, которые работают на устройствах Garmin, например, смарт-часах (Garmin Fenix 7/8/8 Pro 47/51 мм). Некоторые особенности MonkeyC (developer.garmin.com) На дизайн MonkeyC повлияли C, Java, JavaScript, Python, Lua, Ruby и PHP. Компиляция в байт-код. Как и в Java, код MonkeyC компилируется в байт-код, который интерпретируется виртуальной машиной (TVM Garmin). Управление памятью. В MonkeyC используется подсчёт ссылок для автоматического управления памятью, что освобождает разработчика от необходимости заниматься управлением памятью (stackoverflow.com) Модули. Они выполняют функцию, схожую с пакетами в Java, но могут содержать переменные и функции. Для работы с MonkeyC существуют различные инструменты разработки, например, плагины для Sublime Text, Visual Studio Code и другие. Также предоставляются SDK и документация API для разработчиков. VS Code генерирует файл .prg в папке bin проекта, который фактически аналогичен APK в Android.
Москва Фрилансеры

Разработка на Java

дистанционно
договорная
Медленно грузит сайт, некорректно отображается калькулятор (показывает одну и ту же цену для разных вариаций - помогает обновление страницы), периодически возникает ошибка 503. На текущий момент стоит плагин кеширования WP-Rocket, возможно дело в нем. Нужно провести аудит - выяснить причину некорректной работы и устранить ошибки. Что в результате - должны получить корректное ежедневное кеширование страниц (для быстрой загрузки сайта), а также отсутствие ошибок 503 Сайт https://flash-imperia.ru.
Москва Фрилансеры

Разработка на Java

дистанционно
договорная
Нужен проект на сесию по java.Проект называется университетский блог.Сегодня уже должен быть готов.
Москва Фрилансеры

Разработка на Java

дистанционно
договорная
Пожелания и особенности: проект нужна для сессии.Называние проекта университетский блог.
Москва Фрилансеры

Разработка на Java

дистанционно
договорная
Пожелания и особенности: Нужно создать лаунчер с модами, сервер, сделать систему оплаты. Не знаю сколько это стоит.
Волгоград Фрилансеры

Разработка на Java

дистанционно
договорная
Fabric / Minecraft Mod Developer (Java) — удалённо Ищем разработчика в действующий игровой проект — кастомный Minecraft-сервер на Fabric (RPG / средневековая концепция). Проект находится в активной эксплуатации, есть стабильное комьюнити и регулярные обновления. Работаем как небольшая распределённая команда (Россия / Нидерланды), выстраиваем устойчивую разработку и процессы. Задачи: * разработка и доработка модов на Fabric (Java) * работа с игровой логикой (экономика, прогрессия, механики) * исправление багов и стабилизация сервера * разбор и улучшение существующего кода * участие в развитии архитектуры проекта Требования: * уверенное знание Java * опыт работы с Minecraft (Fabric / моды или близкий опыт) * умение разбираться в чужом коде * понимание клиент-серверной логики * ответственность и нормальная коммуникация Будет плюсом: * опыт работы с Fabric API / mixins * опыт разработки собственных модов * понимание геймдизайна и игровых систем * работа с базами данных Формат работы: * полностью удалённо, можно работать из любой страны * распределённая команда * гибкий график, ориентир на результат * асинхронная коммуникация Условия: * оплата обсуждается (фикс + бонусы) * участие в развитии продукта, а не “с нуля” * менторство от тимлида (архитектура, код-ревью) * возможность влиять на технические решения Важно: * вся разработка ведётся через общий репозиторий (Git) * код и доработки принадлежат проекту * знания фиксируются в документации * работа на долгосрочной основе Отклик: Напишите кратко: 1. опыт с Minecraft / Java 2. какие проекты делали 3. есть ли примеры кода или GitHub.
Москва Фрилансеры

Разработка на Java

дистанционно
договорная
Пожелания и особенности: Сделать личный кабинет чтоб клиенты через свой личный аккаунт могли сами рисовать счета и был виден их баланс , соответственно чтоб банк с 1с и сайтом интегрировали.
Екатеринбург Фрилансеры