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

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Я вообще лучше бы использовал какой-то SignalR, который бы "тыкал" клиента. Если клиент отвечает - значит жив ¯\_(ツ)_/¯
    Ответ написан
    1 комментарий
  • Как сделать функцию ping?

    Get-Web
    @Get-Web Куратор тега JavaScript
    Front-End Developer
    setIntrval не самое лучшее решение так как, если пользователь перейдет на другую вкладку или свернет браузер, то вызовы могут накапливаться и выполняться одновременно, когда пользователь вернется.

    Лучше использовать setTimeout:
    function ping(url, fn) {
      fetch(url);
      setTimeout(fn, 10000, url, fn);
    }
    
    ping("https://google.com", ping);

    Можно сделать повторный вызов уже после ответа с сервера, причем не важно удачный или нет:
    function ping(url, fn) {
      fetch(url).then((response) => {
        setTimeout(fn, 10000, url, fn);
      });
    }
    
    ping("https://google.com", ping);
    Ответ написан
    2 комментария
  • Как сделать функцию ping?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1 комментарий
  • Как удалить запись в таблице MySQL по трём параметрам?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Чтобы правильно удалить запись в таблице по трём параметрам, надо указать все три параметра в условии WHERE
    DELETE FROM table_name WHERE col_1=val_1 AND col_2=val_2 AND col_3=val_3


    Не два, не пять, не десять, а ровно три параметра.
    Ответ написан
    Комментировать
  • Как работать с RAID массивом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    рейд массив создает раздел, который ты затем форматируешь в нужную файловую систему и монтируешь как тот же диск C:

    Рейд массив более низкоуровневая штука, чем файловая система.
    Для обычного софта он работает прозрачно, как обычный диск
    Ответ написан
    1 комментарий
  • Как заменить все ссылки в тексте?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Если я вас правильно понимаю, то вы можете использовать jsoup
    Откройте документ, выберите все a[href] замените на нужные, сохраните документ
    https://stackoverflow.com/questions/21529602/jsoup...
    Ответ написан
    1 комментарий
  • Как сделать кнопку «play» как в YouTube?

    OtshelnikFm
    @OtshelnikFm
    Обо мне расскажет yawncato.com
    Упростил https://codepen.io/Otshelnik-Fm/pen/rNRbKKv
    Это один блок. псевдоселлекторы before и after не создают дополнительно в дом дереве. Так что это все еще один dom элемент.
    Если нужно еще проще - в background закодируй svg иконку ютуб кнопки. Но вес будет больше. Тут оптимальный вариант соотношения веса и без запроса к иконке
    Ответ написан
    1 комментарий
  • Какой 3D движок использует ИИ Sora?

    @Mercury13
    Программист на «си с крестами» и не только
    Подозреваю, конструкция тут другая. Смысл 3D-движка — 1) показывать сложное 3D в реальном времени, и главное в этом — отсекать невидимое и посылать видимое на видяху так, чтобы она всё это быстрее обработала; 2) иметь некие утилиты для распространённых частей игр: столкновения, камеры, риги (системы ограничений, позволяющие анимировать не кучу вершин, а, например, руку).

    Сложная картинка — опыт показал, что нейросеть со сложным освещением справляется лучше, чем 3D-движок, но чертовски неуправляема.

    Утилиты — в большинстве случаев генератору видео они мало на что нужны.

    Тут же система, возможно, и придумывает какие-то трёхмерные очертания объектов, но сильно упрощённо, на уровне второй кваки (не так-то и нужно отсечение), а затем обрабатывает результат этого 3D обычной двухмерной нейродумалкой. Пример: та самая женщина, идущая по Токио — от кадра к кадру меняется покрой её куртки.

    UPD. У них действительно есть сильно упрощённая модель трёхмерного мира, именуемая «patches». Но окончательное оформление всё равно делается обычной двухмерной нейродумалкой.
    Ответ написан
    7 комментариев
  • Как правильно написать обобщенный метод?

    @Clubber_77 Автор вопроса
    Решение найдено. Спасибо всем неравнодушным.

    Сам класс
    public class Answer<T> {
        private Info info;
        private T[] results;
    }


    и обобщенный метод, который должен вернуть объект этого класса
    public <T> Answer<T> requestAll(String endpoint, Class<T> tClass){
            String jsonObject = restClient.get()
                    .uri(endpoint)
                    .retrieve()
                    .body(String.class);
            Type type = TypeToken.getParameterized(Answer.class,  tClass).getType();
            return new Gson().fromJson(jsonObject, type);
        }
    Ответ написан
    Комментировать
  • Как правильно составить запрос на создание промежуточной таблицы многие-ко-многим?

    @Everything_is_bad
    Если сочетание (store_ID, item_ID) уникально, то достаточно первого варианта
    Если нет, то второй, только вот без этого извращения PRIMARY KEY (store_item_ID, store_ID , item_ID), зачем тут оно? достаточно просто PRIMARY KEY(store_item_ID)
    Ну и по названиям, достаточно во всех таблицах первичный ключ назвать просто ID, а не store_ID, item_ID и извращений уровня store_item_ID
    Ответ написан
    8 комментариев
  • По какому принципу разбивается http запрос/ответ?

    @Everything_is_bad
    Из чего состоят http запросы и как правильно читать запросы и писать ответы, по какому принципу или структура их надо разбирать и собирать?
    так есть же описание протокола HTTP, открывай, да изучай.

    И вообще, зачем тебе это делать, зачем работать на таком низком уровне, особенно если опыта вообще нет? есть куча готовых решений, если очень хочется увидеть как это парсят, так же открывай, да читай их исходный код.
    Ответ написан
    Комментировать
  • Позволяет ли какой-либо ИИ генератор изображений менять не одежду заданного человека на фото, а человека по заданной одежде?

    soundie
    @soundie Автор вопроса
    Преподаватель, программист, писатель
    Посмотрел внимательнее сервисы, которые генерируют одежду по фото человека - оказывается у одного из них (на приведённой мной даже странице внизу ) есть и обратное:
    5z8bploodu1npq8i9j1pxyxb53u.jpeg

    Тем не менее, если кто знает ещё сервисы - прошу подсказать.
    Ответ написан
    4 комментария
  • Как устранить ошибку BeanCreationException?

    xez
    @xez
    TL Junior Roo
    Это ошибка о том, что у вас два эндпоинта /index
    Ответ написан
    9 комментариев
  • Какой подход использовать для редактирования и удаления сообщений по websocket?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    В вэбсокеты нужно отправлять не сообщение для пользователя, а сообщение для клиента вашего чата.
    Сообщения могут быть примерно такие:
    1.
    { id: 1
      type: newMessage,
      text: "Hello, world!"}


    2.
    { id: 2,
      type: updateMessage,
      idToUpdate: 1,
      newText: "Hello, Dear User!"}

    3.
    { id: 3,
      type: deleteMessage,
      idToDelete: 1}


    Конечно же, на стороне клиента нужно написать какое-то приложение, которе будет эти сообщения обрабатывать и показывать пользователю только текст.
    Ответ написан
    4 комментария
  • Как правильно указать мультиязычные страницы для google?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Tell Google about localized versions of your page, а теперь по-русски:
    1. html lang="ru" должен быть указан и сообщать текущий язык страницы. Отдельный атрибут lang="ru" у элемента перебивает основной, указанный в html lang="ru".
    2. В head необходимо указывать мета атрибуты (ссылки) на аналогичные страницы, но на другом языке.
    3. В head необходимо указать мета атрибут (ссылку) на текущую страницу.
    4. В head необходимо указать мета атрибут (ссылку) на страницу с языком по умолчанию (hreflang="x-default"), если у пользователя в браузере установлен язык, который не обнаружен в мета атрибутах (ссылках) в head нашей страницы, обычно - это английский (стандартный). Здесь же обычно создают механизм выбора языка страницы с последующей переадресацией (если у нас такая имеется), либо перевод авто-переводчиком текущей страницы.

    Важно! Гугл в примерах использует поддомены для языковых версий, я же использую поддомены лишь для регионов или отдельной функциональности (админка, личный кабинет итп).

    Пример ru страницы (дефолтной):
    <html lang="ru">
    <head>
        <title>This is content ru lang (default)</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (ru) -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content ru lang (default)</div>
        <div lang="en">This is content en lang</div>
    </body>
    </html>

    Пример en страницы:
    <html lang="en">
    <head>
        <title>This is content en lang</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (en) -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content en lang</div>
        <div lang="ru">This is content ru lang</div>
    </body>
    </html>

    Пример страницы с не определенным языком (hreflang="x-default"), она же en версия страницы:
    <html lang="en">
    <head>
        <title>This is content en lang</title>
        <!-- link from others lang versions -->
        <link rel="alternate" hreflang="ru" href="https://example.com/page"/>
        <link rel="alternate" hreflang="de" href="https://example.com/de/page"/>
        <!-- link from current lang versions (en) -->
        <link rel="alternate" hreflang="en" href="https://example.com/en/page"/>
        <!-- link from not supported lang versions -->
        <link rel="alternate" hreflang="x-default" href="https://example.com/en/page"/>
    </head>
    <body>
        <div>This is content ru lang</div>
        <div lang="ru">This is content ru lang</div>
    </body>
    </html>

    Должен ли мой переключатель языка, к примеру, быть в виде ссылок < a>, или < button> + js тоже норм (как по умолчанию в opencart)?

    Без разницы, главное, чтобы после действия был выполнен переход на другую страницу с необходимыми метатегами.

    Желательно, чтобы каждая страница сообщала свой язык, используя атрибут land в html теге:
    <html lang="ru">
    Ответ написан
    2 комментария
  • Как сказать «ничего не делаем» используя условные операторы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    String imgName;
    for (byte i = 0; i < arrayImages.size(); i++) {
      imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
      if (imgName.isBlank())
        removeSlide(i);
        continue;
      }
      if (imgName.matches(".*s-[1-4]\\..*")) {
        continue;
      }
      imgName = setCorrectName(imgName, i);
      if (imgName == null) {
        continue;
      }
      // что-то делаем
    }
    Ответ написан
    2 комментария
  • Как сказать «ничего не делаем» используя условные операторы?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    1. Можно вообще ничего не писать.
    2. Можно написать continue; но в этом нет необходимости
    3. Лучше всего вообще не использовать циклы:
    arrayImages.stream()
                    .map(arrayImage -> arrayImage.getOriginalFilename().toLowerCase())
                    .filter(imgName -> !imgName.matches(".*s-1\\..*|.*s-2\\..*|.*s-3\\..*|.*s-4\\..*")
                    .forEach(imgName -> {
                        // Что-то делаем
                        if (imgName.isBlank())
                           // removeSlide(i);
                        else {
                           // imgName = setCorrectName(imgName, i);
                           // if (imgName!=null) {
                                // что-то делаем
                           // }
                        }
                    });
    Ответ написан
    7 комментариев
  • Как сказать «ничего не делаем» используя условные операторы?

    несколько проверок с indexOf() можно заменить на одну imgName.matches(/s-[1-4]\./),

    условие isBlank() лучше ставить первым

    пустой блок если нужен для брейкпоинта, можно там поставить строчку assert true;
    Ответ написан
    Комментировать
  • Как сказать «ничего не делаем» используя условные операторы?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    String imgName;
    
    for(byte i=0; i<arrayImages.size();i++) {
    	
    	imgName = arrayImages.get(i).getOriginalFilename().toLowerCase();
    	
    	if (!(imgName.contains("s-1.") || imgName.contains("s-2.") || 
    		imgName.contains("s-3.") || imgName.contains("s-4."))) {
    			if (imgName.isBlank())
    				removeSlide(i);
    			else {
    				imgName = setCorrectName(imgName, i);
    				if (imgName!=null) {
    					// что-то делаем
    				}
    			}
    	}
    	// ничего не делаем 
    }


    и если бы сделать так, что setCorrectName не будет возвращать null (как вообще функция с таким именем может это сделать?) то еще оду проверку можно выкинуть.
    Ответ написан
    5 комментариев