• Как в php бороться с символами из расширенной utf-8 кодировки?

    KorroLion
    @KorroLion Автор вопроса
    В итоге решил очень просто: удалить из строки все символы, которые по номеру кода не попадают в стандартную таблицу.
    /[^\x{0000}-\x{FFFF}]/u
    Ответ написан
    Комментировать
  • Как устранить тормоза таблицы после большого delete?

    KorroLion
    @KorroLion
    Для логов можно было бы сделать шардинг по дням. Таблицы: Logs_1, Logs_2, Logs_3 и т.д.
    Старые таблицы дропать (это моментально!)
    Номером таблицы может быть день недели, день месяца или года.
    Ответ написан
    Комментировать
  • Какая конверсия считается нормальной для сайта по разработке интернет-магазинов, сайтов?

    KorroLion
    @KorroLion
    Затраты на 1 посетителя / Конверсия = Стоимость клиента.
    Посчитайте, какая стоимость клиента рентабельна для Вашего бизнеса, отсюда ведите расчеты дальше.
    Ответ написан
    Комментировать
  • С какой скоростью лучше рассылать email рассылку?

    KorroLion
    @KorroLion
    Лучше растянуть. А так возможная скорость зависит от репутации Вашего почтового домена. Чем медленнее шлете, тем меньше вероятности попадать в спам.
    Ответ написан
    Комментировать
  • Имеет ли смысл разделять данные пользователей в SaaS сервисе по отдельным БД?

    KorroLion
    @KorroLion
    при регистрации генерировать отдельную БД?

    Жесть! Ни в коем случае!

    Аккаунтов будет порядка сотен, количество записей в таблицах для одного пользователя - порядка десятков тысяч.

    Это даже не хайлоад! Я бы понял, если бы речь шла про десятки и сотни миллионов записей в таблице.

    Разделение юзеров по разным базам - это Шардинг в MySql. Но все кластеры должны быть готовы и базы при регистрации генерироваться не должны! Вам он не потребуется, так что не заморачивайтесь!
    Ответ написан
    Комментировать
  • Одна база на два сервера. Какие есть варианты реализации?

    KorroLion
    @KorroLion
    На сервере 1 и сервере 2 поднять Базы. Настроить между ними репликацию master-master.
    Скрипты на сервере 1 и 2 пусть запрашивают базу по localhost, чтобы не делать внешний запрос ко второму серверу.
    Вариант взять третий сервер, поставить на него mysql

    Если 2 сервера используются для повышения отказоустойчивости, то использование 3-его зависимого сервера лишь уменьшит ее.
    Допустим, лег сервер 3, тогда вообще ни сервер 1, ни сервер 2 смысла иметь не будут.
    Ответ написан
    8 комментариев
  • Как настроить RabbitMQ на равномерное выполнение разных типов задач?

    KorroLion
    @KorroLion
    Мне кажется Rabbit предполагает последовательное выполнение задач без вариантов. Это решение под хайлоад в первую очередь.
    Если важно распределение, то воркеры работают продолжительное время, значит очередь не многомиллионная. Что мешает сделать данную очередь в Mysql, например?
    Ответ написан
    Комментировать
  • Как вывести последние записи из двух таблиц и отсортировать их по дате?

    KorroLion
    @KorroLion
    Такое чувство, что база данных спроектирована неверно.
    Я правильно понимаю, что эти 2 сущности между собой не связаны? Тогда почему их нужно выводить одним запросом?
    Если имеется ввиду, что bodykits и disks принадлежат к единой сущности товара, то данное решение немасштабируемо, т.к. придется для каждого нового товара заводить новую таблицу.
    Для товаров я бы выделил общие свойства: id, date, photomini и вынес в отдельную таблицу с товарами.
    Кастомные свойства всех товаров можно вынести в отдельную общую таблицу + сделать таблицу с описанием типов товаров.

    Получится:
    types - Возможные типы товаров: 1-bodykits; 2-disks (id, type)
    goods - Перечисление всех товаров с привязкой к типу из types (id, type_id, date, photomini)
    properties - Перечисление возможных свойств для типа (id, type_id, name_of_property)
    values - Значение свойств для конкретного товара (id, good_id, property_id, value)

    Там, где требуется вывести вывести разные типы товаров смешано выводить нужно только общие свойства из таблицы goods, т.к. и шаблон вывода скорее всего заточен на общие характеристики (которые есть у всех)
    Ответ написан
    Комментировать
  • Как спроектировать базу данных сайта знакомств на MySQL?

    KorroLion
    @KorroLion
    1) Немасштабируемое решение! Все страны нужно вынести в отдельную таблицу.
    2) Зависит от конечных запросов. Сделайте сначала без индексов, потом проанализируйте запросы. Без полного архитектурного представления нельзя сказать, какие индексы потребуются ))
    3) Верно! Если не знаете с какой целью данное поле должно быть NULL, то делайте тип поля NOT NULL.
    Каким образом это осуществить?

    А каким образом Вы создаете базу данных?
    4) Не понял вопроса
    Ответ написан
    2 комментария
  • Memcaсhe для почтового скрипта?

    KorroLion
    @KorroLion
    Попробуйте рекапчу: https://www.google.com/recaptcha/intro/index.html
    Или некапчу: habrahabr.ru/company/mailru/blog/255633

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

    Ограничить макс. число писем с одного IP в минуту 3 штуками, в час 10.

    Очень интересно, откуда взялись такие лимиты? Расчет на то, что на сайт никто заходить не будет?
    Стоит отметить, что через gprs один айпишник может быть на тысячи (если не десятки тысяч) пользователей.
    Ответ написан
    Комментировать
  • Стоит ли расселить ПМ и разработчиков?

    KorroLion
    @KorroLion
    Однозначно стоит!

    Работал в одной конторе, где была постоянная болтовня. Некоторые менеджеры постоянно спрашивали какие-то вопросы. Производительность при этом была отвратительная. На сложной задаче сосредоточиться невозможно!
    Жутко бесило, постоянно срывался на них (( А отселиться там невозможно было из-за размеров офиса.

    В другой конторе работал в полной тишине в отдельной комнате с разрабами. Если разговоры есть, то по делу и очень редко. Производительность выше в сотни раз.
    Ответ написан
    Комментировать
  • Как записать id объявления в таблицу бд изображений после его подачи?

    KorroLion
    @KorroLion
    Итого я понял так:
    1) Есть HTML форма, в которой есть ajax-загрузчик фоток
    2) Есть серверный скрипт сохранения фотки
    3) Есть серверный скрипт сохранения объявы (при сабмите формы №1)

    При генерации формы генерим уникальный токен формы. Его вставляем в скрытое поле формы.

    Если происходит загрузка фотки, то в скрипт №2 передаем токен формы. Его записываем в отдельное поле таблы фоток.

    При запросе к скрипту №3 создаем объяву, получаем ее айдишник и проставляем его ко всем фоткам юзера с токеном формы. Сам токен теперь можно у них ударять.

    P.S. Код не читал (многабукв).
    Ответ написан
  • Как добавить данные в Mysql из файла?

    KorroLion
    @KorroLion
    Распарсить скриптом на любом языке программирования. Еще лучше распарсить и сразу скриптом залить в Mysql.
    Ответ написан
    Комментировать
  • VK.api, как обойти лимиты?

    KorroLion
    @KorroLion
    Можно увеличить лимит в 25 раз используя метод execute: vk.com/dev/execute
    Ответ написан
    Комментировать