• Нужен надежный парсер сайтов на php?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Не рекомендую использовать phpQuery и иже с с ними.
    В нескольких проектах парсили ~400 000 страниц ежедневно.
    Пробовали Simplehtml и phpQuery. С одной стороны да, запросы пишутся легко и удобно.
    С другой стороны среднее время обработки страницы весом 500kb было несколько секунд, основное время уходило на постройку DOM.
    6 потоков нагружали мощный Xeon под 100% + жрало память адски.

    Самописное решение через regexp обрабатывало ту же страницу за ~30ms, что бы загрузить процессор понадобилось ~40 потоков.
    Ответ написан
    Комментировать
  • Нужен надежный парсер сайтов на php?

    выбирайте тут, а так допиливать и решать проблемы бана вам все равно придется почти вручную
    Ответ написан
    Комментировать
  • На каком фрейморке лучше писать магазин: Phalcon, Codeigniter, Yii, Zend, Symfony?

    Shing
    @Shing
    Yii и Codeigniter самые ходовые. Для дальнейшего развития, стоимости разработки это может быть важным параметром.
    Ответ написан
    1 комментарий
  • Как писать оптимальный PHP код?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Преждевременная оптимизация - зло.
    При разработке системы следует уделить внимание её архитектуре, а не замене одних методов на других. Ну и, конечно, оптимизировать надо там, где надо. А то понапишут кривых запросов к БД, зато вложенные циклы на PHP соптимизированы.
    Ответ написан
    1 комментарий
  • Организация БД для нескольких компаний?

    begemot_sun
    @begemot_sun
    Программист в душе.
    На самом деле при должном процессе разработки наличие у вас одной таблицы для всех кампаний или нескольких не должно вызывать головную боль, т.к. по хорошему все изменения в таблицах (их структура) при релизе должны происходить с помощью миграций, т.о. ничего не должно помешать вам запустить все миграции для каждой из кампаний чтобы актуализировать структуру всех таблиц.

    Если вы делаете "глобальный" продукт, я бы на вашем месте выбрал бы вариант: много таблиц с множеством кампаний, когда в каждой таблице может хранится набор данных для нескольких кампаний, но таких таблиц может быть много. Это даст распределение нагрузки (разные таблицы могут хранится, обрабатываться на разных серверах), т.о. вы всегда сможете легко выделить новые ресурсы для новой кампании.

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

    @Cage
    UPDATE `table_name` SET `sort` = `sort` + 1 WHERE `sort` >1;
    UPDATE `table_name` SET `sort` = 2 WHERE `id` = 999;
    Ответ написан
    Комментировать
  • Как лучше изменить порядковый номер записи в mysql?

    morozovdenis
    @morozovdenis
    надо так делать(изначальный шаг берите любой):
    1 | 1024 | record1
    2 | 2048 | record2
    3 | 4096 | record3


    теперь когда хотите переместить первую запись на второе место, то структуру надо поменять так:
    1 | 3072 | record1
    2 | 2048 | record2
    3 | 4096 | record3
    таким образом мы поменяли только одну запись

    в конце концов через много таких операций у вас получится шаг между записями 1, тогда надо перестроить всю сортировку

    P.S. попробуйте в sort хранить double и тогда делить пополам можно очень долго. я не знаю как сортировка по double повлияет на произодительность
    Ответ написан
    7 комментариев