Задать вопрос
  • Какой тип данных у RegExp, TypedArray и других?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    А ведь и правда есть термин для них (но не тип, конечно): Well-Known Intrinsic Objects

    Если же вы спрашиваете как затипизировать что-то, что может быть "RegExp, Array, Function и другим" (и не указывая при этом каждый тип явно), то должен, наверное, подойти только object (не смог в доке TS найти отличается ли TS-тип object от базового JS-объекта; например, в TS есть явная типизация функций, но можно ли её заменить на object?). Но это максимально странная задача, которую явно надо решить каким-то другим способом.
    Ответ написан
    6 комментариев
  • Блокируется ли Wireguard в РФ?

    @Drno
    зависит от региона \ города \ оператора
    где то да, где то нет

    Официально - нигде нет списков разрешенных \ запрещенных. Всё как в туркменистане - узнаётся по факту...

    Если надо чисто для борьбы с действиями РКН, тогда ставьте xray vless reality - статьи есть на хабре. Можно с веб панелью - 3x-ui (есть на гитхабе)

    Если нужен именно ВПН - то аналог sstp - --ocserv (гитхаб)

    Если совсем нет знаний и понимания - ставьте Amnezia с протоколом xray \ vless. там есть автоустановщик и приложенька
    Ответ написан
    2 комментария
  • Как проверить текст на осмысленность?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Есть текст сообщения: 'фывыфывф фывффывф фывфывфывфы'. Мне нужно чтобы после проверки на подобное вернуло false. Что можно сделать?

    Если только слова достаточно проверять по словарю.
    Если реально осмысленность - искусственный интеллект
    Ответ написан
    Комментировать
  • Как назначить собственный ip для каждого браузера?

    xez
    @xez
    TL Junior Roo
    Организовать прокси серверы в количестве, соответствующим количеству браузеров.
    Настроить каждый браузер ходить через отдельный прокси-сервер.
    Ответ написан
    4 комментария
  • Как Telegram бот может отправить ссылку для отправки SMS?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Можно давать ссылку на http/https, который редиректит на sms.
    Ответ написан
    5 комментариев
  • FFMPEG одновременное использование CPU и GPU для конвертирования mp4 файла в DASH?

    @rPman
    Подойдет разделить видео на части и запустить двумя процессами, с разными настройками для cpu и gpu, после же объединить полученные куски в режиме copy (на максимальной скорости диска)?

    Размеры кусков подобрать эмпирически после экспериментов, во сколько раз cpu медленнее gpu.

    Что то похожее я делал, перекодируя видео на нескольких физических машинах.
    Ответ написан
    Комментировать
  • Как расшифровать 1685700050?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Ну если это время, то:
    import datetime
    
    timestamp = 1685700050
    str_time = datetime.datetime.fromtimestamp(timestamp)
    print(str_time)

    У меня получилось 2023-06-02 13:00:50

    UPD. Это не код, а UNIX-время - количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года
    Ответ написан
    Комментировать
  • Как подключить вконтакте на сайт чтобы слать юзеру в вк уведомления или сообщения?

    @GrigoryMorozov
    Судя по документации и FAQ, вы не можете использовать полученный токен для того, чтобы разрешить сообществу отправлять сообщения пользователю (метод messages.allowMessagesFromGroup доступен только для standalone-приложений и требует одобрения со стороны ВК).

    Доступные вам варианты — явно запросить согласие на отправку сообщений через виджет или мини-приложение.
    Ответ написан
  • В какую сторону развивается Vue и есть ли ему современные альтернативы?

    yarkov
    @yarkov Куратор тега Vue.js
    Помог ответ? Отметь решением.
    Что вообще с фреймворком? Он развивается?

    Вы ведь даже не попытались гуглить. Не ходили в github проекта.
    Если да то в какую сторону и что слышно про Vue 4?

    В лучшую. Зачем вам 4? Разберитесь пока с тем что есть.
    Про React знаю, но интересуют именно Vue и ему подобные фреймворки

    Возьмите React )) Ну а подобные Vue... На слуху наверное только Svelte.
    Ответ написан
    Комментировать
  • Как тестировать запросы и ответы из базы данных через phpunit?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Мне кажется, что найденные варианты работают не так. Используются они оба, а какой именно - зависит от того, что именно вы тестируете - запрос или ответ.

    Если говорить про "запросы к БД", то для таких тестов "массив с данными" использовать просто глупо. Это получится какой-то формальный тест: "проверяем, что метод возвращает массив из трех строк - и тут же возвращаем этот самый массив". В чем смысл? Если вы тестируете запрос к БД, то и надо тестировать запрос к БД. По-другому никак.

    Здесь я отвлекусь, и порассуждаю на тему того, что на самом деле тестирование - это гораздо более трудоёмкая задача, чем обычно считается. И как следствие, большая часть тестов - это такая вот туфта. Либо тест заранее возвращает нужные данные, либо тестирует один-два кейса. А вариантов неправильных входящих данных ведь может быть огромное количество. То есть по-хорошему на такой заведомо сложный (и принципиально неделимый!) метод нужно десятка два тестов.

    И сюда же использование для тестов БД другой системы. Например основная БД MySQL, а для тестов используется Sqlite. Тут сразу можно сказать, что это профанация. Различие даже в какой-то одной настройке БД может повлиять на результаты запроса (и теста как следствие) - а тут и вовсе используется совсем другая БД.

    С другой стороны, работу с БД скорее стоит тестировать не в юнит тестах, а скажем в интеграционных. Но не будем углубляться.


    Массив же "с данными, симулирующими ответ из базы данных" используется на следующему уровне, там где требуется "ответ из базы данных". Взьмём метод, который использует данные, полученные из БД. Например авторизация юзера. Этот метод должен не сам лезть в базу, а дёргать отдельный метод, вполне возможно, что совсем другого класса. И вот чтобы протестировать авторизацию, вы и мокаете метод для работы с БД, и из этого мока возвращаете тот самый массив без всякого обращения к бд.

    Здесь нелишне будет напомнить название доклада с одной из последних конференций по пхп. Дословно не помню, но что-то вроде "Делайте методы как можно короче. Ваши тесты скажут вам спасибо." Собственно, именно при тестировании очень быстро начинаешь понимать удобство атомарных (то есть выполняющих какую-то одну простую операцию) методов. А без тестов пройдёт довольно много времени, пока не понадобится этот длинный метод отрефакторить, и по итогам менять кучу кода, который его вызывает.

    Так что разбивайте ваши длинные методы на мелкие, и тогда вопрос, как их тестировать, в большинстве случаев отпадёт сам собой.
    Ответ написан
    1 комментарий
  • Как Вернуть промис без прописывания .then каждый раз?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Почему метод pop удаляет не все елементы массива?

    Wispik
    @Wispik
    1. Нельзя итерироваться по объекту и одновременно изменять его
    2. pop удаляет с конца, а for of идет по массиву сначала

    Первая итерация цикла number=3, pop удаляет с конца, то есть 5
    вторая итерация number=8, pop удаляет 9
    и так далее
    когда number=6(четвертая итерация), 6 - это последний элемент массива, так как остальные удалил pop
    Ответ написан
    2 комментария
  • Как проксировать websocket не упираясь в пределы tcp?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проксируется в целом ровно точно так же, как и любая сетевая нагрузка: клиенты [n] -> балансер -> сервера [m]. Лимит портов в 65к достаточно просто преодолевается путем добавления дополнительных сетевых адаптеров/каналов.
    Дополнительные ссылки:
    https://unetworkingab.medium.com/millions-of-activ...
    https://blog.postman.com/postman-engineering-milli...
    https://serverfault.com/questions/725224/how-to-ha...
    https://josephmate.github.io/2022-04-14-max-connec...
    https://github.com/eranyanay/1m-go-websockets
    https://github.com/ramsicandra/1million-ws

    Кроме того, WS коннекты можно балансировать как HTTP - банальным редиректом на прямой коннект к серверу. Т.е. клиент коннектится к балансеру, а он ему говорит: "а теперь тебе вот сюда коннектится надо". Или можно совмещать. Пару слов про проксирование WS в nginx: в сети пишут, что nginx с этим плохо справляется под существенной нагрузкой и лучше всего проксировать WS через специализированные прокси типа HAProxy.
    Ответ написан
    2 комментария
  • Как остановить выполнение функции при нажатии на input?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    var timeoutId;
    // ...
    timeoutId = setTimeout(...
    // ...
    timeoutId = setTimeout(...
    // ...
    function stop() {
      clearTimeout(timeoutId);
    }
    document.getElementById("placeholder_text").click = stop;


    Ну и не называй функцию do, есть ключевое слово do ... while.
    Ответ написан
    Комментировать
  • Компилируемый ЯП в стилистике JS есть?

    cyber-jet
    @cyber-jet
    Rust :)
    Ответ написан
    Комментировать
  • Как заменить под-зависимость на локальную копию?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    В package.json есть раздел overrides как раз для таких модификаций зависимостей зависимостей. В примерах в документации там почему-то акцент сделан только на версии пакетов, но можно и полностью заменить пакет на свой, если указать не версию, а локальный путь к нему.
    Ответ написан
  • Можно ли узнать, какой именно хост блокирует пакет?

    @AlexVWill
    Штука в том, что так не определишь. Именно потому что та верно отметил "соединение устанавливается, но ни один входящий байт не проходит". На самом деле конечно проходит, просто ТСПУ провайдера калечит VPN пакеты, так что до сервера доходит не шифрованный пакет, а абракадабра, которую нельзя расшифровать. Отсюда и проблема, сервер не может подтвердить подлинность пакета и отвергает его.
    Тут только можно посоветовать переход на какие то более другие протоколы, которые роскомпозору не по зубам.
    Ответ написан
    Комментировать
  • Cервисы email рассылок без подтверждения получателя?

    ZERGeich
    @ZERGeich
    Спам это плохо.
    Не знаю насчёт проверки подтверждений, но гугл вполне себе выдаёт кучу сервисов рассылок.
    Ответ написан
    Комментировать