• Как удалить все выделенные checkbox?

    Ragtime_Kitty
    @Ragtime_Kitty
    Не могу понять что не так


    Ошибка в том, что document.getElementsByClassName возвращает не массив, а коллекцию нодов и перебор через i++ вам тут не поможет, потому что как только вы удаляете элемент, он пропадает и из этой коллекции. Может кто-то другой сможет это точно объяснить, я не очень умная.

    Используйте цикл while:
    $('#del').click( function () {
      var types = document.getElementsByClassName('active');
      while (types[0]) {
        types[0].remove();
      }
    });


    А вообще, у вас подключена здоровая jQuery, а вы используете ее только чтобы клик на кнопку навесить. Сделайте все тогда уж на ней:
    Ответ написан
    Комментировать
  • Вывести случайное число которое делится на 3 без остатка?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Можете просто умножить любое случайное число на 3
    Ответ написан
    Комментировать
  • Как на js делают такие слайдеры?

    Vlad_IT
    @Vlad_IT Куратор тега CSS
    Front-end разработчик
    В принципе, не так сложно. Достаточно в каждый слайдер поместить два блока - дата и контент. Контент скрываем. И при скролле слайда, поворачивать все слайды через transform: rotate, а тому слайду, у которого поворот будет равным нулю, назначаем класс active, в котором указываем, что нужно показать блок с текстом.
    Грубый пример:

    UPD: вот так лучше иллюстрирует
    Ответ написан
    1 комментарий
  • Перестал работать Websocket после перехода на HTTPS. Чего менять?

    Robur
    @Robur
    Знаю больше чем это необходимо
    А вы поддержку SSL для вебсокетов включили на сервере или только префикс в строке поменяли?
    У вас по вопросу непонятно кто там слушает сокет - go или php. Я так понимаю что все таки go, wss настраивайте так же как и https, если https у вас работает без проблем, то с wss проблем быть не должно
    Ответ написан
    3 комментария
  • Поскажите хорший курс по алгоритмам?

    @bogomazov_vadim
    Подскажу не курс, а книгу, если именно алгоритмы интересуют - Грокаем алгоритмы. Имхо хорошо подходит для "въезжания" в тему и очень доступно для начинающих.
    Ответ написан
    1 комментарий
  • Как правильно реализовать авторизацию и аутентификацию на сайте?

    @ghostiam
    На Go писатель, серверов пинатель.
    Да, самый простой вариант, это:
    Пользователь отправляет нам на сервер логин+пароль.
    Сервер сверяет с данными в БД, если всё хорошо, то генерирует большую случайную строку(Токен), которую добавляет как запись в БД (UserID, Token), после этого отправляет клиенту токен, чтоб тот установил у себя его в куки (заголовок Set-Cookie).
    Теперь браузер клиента на каждый запрос будет отсылать на сервер куку и мы можем, обращаясь к БД на поиск строки из куки, получать данные о пользователе.
    Но так как хранение в БД не всегда эффективно, токены хранят иногда в быстрых БД, таких как Redis или MemCached.

    По поводу сессии:
    Иногда, чтоб не ходить в главную БД на каждый запрос, некоторые данные выносят из главной БД(В тот же Redis, MemCached или даже просто в файл на диске с именем токена). Просто теперь, хранится не только токен, но и по имени токена сразу же получают некоторые данные, например, что у пользователя ID=42 и что он администратор.

    Через какое то время удалять?

    День, неделя, несколько часов, зависит от задачи.
    Например, некоторые сайты хранят сессию сутки, но если нажать галочку "Запомнить меня", то срок может увеличится до недели или месяца.
    Сервисы оперирующие с деньгами или чем-то, что может представлять ценность, делают сессии от 10 минут.
    Ответ написан
    6 комментариев
  • Что надо исправить, что бы заработал самописный слайдер на js?

    @StockholmSyndrome
    когда навешиваете обработчики на элементы, например, здесь:
    img.addEventListener("mouseover", this.stopAutoplay);

    теряется контекст, поэтому нужно так:
    img.addEventListener("mouseover", this.stopAutoplay.bind(this));


    здесь он тоже теряется
    this.autoplayInterval = setInterval(function() {
      this.sliderNext.click();
    }, this.sliderDelay);

    поэтому либо используйте стрелочную функцию:
    this.autoplayInterval = setInterval(() => {
      this.sliderNext.click();
    }, this.sliderDelay);

    либо опять же метод bind:
    this.autoplayInterval = setInterval(function() {
      this.sliderNext.click();
    }.bind(this), this.sliderDelay);
    Ответ написан
    1 комментарий
  • Как убрать эти линии вокруг div?

    DeLaVega
    @DeLaVega
    Верстаю, фронтэндю =)
    body {
      margin: 0;
      padding: 0;
    }
    Ответ написан
    Комментировать
  • Почему не открывается сайт на Laravel?

    @ipokos
    - проверьте, идет ли вообще запрос к нужному серверу
    - если логи пустые, значит на них нет прав или пишутся в другое место
    - дуступны ли файлы из корневой директории (может не правильно сделали линк)
    - есть ли права на файлы
    - можно попробовать отобразить в index.php все ошибки пыхи, но если ошибка не с синтаксисом, то это ничего не даст. Смотрите пункт 2.
    Ответ написан
    Комментировать
  • Как писать API?

    KIVagant
    @KIVagant
    Разработчик web-сервисов
    1. Жесткая типизация и контроль входных и выходных данных. Много проблем получали, когда php-сервер отдавал string вместо int, например.
    2. Предусмотреть разный формат возвращаемых данных — json, xml и т.п. — на клиентсайде может оказаться не только ios.
    3. Предусмотреть перехват всех внутренних ошибок и исключений, чтобы клиент всегда получал логичный ответ вместо неожиданных ошибок.
    4. REST моден, но совершенно необязателен. После нескольких лет существования некоторых сервисов мы только сейчас начали вводить поддержку REST. Это нам не мешает разрабатывать популярные мобильные приложения на всех видах устройств.
    5. Изучите хорошие примеры сервисов и наоборот — ужасные примеры (Facebook). Никогда и ни за что не делайте, как у FB.
    6. Предусмотрите инструменты отладки.
    7. Сразу продумайте версионность. Выпустив однажды мобильное приложение уже нельзя будет просто поменять API.
    8. Можно сразу заложить инструменты кеширования и авторизации на уровень ядра API. Например, в одном приложении мы передавали oauth-токен в заголовках. Это позволило избавиться от постоянных проверок авторизации внутри модулей API, отдав это в родительские классы и управляя доступами через конфиги.
    И т.п.
    Ответ написан
    3 комментария
  • Какие нужны фундаментальные знания?

    Exomode
    @Exomode
    Архитектор ПО
    Это ощущение вас никогда не покинет, учитывая темп развития технологий в последние 20 лет. Только вы досконально изучите и научитесь работать с одной технологией - ей на замену сразу придет другая и придется её точно так же изучать чтобы оставаться технически востребованным и конкурентноспособным специалистом на бирже труда. Смиритесь с этим чувством. Либо просто досконально изучите определенный классический стек технологий и работайте с ним, если ваш уровень развития вас устроит.

    По поводу литературы и мануалов от себя могу сказать, что в нашем деле главное не теория, а практика. Мы делаем, а не учим. Наше дело - как максимум, помочь другим советом или опытом. Мы никак не сможем многолетний практический опыт, выработанный склад мышления и все наши навыки доскональным понятным языком описать в очередной книге чтобы, прочитав её, другой человек смог достичь того же уровня. Это очевидно. Практикуйтесь, развивайтесь, изучайте, экспериментируйте, не бойтесь на первый взгляд нерешаемых задач, больше практики, меньше чтения. Восполняйте чтением необходимые вам теоретические пробелы, чтобы ваши практические навыки улучшались. Это главное, что я могу сказать, опираясь на собственный десятилетний опыт работы в нашей сфере труда.
    Ответ написан
    Комментировать
  • Есть ли разница между горутинами и await в C#?

    Tyranron
    @Tyranron
    Несмотря на то, что эти инструменты созданы для решения одних и тех же проблем, делают они это по-разному, как под капотом, так и в плане предлагаемых абстракций. Потому нельзя сказать что async/await в C# - это "просто обертка над горутинами".

    Горутины в Go - это концепция stackful coroutines (под капотом) + CSP (в абстракциях). Каждый раз, когда мы создаём горутину, под неё выделяется отдельный стек вызовов для её собственных нужд. При этом, когда происходит паника, то stack unwinding (размотка стека вызовов) происходит только в пределах этой горутины и не покидает границ её стека. Стек горутины полностью отвязан от стека её создания/вызова, потому горутина не может возвращать результат. Любое общение между горутинами выполняется либо посредством каналов, либо какой-то общей памяти.

    async/await в C# (то есть, Task'и) - это концепция stackless coroutines (под капотом) + futures (в абстракциях). Код с async/await'ами компилятор превращает в определенную стэйт-машину с yield point'ами. У них нет отдельного стека, они выполняются в том же стеке что и вызывающий их код. Соотвественно, есть возможность словить exception'ы (аналог panic'и) возникающие внутри асинхронного Task'а прямо в запускающем его коде. Так как выполнение идёт на том же стеке - Task нормально может возвращать результат и мы его можем считать в вызывающем коде без дополнительных примитивов/инструментов.

    При этом, если мы запустим Go с GOMAXPROCS=1, то мы получим однопоточный асинхронный код в Go (по умолчанию он многопоточный). Также и в C# мы можем выполнять Task'и как на одном потоке, так и на thread pool, получая аналогичные Go гарантии рантайма.

    С точки зрения абстракций/использования - это уже вкусовщина. Кому как больше нравится. У futures лучше дизайн в плане composability (их эргономичнее join'ить и select'ить), но они вынуждают писать везде async и await. У горутин надо постоянно городить чехарду с синхронизацией (попробуйте сделать аналог await для произвольной горутины), но если эту чехарду прятать под капот (как обычно и делают), то код вообще выглядит полностью синхронным и программисты радуются.
    Ответ написан
    4 комментария
  • Какой правильный ответ к загадке?

    LenovoId
    @LenovoId
    svg, css,js
    У получателя посылки ключ уже имеется , так как любой замок продаётся с тремя копиями ключей ...ключ был отдан заранее
    Ответ написан
    Комментировать
  • Как не превратиться в мамонта?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    1. Видимо тем, кто собеседует, нечего делать или они слишком зеленые чтобы понимать смысл управления проектом. На собеседовании нужно спрашивать не все нюансы языков/фреймворков а то, что реально требуется в проекте, и умение разбираться с новым в пределах проекта. При собеседовании практически всегда можно завалить при желании, но нужно ли это делать неясно.

    2. Окей, а если не на собеседовании вам поставят задачу - вы разберетесь или будете волноваться что наизусть не знаете?

    3. Самоорганизация и умение работать зачастую важнее, чем специализированные знания, ибо все в мире ИТ и бизнеса к этому ведет - упрощение языков программирования, автоматизация, все эти скрамы - все это ведет к уменьшению человеческой ошибки и возможности замены программиста.
    Ответ написан
    1 комментарий
  • Ребят что такое https и нужно его покупать?

    @StonedCatt
    Frontend developer
    Вы покупаете или бесплатно получаете ( в зависимости от хостинга ) SSL сертификат, который даёт возможность вашему сайты открываться через https. Https это протокол сети, но с использованием шифрования.
    Ответ написан
    Комментировать
  • Как создавать ветки в GitHub?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    зачем тебе на это отдельные ветки? все что ты перечислил должно быть в одной ветке.
    логика веток другая. почитай к примеру это: https://tproger.ru/translations/beginner-git-cheat...
    Ответ написан
    Комментировать
  • Как у Вас в голове рождаются алгоритмы?

    Beshere
    @Beshere
    Разработчик
    Использую два способа:
    1. Если задача типовая, делаю, как было сделано раньше.
    2. Если задача новая, представляю, что я дебилу объясняю, что надо сделать по шагам.
    Ответ написан
    Комментировать
  • Как быть, есть верстальщик на Windows а макет в Sketch?

    Varhal
    @Varhal
    Дизайнер интерфейсов
    На самом деле есть несколько вариантов:
    - Подготовить все для верстальщика с помощью плагина + сохраняем все картинки нужные для верстки
    - Есть очень неплохой сервис для взаимодействия верстальщика и дизайнера

    Есть еще варианты как в psd макет перевести, но там мороки очень много, оно не стоит того имхо
    Ответ написан
    Комментировать
  • Не работает javascript - preventDefault как сделать?

    @DanKud
    Во-первых вы хотите повесить событие click на элемент только после клика onclick на нем, а не при созданием документа.
    Во-вторых вы пытаетесь повесить событие на условие, результатом которого будет не объект, а значение true или false
    Да и не совсем понятно для чего вообще вы пытаетесь поставить условие elements[i].id === id. Нужно просто прописать не внутри функции, а в основной части скрипта:

    var elements = document.querySelectorAll(".noLink1");
    for (var i = 0; i < elements.length; i++) {
        elements[i].addEventListener('click', function(e) {
            e.preventDefault();
            alert("ok");
        }, false);
    }
    Ответ написан
  • Что делать с непонятными символами в ответе GET запроса?

    Stalker_RED
    @Stalker_RED
    Связано с тем, что где-то неправильная кодировка.
    Чтобы решить, нужно выяснить где именно она неправильная, и указать правильную, ну или сконвертировать в правильную.
    Ответ написан