Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Если честно, то хочется спросить — иии? Где пример реализации и прочий контент?
Просто интересное времяпрепровождение для опытных разработчиков
SELECT * FROM Schuhe_Farbe SF, Schuhe_Groesse SG, Alle_Sache AS WHERE SG.Groesse = :Groesse AND SG.Groesse_id = AS.Groesse_id AND AS.Farbe_id = SF.Farbe_id
Json — это куча лишней работы, первый шаг — преобразовать данные в json, второй шаг — на клиенте преобразовать json в html. (десктоп-клиент для клиент-серверной архитектуры рассматривать нет смысла). Поэтому смело можно исключить одно преобразование — и, соответственно, убрать json как затратную часть. Использовать «серверный рендеринг» сформировать сразу html и его передать клиенту, который вставляется одной строкой.
Задачу можно дополнять, но тогда возникает вопрос — где остановиться? А точку остановки назначит только реальное, конкретное применение. Как тестовое такое задание может служить только как повод для отклонения кандидата :)… И в большей степени является критерием качества постановщика задачи и писателя ТЗ. Чем более точно всё описано — тем меньше времени будет на реализацию.
Как Практика для изучающих программирование — если только как пример необходимости более правильной и более полной постановки задачи.
Как Тестовое задание для отбора кандидатов — лично я оцениваю, что постановка задачи не полная, следовательно и в дальнейшем будут проблемы в этой конторе с постановками задач для программистов.
Как Просто интересное времяпрепровождение для опытных разработчиков — есть задичи и более интересные.
Вы это серьёзно? Серверный рендеринг только позволяет уменьшить скорость отображения первого экрана. Но вместе с html передаётся state приложения в том же JSON. Да и html генерируется кодом с клиентского приложения из этого же самого JSON-а. Как вы собираетесь строить state client приложения? Из html-а?
Как вы собираетесь строить state client приложения? Из html-а?Если не достаточно полно описал выше — обращайтесь.
Задача чётко и полно поставлена. Это реальная бизнес задача из приложения с многолетним опытом. Всё что вам кажется нужно добавить исходит только из ваших предположений, а не опыта тысяч пользователей. Единственное что нужно из этого интерфейса — это id вариации, которое было опущено для простоты.Я бы согласился, если б у меня не возникли вопросы и предложения. У меня есть приличный опыт в построении систем для работы операторов. Да задача поставлена реальная, но я ставлю себя на место оператора и клиента — и возникают вопросы. В далёкие 90 мне пришлось и программировать и работать на написанном. Мне сразу становилось видно все недостатки написанного интерфейса, а лень заставляла переписывать, чтоб добиться минимума действий, и уменьшения времени для работы с клиентом. Удалось достичь такого, что оператор мог во время приема заказа от клиента сформировать счет с учетом всевозможных вариантов, наличия товара, возможности будущих поставок и пр. и пр. и к концу телефонного разговора отправить готовый счёт по факсу.
А «не активность» окна в браузере разве не «убивает» вебсокет?не убивает. в хроме есть ключ настройки для того чтоб окно не «умирало» и если не ошибаюсь этот ключ стоит в «не убиваемом положении». по крайней мере у меня с этим проблем не возникало, а для проведения исследования с надкусанным фруктом — надо иметь этот фрукт… Как вариант — есть событие покидания страницы — можно по нему закрывать ws.
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 1200s;
Если есть обработки событий во вставленном «тексте» — использование делегирования решает такие задачи.
Как вы обрабатываете ошибки в websocket-ах? Например нам нужно 20 разносторонних данных, 2-3 из них одинакового типа, но с разными id и один из них не пришёл, что-то сломалось или данных нет или запрос не верный?честно говоря не совсем понял вопроса. Что подразумевается под ошибками? У вас есть сообщение, в котором могут присутствовать или не присутствовать какие-то данные? и необходимо это как-то обработать? чтоб понять что пришло а что нет? Если так — то в этом случае, действительно, лучше использовать json.
Как вы описываете дерево, вложенность структур?Как ни странно, я обхожусь без таких навороченных структур, может быть потому, что просто пересылаю малыми частями. Тут надо смотреть конкретную задачу и её решение.
Если у вас таблица с фильтрами и сортировкой + на каждый элемент есть есть чекбокс.Я противник использования фильтрации и сортировки на клиенте. Потому что это подразумевает отправку клиенту всего набора данных. Я сторонник того что это всё делается на сервере, а клиент только отображает.
При изменении фильтрации или сортировки вы отправляете весь html с сервера? Это же как раз нагрузочные данные. Когда у нас есть template и в него вставляются только чистые данные из JSON — это уменьшает нагрузку на сеть.
После того как выбрано несколько чекбоксов и надо отправить запрос, вы будете проходить по DOM и искать какие элементы выделены?Даже если это делать «в лоб» — это очень не сложно и не затратно, а если подойти грамотно — то вообще просто и дёшево.
JSON — это JS Object Notation (ваш кэп). Это представление объектов JS в читаемом виде. Это ни какой-то промежуточный слой, который преобразовывается во что-то другое. Получается вы создаёте свою структуру и пишите свой парсер?Может это покажется странным, но стоимость ws позволяет избежать такой необходимости. Мне хватает того, что я могу использовать передаваемый набор данных с простым разделителем, и в качестве парсера простой split.
Задача по программированию о розничной торговле