• Правильно ли формирую htaccess файл для сжатия и кэширования?

    orlov0562
    @orlov0562
    I'm cool!
    1)
    - Добавляется не файл шрифта, а mime тип соответствующего файла, пример
    AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/opentype


    - Использовать кеш для шрифтов стоит, если шрифт не стандартный и подключается отдельным файлом

    2)
    - mod_gzip_item_include имеет формат
    mod_gzip_item_include <тип> <регулярное выражение>
    тип может быть: mime, handler, file, uri, reqheader, rspheader
    если регулярное выражение отработало, то будет кеширование.

    Использовать файлы или mime типы или все вместе - это зависит от задачи. Как пример, ты можешь генерить js или css в файле site_com/style.php и в таком случае, mime сработает (при условии что будет в скрипте послан css header), а вот file нет. В общем, идея думаю понятна..

    Обязательно ли использовать параметр ExpiresDefault?

    Нет не обязательно. ExpiresDefault = общая настройка; ExpiresByType = более тонкая настройка, при этом переопределяет значения ExpiresDefault.

    Для шрифтов досточно будет: application/x-font-ttf, font/opentype, application/x-font-woff

    Зависит от набора шрифтов которые используешь, см. ответ на п.1

    Нужно ли удалять ETag и Last-Modified?

    Если, у тебя нет балансировки (нескольких веб-серверов для одного сайта), то не надо удалять. С помощью этих заголовков веб-сервер понимает какая версия страницы находится в кеше браузера и соответственно либо генерирует новую страницу (http 200), либо говорит использовать кеш (http 304).
    Ответ написан
    2 комментария
  • Как кэшировать файлы .htaccess?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    0) попасть на работу в Я Г , чтобы это стало вашей проблемой
    1) забить. Ибо watch.js analytics.js уже загружено юзеру с других сайтов
    2) если успокоиться не получается - положить watch.js analytics.js на свой сервер, кроном настроить их ежедневное обновление и
    #кэшировать css, javascript и текстовые файлы
      <FilesMatch "\.(js|css|txt)$">
        Header set Cache-Control "max-age=604800"
      </FilesMatch>
    Ответ написан
    Комментировать
  • Как правильно оценить проект?

    GriNAME
    @GriNAME
    Front-End Developer, Android Developer
    Кроме оценки по времени, можно использовать и другие методы расчета стоимости. В основном все новички не могут адекватно оценить время, за которое они сделают ту или иную работу. Да и у опытного мастера такое тоже может быть иной раз. Все зависит от проекта и самого человека. Так же не игнорируем индивидуальные особенности. А клиенту желательно знать точную или приблизительную цену перед началом работ, а не когда она завершится и будет зафиксировано потраченное время для расчетов. Поэтому я начинал с оценки по секциям вёрстки, а не времени за работу. Каждая секция 800 рублей (ценник для джуниора). И считаем, хедер, футер, разные блоки. Цена получается очень адекватная для обоих сторон и ее легко посчитать.

    Сейчас я считаю не секции а БЭМ сущности. Мне это удобнее чем, оценка времени (касательно верстки, какие-то работы оцениваю по времени, выше в ответе про временную оценку очень хорошо все описано) Я верстаю по БЭМ и весь проект разбираю на независимые блоки. Например верстка какой-нибудь карточки, а она используется в 5 местах на сайте с 2-3 видами кастомизаций, в зависимости от размещения, но я то благодаря БЭМ верстаю ее только один раз. Потом только готовые классы расставляй. Поэтому считаю БЭМ сущности, если они много раз повторяются ещё накидываю небольшую сумму.

    По посадке (также внедрение) верстки все зависит от того как вы работаете с бекендом. Думаю для вас подойдёт 50-100% от стоимости верстки брать за посадку. В зависимости от сложности.

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

    И мой совет, как работать быстро и качественно. Изучайте современные инструменты для работы. Сборщики проектов, препроцессоры, БЭМ и так далее. По своей натуре я этими вещами начинаю интересоваться ещё до того как получил хорошую базу знаний и мне это помогло очень быстро выполнять свою работу качественно, в короткие сроки, современно и удобно. Каждая работа не выглядит как очередная рутина. За счёт всех этих современных инструментов каждый раз работать очень интересно.

    Ещё если вы сами и дизайны рисуете, то изучите восьми пиксельную сетку
    https://habrahabr.ru/company/everydaytools/blog/31...
    Или расскажите об этом дизайнеру с которым работаете.
    А так же атомарный дизайн. Принцип тот же что и БЭМ, только применительно к дизайну. И оценку очень легко делать и верстать
    Ответ написан
    13 комментариев
  • Как уйти от использования jQuery?

    sadisme
    @sadisme
    font-size:30rem
    В отказе от JQ нет никакого смысла, если вы его конечно не только ради пары строчек используете.

    JQ это не просто бибилиотека, это огромнейшая база плагинов и готовых решений. Если вы откажитесь от него, то любую мелочь, почти гарантированно придётся самому писать.
    Пока не появится достаточное количество JS реализаций всяких слайдеров,меню и т.д., переход будет весьма болезнен. И ради чего этот геморрой? Ради 90кб? В нынешних реалиях, это смех да и только.
    Ответ написан
    1 комментарий
  • Как на phpQuery/jQuery правильно выбрать нужные элементы?

    abyrkov
    @abyrkov
    JavaScripter
    $('.parent > div:not(.no-select)')
    Поэлегантнее
    Ответ написан
    Комментировать
  • Как "проветрить" мозги во время обучения?

    fedorez
    @fedorez
    Хатуль мадан
    увеличьте большой перерыв до 40 минут - часа ,как в нормальных ВУЗах. и потратьте их на пробежку.
    не относитесь к себе как некоторые упоротые фанатики, которые загоняют себя сверхнагрузками и кофе вопя про "no pain no gain". сломанный организм очень сложно чинить. тут как в притче про двух лесорубов - обязательно нужно отдыхать и точить топор.
    кофе не рекомендую много. тем более- кофеин в таблетках.
    если можете себе позволить ходить в бассейн - обязательно это делайте - бас для людей нашей профессии просто спасение - благотворно влияет на позвоночник, даёт общую нагрузку на все мышцы. плюс некий сброс кипящих мозгов происходит.
    поищите на хабре статьи про отдых и повышение работоспособности от novikov - дело дядька говорил.

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

    @Geograph
    https://www.reg.ru/support/hosting-i-servery/sajty...

    Вариант 1
    RewriteEngine On
    RewriteCond %{HTTPS} =off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]


    Вариант 2
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]


    если оба первых варианта не помогли и возникает циклическая переадресация:

    Вариант 3
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Ответ написан
    8 комментариев
  • Какой нужен для планшетов media запрос?

    /* Smartphones (portrait and landscape) ----------- */
    @media only screen
    and (min-device-width: 320px)
    and (max-device-width: 480px) {
      /* Styles */
    }
    
    /* Smartphones (landscape) ----------- */
    @media only screen
    and (min-width: 321px) {
      /* Styles */
    }
    
    /* Smartphones (portrait) ----------- */
    @media only screen
    and (max-width: 320px) {
      /* Styles */
    }
    
    /* iPads (portrait and landscape) ----------- */
    @media only screen
    and (min-device-width: 768px)
    and (max-device-width: 1024px) {
      /* Styles */
    }
    
    /* iPads (landscape) ----------- */
    @media only screen
    and (min-device-width: 768px)
    and (max-device-width: 1024px)
    and (orientation: landscape) {
      /* Styles */
    }
    
    /* iPads (portrait) ----------- */
    @media only screen
    and (min-device-width: 768px)
    and (max-device-width: 1024px)
    and (orientation: portrait) {
      /* Styles */
    }
    
    /* Desktops and laptops ----------- */
    @media only screen
    and (min-width: 1224px) {
      /* Styles */
    }
    
    /* Large screens ----------- */
    @media only screen
    and (min-width: 1824px) {
      /* Styles */
    }
    
    /* iPhone 4 ----------- */
    @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
      /* Styles */
    }
    Ответ написан