• Что выбрать для почты для домена?

    xenon
    @xenon
    Too drunk to fsck
    Мой совет - для хранения, чтения, фильтрации почты и всего прочего (если хотите бесплатно) - используете любой почтовый сервис, который вам нравится (gmail, yandex, все что хотите). Проблема только в том, чтобы использовать свой домен. А это решается иначе.

    1. ImprovMX.com
    Регаетесь там, и настраиваете пробросы адресов (в том числе можно и catch-all) на любые другие почтовые адреса, например, на яндексе. Так что, у вас получается @yourdomain.com но бесплатно

    2. Cloudflare email routing
    Если DNS для домена хостится на Cloudflare - то же самое можно сделать средствами Cloudflare, бесплатно и вроде безлимитно. Читать: так же, на яндексе-мейле-гмейле, где хотите.

    В общем, мы используем доп сервис (cloudflare/improvmx) для "своедоменификации", а в остальном живем как и раньше, на удобном-бесплатном сервисе.

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

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

    Лимиты у ImprovMX - 500 входящих в день. Размер аттача не знаю.
    Cloudflare: 25Mb на сообщение (аттач). Не знаю, это именно на чистый разме файла, или на размер сообщения. По количеству лимитов вроде бы нет.

    Почему мне нравится такой вариант:
    - У нас есть выбор для почтового роутера (cloudflare/improvmx/....). Если что-то не нравится - выберем другой (не меняя ящика)
    - У есть есть практически неограниченный выбор бесплатных почтовых сервисов с их щедрыми лимитами.
    - Все бесплатно и не зависит от сложностей с оплатой.

    Еще по теме (больше аналогичных вариантов): https://woorkup.com/email-forwarding-service/
    Ответ написан
    Комментировать
  • Как вычислить виновника из-за которого отваливается интернет с какой-то периодичностью в маленькой сети?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Такого рода проблемы все и всегда решаются однотипно.
    1. Необходимо сформулировать критерии наличия проблемы.
    Как именно пропадает интернет, насколько часто, как надолго. Это нужно для диагностики. поиска причины и определения ушла ли проблема после принятия каких либо мер.
    2. Делить проблему на части и проверять части по отдельности.
    Самый эффективный способ делить - это пополам. Отсекаем часть сети и проверяем наличие проблемы в обеих частях (если есть возможность) или в одной из частей.
    3. Когда найден минимальный проблемный участок, который уже нельзя или бессмысленно делить - заменяем его.
    4. Помним, что чаще всего сложные проблемы - это композиция нескольких более простых. которые по отдельности могут не проявляться. В вашем случае может быть проблема, связанная с нагрузкой на роутер, например, которую создает один из услов из-за плохого контакта обжима и большого объёма биттых пакетов. Устранив одну из причин, вы, может быть, сделаете проявления проблемы реже, но не устраните её полностью. К примеру, если замените ротуер, битые пакеты будут всё равно будут нагружать вашу сеть и портить ее производительность, но это будет не так очевидно. Переобжав коннектор вы избавитесь от части нагрузки, но еслив ваш ротуер работал на переделе, то лишний вафай-клиент или тяжелый видос в сети сможет его снова нагрузить до критического снижения производительности.

    Итак, пробежимся по перечисленным пунктам сначала.
    1. Критерии. Поиск критериев - это часть решения. Обычно в этом случае нуно сорать необходимую статистику. Есть куча софта, который это умеет делать, но пинг есть всегда под рукой.
    Для этой тулзы есть две полезных опции: ключ для бесконечного пинга и размер пакета.
    В разных ОС эти ключи немного разные, поэтому ищите их отдельно, у меня нет винды под рукой, поэтому не стану на этом заострять.
    Скаж лишь, что пинговать лучше большими пакетами, жалетально превышающими размер TTL, прописанный в роутере. Тогда такой пинг будет реже проскакивать в периоды хорошей связи, то есть выловит больше пролблем.
    Пинговать нужно в отдельных окнах сразу несколько хостов:
    - ya.ru - этот хост всегда отвечает на пинги и выявит проблемы с DNS
    - 8.8.8.8 - это гугловый DNS-сервер, тоже всегда отвечает на пинги, покажет, что связь с инетом есть даже если DNS, прописанныйна компе не правильно работает.
    - 192.168.0.1 - или какой там IP у вашего роутера. Нужно. чтбы отделить проблемы с инетом от проблем с внутренней связностью до роутера
    - 192.168.0.x - ip одного из компов в сети. Я обычно пингую несколько компов, доступных через баксимальное число потенциально проблемных узлов - ethernet-розеток, свичей, вайфай-соединений... Этот пинг поможет понять где проблема, во внутрисетевой связности или в последней миле.

    Учтите, что проблемы часто бывают комбинированные и каждое сочетание симптомов будет свидетельствовать о раных проблемах.
    Да, тревожным принаком может служить не только пропадание пакетов, но и скачки в длительности их возврата, особенно если такие длительности достигают 500мс и выше. Но и скачки от 3мс до 250мс тоже будут свидетельствовать о каких-то проблемах.

    Запускать пинг на всех компах лучше одновременно и на некоторое время. Например минут на 20. Потом по статистике будет видно сколько где пакетов пропало.

    2. Если критерии наличия проблемы позволяют, то можно попробовать отрубать части сети и смотреть наличие проблемы. Это я в том смысле, что если проблема происходит в среднем раз в пару-тройку часов, то отрубать на многие часы части сети при диагностикем ожет быть неприемлемым.
    Редкеи пробемы дольше отлавливать. Но напоминаю, что критерии можно детализировать, ведь если пакеты у вас пропадат относительно редко, то скачки времени их возврата могут случаться чаще и подсвечивать проблему. Также можно сделать рамер пакета близким к максимальному, это должно тоже в некоторых случаях участить проявление проблемы.
    Иногда не мешает нагрузить сеть комированием по локалке большого файла. В линуксе можнно с помощью утилиты tc послать большой поток рандомных байт на любой сокет..
    3. Плавающие проблемы случаются из-за плохого обжима, перебитого жверью кабеля, перегрызенного UTP в плинтусе, из-за умиращих конденсаторов в блоке питания роутера (БП может не выдавать необходимого при нагрузках тока, но вольтметром такая неисправность не будет различима без нагрузки). Вообще старые (да и не только) роутеры могут страдать поплывшими электролитическими конденсаторами не только в блоках питания.
    Хорошо, когда можно подменить роутер.
    4. ну с четвертым пунктом ничего не пососветуешь, только разделать и тестировать все по отедльности и в разных сочетания и да поможет нам ктулху.

    А для тех, кто дочитал этот опус до конйа - интересная задачка. Что пингуют эти команды, как и почему?
    ping 1.1
    ping 2130706433

    Тех, кто знает, попрошу не спойлерить=)
    Пусть для кого-то будет сюрпризом этот дивный мир=)

    UPD. Простите за адское количество опечаток в тексте. Писал в спешке и с непривычной клавиатуры. Исправлю всё попозже. Не ожидал, что многим ответ придётся по душе. Вроде ж накапитанил как мог.
    Ответ написан
    5 комментариев
  • Vue.js + Wordpress?

    @FullStackAlex Автор вопроса
    Веб-разработчик, электрик, кочевник
    Наконец таки я решил все технические вопросы для внедрения Vue.js в WordPress-Workflow. Долго я к этому шёл. Трудно было совместить freelancing на основе WordPress и WooCommerce и одновременно самообучение Symfony и Vue.js и создание первых реальных проектов на их основе. Но создание первого большого проекта на основе headless Symfony 4 (JSON API) и потребителя на основе Vue.js меня хорошо продвинуло вперед в направлении внедрения Vue.js в WordPress. Почему мне так интересен WordPress/WooCommerce умея делать Backend на основе Symfony? Потому что WordPress делает доступным веб технологии и маленьким клиентам по "демократическим" ценам, при этом всё ещё позволяя фрилансеру хорошо заработать (по крайней мере в Берлине, где я проживаю).

    Так как путь сюда до сих пор никем в интернете детально не описан и я угрохал недели если не месяцы на решение этой задачи прочитывая все статьи и docs с этой темой связанные (освоил для этого даже наконец таки Docker и Nginx и углубил знания в настройке Webpack) и пройдя многие не верные пути (vue-cli, nuxt.js) - я решил создать в течении следующих недель курс на Udemy.com на английском за 20 баксов. Если будет тут достаточно интереса (хотя бы лайков 10 ), то сделаю туториал и на русском. Курс будет содержать настройки Webpack, Docker (optional), Apache/Nginx. Моё решение сохраняет в отличии от nuxt.js все преимущества как WordPress так и Vue.js при этом соблюдая "законы" SEO и Social Marketing (Twitter Cards, Facebook Open Graph итп) и самое главное Hot Module Replacement с PHP/WordPress Templates!!!!!! .
    Я очень разочарован Nuxt.js и расскажу в Tutorial почему он далеко не во всех случаях технически годен и почему с точки зрения open source этот проект не оптимальный исходя из моего личного опыта.

    UPDATE 15.05.2019
    К сожалению руки до туториала так и не дошли. Но создал Github Repo с простым Starter Theme.
    Демо можно тут просмотреть: wue-theme.app
    Пока без доскональной документации. Надеюсь к концу месяца создам.
    Приколы темы:
    -Hot Module Replacement с PHP файлами (если только это интересно можно и тут скачать Webpack config)
    -полная поддержка SEO без Server Side Rendering (SSR). Реализуется это за счёт загрузки данных вместе с HTML в глобальном JS объекте "technomad", вместо дополнительного AJAX-запроса, что не поддерживается гуглом и для чего и нужны все прибамбасы типа Nuxt.js и phpv8/v8js.
    -элементы меню и новости автоматически добавляются через WordPress-Backend.
    -тема устонавливается как и любая другая тема без каких либо дополнительных настроек сервера (нужно скачать всю Repository и скомпремировать "wuetheme" папку в ZIP и тогда можно просто загружать как и обычную тему).
    -Github Repo без данных из демонстрации. Может ещё добавлю функцию установки демо данных.
    -сервер демо во Франкфурте без CDN. Так что во Владивостоке загрузка наверное немного дольше длится будет)) Из Берлина за 600-700ms загружается с VPS.
    -есть ещё много над чем работать (pagination, проверка загруженны ли скрипты и стили плагинов при Ajax route change, пока они загружаются только при инициальной загрузки, но скрипты и стили могут быть на каждой странице иные) , нo даже в данном виде эта тема на сколько я знаю уникальная.
    -тут можно проследить прогресс перестройки моего сайта с этой темой: stage.alexfullstack.dev, там больше клёвых анимаций))
    Пока всё. Have fun :)

    Update 30.05.2019
    Много чего обновил на Github.

    Update 02.06.2019
    Я решил вчерашнюю проблему)))
    Нужно было просто выспаться))
    Завтра подробно опишу и обновлю Github Repo.

    Update 03.06.2019
    -загрузил на Github новую "bulletproof SEO" версию с "Dynamic Rendering Implementation"
    -подробная статья тут

    Update 14.06.2019
    Перенёс сайт на wue-theme.app.
    Демонстрация Github версии тут: starter.wue-theme.app
    Добавил простую Load More Pagination и очистил код.
    Ответ написан
    21 комментарий
  • Из-за чего вылезает ошибка при изменении значения в json?

    Aetae
    @Aetae
    Тлен
    Я сейчас покажу абсолютно секретный кусок кода, вы такой нигде больше не найдёте. Это чудо решает 99% проблем!
    spoiler
    $data  = file_get_contents('values.json');
    $data = json_decode($data , true); 
    var_dump($data);
    Ответ написан
  • Как отключить 'Touch' yandex maps?

    @lookfortheroot
    Frontendman
    Лучше поздно, чем никогда. Для будущих страдальцев и nikolaybolonin — блоку с картой надо сделать так:
    map.behaviors.disable('drag');
    и
    .map * {
    	touch-action: auto
    }

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

    Для информации, отключение
    map.behaviors.disable('drag');

    в Android + Chrome/Firefox блокирует прокрутку страницы вообще, но в iOS/Safari всё нормально (на момент API 2.1)

    Мне неведомо, как в Яндексе тестируют свой софт, так что это останется на их совести.
    Ответ написан
    2 комментария
  • Как выполнять задачу каждые 10 секунд в PHP?

    t-alexashka
    @t-alexashka
    Сразу пишу legacy код
    <?php
    
    function job() {
    	echo 'JOB...' . PHP_EOL;
    }
    
    while(true) {
    	job();
    	sleep(10);
    }


    и для удобства контроля поставьте supervisor, чтобы сделить за падениями демона или перезапуском.
    Ответ написан
    2 комментария
  • Как экспортировать все метки организаций из поиска?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Запрещено лицензией. Или 500т рублей в год.
    Ответ написан
    2 комментария
  • WooCommerce не меняется итог корзины?

    @FutsalShuffle Автор вопроса
    Нужно было ставить хук на woocommerce_after_calculate_totals вместо того что я использовал.
    Ответ написан
    Комментировать
  • Как сделать редирект авторизированных пользователей Wordpress?

    anatoly_kulikov
    @anatoly_kulikov
    Помог ответ? Отметь решением!
    Можно поставить при логина куки типа 'welcome=true' и при ее наличии адресовать в личный кабинет. Если нужно вернуть на главную - переписывай на 'false' и перенаправляю
    Ответ написан
    1 комментарий
  • Как добавить редирект для авторизованного пользователя WordPress?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Пытаться редиректить с помощью javascript из php - это конечно сильный ход :)

    Вставьте в functions.php
    function custom_homepage_redirect()
    {
        if ( is_front_page() && is_user_logged_in() ) {
            wp_redirect( home_url( '/home' ) );
            die;
        }
    }
    add_action( 'template_redirect', 'custom_homepage_redirect' );
    Ответ написан
    Комментировать
  • Как автоматически измененить статус заказа в Woocommerce?

    billyOne
    @billyOne
    Энтузиаст из села
    Если товары указать как виртуальные то для таких видов товара есть дополнение к WooCommerce, Orders Autocomplete.
    https://wordpress.org/plugins/autocomplete-woocomm...
    Я сам недавно делал проект и нужна была эта функция, чтоб после оплаты товар переводился в состояние Выполнен
    Ответ написан
    1 комментарий