• Что необходимо чтобы развернуть своей почты?

    Для начала 3 полезных сайта: 24whois.ru для проверки записей, если не хочется возиться с nslookup, mxtoolbox.com для проверки настроек smtp сервера и pdd.yandex.ru бесплатный DNS сервер.
    Предположим, у Вас есть белый IP 50.100.150.200, по которому доступен будущий почтовый сервер и домен homepage.ru.

    1. Создайте A запись для данного IP адреса. Например, это может быть так:
    Хост: mail.homepage.ru
    Тип: A
    Значение: 50.100.150.200

    2. Создайте для @ MX запись с меньшим приоритетом, чем уже существующие (например, для серверов с приоритетом 10 и 20 основным будет 10) и впишите в неё созданный поддомен:
    Хост: @
    Тип: MX
    Значение: mail.homepage.ru
    Приоритет: 5

    На этом этапе уже можно принимать и отправлять почту, но доверия к Вашему почтовому серверу не будет - ищите все тестовые письма среди спама.

    3. Обратитесь к хостеру, у которого стоит сервер или провайдеру, если сервер дома, чтобы он сделал следующую PTR запись (IP должен быть "перевёрнут"):
    200.150.100.50.in-addr.arpa IN PTR mail.homepage.ru

    4. Настройте SPF на DNS сервере. Например, если у Вас 1 IP - можно указать только его, а почту с остальных объявить недоверенной (~all) или вообще советовать сразу отклонять её (-all).
    Хост: @
    Тип: TXT
    Значение: v=spf1 ip4:50.100.150.200 ~all

    Вот как это выглядит у яндекса: 24whois.ru/?data=_spf.yandex.ru&t=nslookup&dns_type=txt и с раскрытыми IP адресами: 24whois.ru/?data=_spf-ipv4.yandex.ru&t=nslookup&dn...

    5. При помощи mxtoolbox или другого сайта проверьте свой IP на нахождение в чёрных списках и подайте заявки на исключения из них. Вы 99,9% будете хотя бы в одном списке, как минимум надо проверить spamhaus - им многие пользуются.

    6. Желательно на сервере настроить правильный ответ HELO/EHLO: mail.homepage.ru
    Ответ написан
    3 комментария
  • Селекты из таблицы на 5 млн строк. Если разбить её на 100 таблиц - будет выигрыш в производительности?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Поддерживаю longclaps, вы что, алиекспресс админите? откуда в таблице товаров 5М строк, вы что, спички поштучно учитываете? Это номер раз, второе - если фильтры такие забубенные - делайте в 2-3 запроса через бэк, что у вас там, пых, нода, джанга, ограничивайте по уму количество товаров в первой выборке по самому быстрому индексу и самой ограничивающей выборке, например все товары выбранной категории, далее филтр только на результат выборки по типу id in(1,2,3,4). И все же скажите, не мучьте, ОТКУДА СТОЛЬКО ТОВАРОВ БЛИН, я ж не засну теперь...
    Ответ написан
    14 комментариев
  • Как сгенерировать 10 млн строк в таблице для тестов?

    Winsik
    @Winsik
    сис.админ, недопрограммист :)
    DELIMITER //
    CREATE PROCEDURE X()
    BEGIN
      DECLARE i INT DEFAULT 0;
      WHILE i < 10000000 DO
      INSERT INTO map (X,
            Y,
            STATUS)
            VALUES('1','1', FLOOR((RAND() * 5)));
      SET i = i + 1;          
      END WHILE;
    END//
    DELIMITER ;

    стащено отсюда (вот только сколько это будет генериться по времени, лучше разбить на кусочки по 100к записей ))
    Ответ написан
    Комментировать
  • PHP. Синтаксис: почему часто пишут так, а не иначе?

    SagePtr
    @SagePtr
    Еда - это святое
    Потому что во втором случае можно нечаянно поставить одинарный знак равенства (присваивание вместо сравнения), синтаксически это будет верно и ошибку найти будет сложновато.
    Ответ написан
    Комментировать
  • Нужен ли primary key для такого?

    Melkij
    @Melkij
    PostgreSQL DBA
    primary key нужен всегда.
    Если по логике вашего приложения одному user_id может соответствовать только один пользователь в каждом service_id - то PK на первые два поля.
    Если несколько - то pk на 3 поля.

    Порядок полей при указании PK таблицы связей важен. Для mysql/innodb очень важен, т.к. таблица кластеризована по PK и любое обращение по вторичному ключу влечёт поиск по PK (кроме покрывающих индексов). Порядок выбирайте исходя из наиболее частых запросов к таблице, чтобы максимум запросов могло идти по первичному ключу.
    Ответ написан
    Комментировать
  • Как вы организовали хранение данных к проектам?

    opium
    @opium
    Просто люблю качественно работать
    по заказчикам все по папкам раскидываете
    закончили работу переместили в архив с годом
    итого в активной папке ну пяток активных заказчиков.
    Ответ написан
    Комментировать
  • Нормализовать регистр в строках, да на php?

    Stalker_RED
    @Stalker_RED
    На случай, если таки решите самодельничать, вот вам abbr.ru.
    Ответ написан
    Комментировать
  • Безопасно ли хранить файлы в архиве WinRar?

    x67
    @x67
    Обойдусь без демагогий. Winrar использует алгоритм шифрования AES с ключом 128 или 256 бит в зависимости от версии. И это на сегодняшний день очень надежный алгоритм, которые используется повсеместно. Если ваш 25 значный пароль смогут взломать за разумное время, можете не беспокоиться, так как у всего мира проблемы будут побольше. Поэтому используйте винрар 5 версии (ключ 256 бит) и не забывайте о криптопаяльнике, скорость взлома которым никогда не зависела от алгоритма шифрования)
    Ответ написан
    2 комментария
  • Как хранят свои страницы крупные сайты?

    Stalker_RED
    @Stalker_RED
    Единая точка входа - один php файл, (обычно index.php лежащий в корне сайта), в который попадают все запросы ко всем страницам. Он запускает движок и вызывает router (маршрутизатор) - скрипт, который по url определяет какой раздел и какая страница запрошена. Ориентируясь на правила прописанные в маршрутизаторе он запускает нужный модуль (читайте про mvc). Там где-то происходят обращения в базу данных, какая-то бизнес-логика работает, и в итоге данные передаются в шаблонизатор, который выдает HTML код.

    Чтобы самому не изобретать всё с нуля можно взять набор готовых компонентов. Такие наборы называются фреймворками.
    Это все подходит не только для крупных сайтов, а для любых проектов, где больше одной страницы.
    Ответ написан
    Комментировать
  • Как хранить фото в базе?

    gds1
    @gds1
    Пыха - это наше всё)))
    не надо хранить фото в базе
    Ответ написан
    Комментировать
  • Как вызвать команду из истории bash, начинающуюся с конкретной строки?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    CTRL-r нажимаете и начинаете вводить часть команды повторное нажатие перебирает найденные команды.
    На консоли после нажатия CTRL-r будет примерно такое
    (reverse-i-search)`gre': grep 'item' gus.xml | wc -l
    Ответ написан
    Комментировать
  • Какие будут последствия открытия быстрого алгоритма факторизации?

    15432
    @15432
    Системный программист ^_^
    Все системы, в которых безопасность базируется на алгоритмах типа RSA, окажутся скомпрометированы. Защищенный обмен данными по HTTPS, подпись обновлений программ и оборудования, ключи авторизации SSH.
    Производители постараются как можно быстрее выкатить апдейты ПО, закрывающие образовавшиеся дыры в алгоритмах обновления и авторизации (используя, например, алгоритмы эллиптических кривых), но далеко не все произведут обновление, а некоторые устройства и вовсе невозможно будет обновить.
    Если такой алгоритм действительно будет найден и будет выложен в открытый доступ, будет полный бардак в мире IT на ближайшие 5 лет
    Ответ написан
    Комментировать
  • Как сделать узел на svg?

    1. Надо нарисовать кривыми Безье путь этого узла в каком-нибудь векторном редакторе, напр. Adobe Illustrator:
      как это выглядит
      3870afe253d5421aaeebb9dd84570db3.png

    2. в этом редкаторе сохранить файл как SVG или просто скопировать оттуда SVG-код нарисованного пути. В Illustrator в диалоге сохранения копии файла как SVG есть кнопка «Показать SVG-код»
      (Show SVG Code)
      665467c951de4f8486dcf5d967326386.png

    3. в веб-документе вставить этот путь и дать ему пунктирный стиль через stroke-dasharray, скруглёные концы через stroke-linecap="round", нужную толщину через stroke-width и цвет через stroke:
      SVG код вашего узла
      <svg width="800px" height="369.643px" viewBox="0 0 800 369.643" enable-background="new 0 0 800 369.643">
      <path fill="none" 
        stroke="#596E7A"
      	stroke-width="10"
      	stroke-miterlimit="10"
      	stroke-dasharray="25,25"
      	stroke-linecap="round"
      	d="M34.762,225.595c25.084,109.862,211.31,151.786,342.262,108.929	c129.701-42.448,212.358-186.755,180.357-288.095C543.096,1.19,460.075-8.983,449.372,67.834
      	c-15.801,113.4,167.532,164.904,318.724,34.547"/>
      </svg>

    Результат
    Ответ написан
    Комментировать
  • Как выделить элемент не содержащий дочерних?

    Добавить всем p, содержащим img, класс
    <p>lorem ipsum dolor sit amet.</p>
    <p>lorem ipsum dolor sit amet.</p>
    <p class="image"><img src="http://via.placeholder.com/350x150"></p>

    и написать что то типа
    p:not(.image) {
      border: 1px solid red;
      padding: 20px 10px;
    }

    Пример
    Ответ написан
    3 комментария
  • Как заблочить исполнение скрипта, если он уже запущен?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Ответ написан
    Комментировать
  • Что происходит с функцией preg_match в данном случае, мистика php?

    @Arekusei
    Проверьте ещё кодировки.
    Если весь код запихнуть в кодировку отличную от юникода, то получите `00`
    Если всё запихнуть в юникод, то получите `11`.
    Вообще больше похоже именно на проблемы кодировок и регулярок.
    Ответ написан
    Комментировать
  • Запуск PHP скрипта в фоне?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    supervisord, systemd.
    Ответ написан
    Комментировать
  • Как убрать родительский тег P у картинки?

    @miksir
    IT
    Через дом, конечно, можно. Но это может быть довольно затратно, а так как эти теги вставляет ваш редактор (т.е. структура достаточно детерминирована), то много проще обойтись регекспом.
    preg_replace('/<p>(<img[^>]+>)<\/p>/', '$1', $html)
    Ответ написан
    Комментировать
  • Как сохранить cookie после очистки?

    @BorisKorobkov
    Web developer
    Есть пользователи, которые не гнушаться удалять эти куки почем зря

    ССЗБ.
    Нет кук - пусть авторизуются на вашем сервере заново.
    Ответ написан
    Комментировать