• Возникла проблема с отправлением содержимого элемента в другой элемент. Как это сделать?

    @reinmaker1990
    AbaiS почему при клике "купить" не дергать ваши товары из хранилища/БД и передавать выбранные позиции в корзину?
    Ответ написан
    Комментировать
  • Как изменить json массив?

    @66demon666
    По навыкам джун - по факту безработный
    Разобрать -> изменить -> собрать
    Ответ написан
    Комментировать
  • Как правильно отсортировать свойства данные по дате и времени?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const sortedArr = arr
      .map(n => [ n, new Date(n.date.replace(/(\d+)\.(\d+)\.(\d+)/, '$3-$2-$1')) ])
      .sort((a, b) => a[1] - b[1])
      .map(n => n[0]);
    Ответ написан
    2 комментария
  • Процедурная генерация случайного мира из 100 на 100 клеток?

    @alexalexes
    Интуитивно можно действовать так:
    1. Капнуть разными красками в N начальных точках, выбранных случайно.
    2. Выбрать цвет для покраски следующей точки (случайно или последовательно).
    3. Найти точку выбранного цвета, с которой еще не работали (нужно выходить из цикла если отработали все точки).
    3.1. Если непокрашенных соседей нет, то запоминаем, что работали с этой точкой, идем опять на шаг 3 (или на шаг 2, можно случайно выбирать).
    4. Выбрать у этой точки непокрашенного соседа (случайным образом).
    5. Покрасить соседа выбранным цветом.
    6. Запомнить, что работали с точкой, выбранной на шаге 3. Перейти к шагу 2.
    7. Кончились точки с которыми не работали - скорее всего пора выводить результат.
    Ответ написан
    Комментировать
  • Когда стоит вкладывать input в label, а когда нет?

    DanArst
    @DanArst Куратор тега HTML
    Гриффиндор в моде при любой погоде!
    Значения не имеет.
    Просто есть два способа связи тега label с элементом формы/объектом:
    1 - помещение объекта внутрь тега
    <label><input type="text"> Пример 1</label>

    2 - при помощи id
    <input id="example-2" type="text"><label for="example-2">Пример 2</label>
    Ответ написан
    1 комментарий
  • Не могу узнать расширение загружаемой картинки, как исправить?

    artzolin
    @artzolin
    php, WordPress разработка сайтов artzolin.ru
    Есть еще функция
    $ext = pathinfo( $file, PATHINFO_EXTENSION );
    Ответ написан
    Комментировать
  • Как создавать объекты через цикл?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Чтобы получить то, что Вы хотите, нужно в цикле
    objFun[num] = { // заменить num на i
      test1: 1,
      test2: 2
    }

    В следствии этой опечатки у Вас код в цикле просто num-1 раз создаёт в объекте одно и то же свойство с именем num.
    Ответ написан
    Комментировать
  • Как линуксоиду установить и настроить на MacOS окружение для разработки под nginx+php+mysql c нуля?

    DevMan
    @DevMan
    как ПКМ даже сделать не знаю
    идешь в настройки тачпада и выбираешь понравившийся вариант.

    Ctrl+C/V не работает тут
    потому что cmd+c/v. или в настройках клавы поменять функциональные клавиши, если горит.

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

    @TheAthlete
    Perl 5, C, C++, компьютерные сети
    В программировании есть такое понятие как модульность - большие системы делятся на модули, каждые из которых отвечают за свою часть работы - ядро linux, графическая подсистема, драйвера. Если взять ядро линукс, то там есть много модулей - драйвера на оборудование - видеокаты, звуковые карты и т.д. на самом нижнем уровне, подсистема для мултиплексирования ввода-вывода (select/poll/epoll) и т.д. Каждый разработчик занимается своей задачей, своим модулем в ядре Linux. Например, если ты пишешь на Node.js можно начать интерисоваться, что же внутри. И найти цепочку, которая ведет в ядро Linux (упрощенно): Node.js -> libuv -> epoll и далее разбираться, как этот системный вызов работает на уровне ядра и начать изучать исходный код ядра Linux для этого системного вызова.
    Ответ написан
    Комментировать
  • Как разложить число в PHP?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Можно без перебора всех вариантов стразу получать искомые IP-адреса - если идти не от чисел, а от суммы цифр каждого числа.
    В результате скрипт, в котором echo было заменено на ++$count, проработал менее 14 секунд и насчитал 112279695 адресов.
    $tbl = array_fill(0, 20, []);
    for ($i = 0; $i < 256; ++$i) { $tbl[intdiv($i, 100) + intdiv($i, 10) % 10 + $i % 10][] = $i; }
    for ($i = 0; $i <= 19; ++$i) {
        for ($j = 0; $j <= min(19, 28 - $i); ++$j) {
            for ($k = max(0, 28 - 19 - $i - $j); $k <= min(19, 28 - $i - $j); ++$k) {
                foreach($tbl[$i] as $v1) {
                    foreach($tbl[$j] as $v2) {
                        foreach($tbl[$k] as $v3) {
                            foreach($tbl[28 - $i - $j - $k] as $v4) {
                                echo $v1, '.', $v2, '.', $v3, '.', $v4, "\n";
                            }
                        }
                    }
                }
            }
        }
    }

    Сумма цифр числа в диапазоне 0..255 имеет диапазон значений от 0 (0) до 19 (199).
    $tbl - массив списков чисел в диапазоне 0..255, имеющих одинаковую сумму цифр.
    Ответ написан
    1 комментарий
  • Как получить название ролика Youtube по ссылке на ролик?

    fomenkogregory
    @fomenkogregory
    Юниор софтварный инженер
    Комментировать
  • Как перевести строку Base64 в картинку в JavaScript?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не надо ничего раскодировать. Достаточно правильно сформировать атрибут src у тэга img.
    Ответ написан
    Комментировать
  • Какой смысл в Tor, если исходные данные подключения передаются Роскомнадзору?

    Jump
    @Jump
    Системный администратор со стажем.
    и прочитала что лицензии и поставщик самого интернет в России является Роскомнадзор.
    Вы какую-то чушь прочитали, или неверно поняли.
    Роскомнадзор это государственная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций.
    Исключительно надзорный орган, который следит за правопорядком. Интернет он не поставляет.

    Интернет вообще поставлять невозможно, ибо это глобальная всемирная сеть. Можно предоставлять доступ к интернету - этим занимаются провайдеры.

    тут мне в голове возникла такая идея ........... засветив MAC адрес своего ПК в сети
    Судя по сказанному вы просто не разбираетесь в работе сети. Очень рекомендую прочитать хотя бы основы работы сетей в целом и интернета в частности, прежде чем генерировать такие идеи.
    По крайней мере будете знать на каком уровне OSI идет работа с MAC адресом, и в каких пределах он распространяется.

    Ведь тогда всю инфу, где такой пользователь подключал свой ПК в сети, можно просто запросить у регионального контролирующего Интернет органа (Роскомнадзор)?! Верно?!
    Конечно можно запросить, только не у Роскомнадзора, а у провайдера. Роскомнадзор то тут каким боком? Это всего лишь контролирующий орган.

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

    vachunya
    @vachunya
    Бог верстки, JS maniac, React bomberman
    Правильно будет контейнеру задать border-radius: 50%, тогда если контейнер квадратный то он станет круглы, форму круга у неквадратного контейнера не задашь никак.
    И еще твой код не работает и зависает, где ты взял его ? может лучше избежать подобного на сайте? Думаю эта типа анимация весит дофига или код ужасен...
    Ответ написан
    Комментировать
  • Как правильно работать с компонентами в Laravel 8?

    С точки зрения vue особо ничего не изменилось. Разве что он теперь не вшит по умолчанию.

    Если говорить про новое - возможно вы имели ввиду функционал livewire. Если им овладеть, то и vue может не понадобится
    Ответ написан
    8 комментариев
  • Можно ли сделать функцию, которая вернёт первую выполненную команду?

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

    Попробуйте web-workers, они по уму могут работать в отдельном процессе, т.е. запускаете два воркера в каждому своя функция и ждете кто первый вернет результат.... Но учтите, даже в случае многопоточного исполнения никаких гарантий что повторный вызов даст тот же результат по скорости.
    Ответ написан
    Комментировать
  • Как правильно прописать несколько событий onclick?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для начала, лучше использовать addEventListener().

    Ну а так, смотрите, здесь:
    id1.onclick = Place('Вода');
    вы присваиваете в onclick результат функции Place().
    Так как функция ничего не возвращает (а только производит действия), то получается так:
    Place('Вода');
    id1.onclick = undefined;

    Чтобы функция стала обработчиком, нужно присвоить её саму, а не результат её вызова:
    id1.onclick = Place;
    Но так, конечно, тоже работать не будет. Теперь нужно прочувствовать этот момент, разобраться до полного понимания, чтобы двигаться дальше.
    Ответ написан
    Комментировать
  • Что означает конструкция var Name = (function(){})()?

    Seasle
    @Seasle Куратор тега JavaScript
    Ответ написан
    Комментировать
  • Как держать больше 65535 одновременных TCP соединений?

    xenon
    @xenon
    Too drunk to fsck
    Вы говорите об ограничении в 64k портов. Оно проявляется, например, в том, что вы не сможете на сервере запустить (на одном IP) больше 64k сетевых сервисов. (ssh слушает порт 22, apache слушает 80, mysql слушает 3306) итд. Каждый слушающий сервис идентифицируется по сокету ( IP + порт), IP у вас один, портов 64k, значит, 64k слушающих сокетов.

    А вот для установленных TCP соединений:

    socket
    An address which specifically includes a port identifier, that
    is, the concatenation of an Internet Address with a TCP port.

    connection
    A logical communication path identified by a pair of sockets.

    https://tools.ietf.org/html/rfc793

    То есть, соединение идентифицируется по IP сервера, порт сервера, IP клиента, порт клиента.

    Да и вы сами на любом более-менее активном веб-сервере видите через lsof множество соединений, и они все установлены с одним вашим сокетом (IP:80 или IP:443), но у них разный второй сокет. Если пользователь, например, качает какой-то файл в два потока, будет один коннект: server:80 - client:4444 и еще один коннект: server:80 - client:4445. Это разные TCP соединения.
    Ответ написан
    Комментировать
  • Как держать больше 65535 одновременных TCP соединений?

    В случае входящих соединений, очевидного лимита в 65535 соединений нет, скорей всего вы упретесь в лимит на файловые дискрипторы (сокеты), для каждого соединения нужен сокет. При этом лимиты могут быть на уровне пользовательских лимитов (и надо учесть для сервисов запускаемых через systemd действуют отдельные лимиты, а не те, которые указываются в limits.conf). Обычно по умолчаню лимиты дискрипторов в районе 1024-4096, существенно ниже 65535. Для очень большого количества сокетов необходимо будет так же менять sysctl на максимальное число открытых файлов, а возможно и пересобирать ядро, чтобы обойти заложенные верхние ограничения.

    В случае исходящих соединений, вы кроме сокетов упретесь в нехватку эфемерных портов, для каждого исходящего соединения требуется отдельный эфемерный порт. По умолчанию, их в районе 16k и можно расширить до 63k через соответствующие sysctl. Выше этого значения разрешить нехватку портов можно путем добавления дополнительных IP + в зависимости от системы, может потребоваться установка флагов SO_REUSEADDR/SO_REUSEPORT/SO_PORT_SCALABILITY). Как они действуют, и какие комбинации надо использовать зависит не только от системы,но и от версии ядра, попытка разобрать есть здесь:
    https://stackoverflow.com/questions/14388706/socke...
    Но в случае, если исходящий трафик идет через NAT (в случае виртуализации это почти всегда так), необходимо решать аналогичную проблему на уровне NAT.

    Для очень большого количества соединений вы будете упираться и в другие лимиты - sysbuf'ы, память и другие.
    Ответ написан
    Комментировать