• Почему не работает async/await в примере?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    choicesInit copyDiv и c1 у вас обычные синхронные функции. Для них не надо писать await

    Сейчас гляну дальше и отпишусь если найду другие косяки

    немного изменил ваш пример убрав лишние await-ы и вставив контрольный вывод в консоль для отслеживания порядка вызовов.
    https://jsfiddle.net/c02zeh3n/

    на выходе имеем правильный порядок: 0, 1, 2, 3, 4, 5 (смотрите вывод в консоль) а значит await у вас отрабатывает верно
    Ответ написан
    7 комментариев
  • Я написал функцию, но хороша ли она?

    @abberati
    frontend-разработчик
    Работает? Хороша

    Не работает? Не очень
    Ответ написан
    2 комментария
  • Сложный и интересный проект для новичка?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    ## Анонимный чат с темами для обсуждения деликатных офисных проблем
    Иногда хочется обсудить что-то с коллегами в офисе, но не хочется смущать их или показывать лишнюю инициативу.
    Например кто-то не смывает в туалете или слишком громко орёт и сам того не замечает. Может быть кто-то слишком интенсивно пользуется парфюмом.
    - Анонимность
    - Постоянная ссылка на чат, тему или дерево чатов
    - ссылки в виде QR-кодов
    - голосовалка
    - закрепленные посты

    ## Сайт checklist
    Веб-сервис и мобильное приложение для краудсорсинга чеклистов для всего: зарегать ИП, получить визу, что делать при ДТП, как влезть в ипотеку, как вылезть из неё, чем заняться с ребенком на выходных (N-ле

    - Коллекция чек-листов снабженных тегами, доступная для краудсорсинга.
    - Краудфандинг составления и поддержки нового листа.
    - Фильтрация чек-листов.
    - Фильтрация пунктов.
    - Тегирование пунктов.
    - Графовые алгоритм обхода чек-листа.
    - Мастер обхода чек-листа.
    - Отчет по чек-листу.
    - Вложенные чеклисты, гиперссылки между разными листами.
    - Параметризация.
    - Экспертная система, логические связи (расширенный режим).

    Примеры:
    - Что делать при ДТП
    - Открыть ИП
    - Осмотр авто при покупке (подветки для разных конкретных моделей)
    - Первая помощь при...
    - Диагностика инсульта
    - Зомби-акопалипсис: как приготовиться
    - Атомный взрыв неподалёку - что делать
    - Планетарная катастрофа - как выживать
    - Поход выходного дня - что взять
    - Подготовка авто к поездке
    - Путешествие: Алжир (виза, прививки, документы, отели, транспорт)
    - Как влезть в ипотеку
    - Как вылезть из ипотеки
    - Как быстро заработать (во все тяжкие)
    - Покупка квартиры (на что обратить внимание)
    - Самостоятельное строительство дома (общий план)
    - Чем заняться с ребёнком N-лет
    - Как отметить новый год
    - Что интересного в районе <пос. Майский>
    - Номера телефонов и документы в автомобиле

    ## Эротический краудфандинг
    Интернет ресурс, где девушки могут делать крауд-фандинговые кампании

    - Крауд-фандинговая кампания по сбору средств на проект
    - оформление проекта (доказательство личности в виде фото с сигном, некое обещание, порог недовольных результатом, целевая сумма)
    - посетители анонимно финансируют проект в биткоинах
    - если кол-во лайков среди профинансировавших (в соответствии с весами) > порогового, учредитель получает сумму за вычетом комиссии
    - если кол-во лайков не превысило порог, сумма возвращается обратно инвесторам

    ## Простой открытый сервис для обмена сообщениями
    - HTTP API, Web-sockets
    - p2p rtsp
    - опциональное end-to-end шифрование
    - хранение истории на клиентах
    - возможность использования нескольких серверов
    - возможность использования альтруистичных клиентов для проксирования трафика p2p
    - поиск узлов на основе блокчейн технологий и DHT таблиц

    ## Онлайн-журнал путешествия
    - публикация трека в реальном времени
    - комментарии путешественника и фолловеров
    - стримы (аудио, видео, фото)
    - отложенная загрузка
    - журнал(расходы, чек-поинты, расписания, цены, погода)
    - FAQ
    - голосовалка

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

    Zoominger
    @Zoominger
    System Integrator
    Я демпингую, всё равно выбирают других.

    Более того, "другие" вас проклинают. Карма портится и заказов теперь не будет вообще.

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

    inf
    @inf
    DevOps Engineer
    1. тудушку и клиент для апи сделал
    2. залил тудушки и клиент на гитхаб
    3. гитхаб не пустой))
    Если гитхаб всё ещё кажется пустым, то повторить 1, 2, 3

    p.s. Для разнообразия можно ещё graphql клиент сделать. сейчас модно
    p.p.s. Ну и да, кадров нет, hr по дну скребут. По-моему, уже кто угодно пролезть может
    Ответ написан
    4 комментария
  • Почему данном случае теряется контекст this?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Простой ответ:
    Берём метод:
    метод = function(){
      console.log(this)
    };
    и(не важно как) пихаем его в какие-то объекты.
    Получаем:
    хрень.метод() // this - хрень
    хрень.кишки.метод() // this - хрень.кишки
    метод() // this - window
    
    хрень.метод.call(хрень.кишки) // this - хрень.кишки
    метод.call(хрень.кишки) // this - хрень.кишки
    метод.call(null) // this - null
    
    элемент.addEventListener('оппа', хрень.метод) //  this -элемент
    элемент.addEventListener('оппа', метод) //  this -элемент
    элемент.addEventListener('оппа', хрень.кишки.продукт.метод) //  this -элемент

    По сути this для фукции - это то, что идёт перед точкой, кроме тех случаев когда он переопределён явно. Всё, никакой эзотерики.)

    fn.call(!this ? this : obj) - это чушь скорее всего. Если this - falsy, то ставим его как this при вызове функции fn, иначе ставим obj. Falsy this может быть только при явном указании(или в strict режиме, при вызове функции напрямую("без точки перед ней")), и скорее всего передача пустого this в таком случае просто сломает выполнение fn.

    Ну ещё следует упомянуть стрелочную фукнцию:
    метод = () => {
      console.log(this)
    };
    это можно считать за явное указание this, потому что this тут всегда привязан тот, что был при создании стрелочной функции, независимо от того как и откуда её вызывают.
    Ответ написан
    3 комментария
  • Хочу заниматься веб-разработкой, с чего начать?

    Zoominger
    @Zoominger Куратор тега Веб-разработка
    System Integrator
    Попробуйте в Мак устроиться.
    Если не получится, то на минимум для веб-программиста вы не сдали.
    Ответ написан
    Комментировать
  • Как настроить вертикальную полоску в phpStorm?

    Mesuti
    @Mesuti
    5c6a9dfea9526206424629.png
    Ответ написан
    Комментировать
  • Как закрепить блок в Worpdress чтобы он был на всех страницах?

    @easycode
    не боюсь задавать глупые вопросы ))
    В файл functions.php в папке активной темы добавить код (можно в конец файла, но до закрывающего тега: ?> - если он там есть, а если его нет то просто в конец файла):
    register_sidebar(array(
            'name' => 'Мой блок',
            'before_widget' => '',
            'after_widget' => '',
            'before_title' => '<div class="title">',
            'after_title' => '</div>',
        ));


    далее, вам нужно определиться где будет расположен ваш блок - в каком месте страницы, если в подвале - то смотрите в файл footer.php, если в шапке - то возможно header.php. Тут всё очень тонко и зависит от конкретной темы, потому что разработчики тем могут чудить как угодно - у них полная свобода в этом, в footer.php или header.php - может вовсе не быть HTML-кода в рамках которого вы и должны действовать. Тогда Вам придется поискать в коде других файлов нужное место для вашего блока и когда вы его найдете вставьте туда:
    <?php dynamic_sidebar("Мой блок"); ?>

    опять же если будете вставлять внутри php-кода, то дескрипторы <?php и ?> не нужны будут - иначе получите или ошибку или ненужные символы на сайте.

    на у далее идете в Внешний вид / Виджеты и там появится колонка с названием: "Мой блок" - добавляете туда нужный Вам виджет и всё - как-то так )

    Но! Без хотя бы минимальных знаний HTML и понимания как устроены темы WordPress изнутри будет сложно разобраться. Установить хотя бы тот же Sublime Text редактор, добавьте туда папку с Вашей темой и через Ctrl + Shift + F можно искать нужный вам HTML-кусок кода во всех файлах этой папки, так порой приходится изощряться чтобы найти куда создатели темы запрятали окружающий нужное мне место HTML-код.
    Ответ написан
    1 комментарий
  • Какой необходимый уровень английского для работы на зарубежных фриланс биржах?

    an-tar
    @an-tar
    Full stack web developer
    Самое лучшее время начинать общаться и читать - всегда сейчас! Если вы будете подгадывать, когда же настанет тот звездный час - это не факт, что случится вообще.
    Английского может не хватать еще какое-то время после начала (месяцы/годы), но углубляясь, читая, общаясь, вы будете все лучше и лучше его использовать. Да, будет может непросто, но надо тянуться к трудностям))
    Рассказываю по своему примеру. До начала работы на фрилансе у меня было несколько сертификатов вплоть до Advanced, но по сути они лежали в столе и знание уходило в пассив. И все надо начинать с начала.
    Для чтения и общения на Апворке достаточно вполне себе среднего уровня имхо. За годы работы там голосовое интервью, например, я проходил всего несколько раз. Все больше чатимся)) Но у кого как.
    Главное - действовать и не бояться, все придет и все будет! Начинайте прямо сегодня))
    Ответ написан
    2 комментария
  • Как используя addEventListener передать параметр в функцию?

    @DangerPNZ
    А ещё вот так:

    var someFunk = function(param1, param2) {
       return function (event) { // event по необходимости
          console.log(param1 + ' ' + param2);
       };
    };
    element.addEventListener('click', someFunk('Коллбек с доступным event', 'и аргументами'));
    Ответ написан
    6 комментариев
  • Как используя addEventListener передать параметр в функцию?

    @alexeyproject
    // Вариант 1. Привязываем контекст и первые по порядку параметры
    function someFunk(a, b, event) {
    	console.log(a, b, event);
    }
    element.addEventListener('click', someFunk.bind(null, 1, 2));
    
    // Вариант 2. Используем интерфейс EventListener
    function someFunk(event) {
    	console.log(this.a, this.b, event);
    }
    element.addEventListener('click', {handleEvent: someFunk, a: 1, b: 2});
    Ответ написан
    5 комментариев
  • Scss - Возможно ли, сделать свои названия классов?

    @lilwings
    .cursor {
      &-pointer {
        cursor: pointer;
      }
    
      &-unset {
        cursor: unset;
      }
    }
    Ответ написан
    Комментировать
  • Как обновить кэш у пользователя сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Отключите полностью кеширование всего сайта сразу после редактирования контента на время жизни кэша.
    По истечении этого времени - снова включите кэширование.

    Часто редактируете - отключайте или совсем, или точечно: только на изменённых линках.

    Сайт простой - сделайте кэширование для всего контента на время самого длительного посещения: оптимально 30 минут.
    Ответ написан
    5 комментариев
  • Как обновить кэш у пользователя сайта?

    wapster92
    @wapster92 Куратор тега CSS
    Для css и js в пути файла можно подставлять версию после знака "?" <script src="/js/main.js?123456789"></script>

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

    profesor08
    @profesor08 Куратор тега JavaScript
    Комментировать
  • Как научиться пользоваться методологией БЭМ?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не могу научиться пользоваться методологией, не могу просто взять глядя на макет и разбить его на блоки и элементы

    Тут БЭМ вторичен.

    Попробуйте представить, что вам нужно сделать верстку для сотни похожих (только похожих) сайтов. Вот первый готов. Вы берете второй макет, садитесь работать и понимаете, что снова есть блок, например, последних новостей, все тоже самое, дата-заголовок-текст-подробнее. Ах, как было бы хорошо, взять и сделать ctrl+c ctrl+v из предыдущей работы. Вот подумайте, как записать все стили так, чтобы при переиспользовании на этом же сайте или в другом проекте нужно было бы переписывать как можно меньше кода, а стили внутренних элементов не "поссорились" с тем кодом который уже есть в новом проекте.
    Ответ написан
  • Какой фреймворк JS выбрать для изучения?

    Zoominger
    @Zoominger
    System Integrator
    Меня призвали и я не могу разочаровать своих поклонников.

    Посоветуйте, что изучать для трудоустройства или выхода на фриланс?

    Изучайте вождение для работы таксистом, получите медкнижку для работы в Макдональдсе. Вот эти все фреймворки, ЖиЭсы, вот это всё ну никак не вяжется с "быстро и стабильно заработать", вы гораздо быстрее и больше заработаете, собирая бутылки.
    Ответ написан
    8 комментариев
  • Что дальше после HTML\CSS?PHP или Javascript?

    uselessmindYEAH
    @uselessmindYEAH
    Frontback cocaine developer
    Javascript.
    Ответ написан
    Комментировать
  • Что дальше после HTML\CSS?PHP или Javascript?

    Ну тут уже кому как.
    Но я бы выбрал бы javascript))) а там react, react native и тд)
    Ответ написан
    Комментировать