Задать вопрос
  • Как выкинуть пользователя с сайта?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Показать плашку с текстом:
    Отключите блокировщик рекламы чтобы продолжить пользоваться сайтом.
    Инфа сотка. Меня выкидывало с сайта безвозвратно.
    Ответ написан
    Комментировать
  • Как проверить номер телефона и привести его к нормальному виду регулярным выражением?

    dyuriev
    @dyuriev
    A posteriori
    return prettified.length === 18 ? prettified : inputVal;

    он возвращает не "как будто это действительный номер", а аргумент функции, ту бишь то что вы ему скормили, то обратно и отдает
    Ответ написан
    Комментировать
  • Как сделать повторение цикла если условие не выполнено?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Хочу научится писать алгоритмы и шевелить мозгами не подсматривая

    Чтобы научиться шевелить мозгами, нужно в первую очередь ими буквально шевелить(я намекаю на самостоятельность). Вы же противоречите сами себе: хочу научиться шевелить мозгами, не подсматривая в чужие алгоритмы, пойду-ка я спрошу на тостере!
    Напишите функцию и вызывайте её рекурсивно, по мере надобности, это первое, что приходит в голову. Чтобы самостоятельно в голову пришло что-то иное, нужно либо тупо сидеть над одной задачей иррациональное время, либо практиковать(это то слову, к чему я вас склоняю) что угодно. По мере наращивания опыта придут и другие самостоятельные решения.
    Ответ написан
    1 комментарий
  • Как запустить react приложение?

    Posho
    @Posho
    Frontend-developer
    у вас в видео все действия по шагам расписаны:

    5fa42db9dd8af129180432.png
    Ответ написан
    2 комментария
  • Способна ли библиотека Lodash покрыть большинство задач при разработке сайта?

    Fragster
    @Fragster
    помогло? отметь решением!
    нет
    Ответ написан
    Комментировать
  • Как последовательные числа сложить в отдельные массивы?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const groupAdjacent = (arr, newGroup) =>
      arr.reduce((acc, n, i, a) => (
        (!i || newGroup(n, a[~-i])) && acc.push([]),
        acc[~-acc.length].push(n),
        acc
      ), []);
    
    
    const result = groupAdjacent(arr, (c, p) => c !== -~p);

    или (если гарантируется, что элементы массива образуют возрастающую последовательность)

    function group(data, key) {
      const grouped = new Map;
      let i = -1;
    
      for (const n of data) {
        const k = key(n, ++i);
        grouped.set(k, grouped.get(k) ?? []).get(k).push(n);
      }
    
      return grouped;
    }
    
    
    const result = [...group(arr, (n, i) => n - i).values()];
    Ответ написан
    Комментировать
  • Что изучать для хакерства?

    SoreMix
    @SoreMix
    yellow

    Если я правильно понял, белых/чёрных хакеров отличает от остальных программистов именно то, что у них нет резюме и портфолио по вполне логичным причинам. (Прошу поправки, если вывод не верный).

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

    1:Что нужно учить?

    А что вы "хакать" собрались? Я так понимаю, речь о web приложениях.
    OWASP, читать hacktivity на hackerone, bugcrowd, intigriti и тд
    Real World Bug Hunting, The Web Application Hacker's Handbook, Web Hacker 101
    Учить основы: принципы работы веб ресурсов, порты, ip, протоколы, заголовки, методы запросов. Нужно знать работу JS, html, в целом уметь работать со стеком сайта. В общем, проще сказать что НЕ учить. Книги выше вполне помогут в самом начале

    2:Какие виды услуг в сфере хакерства есть и какие популярные/не популярные?

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

    3:Где пиарится как "оказатель" услуг?

    Работайте в белую, на hackerone, bugcrowd, intigriti, synack
    Ответ написан
  • Можно ли считать JavaScript полноценным языком программирования?

    Adamos
    @Adamos
    Когда-то Голубицкий в Компьютерре прекрасно ответил на весь класс подобных вопросов.
    Там был срач о профессиональной фототехнике и профессионалах-фотографах.
    Так вот, он указал на мужика с обезьянкой на сочинском пляже и тот очевидный факт, что он именно фотографией профессионально зарабатывает, и люди ему за нее платят. Хотя дело тут не в профессиональных навыках мужика и уж тем более не в профессиональности его фототехники. А в обезьянке.
    На JS пишут тонны кода. Будете вы лепить на него свой ярлычок со словом "полноценный" или нет - это исключительно ваши половые трудности. А караван идет.
    Ответ написан
    7 комментариев
  • Можно ли считать JavaScript полноценным языком программирования?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Может у него было тяжелое начало, но сейчас, можно ли его считать полноценным?
    JS тьюринг полный язык и всегда им был. Тьюринг полнота означает, что на нем можно посчитать все что в принципе вычислимо.

    Просто в нем даже импорт файла нормально нельзя сделать (даже в css он есть хоть и не полный)...
    Уже 5 лет как можно, в отличии, например, от C, где отдельные модули до сих пор нужно линковщиком собирать после компиляции. Так что, по Вашему C тоже не полноценный теперь?

    Нету многих приколов, фишек и функций, хотя я понимаю что внедрять их поздно, и для браузера он создавался.
    Хотелось бы конкретики, каких таких "приколов" Вам не хватает? Вот тут ребята открыты к предложениям: https://github.com/tc39/ecma262/blob/master/CONTRI...
    Ответ написан
    Комментировать
  • Можно ли считать JavaScript полноценным языком программирования?

    SagePtr
    @SagePtr
    Еда - это святое
    Ну как бэ Javascript используется не только на фронте, но и на бэке, а также некоторые десктопные приложения написаны на нём (к примеру, VSCode, Skype, Discord, список можно продолжать и продолжать).
    Потому называть его неполноценным глупо. "Неполноценный" он разве что в браузерах, т.к. код, исполняемый в них, и не должен иметь доступ ни к чему за пределами браузера, было бы очень опасно разрешать ему лазить в файловой системе пользователя.
    Ответ написан
    5 комментариев
  • Как найти произведения всех двузначных чисел?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Логика:
    Двойной вложенный цикл от 10 до 99 каждый
    Ответ написан
    4 комментария
  • Почему не работает break?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    А с фига ли там будет stop после работы parseInt?
    Ответ написан
    2 комментария
  • Как мне провалидировать массив?

    0xD34F
    @0xD34F Куратор тега JavaScript
    fields.every(n => Object.values(n).every(m => !m.isRequired || m.value))
    Ответ написан
    Комментировать
  • Что можно ответить на такой вопрос, на собеседовании?

    Zoominger
    @Zoominger
    System Integrator
    "Я никогда не использовал event loop, поэтому не могу о нём ничего сказать самостоятельно, но если вы мне дадите время, то я спрошу на Тостере и повторю, а потом, может, погуглю про это, потому что я обучаемый".
    Ответ написан
    Комментировать
  • Кириллица и названия файлов?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    Не использовать encodeURIComponent ?
    Ответ написан
    Комментировать
  • Serverless. Проверить, подгрузились ли environment из ssm?

    inoise
    @inoise Куратор тега Amazon Web Services
    Solution Architect, AWS Certified, Serverless
    Из SSM параметры могут не прогрузиться только в том случае если нет доступов или нет ключа. Если деплой производится через CloudFormation то в этих случаях он должен упасть с ошибкой.
    Ответ написан
    21 комментарий
  • Как правильно продвигать сайт?

    ReactorHeart
    @ReactorHeart
    SEO аналитик
    Было две идеи продвижения:
    1. Плата некоторой суммы, человеку который продвигает


    Вопрос знающим людям, как выгодней будет для меня ,как заказчика, и до какого момента?


    По первому варианту из опыта могу сказать что будет ни так:
    • в зависимости от ниши (холодная/горячая), региона (МСК/Таганрог) и цели (ТОП-10/ТОП-3) будет определенная стоимость продвижения и к ней плюсуем сумму оплаты Подрядчику за его труды (разбег неизвестен).

    В результате, сумма может получиться, например, от 10.000 до 100.000 руб. Допустим, вы договоритесь на 30.000.

    Что будет при этом с обоих сторон (основано на реальных событиях):
    • Заказчик думает: я получу всё по максимуму, ТОП-3 за 3 месяца по СЧ/ВЧ
    • Подрядчик (в основном фрилансер, чем студии) думает: за полученные деньги прикуплю накрутку ПФ, подниму НЧ и буду отчитываться по трафику с поисковых систем, может заказы еще пойдут и можно минимум по 30-ке 6 мес получать.


    Итог: через 6 мес, а то и раньше, сайт под бан, "SEOшник" получает пня под ср..ку, Заказчик ненавидит себя и SEOшников (незаслуженно, ведь толковые специалисты здесь ни при чем), на горизонте мелькает покупка нового домена и работы по продвижению сайта "с нуля".

    Это один из вариантов исхода. Почему именно такой? Потому что сценарий набил оскомину. 80% моих клиентов, это жертвы таких сценариев. Меняется только сюжет, результат остается прежний.

    Другие сюжеты:
    • Продвижение по 10-и запросам за указанную сумму. Мало? Но это результат прагматичного расчета. Часто встречается у веб-студий, они ведь тоже бизнесмены и считать умеют
    • Выполнение некоторых пунктов из базовой оптимизации. Потому что этой суммы только на них и хватило. Встречается у веб-студий, потому что надо взять кого-то пока нет более выгодного клиента.
    • и т.п.


    Что сделать, чтобы избежать указанных выше сценариев?

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

    Поэтому рекомендую следующее:
    • определиться с планом работ по проекту (общий список: внутренняя, внешняя оптимизация);
    • разбить план на этапы;
    • кропотливо подбирать подрядчиков для выполнения поставленных задач.


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


    Какие есть плюсы (они превалируют над минусами, на мой взгляд):
    1. работа по SEO становится для вас прозрачна и понятна настолько, что вы думаете что-то типа "блин, да тут оказывается, никакого колдунства, всё понятно и просто". Согласен, кроме нюанса, мало знать ЧТО надо сделать, важно КАК это сделать. Все делают по-разному и получают разный результат (см. где описывал сюжет за 30 тыс);
    2. задачи по продвижению превращаются в четкий план и вы понимаете, на каком этапе сейчас находитесь и что должны получить. Получаете отчет по отработке запланированных/оговоренных и оцененных/оплаченных задач, а так же данные по динамике трафика и позиций и у вас появляется спокойная уверенность, что всё под контролем. Никакого "черного" ящика;
    3. Разбив задачи по частям у вас есть возможность разбить оплату на продвижение по частям. Это могут быть не равнозначные по сумме платежи, но они будут не одной суммой и это удобно.
    4. Вы можете отдать часть задач на реализацию разным подрядчикам, если найдете несколько толковых специалистов, а не одного (а вдруг повезет!). И чтобы они не мешали друг другу, один может заниматься внутренней оптимизацией, второй внешней. Таких вариантов, правда не встречал, но мало ли, ситуации бывают разные.


    Сколько занимает продвижение в топ города/региона/страны?

    Зависит от объема и характера работ, а они зависят от тематики и конкуренции в ней + регион.

    Тематики: холодная или горячая.
    1. Пример горячей: заказать такси химки
    2. Пример холодной: купить свадебное платье без рукавов


    В первом случае, нужен ТОП-1, минимум ТОП-3 при космически высокой конкуренции
    Во втором случае, органика будет состоять из Яндекс коллекций больше, чем из посадочных страниц сайта.

    В первом случае, стоимость будет за 100.000 в мес (примерно, конечно), во втором можно обойтись 15.000 руб (тоже примерно).

    Сколько в среднем на это тратиться, если отрасль «Сантехника»?

    Для оценки надо понимать, в каком регионе, какие позиции вы хотите и в каком состоянии ваш сайт (т.е. с чего он будет стартовать, с "нуля" или у него уже есть базовая оптимизация (техническая и поисковая).
    По стоимости вам уже ответил пользователь Пума Тайланд, правда без цифр, но причины этого я указал выше.

    Было две идеи продвижения:
    • Плата процента от прибыли в зависимости от сложности продвижения(город, регион, страна и тд.).


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

    Не знаю, какие мысли у вас по данному пункту, но что касается расходов. Из своей практики распишу, за что вы будете платить помимо "процента от прибыли":
    • работы программиста
    • текста у копирайтера
    • работа Админа
    • закупка ссылок (краунд-ссылки и "вечные")


    Для понимания, вы в любом случае будете за это платить, и в первом пункте (за фиксированную сумму) и во втором (за процент). Разница лишь в том, что в первом пункте эти расходы могут быть включены в фиксированную сумму, а могут и идти отдельно - как договоритесь.

    Плюсы этого способа очевидны - специалист заинтересован в том, чтобы вы получали больше заказов, НО минусы тоже очевидны:
    1. он не может влиять на ваш бизнес;
    2. получения результатов труда растянуты во времени и много рисков не получить их, начиная от того, что бизнес схлопнется от пандемии до недобросовестности Заказчика.


    Для п.1. Из моего опыта (достал уже с ним, наверное, но что поделать..) SEO специалист добивается трафика, делает его максимальным И.. менегер сливает лиды один за другим (звонки, письма с форм обратной связи и чатов и проч). Сигнал Заказчику, раз-два-три, без результата. SEOшник сливается. Точка.

    Мы все думаем, что с нами этого не случится. Но, как показывает практика (хорошо, моя практика:)). И что мы все время о Заказчике? Я тоже не уверен, что завтра продвигаемый мною сайт не попадет под бан, потому что сегодня делаем одно и оно отлично работает, завтра прошел АП и обновленный алгоритм херит всю работу.. А что говорить про спрос на товар/услугу бизнеса в период пандемии или офисных работников, которым все-равно, либо они сегодня не в настроении закрывать сделки?

    Чё-то как-то негативненько получилось, да?:)
    Наверное, потому что Заказчики чаще мыслят позитивно и это здорово! Моя задача сейчас подготовить к тому, что может пойти ни так в каждом из указанных вами вариантов. И я постарался с этим справиться.

    Со стороны Подрядчика, на мой взгляд, привлекательным выглядит вариант №1 (оплата стоимости работ по проекту), т.е оговаривается пул задач, оценивается стоимость, примерный результат и сроки реализации (подробно свое видение расписал выше).

    Со стороны Заказчика более привлекателен вариант №2, но со временем большой риск, что даже толковый и ответственный Подрядчик сольется.
    Ответ написан
    6 комментариев
  • Почему не удаляется событие?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    проблем с удалением событий не было
    Разве?
    В обоих вариантах обработчики не будут удаляться.
    В removeEventListener нужно передавать тот же самый listener, что и был передан в addEventListener.
    Обратите внимание, что именно не такой же, а тот же самый.
    ТО есть вот так удалится:
    const listener = event => console.log(event);
    element.addEventListener('click', listener);
    element.removeEventListener('click', listener);

    А так уже нет:
    element.addEventListener('click', event => console.log(event));
    element.removeEventListener('click', event => console.log(event));
    ибо это 2 разные функции, не смотря на то, что делают одно и то же, и одинаковы до каждого символа.

    P.S.
    когда программировал в функциональном стиле
    то что в обоих Ваших примерах - это процедурный стиль. От того что Вы завернули код в класс - он не становится ООП, как и то что написали набор функции - не ФП.
    Ответ написан
    6 комментариев
  • Где порешать задачи по JS?

    Seasle
    @Seasle Куратор тега JavaScript
    Ну, codewars например. Не факт, что там всё есть это, но есть задачки.
    Ответ написан
    Комментировать