• Почему много HTTP запросов - это плохо?

    Griboks
    @Griboks
    Это всеобщее заблуждение, пораждённое веб-макаками. Мол, нафига нам что-то оптимизировать и вообще думать о низкоуровневых вещах, когда можно тупо забандлить всё в один файл.

    Нужно управлять ресурсами, оптимизировать их и кешировать. Правда в том, что много запросов - это хорошо, но они должны быть построены определённым образом и синхронизированы между собой. Если кратко, то:
    1) загружается бандл с базовыми ресурсами, необходимыми для отображения страницы
    2,3,4) параллельно в фоне асинхронно загружаются вспомогательные бандлы для красоты и хотелок дизайнеров+маркетологов+шпионов+рекламы * (10 мб на страницу, ага, ага, верю)
    5) некоторые бандлы загружаются по требованию

    * все хотелки в идеале следует послать "на доработку", но есть риск увольнения

    Техчасть
    Запрос даёт оверхед, читайте + 0,3 секунды к времени загрузки страницы. 10 запросов = +3с, что уменьшает вероятность удержания пользователя. http2, ws и иже с ними дают оверхед не на отдельный запрос, а на целый бндл за раз, т.е. 10 запросов = +0,3 с.
    Браузер рендерит страницу после загрузки, т.е. эти ваши +3с превращаются в +10 с с учётом динамической мишуры и прочих гениальный идей программистов, которые не в курсе про механику работы браузера.
    Решение: грузить основной бандл через http2 → рендерить → грузить остальное, не мешая наслаждаться очередным шедевром сайтостроения пользователю
    Ответ написан
    3 комментария
  • Как поменять иконки сайдбара в sublime text 3?

    AlexIndex
    @AlexIndex
    Разработчик, Web и разное остальное понемногу
    в package control - установи пакет file icons
    хороший пак под все расширения.
    --
    а так раскраска иконок должна быть в теме
    Ответ написан
    8 комментариев
  • Как защитить переменную js?

    ruddy22
    @ruddy22
    Спасение утопающих — дело рук самих утопающих
    для защиты:
    ссылочная защита.
    1. используй `const`, чтобы не было возможности перезаписать переменную.
    2. если тебе нужно "защитить" объект целиком, то используй Object.freeze()
    3*. альтернативой Object.freeze() может служить метод lodash#cloneDeep

    шифрование
    1. средствами браузера: используй функции btoa
    2. расшифровка на сервере: любой пакет, который может расшифровать base64
    Ответ написан
    6 комментариев
  • HTML + CSS - законченный сайт?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Если тебе не нужен интерактив и сайт несет исключительно информационную нагрузку, работает потому что он просто работает → да. Абсолютно нет смысла напихивать в проект то, чего там быть не должно.

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

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

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Вы не поняли как работает ajax. Данные вы отправили, пост создался. Но чтобы на странице/страницах, которые УЖЕ загружены в браузере увидеть обновления, нужно либо вручную их обновить, либо из полученного по аякс ответа сгенерировать нужный html и вставить его в эти страницы (сможете только в ту из которой инициировали загрузку). Если же вы хотите в других вкладках чтобы открытые страницы сами обновлялись когда на бекенде новые данные появились, то вам нужны другие технологии. Читайте про веб-сокеты.
    Ответ написан
    1 комментарий
  • Что быстрее массив или объект?

    Мне это напомнило историю, когда некий докладчик сравнил поиск в Яндексе и прямое указание сайта в адресной строке. Типа, когда он пишет адрес сайта, то сразу переходит на него, и якобы поиск не включается. Однако даже при прямом указании адреса сайта всё равно включается поиск: вы ввели адрес сайта, но это не точный путь к серверу, где хранятся данные. Пока идёт запрос к данным, и пока они идут обратно, включаются несколько поисков на разных этапах.

    Так же и здесь. По сути системе нужно достать некое значение из памяти. Массивы изначально заточены под машинную организацию памяти: по порядку. Логично предположить, что если вам нужно N-e значение, то оно быстрее достанется из памяти, так как оно N-e в самой памяти, начиная от некой ячейки (грубо говоря). Более сложные ассоциативные массивы (или объекты) организованы в памяти более сложно (извиняюсь за тавтологию). Ассоциативный массив - это, как минимум, два обычных массива. Соответственно, выполняя поиск по нему, работают уже минимум два поиска.

    это всегда перебор всего массива каждый раз.

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

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

    По существу вопроса, мне кажется, вы всё делаете совершенно правильно, потому что в вебе самое главное - это удобство постоянного развития проекта. Если код внешне, и по логике похож на то, как данные организованы в бытовом восприятии, это удобно: быстро вникаешь и можно дорабатывать.
    Ответ написан
    Комментировать
  • Как можно это сверстать?

    LenovoId
    @LenovoId
    svg, css,js
    Фон и прочее поменяете

    Ответ написан
    Комментировать
  • Как сделать подобное?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Тип интерфейса - "аккордеон".
    Он везде есть во всех фреймворках.
    Ответ написан
    Комментировать
  • Как сделать переключалку языков?

    motokraft
    @motokraft
    Кратко о себе
    Ссылкой, выпадающим списком, dropdowns
    Ответ написан
    Комментировать
  • Есть здесь кто-нибудь, прошедший курс от thinknetica?

    @andreychumak
    junior
    Не знаю какой вы ответ хотите получить, но хорошие отзывы по финкнетики от людей, действительно благодарных. Спросите в чате или на форуме)
    Я сам пошел учиться на курс, после рекомендации от знакомого.
    Проходил курс (в 2016 он был разбит на 2 курса, по времени 5 месяцев, прошел оба).
    Дошли до конца человека 4 (из 30), остальные слились практически в начале (потому что тяжело).
    После курса полгода еще сам изучал, но работу нашел за 2 недели после начала поиска.
    Сейчас работаю.

    Из действительно хороших курсов могу посоветовать только thinknetica и mkdev.
    На мой взгляд это не сбор денег (хотя бы потому что они их возвращают). Ну и сами скринкасты очень понятные.

    Курс (и вообще менторы) очень сильно форсируют. Если не бросите, то работу найдете.
    Ответ написан
    1 комментарий