• Как сделать красивый многострочный background у <code>?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Сделайте его блочным

    639f7781e9974813936851.png

    Здесь это делается по условию. Если в теге много символов, или более одной строки – он оборачивается в блочный pre
    Ответ написан
    Комментировать
  • Какие файлы считаются небезопасными для загрузки на сервер?

    @tukreb
    Все файлы небезопасны. Можно загрузить картинку, в которой будет исполеяемый код.
    Вы должны настроить сервер (nginx/apache) так, чтобы в папке где будут загруженны клиентами файлы, в принципе нельзя было исполнять НИКАКИЕ файлы.
    Ответ написан
    Комментировать
  • Какие файлы считаются небезопасными для загрузки на сервер?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Все файлы безопасны. Можно загружать и .php и .apk, главное запретить исполнение и разрешать только скачивание.
    Отдельно конечно вопрос по содержимому, так как зальют вам вирус - за это сайт выкинет гугл или яндекс или попадёте в чёрные списки. Зальют картинку или видео с сомнительным содержимым, уже придёт роскомнадзор или хостер выкинет вас или регистратор заблокирует домен.
    Ответ написан
    Комментировать
  • Как привязать img к input file?

    Seasle
    @Seasle Куратор тега CSS
    Ответ написан
    Комментировать
  • Как привязать img к input file?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Комментировать
  • Как хранить большие видео на сервере?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Нужен веб-сервер, который умеет в большие видео-файлы: отдавать не просто весь файл целиком, а находить в нём запрошенное время начала, и выдавать по небольшим кусочкам. См. DASH (на англ.)

    Чтобы играть видео можно было с любого места, не скачивая часовое видео полностью.

    Подробнее на примере NGINX (на англ.)
    Ответ написан
    Комментировать
  • Как начать заниматься "серьезной" разработкой?

    @StopFox
    Лао-цзы: «путь в тысячу ли начинается с первого шага»
    Брюс Ли: "Я не боюсь того, кто изучает 10,000 различных ударов. Я боюсь того, кто изучает один удар 10,000 раз"
    Повторение результата из раза в раз с сохранением того же качества это удел профессионалов. Поэтому много мелких однотипных проектов это даже хорошо, с минимальными усилиями вы нарабатываете будущую клиентскую базу людей которым вы помогаете сейчас и которые будут знать к кому обратиться в будущем. Через 10 лет ваши друзья разбегутся кто куда, станут семейными и откроют бизнес, а в нашей стране очень ценят работу "специалиста по знакомству", но помните любая работа должна быть оплачена и не стоит делать её бесплатно или со скидкой просто потому что знакомые, людей которые захотят вас использовать будет много. Просто примите это как правило.
    И еще, все великие начинали с того что брали за основу чьи то наработки и использовали их в своей работе. Поэтому не бойтесь использовать сторонние инструменты, я не говорю вам воровать, но на первых этапах направления которое вы выберете использовать чужое - ок.
    Деньги, второстепенное оно приходит с опытом само, не стоит сильно акцентировать внимание на том чтобы заработать миллионы, поверьте это не то что вы хотите на самом деле.
    Пока вы молодой, ищите себя в разных направлениях, не бойтесь рисковать и менять работу чтобы к 30 годам уже точно определиться с направлением которое вам близко к душе а не потому что "там больше платят".

    И вот еще видео для мотивации.
    https://youtu.be/w0Mc2CFxFyE
    Ответ написан
    3 комментария
  • Почему не работает всплывашка, сам скрипт подключен в html перед закрывающим body?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    const openPopUp = document.getElementById('open_pop_up');
    - id должен быть уникальным в рамках страницы. Не должно быть более одного элемента, с повторяющимся id. В итоге тут будет найден только первый в разметке элемент с таким id. То есть только первая кнопка "заказать" будет работать.

    const closePopUp = document.getElementById('pop_up_close');
    - не существует элемента с таким id. Есть с class.

    const popUp = document.getElementById('pop_up'); - аналогично предыдущему.

    <a class="table_box_button" href="#" class="open_pop_up">Заказать</a>
    Это где Вы научились два раза один и тот же атрибут объявлять на элементе? Объединить в один.
    Ответ написан
    4 комментария
  • Как вывести только города?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    let dataList = {};
    
    fetch('https://api.hh.ru/areas/113').then(response => {
        return response.json();
    }).then(
        json => {
          const cities = json.areas.reduce((array, area) => {
            const citiesAtArea = area.areas.reduce((citiesArray, city) => {
              return [...citiesArray, city.name]
            }, [])
            return [...array, ...citiesAtArea]
          }, [])
          
          console.log(cities)
        }
    );
    Ответ написан
    2 комментария
  • Как получить имя скачиваемого файла или почему Content-Disposition == null?

    Seasle
    @Seasle Куратор тега JavaScript
    request
        .then(async (res) => ({
            body: await res.blob(),
            contentDisposition: res.headers.get('Content-Disposition')
        }));
    Ответ написан
    1 комментарий
  • Почему в safari не работает favicon?

    Adamos
    @Adamos
    Набрать в гугле "free favicon generator" - любой настрогает вам нужные строчки под все популярные системы.
    Ответ написан
    Комментировать
  • Как из одномерого массива в многомерный?

    ddv88
    @ddv88
    Binance Futures
    https://prowebmastering.ru/rekursiya-php.html
    Что то будет не получаться - напишешь.
    И пример того что не получается приложи.
    Ответ написан
    3 комментария
  • Как использовать внешнюю переменную и аргумент с одинаковым именем?

    ddv88
    @ddv88
    Binance Futures
    DRY SOLID
    Ответ написан
    Комментировать
  • Как найти элемент на странице после его создания через JS?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Можно слушать события выше в DOM-дереве. Например, на div.title, внутри которого потом появится кнопка.

    Проверять, есть ли у кликнутого элемента класс "reset" – значит, клик по кнопке.

    Называется «делегирование событий».
    Ответ написан
    2 комментария
  • Как узнать, какой процесс обращается дисководу?

    3r1k
    @3r1k
    the quieter you become, the more you hear
    Используй Process Monitor, особое внимание удели всем процессам svchost.exe
    Самый частый случай - это "svchost.exe -k secsvcs " :
    Модуль ресурсов Защитника Windows
    Ответ написан
    Комментировать
  • Возможно ли скачать не только лендинг а сразу и бекенд сайта?

    vabka
    @vabka Куратор тега Веб-разработка
    Токсичный шарпист
    Попробую сказать языком аналогий.
    Представь, что ты подписался на какой-то журнал (бумажный).

    Тогда "скачать фронт" - это всё равно что сделать скан журнала, который тебе пришёл по почте.
    А вот "скачать бэк" - это всё равно что получить копию издательства и полиграфии, вместе с людьми которые там работают.

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

    Но в общем случае это невозможно.
    Ответ написан
    Комментировать
  • Как исправить ошибку 500 Internal Server Error?

    kotomyava
    @kotomyava
    Системный администратор
    В таком виде на вопрос не ответить. Причина может быть любой.
    Надо смотреть логи веб сервера, на предмет того, что собственно вызывает ошибку. Дальше решать найденную проблему.
    Ответ написан
    Комментировать
  • Возможно ли скачать не только лендинг а сразу и бекенд сайта?

    Newto
    @Newto
    Ну конечно можно. Звоните владельцу сайта, говорите "алло, дайте мне доступ к вашему серверу". Он вам отвечает - "Да, конечно!" и высылает root ssh доступ. Заходите на сервак и всё скачиваете. А потом еще раз перезваниваете и просите к трубке админа, что бы он вам объяснил как это всё установить, что бы заработало. Profit! :)

    А если серьёзно, то есть в вебе два ключевых значения -- "frontend" и "backend". Вот "frontend" это всё то, к чему имеет доступ, непосредственно, ваш браузер. Это html код, картинки, скрипты(на разных языках) и css стили(про всякие xml и прочее говорить не буду даже). А всё то, что работает с базами данных, делает всякие хитрые операции на СЕРВЕРНОЙ стороне, то есть на БЭКЕ, всегда скрыто от браузера, т.е. от вашего непосредственного доступа. Браузер отображает лишь результат, который БЭК посылает на ФРОНТ, т.е. в ваш браузер с сервера. Поэтому никакими программами (если это не супер-мега-хакерская прилага из для взлома особо слабозащищенных и плохо написанных сайтов) вы бэкенд не скачаете.
    Ответ написан
    Комментировать
  • Как возвести в квадрат каждый элемент в массиве?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Минутка лишних усложнений и новых концепций.

    В JavaScript примитивные значения (числа, например) копируются/передаются «значением», не сохраняя никакой связи с оригиналом. А объекты (например, массив) передаются «ссылкой» на оригинал.

    Судя по неудачной попытке, был расчёт, что изменив elem, изменится и его «оригинал» – элемент массива. Но нет. Число возвели в квадрат, но в массиве всё осталось по-прежнему.

    Будь elem не числом, а объектом, трюк сработал бы.
    пример
    let arr = [ {x: 1},  {x: 2},  {x: 3},  {x: 4},  {x: 5} ];
    
    for (let elem of arr) {
      elem.x = elem.x ** 2;
    }
    // [ {"x": 1}, {"x": 4}, {"x": 9}, {"x": 16}, {"x": 25} ]


    А в случае с примитивами (числом, строкой) надо как-то вложить квадратное значение обратно в массив в нужную ячейку. Этого-то и не хватает в коде.
    Ответ написан
    Комментировать
  • Как возвести в квадрат каждый элемент в массиве?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    let arr = [1, 2, 3, 4, 5];
    arr = arr.map(el => el **2);
    
    console.log(arr);

    Циклом:
    let arr = [1, 2, 3, 4, 5];
    for (let i in arr) {
      arr[i] = arr[i] ** 2;
    }
    
    console.log(arr);
    Ответ написан
    Комментировать