Профиль пользователя заблокирован сроком с 4 апреля 2019 г. и навсегда по причине: нарушение п.5.6 правил Сервиса
  • На чем лучше и быстрее написать парсер (PHP)?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    DiDom: https://github.com/Imangazaliev/DiDOM

    + высокая скорость работы (сравнение с другими парсерами)
    + хорошая дока
    + большое количество поддерживаемых селекторов
    + самое главное - тесты

    Простой пример:

    $document = new Document('http://www.example.com/', true);
    
    echo $document->first('title::text');


    Чуть посложнее - парсим все ссылки:

    $links = $document->find('a[href]::attr(href)');
    
    var_dump($links);


    Еще сложнее - получить адреса всех ссылок-картинок:

    $links = $document->find('a[href]:has(img)::attr(href)');
    
    var_dump($links);


    Другие варианты:
    - Symfony DomCrawler
    - Zend Dom Query
    Ответ написан
    3 комментария
  • Быстрый LIKE по 1 миллиону строк, как быть?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Вначале, все слова записываем в виде хеша так, чтобы буквы шли по-порядку, но повторные - не повторялись. 'мама мыла раму' => 'ма ылру'
    Можно дополнительно создать еще один кэш и отсортировать в порядке убывания кол-во повторов букв:
    Приведём новый пример: 'мыла раму мама' (переставим слова местами)
    'мыла раму мама' => [м-4][ы-1][л-1][а-4][(пробел)-2][р-1][у-1]=>'ма ылру' (предыдущий пример останется без изменений...)
    и поиск вести по половинам хэша (при нечетном кол-ве -округляем в большую сторону) введённой строки 'ма ылру':
    1. При не найденных совпадениях, порядок такой: 'ма ы'=>'ма'=>'м'
    2. При найденных совпадениях, порядок такой: 'ма ылр'=>'ма ыл' Как выдача будет нулевая - берём предыдущий МИНИМАЛЬНЫЙ! результат выдачи.

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

    Можно составить отдельную таблицу по всем словам и привязать их к основным данным.

    Затем выборка этажеркой:
    1. Преобразуем так же вводимую строку и выбираем LIKE 'ма мыл%'
    (возможно несколько выборок с проверкой пропущенной буквы) запоминая результат выборки.
    2. По этому результату ищем полную строку с тем же LIKE 'мама мыла раму%'
    3. При следующем поиске, если хэш не уменьшился и символы в диапазоне длины предыдущего хэша не изменились - мы ищем СРАЗУ ЖЕ! по результату п.1 (и снова запоминаем результат), экономя время (т.е. поиск как бы идёт по предыдущему кэшу).

    Таким образом получается, что чем больше букв, тем меньше записей мы перебираем.
    А чем меньше мы перебираем, тем больше у нас времени остаётся и мы можем его использовать на дополнительные запросы: для нечеткого поиска.
    Ответ написан
    Комментировать
  • Заработать на шаблонах для сайтов, реально?

    pozZzitiv
    @pozZzitiv
    Дизайнер и перфекционист
    Вот вам топ по продажам HTML-шаблонов на Themeforest.
    Сравните свои шаблоны с тем что предлагают там, исходя из этого и можно будет оценить свои шансы.

    За регистрацию денег не требуют, привести в порядок несколько шаблонов (чтобы выглядело не хуже), сделать им живое превью, выложить на продажу, рассказать друзьям и попросить репост — что-нибудь точно перепадет.
    Ответ написан
  • Есть ли обман в дешевом выделенном хостинге?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Самая важная причина появления подобных компаний - стабильность деятельности в Европе.
    У них доходность в 10% и срок окупаемости первоначальных вложений в бизнес в 5-10 лет - более, чем ОК (ну для большого бизнеса, с малым там тоже не очень).
    Сервера - в лизинг/кредит, потом распродают их (что, опять же, в России малореально. У нас даже бесплатно раздать устаревшее железо - огромная проблема, проще их выкидывать).
    Срок окупаемости железки - полгода у них у всех в среднем. Может год. Учитывайте огроменные скидки, которые дают на железо этим трем гигантам. А даже если железка не окупилась - её продадут за полцены/сдадут со скидкой с аукциона/ещё что-нибудь сделают.

    Всё максимально автоматизировано. Никто руками сервера не выдаёт - только кнопку в биллиннге жмут (и то уже не жмут, наверное).
    Система ставится автоматом.
    Сервера ставят в стойки раз в день-неделю-месяц пачкой специально обученные люди на аутсорсе по контракту.
    Саппорт работает по строгим инструкциям (хочешь, чтобы тебе подняли вебсервер - плати, хочешь, чтобы посмотрели, что с твоей ОС - плати. Не хочешь платить хостеру - админь сам или нанимай админа) - что, кстати, и хорошо, потому что саппорт идет и меняет тебе железо, вместо того, чтобы час говорить с блондинками о том, как им залить файл по ftp.
    У того же hetzner очень дешевая сетевая инфраструктура - они почти не арендуют каналы, все и так хотят с ними пириться.
    Электричество - дешевле.
    Строительство - дешевле. Аренда здания - дешевле.
    Налогов - меньше. Дурацких лицензий за взятки никто не вымогает.
    Кредиты - под 1-2%, 5% - это уже грабеж-овердрафт.

    В общем, советую почитать babkin-k.livejournal.com/182898.html

    Ну и ответ на вопрос - обмана и подвоха нет, я с hetzner лет 5 уже - доволен как слон. Качество услуг у них с моей точки зрения куда лучше, чем у любого российского хостера на практике (мне важно, чтобы сеть и электричество не падало, и чтобы по письму сгоревшее железо меняли за 20 минут, а не тр*ть мозг кому-нибудь по телефону со скуки).
    Ответ написан
    Комментировать
  • Сколько изображений на сайте оптимально хранить в папке?

    laska
    @laska
    PHP/JS разработчик
    Больше зависит от файловой системы.
    В современных файловых системах файлов может быть практически бесконечно много, и файлы будут даже считываться (медленнее чем если разбивать по поддиректориям, но на копейки).
    Однако большое количество файлов это невозможность работы с ними через консоль. ls работать не будет. SFTP или FTP клиенты потеряют разум. Бекап будет дольше выполнятся.
    Поэтому разумное ограничение 1000 файлов.
    Ответ написан
    1 комментарий
  • Есть ли обман в дешевом выделенном хостинге?

    XXX
    @XXX
    Решение где-то рядом
    zipo обмана нет, низкая цена достигается за счет экономии на всем, на чем только возможно и в первую очередь это экономия на уровне сервиса и качестве поддержки, которые клиент может получить бесплатно.

    Отсюда нередко:
    • высокая плата за установку оборудования
    • долгие переписки с саппортом
    • огромные проволочки в случае технических проблем
    • наличие для заказа заезженных конфигов с полуживыми дисками
    • нежелание идти на компромиссы и посредственная гибкость
    • готовность пнуть клиента в любой момент, если клиент "проблемный", вместо того чтобы разобраться в ситуации и попытаться ее разрулить миром


    До появления проблем многие клиенты хецнера, овх и прочих, покупающие самые дешевые конфигурации просто радуются сэкономленным средствам. :)
    Ответ написан
    Комментировать
  • Есть ли обман в дешевом выделенном хостинге?

    Jump
    @Jump
    Системный администратор со стажем.
    Но всетаки 8 ядер, 8 гигабайт оперативки
    Допустим операционные расходы 6 евро, тогда остается 10 евро в месяц что бы окупить это лезвие.

    10евро в месяц, на два года - 240евро.
    А 240 евро это красная цена за такую конфигурацию.
    Вы смотрели что за процессор на 8 ядер?
    Это Intel® Atom C2750 с TDP 20ватт.

    Так что через два года окупиться, а потом чистая прибыль.
    Ответ написан
    1 комментарий