• Как своими силами реализовать огромную e-mail рассылку?

    @ycexa
    Если я правильно понял вопрос, то ты спрашиваешь, можно ли написать такой рассыльщик, самому.
    Если да, то здесь появятся два под-вопроса:
    1) Как успеть отправить 4 млн. писем за вменяемое время?
    2) Как не попасть в спам?

    Отправку писем можно сделать в обычной связке [железо] + [программа] + [отправщик]
    Железо - хороший сервер с широким каналом
    Программа - пишешь на чем угодно, хоть на php
    Отправщик - настроенный postfix (нужно убрать лишние проверки, оптимизировать настройки очереди и т.д.)

    А вот как не попасть в спам - это совсем другой вопрос
    Помимо того, что есть определенные требования к подписи писем (DKIM, SPF, DMARC), есть еще целая куча тонкостей, которые касаются правил отписки (FBL, List-Unsubscribe headers и т.д.), рейтинга домена, рейтинга ip и т.д.
    4 млн. пользователей - это очень большая база.
    Судя по тому, что ты пишешь - это будет первая рассылка, следовательно такая большая отправка покажется всем почтовикам подозрительной.
    Да и база, вероятно, не чищенная (будет много несуществующих адресов, спам ловушек и т.д.)
    Поэтому с вероятностью 100% сделать с первого раза рассылку с доставкой 4 млн. писем не удастся.

    Итого
    Своими силами сделать можно, но долго и достаточно дорого + нужен определенный скилл :)
    Ответ написан
  • Как поставить UTM метки?

    @ycexa
    Если ты хочешь, чтобы аналитика и метрика видели эти метки, нужно вот, чтобы ссылка на твой сайт содержала utm-метки. А utm-метки - это просто get-параметры

    Например, если ты хочешь вести трафик на страницу http://site.ru/some_path/
    , то с площадке нужно давать url c utm-метками. Например:
    http://site.ru/some_path/?utm_source=yandex&utm_medium=cpc&utm_campaign=campaign


    Чтобы не ошибиться, можешь воспользоваться компоновщиком от google https://support.google.com/analytics/answer/103386...
    Ответ написан
    Комментировать
  • Как убрать хеш из url?

    @ycexa
    Хабр это делает через history:
    $(window).load(function() {
        var histAPI = !!(window.history && history.pushState);
        if (histAPI && (document.location.hash == "#habracut" || document.location.hash == "#comments")) {
            history.replaceState({}, document.title, document.location.pathname + document.location.search)
        }
    });
    Ответ написан
    3 комментария
  • Как в sublime text 2 убрать функцию при нажатии f9?

    @ycexa
    Зайди в Preferences -> Key Bindings - User
    И допиши там:
    { "keys": ["f9"], "command": "unbound" }

    Если других правил там не было, то в итоге будет так:
    [
        { "keys": ["f9"], "command": "unbound" }
    ]
    Ответ написан
    Комментировать
  • Как убрать вывод неактивных разделов в битриксе?

    @ycexa
    bitrix:news - это комплексный компонент. Т.е. он просто разруливает на какой странице какие компоненты должны выводиться.
    Поэтому список разделов "в которых есть товар данного производителя" формируется не самим компонентом bitrix:news, а каким-то другим (bitrix:news.list, bitrix:news.detail или каким-нибудь другим).
    Каким компонентом выводится этот список?
    Ответ написан
    3 комментария
  • Как определить IE через PHP?

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


    Тут интересного еще больше: habrahabr.ru/post/201172
    Ответ написан
    Комментировать
  • Как реализовать программный клик по только что созданной ссылке в IE 11?

    @ycexa
    Если
    !("createEvent" in document)
    то
    link.fireEvent("onclick");

    Но работать все равно не будет - надо вначале добавить ноду в DOM.

    А вообще скачивать файл без ведома пользователя плохо:)
    Ответ написан
    Комментировать
  • "Для обмена между клиентом и сервером" Есть альтернатива php?

    @ycexa
    Давайте и я в холиваре поучаствую)
    Так как PHP - это интерпретируемый язык, он, действительно, не самый быстрый по-умолчанию.
    Но нужно понимать, в чем эта "не быстрость" заключается. Состоит она в том, что php-интерпретатору перед выполнением кода требуется время на то, чтобы перевести его в байткод. Чтобы сэкономить на этом процессе используются php-акселлераторы (видимо, их ты и имеешь в виду, когда пишешь "отключил кэширование"). В остальном php - обычный высокоуровневый язык со своими особенностями.
    Поэтому я соглашусь с другими участниками, что, скорее всего, проблема не в самой пыхе.

    Когда ты пишешь:
    увы он не много тормозит, производительность скромная
    Нужно понимать, что "немного тормозит" - это [время на отправку запроса] + [время на то, чтобы сервер передал запрос php-интерпретатору] + [[интерпретация кода] + [исполнение кода] + [обращение к файлам (например, если используется сессия, и хранится она файлово)] + [обращение к БД] + др.]] + [время на вернуть запрос]
    Как видно, "переписать" в лучшем случае ускорит один из 7 этапов обработки ответа, а гемороя обещает очень много.
    Поэтому я советую вначале разобраться с тем, что именно в текущий момент является узким горлышком. Для этого нужно использовать профилировщик (не путать с отладчиком)!
    Самым наглядным, наверное, будет NewRelic. А вообще их целая куча. Например, xhprof

    (То, что ты пишешь, что процессор занят на 100% именно пыхой - это не нормально. Либо пыха делает что-то лишнее, либо криво настроен сервер.
    Учитывая то, что ты пробуешь играться с long-poll запросами, велика вероятность, что плодится очень много лишних деток)
    Ответ написан
    Комментировать