• Чем пожертвовать, DRY или самодокументируемым кодом?

    @nirvimel
    Для этого во все времена применялись комментарии. До тех пор, пока однажды кто-то создал секту самодокументаторов, которые поклоняются богу самодокументируемости и приносят ему в жертву все, вплоть до основополагающих принципов программирования (DRY).
    $x = is_array($map) && isset($map[$param]) /* is map have passed param */
    $y = explode('-', $defaults) /* get defaults int range */

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

    @LiguidCool
    Я конечно стесняюсь спросить ... Но чего вы там собрались учить???
    Изучайте CSS и основы разметки. Поверстайте float'ами и flex'ами.
    Bootstrap "учится" по мануалу за день (если на за пару часов), а потом с ним же в обмнимку (с мануалом) верстается.
    Ответ написан
    Комментировать
  • Какой устройство выбрать, что бы "поиграть"?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    Эмулятор NES и SNES плюс геймпад F310. Можно на андроид тв установить.
    Ответ написан
    Комментировать
  • Как и где можно научиться делать такие сайты?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Задумывая дизайн новичок исходит из своих возможностей. У профи возможности ограничены только фантазией. Так что эти сайты сделаны на опыте и креативном мышлении, а так же большом количестве знаний. Хотите научится нет проблем - надо учить все что попадается под руку. Начать надо с отличных знаний html, css, javascript, canvas, svg, а дальше сами начнете понимать что еще надо.
    Ответ написан
    Комментировать
  • Как и где можно научиться делать такие сайты?

    @kulaeff
    Front-end developer
    На том же, на чем пишутся и обычные сайты, но с более активным использованием технологий для анимаций. Ключевые слова: canvas, css свойства (animate, transform, transition), web animation api, threejs (webgl), gsap (tweenlite, tweenmax), svg animation.
    Ответ написан
    1 комментарий
  • Как и где можно научиться делать такие сайты?

    @D3lphi
    На том же на чем и все остальные: html, css, js (фронт энд). Вы рассчитывали услышать что-то иное?
    Ответ написан
    Комментировать
  • Как правильно правильно расположить товары на сайте?

    Stalker_RED
    @Stalker_RED
    Списком. Или таблицей. Или по кругу их разместите, или как олимпийские кольца, или как на игральном кубике, или впишите в пентаграмму, наконец. Вы дизайнер или где?

    И при чем тут скрипты вообще?
    Ответ написан
    3 комментария
  • Как позиционируют блоки сегодня?

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

    Элементарная сетка из блоков:
    IE10+ => flexbox
    IE9- => float + clearfix
    IE9- и разная высота блоков в строке (картинка + 1-2 стоки текста под ней) => inline-block
    в какой-то ситуации тут даже display: table будет иметь право на жизнь

    "Прилипающее" при прокрутке меню:
    position: fixed
    position: absolute + js
    position: sticky + js fallback

    Кнопка с иконкой и текстом:
    inline-block + vertical-align: middle для обоих элементов
    position: absolute для иконки и padding для кнопки
    display: flex для кнопки

    Ну и т.д.

    Учитесь решать конкретные задачи и искать для конкретных задач лучший способ.

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

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

    Считаю, что БЭМ - как идея организации стилей, наименования и решения проблемы отсутствия неймспэйсов в css - лучшее, что есть на сегодняшний день. Да, css-модули это интересно, но их просто открыв в блокноте styles.css не реализуешь.

    Получается следующая идея.

    Есть структурные блоки. Например, в классическом варианте это будет шапка, контент и подвал, сайдбар и основной контент, любая другая внутренняя структура, собранная из колонок сетки.

    Есть независимые блоки, которые помещаются в структурные и в идеале должны в независимости от того, куда их воткнули выглядеть и работать как нужно.

    Это позволяет быстро разметить страницу и реализовать адаптив, а так же не изобретать классы вроде header-left, footer-right в каждом блоке.
    Ответ написан
    Комментировать
  • Как организовать хранение файлов на сервере?

    @marazmiki
    Укротитель питонов
    Правильно ли я понимаю что для хранение файлов их нужно разбивать по папкам,

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

    Проблемы, про которые Вы могли слышать, связаны лишь с получением полного списка файлов в директории. Да, это долго и тормознуто, но никак не влияет на скорость чтения конкретного файла.

    А на боевых серверах использование хранилища в локальной файловой системе и вовсе нонсенс. Там эта проблема не стоит в принципе.

    Сегментацию можно сделать для, скажем так, красоты. Или чтобы было понятно, кому принадлежит тот или иной файл. Но практическая польза от неё сомнительна. Вреда, впрочем, тоже нет :)

    допустим на сервер пользователь с Ником username заливает файл file.mp4, и я сохраняю этот файл по пути u/us/use/user/usern/file.mp4 и такой путь формируется для каждого пользователя

    Опять неправильно.

    Во-первых, никогда, НИКОГДА не доверяйте данным, пришедшим от пользователя. Сохраняете загруженный файл – сгенерируйте имя сами. А оригинальное имя не возбраняется сохранить и в другом месте. Если понадобится дать возможность пользователю сохранить файл под оригинальным именем, это делается в несколько строк.

    Во-вторых, Ваша сегментация слишком агрессивная. Если представить, что юзернейм может состоять только из строчных латинских букв и цифр (итого алфавит 26+10=36 символов), то такое хранилище сможет вместить 36 ^ (1 + 2 + 3 + 4 + 5) = 36^15 = 2.21 * 10^23 файлов без повторений. А что если юзернейм короче 5 символов? А что если он переименуется?

    Помните "во-первых"? Так как нам нужно самим придумать имя файла, почему бы не воспользоваться либо UUID и сгенерировать уникальное (с высокой достоверностью) значение вида 28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc, а его уже сегментировать? Например, два сегмента по два символа датут прикольные ссылки вида 28/c5/28c5a6d8-f7b5-440f-aeaa-150e4fd0bebc и возможность разместить 65 тысяч файлов так, чтобы они были по одной штуке в директории :)

    Есть также вариант использовать не UUID, а посчитать контрольную сумму файла и взять её в качестве имени. Практическая ценность такого хеша, правда, тоже стремится к нулю :)

    если будет 2 одинаковых названия файла у одного пользователя то просто добавляю к новому файлу номер (file1.mp4)

    Если речь идёт о Джанге, то она сама так делает, это штатная функция хранилища.
    Ответ написан
    1 комментарий
  • Кто что может ПЛОХОГО сказать про MODX?

    NN-webmaster
    @NN-webmaster
    Обожаю веб
    Эм-м, код шаблонов в БД? Это бывает, иногда, неудобно. А так, вроде бы, всё замечательно.
    Ответ написан
    3 комментария
  • Как заменить \ в строке js???

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    replace("\", "")
    Здесь вы экранируете ", и код падает с синтаксической ошибкой.

    replace("\\", "")
    А здесь мы убираем только первый встретившийся слэш.

    replace(/\\/g, "")
    А здесь мы (возможно, к Вашему случаю это не относится) переводим валидный \\ в пустую строку, хотя должно быть \

    replace(/\\(.)/g, "\1")
    *обдумывает минусы подхода*
    Ответ написан
    Комментировать
  • Как заменить \ в строке js???

    replace("\\","")

    Бонус
    Ответ написан
    Комментировать
  • Влияет ли структура сайта на СЕО?

    @mamayama
    На SEO - "поисковая оптимизмция".
    CEO, написаное латинскими буквами - это "исполнительный директор"
    СЕО, написанное русскими буквами - это вообще ничто.
    Ответ написан
    4 комментария
  • Как добавить атрибут к html тегу через js?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    // vanilla js
    const input = document.querySelector('.glass');
    input.setAttribute('name', 'param-pam-pam');
    // jQuery
    $('.glass').attr('name', 'param-pam-pam');
    Ответ написан
    5 комментариев
  • Что за сокращения в циклах for?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    u>>=1 - u = Math.floor(u / 2).
    u&1 - u % 2.
    u<1<<c - u < Math.pow(2, c).
    Ответ написан
    Комментировать
  • Как уменьшить количество запросов к сервису при вводе строки запроса с клавиатуры?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Обычно делают по паузе между нажатиями. То есть keyUp сбрасывает таймер, если он есть, и запускает новый. По сработке таймера уже делается запрос. Также можно предусмотреть события cut, paste и т.п.
    Ответ написан
    Комментировать
  • Убивает ли торрент жесткий диск?

    Jump
    @Jump
    Системный администратор со стажем.
    Жесткий диск это механика.
    Любая работа убивает жесткий диск.
    Торрент дает интенсивную нагрузку - головки постоянно перемещаются, это фактически серверный режим работы.
    В таком режиме жесткие диски изнашиваются довольно быстро. В нагруженных серверах диски живут в среднем года два-три.
    Ответ написан
  • Как сделать, чтобы сайт не адаптировался под экран, а просто масштабировался?

    Kublyakov
    @Kublyakov
    Вам уже советовали вчера заменить
    <meta name="viewport" content="width=device-width, initial-scale=1">

    на
    <meta name="viewport" content="width=1024, initial-scale=1">

    или напишите любое число, которое вам нужно вместо 1024
    Ответ написан
    5 комментариев
  • Какие есть фриланс информеры?

    @dinegnet
    У меня вопрос - а зачем это вообще кому-то надо?
    Вы все делаете проектики за пару часов и боитесь что-то пропустить?

    У меня вот на 2 месяца вперед все расписано,
    и я отфутболиваю старых клиентов, которые обращаются.
    Ответ написан
    8 комментариев