Задать вопрос
  • Почему функция не видит переменную?

    @0x0f80
    Проблема в том, что переменная i из цикла for не видна внутри page.evaluate(). Чтобы это исправить, передайте i как аргумент в page.evaluate(), например:
    for(let i = 2; i <= 19; i++) {
        let arr = await page.evaluate((index) => {
            let text = document.querySelector(`body > main > div > section > div:nth-child(${index})`).innerText;
            return text;
        }, i); 
        console.log(arr);
    }
    Ответ написан
    1 комментарий
  • Полезность моделей памяти которые отличный от linear?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Во-первых, речь идет об Адресации памяти, а не Модели памяти - это совершенно разные вещи:
    - Адресация памяти - то, как мы к памяти обращаемся
    - Модель памяти - какие ограничения выставляются на рантайм. Например, реордеринг операций

    Не совсем понял, чем представленная модель отличается от обычной линейной. Если только тем, что указанный reference - любое число, а не просто смещение от базы, то:
    - Это только лишние расходы на определение реального адреса
    - Виртуальная память уже реализует такую концепцию, но более сложную - с несколькими уровнями адресации - https://www.kernel.org/doc/html/latest/mm/page_tab...

    Мне кажется что данная модель памяти подойдет для машины заточенной под ООП (привет java)

    Единственное преимущество - локальность (кэш хиты). Но его и самим можно добиться.
    В той же самой джаве это делается через паттерн Off Heap

    для машины с защитой памяти так как из reference выйти не получиться,то есть мы не сможем повредить память другого reference


    См. иерархию страниц памяти. Там это уже реализовано

    Собственно полезна ли данная модель памяти


    Полезна, но уже устарела. Сейчас используются более продвинутые стратегии - https://ru.wikipedia.org/wiki/Адресация_памяти

    если для операций над памятью буду использоваться load/store

    А как иначе?

    а алоцирование кусочков будет проводиться чем-то похожем на new

    Любой new под капотом использует системные вызовы, которые этот самый load/store вызывают
    Ответ написан
    Комментировать
  • Получение з/п в крипте. Какие минусы?

    Минусы:
    1. Вам самим придётся все свои доходы декларировать, чтобы потом не жаловаться, что вам заблокировали счета и начислили пени за неуплаченный налог в лучшем случае
    2. Закон тебя никак не защищает (могут уволить одним днём, например, и вполне законно могут недоплатить, списав на волатильность курса)
    3. Работодатель, который такое предлагает - в 99% случаев занимается чем-то серым, а то и незаконным => тебя ещё могут как соучастника накрыть, если очень сильно не повезёт.
    4. Курс волатильный и могут быть проблемы при попытке перевода в фиат (начиная с комиссий и невыгодного курса, заканчивая обвалом курса и отсутствием покупателей. Про возможность объявления крипты вне закона или блокировки счёта на бирже или в банке я молчу)

    Законно ли это(живу в России)?

    То что ты делаешь уже не законно, даже без привлечения крипты, тк в России запрещено иметь трудовые отношения (регулярные работы на полный рабочий день с фиксированной ежемесячной оплатой) между самозанятым (исполнителем в статусе самозанятого) и заказчиком, ибо это очевидное уклонение от налогов (со стороны исполнителя, ибо так ты уклоняешься от НФДЛ) и нарушение трудового кодекса (со стороны заказчика, тк он уклоняется от уплаты взносов в ФСС и ПФР, и не обеспечивает тебя-работника социальными гарантиями)

    Законно ли это(живу в России)?

    Крипта в России не является законным средством платежей. Так что если не хочется проблем с законом - нужно оформлять две операции:
    1. Оказание услуг (с ценой рублях).
    2. Продажа/покупка крипты на эту сумму.
    Причём по времени сначала ты должен оказать услугу, а уже потом "купить" крипту, после чего её продать, и уже тогда деньги с продажи крипты должны поступить на твой счёт в банке. Иначе рискуешь словить блокировку (в лучшем случае - временную, пока не объяснишь банку, что это вообще произошло)

    Иначе потом будут вопросы "а откуда крипта" и "а где деньги, которые ты должен был получить за оказание услуг".

    Много ли уходит на комиссиях?

    Это уже зависит от того, как будешь выводить и как тебе будет твой "работодатель" деньги присылать.
    Ответ написан
    4 комментария
  • Как работает динамическое прямое соединение для торрент-клиентов?

    @SunTechnik
    https://ru.m.wikipedia.org/wiki/BitTorrent
    Есть torent-tracker, (с белым ip) где регистрируются клиенты и сообщают свои параметры.
    Так как протокол udp без установления соединения, то можно открыть порт через Nat, послав пакет на известный белый ip, после чего другой клиент может слать данные на этот открытый udp порт. (читать про Tun/stun)

    Но в любом случае нужен посредник с белым ip, для регистрации и пробития NAT.
    Ответ написан
  • Какое ядро использует Debian?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    В оригинальном ядре linux есть несвободные прошивка и блобы

    Это неверное заявление. Ядро Торвальдса (вы же его называете "оригинальным"?) доступно в виде исходников под набором свободных лицензий. Но часть этих исходников -- это драйвера устройств, для работы которых требуется firmware, возможно проприетарное. Если собрать такое ядро, то оно будет полностью свободным, но ряд устройств для работы потребует проприетарных блобов, не являющихся частью ядра. Несвободные компоненты в принципе не могут стать частью этого ядра из-за конфликта лицензий.

    какое ядро всё-таки использует Debian ?

    Можно тупо взять и посмотреть, например для debian 12: https://packages.debian.org/source/bookworm/linux
    Внизу страницы есть ссылки на архив с исходниками ядра (это копия ядра из ветки stable) и на архив исходников debian-пакета, а также ссылка на git последнего.
    Ответ написан
    Комментировать
  • Как посчитать разницу между двумя датами в секундах, минутах, часах и т.д.?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Почему так происходит, и как такое можно решить?

    Потому что объект Date возвращает дату, а не интервал времени. Попробуйте так:
    function getTimeDiff(startDate, endDate) {
      const diff = endDate - startDate;
    
      const seconds = Math.floor(diff / 1000);
      const minutes = Math.floor(seconds / 60);
      const hours = Math.floor(minutes / 60);
      const days = Math.floor(hours / 24);
      const months = Math.floor(days / 30); // ~30
      const years = Math.floor(days / 365); // ~365
    
      return {
        years,
        months: months % 12,
        days: days % 30,
        hours: hours % 24,
        minutes: minutes % 60,
        seconds: seconds % 60
      };
    }
    
    const today = new Date();
    const targetDate = new Date("2023-12-29 00:00:00");
    const diff = getTimeDiff(targetDate, today);
    
    console.log(`Разница, лет: ${diff.years}, месяцев: ${diff.months}, дней: ${diff.days}, часов: ${diff.hours}, минут: ${diff.minutes}, секунд: ${diff.seconds}`);
    
    // Разница, лет: 0, месяцев: 0, дней: 0, часов: 9, минут: 51, секунд: 22
    Ответ написан
    Комментировать
  • Как клонировать приватный проект с GitHub на свой VPS?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    • На сервере создаете SSH ключ пользователю, под которым необходимо клонировать репозиторий
    • В настройках репозитория в разделе развертывания добавляете этот ключ
    Ответ написан
  • Hdd на всю жизнь?

    @asmelnik
    Считаем, что "жесткий диск" -- некий достаточно жесткий носитель оцифрованных данных.
    Тогда пожалуйста
    evm-2.jpg
    Металлическая перфокарта.
    Изготавливалась из алюминия. Может быть изготовлена из любого металла, например меди или золота.
    Процесс переноса на перфокарту данных известен, устройство считывания довольно простое и может быть изготовлено самостоятельно, срок хранения -- медные изделия в археологических музеях датируются медным веком :), а золотые самородки говорят о гарантии в пару миллионов лет.
    Т.к. любые данные на компьютере - всего лишь 0 или 1 + протокол преобразования, то получаете жесткий диск с временем хранения в более-менее подходящих условиях несколько десятков тысяч лет.
    Ответ написан
    Комментировать
  • Hdd на всю жизнь?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Не может.
    - В том числе не могут сохраниться данные (размагнитятся).
    - Если это SSD - тоже не могут (заряд утечет из ячеек, но появится посторонний от окружающей радиации).
    - В том числе выйдет из строя механика (или от работы, или от лежания - "прикипит").
    - В том числе окислятся и потеряют рабочие свойства электрические элементы (изоляция, пластик, дорожки, токоведущие кабели головки станут хрупкими).

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

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

    При условии, что его никогда не будут доставать из коробки.

    В принципе самый первый жесткий диск появился 60 лет назад. Самый первый 3.5" - 40 лет назад.

    Если нужно 80 лет на горячую хранить - делай резервирование, бэкапы, периодически проверяй целостность и обновляй железо по мере износа.

    Если нужно 80+ лет холодного хранения, то используй другие технологии: магнитную ленту, стеклянные диски, бумагу.
    Ответ написан
    Комментировать
  • Почему при создании объединенного типа из нескольких в условии не работает условие или?

    Col | ColWithMain работает взаимоисключающе. Вы определяете тип но полю type. Почитайте https://habr.com/ru/articles/778060/.
    Ответ написан
    Комментировать
  • Почему javascript не хочет читать функции?

    IvanU7n
    @IvanU7n
    nothing interesting here
    потому что querySelectorAll() возвращает не массив, а похожий на него объект (NodeList)
    если нужен массив, нужно преобразовать вручную через Array.from()
    Ответ написан
  • Что стоит учить с или c++ или c#?

    хочу разрабатывать ПО для ПК.

    "ПО для ПК" - это очень широкий набор и каждый из этих языков подходит, но для разных подмножеств.

    Или может лучше начать с C#, а дальше уже выучу C++?

    Если хочешь C++ - учи сразу C++.

    Надо ли учить Си?

    Если будешь писать на си.

    Подумал начать с C++

    Если хочешь потом с C++ перейти на что-то другое, то начинай с этого "чего-то другого".
    Ответ написан
    Комментировать
  • Разработка продающего сайта для начинающих. Как не заплатить деньги зря?

    Sanes
    @Sanes
    Сделать с минимальным набором функционала и не тратиться сильно на дизайн. Бюджет выделить, который не жалко потерять.
    Возможно вам не нужен отдельный продукт, а будет достаточно работы на маркетплейсах.
    Ответ написан
    1 комментарий
  • Как реализован механизм работы в программе punto switcher?

    @maximq
    QA Engineer
    Работает по принципу кейлоггера, весь набираемый текст анализируется программой, при нахождении совпадений набранное слово заменяется.
    Ответ написан
    1 комментарий
  • Почему webpack обфусцирует код и можно ли это отключить?

    Fragster
    @Fragster
    помогло? отметь решением!
    "Почему обфусцирует?" - Для уменьшения размера
    "Можно ли отключить?" - Надо выключить https://webpack.js.org/configuration/optimization/...
    По поводу "медленнее" - это результат замеров или предположение?
    Ответ написан
    3 комментария
  • На сколько Java отличается в обозначении типизации от C# для понятия TS?

    У TS типизация структурная и там есть алгебраические типы данных, а у C#/Java номинативная и алгебраических типов данных нет (upd: хотя вроде в жаве есть enum class)
    Ответ написан
    3 комментария
  • На сколько Java отличается в обозначении типизации от C# для понятия TS?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Странная идея вообще учить язык А или Б для того чтобы понять язык В.
    Учите TS чтобы понимать TS, учите C# чтобы понимать C#.
    Ответ написан
    Комментировать
  • Почему показывает, что прокрутки у страницы нету в while, хотя она есть?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Потому что ваш цикл while блочит поток выполнения.
    Можно воспользоваться функцией setInterval – каждый новый запуск будет выполнятся в новой итерации цикла событий (event loop), давая браузеру время на выполнение других необходимых задач. Например пересчитать и перерисовать объекты на странице.

    Ответ написан
    Комментировать