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

    denis_bardak
    @denis_bardak
    Web Developer
    Ответ написан
    Комментировать
  • Кэширование на IIS сервере (ASP.NET)?

    LifeAct
    @LifeAct
    Создаем и раскручиваем, не ставим на конвейер
    В веб конфиге:
    <system.webServer>
    
        
    	 <staticContent>
          <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" />
        </staticContent>
        
       <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
          <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
          <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="*/*" enabled="false" />
          </dynamicTypes>
          <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="*/*" enabled="false" />
          </staticTypes>
        </httpCompression>
        
        <urlCompression doStaticCompression="true" doDynamicCompression="true" /> 
    .................


    но для разных версий IIS, разные могут быть наборы инструкций.... + вероятно не все директивы позволяет виртуальный хостер
    Ответ написан
    1 комментарий
  • Как узнать свой уровень в кодинге?

    @kirill-93
    Это все в пределах конкретной компании ведь. Тимлид в конторке по разработке сайтов != тимлид большой международной компании. В целом примерно так:
    Джуниор не может сам полностью выполнять таски, ему нужны советы и контроль.
    Мидл может сам выполнять таски без контроля и советов, кроме исключительных случаев.
    Сеньор - тот, на ком все держится и к кому все обращаются.
    Тимлид может быть мидлом или даже джуном в другой компании.
    Что конкретно нужно знать вам никто не скажет, да и всего знать невозможно. Если речь идет именно о каких-то технологиях, то это не важно, важно уметь находить решения, а не знать их наизусть.
    И еще, лучше быть крутым джуниором/мидлом, чем хреновым тимлидом. Очень смешно смотреть, как человек с двумя годами опыта гордо рассказывает всем, что он тимлид. Этим любят пользоваться хитрые начальники, типа: "Давай ка мы тебя тимлидом называть будем, а ты поработай сверхурочно и по выходным, ты ведь теперь сеньор-помидор!", а молодежь ведется.
    Ответ написан
    3 комментария
  • Как узнать свой уровень в кодинге?

    Если с юмором отнестись, то вот разница между джуном и сеньором))
    Ответ написан
    Комментировать
  • Тонкости LexicalEnvironment?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Объект arg будет висеть в памяти пока есть ссылки на функцию closest, в данном коде такую ссылку хранит переменная myFunc, так же в памяти будет висеть и сама функция wrap так как мы можем ее использовать из замыкания
    Однако в современных движках js очень много зависит от самой функции closest, те переменные, которые не используются в замыкании будут удалены из памяти по окончании функции wrap
    Ответ написан
    4 комментария
  • Кэширование редиректа?

    Vamp
    @Vamp
    Все заголовки относятся исключительно к своему ответу. После получения редиректа барузер сгенерирует новый отдельный запрос к ресурсу /my/file.svg и сервер вместе с ним вернёт свои заголовки, относящиеся только к этому ресурсу и в этих заголовках кеширующей директивы не будет.

    Так что в вашем случае будет закеширован редирект. То есть браузер запомнит что урл "file.php?path=/my/file.svg" редиректится на "/my/file.svg" (в принципе, он это запомнит и без дополнительного Cache-Control) и если встретит где-то на странице первый урл, то отправит запрос сразу на второй урл, минуя запрос на первый.

    Вам нужно отдавать контент картинки непосредственно самим скриптом:
    header('Content-Type: image/svg+xml');
    // public явным образом разрешает кешировать контент не только на
    // устройстве пользователя, но и на любом промежуточном кеширующем http сервере,
    // если такой будет стоять между вами и пользователем
    // например, провайдерский или в офисах
    header('Cache-Control: public, max-age=604800');
    
    // ОСТОРОЖНО!!! Сначала произведите валидацию
    // параметра path перед передачей его в readfile()!
    readfile($_GET['path']);

    Это не должно быть напряжно по ресурсам. Всё-таки кешируется на неделю.
    Ответ написан
    Комментировать
  • Почему не работает defer?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Для продвинутого читателя, который знает, что теги <script> можно добавлять на страницу в любой момент при помощи самого javascript, заметим, что скрипты, добавленные таким образом, ведут себя так же, как async. То есть, выполняются как только загрузятся, без сохранения относительного порядка.

    Если же нужно сохранить порядок выполнения, то есть добавить несколько скриптов, которые выполнятся строго один за другим, то используется свойство script.async = false.

    https://learn.javascript.ru/external-script#асинхр...
    Ответ написан
    5 комментариев
  • Есть ли полифилл getElementsByClassName?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    вдруг люди придумали что-то более продуктивное?
    Так а что может быть продуктивного в IE8? MutationObserver там не поддерживается, поэтому остаётся только setInterval().

    Единственное, что вы можете сделать в плане оптимизации: создать свои addClass()/removeClass(), использовать только их и внутри обновлять коллекцию элементов.
    Ну или заманкипатчить classList (но сначала его заполифилить) с той же целью.
    Но этот подход несёт определённые риски, это, надеюсь, очевидно.
    Ответ написан
    2 комментария
  • Как составить пропорцию?

    alsopub
    @alsopub
    Одной формулой вы не обойдетесь - будет две для условия $width/$height > $scale и else.
    $width = 300;
    $height = 500;
    $scale = 16/9;
    
    $newWidth = 0;
    $newHeight = 0;
    	
    if ($width / $height > $scale) {
      $newWidth = $width;
      $newHeight = round($width / $scale);
    } else {
      $newHeight = $height;
      $newWidth = round($height * $scale);
    }
    
    echo($newWidth.'x'.$newHeight);
    Ответ написан
    3 комментария
  • Как перевести RGB в LAB/XYZ?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Ответ написан
    Комментировать
  • Как сделать на CSS?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Обычный прямоугольник + css треугольник.
    У прямоуголника - градиент, у треуольника - просто прозрачность границы с цветом нижней границы прямоугольника.
    По факту на уголке не будет градиента, но на глаз это будет не заметно.

    С надписью еще проще - два псевдоэлемента-линии.
    Ответ написан
    Комментировать
  • Как отправить файлы на почту через PHP?

    @sunrails
    Юзайте готовое решение swiftmailer.org/docs/messages.html#attaching-files
    Ответ написан
    Комментировать
  • Можно ли вставлять ссылку на разработчика?

    syschel
    @syschel
    freelance/python/django/backend
    Ссылка на себя - это реклама. Реклама это привлечение дополнительного дохода. А привлечение дохода стоит денег. По этому ссылка входит в стоимость разработки.

    Условно говоря, сайт создать стоит 10 000 рублей. Ставим ссылку. Которая возможно принесёт ещё заказы, так же вешаем сайт в своё портфолио, что тоже принесёт заказы.
    Если клиент не хочет ссылку, то добавляем в стоимость 10-20% от базовой цены. Тогда уже сайт без ссылки будет стоить 12 000р. Сайт, который заказчик захочет не светить в твоём портфолио, тоже стоит дороже, на те же самые 10-20%. То есть сайт без ссылки и не показанный в портфолио, уже стоит 14 000р. Потому что ты, недополучишь прибыли, которую ты закладываешь в цену разработки с учётом своей рекламы (ссылка + портфолио).

    Все крупные веб студии это отдельно оговаривают в договорах. Что ссылка там обязана быть и в портфолио они имеет право размещать. И клиент, по договору. без согласия студии, не имеет права удалять ссылку. За удаление он обязан заплатить.
    Ответ написан
    2 комментария
  • Как подменить заголовок?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Пример #4 Использование потоковых контекстов
    <?php
    // Создаем поток
    $opts = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
                  "Cookie: foo=bar\r\n"
      )
    );
    
    $context = stream_context_create($opts);
    
    // Открываем файл с помощью установленных выше HTTP-заголовков
    $file = file_get_contents('http://www.example.com/', false, $context);
    ?>

    php.net/manual/ru/function.file-get-contents.php
    Ответ написан
    4 комментария
  • Почему PHP ругается на регулярку?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Надо экранировать экранирование :)
    ideone.com/nyB2o2
    '/exhid=([^\\\]+)/'
    Ответ написан
    Комментировать
  • Есть ли такой инструмент?

    vlad_solomon
    @vlad_solomon
    Верстальщик
    https://developers.google.com/speed/pagespeed/insi...
    1. Вводим адрес сайта с несжатыми изображениями/css/js
    2. Нажимаем на ссылку "Скачать оптимизированные изображения, ресурсы JavaScript и CSS для этой страницы"
    3. Заменяем файлы на сжатые. Не забудьте сделать бэкап css и js файлов.
    Ответ написан
    Комментировать
  • Как вытащить сотые?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    1243.44 % 1 == 0.44
    23 % 1 = 0 (тут сами решите - если 0, сделать единицей)
    Ответ написан
    Комментировать
  • Способы улучшения JS-кода?

    dunmaksim
    @dunmaksim
    Технический писатель
    Знаки !, -, + заставляют интерпретатор вычислить (в данном случае - выполнить) то, что находится справа. Например, в Bootstrap всюду вставлен знак + для этого.
    Однако, более правильным было бы переписать код так:
    (function ($){
        "use strict";
        
    }(this.jQuery));

    Это тоже шаблон самовызываемой функции, описан в книге Стояна Стефанова "JavaScript. Шаблоны" (люто рекомендую читать не смотря на преклонный для литературы данного типа возраст, где взять - сами знаете).

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

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

    document и window можете помещать, можете не помещать - разница будет только в том, что можно использовать краткие имена:

    (function (W, D){ 
        // W = window   (1 символ против 6)
        // D = document (1 символ против 8)
        "use strict";
    
    }(window, document));


    Всё остальное в указанной книге ну и конечно Николас Закас, "JavaScript. Оптимизация производит....
    Ответ написан
    2 комментария