Задать вопрос
  • На чём создать прогу для обработки больших данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? В общем случае - на том, что знаете или что интересно было бы изучить.
    Ответ написан
    2 комментария
  • Какая точность у float чисел IEEE754? Значение какое, число какое, без текста?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    У 32-битового вещественного числа в IEEE754 точность ~7 десятичных разрядов. То есть, для числа 500 это будет 499.9999 и 500.0001.
    Значение ε при сравнении вещественных надо вычислять исходя из значений самих чисел. Примерно так:
    bool function isEqual(float a, float b) {
        float eps = 1e-6 * max(fabs(a), fabs(b));
        return fabs(a - b) < eps;
    }
    Ответ написан
    Комментировать
  • Как получить доступ к локальной переменной?

    @Everything_is_bad
    Я понимаю, что нет доступа к переменной signup, пытался сделать её глобальной - ничего не меняется. Что я упускаю?
    нет, ты вообще не понимаешь причину. А причина проста, что будет в signup, если self.cursor.execute вернул в result пустой итератор? Поэтому всем ботописцам и тыкаем, учи сначала основы питона, порешай простые задачи, а только потом пиши ботов.
    Ответ написан
    8 комментариев
  • Как открыть локальный проект с телефона?

    @rPman
    запускай веб сервер
    php artisan serve --host=0.0.0.0
    а подключайся по ip адресу компьютера, на котором стоит веб сервер
    Ответ написан
    Комментировать
  • Как открыть локальный проект с телефона?

    dev server надо на адрес 0.0.0.0:8000 (или на адрес ноутбука в локальной сети), а подключаться к нему по адресу ноутбука.
    Ответ написан
    Комментировать
  • Как правильно собрать сеть в квартире?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Нужен один мощный роутер Keenetic на arm64, можно на даже входе, лучше конечно в комнате в центре квартиры. И от него несколько жгутов витой 6 категории, либо если дешевле, то 5е. Главное, чтобы от роутера была витая пара в другие концы квартиры, чтобы подключить один или два ретранслятора в mesh сеть. Скорее всего они вообще не понадобятся.
    Идея с коммутатором и 3 роутерами выглядит донельзя странной. Либо вы что-то не договорили, либо есть фундаментальное непонимание. Ибо как минимум загадить и так забитые в МКД диапазоны WIFI, особенно 2.4 тремя источниками на разных каналах вместо одного - очень и очень плохая идея.
    Ответ написан
    9 комментариев
  • Реально ли студенту найти работу, связанную с сетями?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, вполне реально. Находите подходящую вакансию, проходите собеседование, начинаете работать. Самый простой вариант - линейный монтажник любого провайдера вашего города или ближайшего крупного города/райцентра к вашему частному дому, если живёте за городом. Там даже опыт обычно не требуется.
    Ответ написан
    Комментировать
  • Почему массив с undefined не работает с методом map?

    Lynn
    @Lynn
    nginx, js, css
    методы map/foreach/filter и т.п. не работают с несуществующими элементами массива. Это явно написано в спецификации.

    https://developer.mozilla.org/en-US/docs/Web/JavaS...
    callbackFn is invoked only for array indexes which have assigned values. It is not invoked for empty slots in sparse arrays.


    Используй метод fill или статический метод Array.from (хотя это больше похоже на хак)

    const a = Array(1000).fill(1);
    или
    const a = Array.from({length:1000}, () => 1);
    Ответ написан
  • Нормально ли это часто менять языки?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Язык для программиста - средство выражения своих мыслей :) Это примерно как автомеханику иметь такой ключ, сякой ключ, да еще растакой набор ключей - каждый под свой случай. Знать два-три языка неплохо - инструмент под задачу, а не наоборот.
    Ответ написан
    Комментировать
  • Нормально ли это часто менять языки?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В начале профессионального пути это даже хорошо, позволяет расширить кругозор и стимулировать интерес. Конечно, все хорошо в меру, не стоит учить два языка одновременно или бросать один ради другого на полпути.
    Ответ написан
    Комментировать
  • Нормально ли это часто менять языки?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    ЯП — это всего лишь инструмент. Какой нравится — такой и используйте. Хотите попробовать какой-то новый — пробуйте. Ничего такого в этом нет. А уж ужасного — тем более, так что бред эти все статьи.
    Ответ написан
    Комментировать
  • TS - почему строка обрабатывается по разному в варианте с дженериком и просто строкой в mapped types?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Если кратко - "потому что так мир устроен".

    {[K in keyof T]: ...} - это специальный особый паттерн, где ты итерируешься по ключам "локального типа" внутри генерика (аналог локальной переменной внутри функции). Важен тот факт, что тип именно локальный - либо параметр генерика, либо что-то, извлеченное с помощью infer.

    В этом случае, во первых, игнорируется обработка примитивных типов, во вторых, если в T окажется массив или кортеж (если убрать ограничение на строку), то результат будет аналогичным массивом/кортежем той же конструкции, в третьих, если в T передать объединение типов, то происходит их дистрибуция, аналогичная этой, когда каждый элемент в объединении обрабатывается отдельно.

    Если чуть изменить MappedGenericStringType, то паттерн разваливается и вся вышеописанная магия исчезает:
    type MappedGenericStringType1<T, Keys extends keyof T = keyof T> = {
      [K in Keys]: any;
    };
    
    // или так
    type MappedGenericStringType2<T> = keyof T extends infer Keys extends keyof T ? {
      [K in Keys]: any;
    } : never;
    Ответ написан
    Комментировать
  • Почему не работает JSON.parse?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - let text = `{"content":"<svg width=\"133\" height=\"510\" viewBox=\"0 0 133 510\">"}`
    + let text = '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'

    Как получить правильный JSON:
    console.log(JSON.stringify({content: '<svg width="133" height="510" viewBox="0 0 133 510">'}))
    // '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'
    Ответ написан
    2 комментария
  • Я в РФ, если пройду собес в компанию из РБ, Казахстана и т.д. обязательно ехать туда?

    TrueBers
    @TrueBers
    Гуглю за еду
    Меньше думай и слушай чушь!
    Не существует никакой русофобии, так же как и нет для тебя никаких "недружественных стран", весь мир дружественный, если ты адекватный и общаешься с адекватным человеком на той стороне провода. Если хочешь работать где угодно, выкинь этот пропагандистский мусор из головы. Адекватному работодателю до жопы вообще из какой ты страны, откуда работаешь, какому богу молишься.

    Если ты крутой спец, а им надо тебя заполучить, поверь, в ход пойдут любые методы тебя урвать. И как платить найдётся, и как контракт заключить, и как сделать так, чтоб тебе было комфортно, главное работу чтоб делал круче всех. Даже США с их драконовскими законами про разрешение на работу и резидентство, имеют кучу лазеек, чтобы протащить понравившегося кандидата.

    Проксей — миллион, способов оплаты — сотни, способов легально платить налоги — десятки. Главная проблема — лень. Лень твоя и лень работодателя, других преград нет.
    Ответ написан
    5 комментариев
  • Я в РФ, если пройду собес в компанию из РБ, Казахстана и т.д. обязательно ехать туда?

    Во-первых: кто тебе мешает задать этот вопрос представителю компании, в которую ты собесишься еще до собеседования?

    Иногда бывает, что компания ищет себе сотрудника именно в штат с релокацией. Об этом обычно пишут в вакансии, но лучше это уточнить, вдруг забыли написать.
    Тогда не то что просто съездить и подписать доки нужно будет, а прям переехать.

    Обычно с другими странами работают через ИП и какого-нибудь посредника типа solarstaff.

    Формально ты деньги получаешь от посредника (соответственно не нужно возиться с ВЭД) и заказчик также передаёт деньги посреднику.

    И соответственно оформляешься ты не в штат, а просто как исполнитель по обычному не трудовому договору.

    А бумаги курьерской службой.
    Ответ написан
    Комментировать
  • Нужно ли ехать в Москву из региона если устраиваешься удаленно программистом?

    Если в компании нормально кадровый процесс построен и нет требования «познакомиться лично», то не нужно. Документы либо электронно подписываются, либо пересылаются почтой.
    Ответ написан
    2 комментария
  • А не разбирался ли кто-нибудь с протоколом устройств SmartLife/Tuya?

    GavriKos
    @GavriKos
    Ну проще всего посмотреть поддержку вашей кормушки в каком нить HomeAssistant. Если поддержка там есть - читать реализована она через локалку или нет.
    Отучать устройства Tuya от интернета можно - у них неплохой developer portal, через который вполне получаются креды каких нить лампочек или подобных устройств, и потом пробрасываются в тот же HA.
    На более низкий уровень - не спускался.
    Ответ написан
    Комментировать
  • В чем заключается ошибка этой логики рекурсии?

    WblCHA
    @WblCHA
    Ты не ту функцию вызываешь. У тебя мгновенно вешается красный после зелёного, естественно ты не увидишь разницы.
    document.body.style.backgroundColor = "red";
    document.body.style.backgroundColor = "green";
    // delay
    document.body.style.backgroundColor = "red";
    document.body.style.backgroundColor = "green";
    // delay
    ...


    Тебе disco вызывать надо.
    Ответ написан
    1 комментарий
  • В чем заключается ошибка этой логики рекурсии?

    @timau32
    Ну у тебя почти все правильно разве, что можно сделать его короче.

    function disco(delay, isRed) {
        setTimeout(function tick() {
            document.body.style.backgroundColor = isRed ? 'red' : 'green';
            disco(delay, !isRed)
        }, delay);
    }
    
    disco(1000);


    и в принципе потом можно по такой же логике просто подрубить setInterval вместо бесконечных генераций Таймаутов.
    Ответ написан
    Комментировать
  • Как исправить ошибку TS?

    director-rentv
    @director-rentv
    Frontend-разработчик
    Пометьте const AUTH_FIELDS как readonly

    const AUTH_FIELDS = {
      LOGIN: 'login',
      PASSWORD: 'password'
    } as const


    Тогда этот объект будет с полями литерального типа, без as const они просто мутабельный string
    Ответ написан
    Комментировать