Профиль пользователя заблокирован сроком с 24 марта 2024 г. и навсегда по причине: систематические нарушения пункта 5.2 правил сервиса
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    Василий Банников,
    А если в проекте требуется с этим сторонним сервисом взаимодействовать
    - это потребности (проблемные стороны) проекта, требующие изучение сторонней документации.
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    Василий Банников, Да какая разница!? Google Map Api - это стороннее приложение. Веб-разработчик должен О нём знать, но не должен Его знать. Только базовые функции, которые используются повсеместно: Вставить карту на сайт с одним маркером - адрес предприятия.
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    ksnk,
    Тут проверяется владение Google Map Api, возможно это было отражено в вакансии.

    Возможно. Но обычно для верстальщика или веб-разработчика достаточно уметь вставить карту на сайт с одной точкой, типа "мы здесь", или "наш адрес на карте".
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    Василий Банников, добавьте кнопку "построить маршрут", и это будет навигатор, с учётом всех пунктов в ТЗ... В этом вы правы:
    Не нужно путать джуна со стажёром или с челом, который вчера открыл статью "что такое джаваскрипт".
  • Как оцените тестовое задание для junior front-end?

    @My1Name
    По срокам - если исключить время на чтение документации Гугла и возможные проблемы при "установке на сайт" - всё должно занять один рабочий день неспешной работы.

    Возможно, но не для джуна... Да и вообще, это не тестовое задание, а ТЗ к проекту - навигатор. Я бы послал нах. таких работодателей с таким тестовым заданием на позицию intern или junior.
  • Как получить отмеченные checkbox?

    @My1Name
    artemfisher, Попробуйте так:
    @PostMapping("/")
      public String getOrder(Order order, @ModelAttribute User user, HttpServletRequest request)
      {
        System.out.println(order.getDishes().size());
        System.out.println(order.getDate());
        System.out.println(request.getParameter(order.getName());
        user.addOrders(order);
        return "orders";
      }

    На уровне сервлета, вы можете добраться к любому полю через request.getParameter("name")

    p.s. "ConverterDishesByName" более правильно "DishRepository". Сюда же private List <Dish> добавить методы getByName, addNew и deleteByName. А при добавлении @ModelAttribute перебирать в цикле. Аналогично с Order и User...

    А вообще, более целесообразно объединить три этих класса в один interface "Order", и объявить в нём нужные вам методы "Dish" и "User". Они же implements от Order... В контроллере (или там, где вам надо) делаете поле private Order ORDER; и обращаетесь напрямую: Например, ORDER.getDishByName("Coca-Cola"); или ORDER.getListDish();

    Поля new Date и List<Dish> которые у вас на данный момент в Order, перенесите в класс User. Так код будет более usability :)
  • Как получить отмеченные checkbox?

    @My1Name
    artemfisher, в коде, который сопровождает вопрос - "чёрт ногу сломает"... Наверно у чекбоксов нужно проверять параметр checked а не value он возвращает boolean, а вы ожидаете String... Кроме чекбоксов, ваш order выводит другую информацию в консоль?
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    p.s. Михаил Р. критика, рекомендации и правки приветствуются.
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Михаил Р.,
    перенести это садомазо из notepad и блокнота в какую нить более подходящую IDE?

    - Мне так удобно. Получается три легковесных окна, абсолютно разные на вид (для глаза), между которыми можно быстро переключаться. В блокноте немного неудобно из-за отсутствия подсказок, но в целом так удобно (хардкодить)).

    это будет отличный вариант по рефакторингу

    - я тоже так думаю. Тем более я взял за основу Bootstrap (glyphicon) и CKEDITOR 4. Всё просто и понятно. Поэтому и хочу выложить код для допиливания или "перепиливания" в таком формате :)
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Михаил Р.,
    По куке сервер понимает

    - Сам чат (обёртка) является частью frontend, и я пока что пишу именно "представление"... О куки не думал (забыл), потому что пишу под Spring проект. В спринге они занимают ровно одну строчку кода
    setCacheControl(CacheControl.maxAge(100, TimeUnit.MILLISECONDS));
    а на данный момент у меня стоит setCachePeriod(0); Я запускаю сервер и постоянно обновляю страницу в браузере, пока делаю разметку в notepad++ и пишу скрипты в блокноте.txt :) Как работают куки в Spring-е на практике - не знаю. Для этого (для практики) собственно говоря и пишу (соц. сеть) :D Ну, и так как чат уже почти написан, а мои знания javaScript (jQuery) поверхностные, думаю нужно выложить его куда-то (без соединений с сервером, но с комментариями типа - "request тута"), чтоб все желающие могли "попробовать код", а более опытные доработать...
  • Как сделать event после выбора selected option?

    @My1Name Автор вопроса
    Спасибо! Почему вы называете чистый JavaScript - vanilla? :)
  • Как определить WebSocket клиента?

    @My1Name Автор вопроса
    Я так понял что все пользователи получают одни и те же сообщения, а вы хотите создавать приватную беседу

    - Да. И судя по всему, ответ на мой вопрос: "Как определить WebSocket конкретного клиента?" - никак. Сервер пишет сообщения в один поток (в общий канал, например в формате JSON), а все клиенты парсят event.data
    handleMessage(event) {
        const message = JSON.parse(event.data);
        if (message && message.channel && this.channels.has(message.channel)) {
          this.channels.get(message.channel).forEach((callback) => callback(message));
        }
      }

    Как вариант, можно разделить принятие message на два этапа: 1. Сервер посылает в общий канал короткий идентификатор клиента (получателя). 2. Тот, кому адресовано сообщение, создаёт ajax запрос на получение данных по полученному идентификатору. Или создаёт новое Soket соединение с идентификатором. Таким образом в общем канале будут только короткие сообщения ("ключи"). Принятие данных, будет происходить в 2 соединения с сервером.

    Это пожалуй самый безопасный вариант в рамках Spring Security. На стороне сервера после запроса получателя, можно проверить два Principal-а (отправителя и получателя). И таким образом исключить возможность использования ключей третьей стороной.
  • Как определить WebSocket клиента?

    @My1Name Автор вопроса
    VolgaVolga, данные поступающие через настроенный WebSocket, через Principal можно получить в контроллере. Не в этом суть вопроса.
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Так это основной вариант "помнить" пользователя

    А если у пользователя, скажем 30 чатов с разными людьми; как такую инфу запихнуть в куки?

    Не понял, о чем речь

    - Через WebSocket connection подтягиваются данные. И я как-раз сейчас думаю (точней ищу информацию), как идентифицировать сокет клиента, чтоб не проверять у всех message = event.data; ? - Я не хочу, чтоб за интим-беседой наблюдало пол района :)
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Михаил Р., Спасибо. Я о куки как-то и не подумал... Я подтягиваю историю через сервер, при выборе пользователя - событие load. А как с куки такое проделать, на голом js - мне даже трудно представить.
  • Бесплатный онлайн-чат для сайта на JS?

    @My1Name
    Sanvi поделитесь впечатлениями от использования готовых решений. А то я сам пишу... Простенький чат, а кода много получается.

    Интересует: Дают ли готовые решения, возможность вести личную переписку, подобно сайтам знакомств и соц.сетям?