• Ограничение PHP SphinxAPI на поиск совпадений

    @freeman08
    Может быть кому нибудь будет полезно. Это не лучшее решение, но:
    у моего клиента было требование отображать/сохранять абсолютно все результаты поиска.

    Шагать с помощью постраничной навигации долго. У меня поиск19567 результатов занимал примерно 6 - 7 секунд с шагом в 1000.

    Я решил задаче так:

    // листинг кода условный, так как вырваны куски из середины кода, но идея ясна
    // pre query
    $sphinx->SetLimits( 0, 1, 1);
    // получаем сколько всего рузльтатов найдено согласно ключу/прочим параметрам
    $pre_res = $sphinx->Query($query, 'index_name');
    
    // устанавливаем лимиты на весь диапазон найденых записей за раз
    $sphinx->SetLimits( 0, $pre_res['total_found'], $pre_res['total_found']);
    $res = $sphinx->Query($query, 'index_name');

    Такой способ выбирает 40728 записей за где то 2 секунды. Естественно время примерное и зависит еще от ряда факторов.
    Это не лучшее решение, но в моем случае нужно было только собрать ID найденных записей и сохранить их в базу, для дальнейшей работы. Красивого способа я не нашел, только вот такой "топор" :( .. но "топор" с задачей справляется не так уж и плохо ;)
    Ответ написан
    Комментировать
  • Что посоветуете для того, что бы развеселить пользователя на время ошибок (503, 500, 403, 404)?

    @freeman08
    Я как то прочитал у Лебедева в линче (рецензировал вроди бы Людвиг) и я с ним полностью согласен. (не потому что я сектант Лебедева, отношусь совершенно параллельно к нему). В общем идея в том чтобы не веселить пользователя забавными фоточками и надписями, а напротив предоставить ему как можно больше полезной информации, даже на неработающей\не существующей странице.
    Собственно если это 404, то почему бы не показать пользователю страницу со ссылками на другие полезные ему страницы?
    Если это 500 ошибка, то показать минимум информации и скажем ссылку на support.

    Я думаю что все уже давным давно насмотрелись на забавные картиночки, а главная цель любого сайта, это сохранение аудитории и максимизация прибыли с рекламы, если это магазин, то максимизация прибыли с продаж.

    В общем я всего лишь хотел дать пищу для размышлений, а вы подумайте…
    Ответ написан
    Комментировать
  • IDE с принципом работы FTP как у Notepad++

    @freeman08
    использовал (базовые настройки без подстройки под себя):
    1. СuteFTP
    + имеет встроенный редактор (по моему можно указать внешний)
    + довольно шустро работает.
    — тяжеловато мигрировать при обновлении версии если очень много существующих сайтов. (не всегда корректно экспортировал своим визардом, при смене\переустановке системы приходится повыеживаться)
    — работа с файлами за пределами IDE

    2. FileZilla
    + использует установленный по умолчанию редактор
    + бесплатен
    — вылетает бывает с ошибками \ подвисает
    — достает после каждого изменения файла тем, что устанавливает фокус на окно и спрашивает «залить ли обновленный файл на сервер» (это наверное субьективно и если я правильно помню, то это настраиваемо, но все же мне не очень нравиться)
    — работа с файлами за пределами IDE

    3. Eclipse
    + работа с файлами в проекте (локальный проект связывается с ftp подключением)
    + можно подключать море плагинов
    + можно настроить загрузку файла многими способами: по его сохранению, по «правой кнопкой на файла -> загрузить», загрузить через горячие клавиши, запустить мастер синхронизации проекта, исключительно вручную.
    — бывает не стабильно держит соединение или заливает файлы оборванными
    — сама IDE хреново обновляется от старой версии к новой, да и вообще не стабильна как то. У меня в нем было >200 проектов и каждый проект был связан с фтп соединением
    Пример 1:
    обновил java все рухнуло
    Пример 2:
    Выключили свет\вылетел бсод — все рухнуло
    Пример 3:
    Кое как обновил Eclipse \ Аптану до новой версии, пропали все ftp соединения (создавать и связывать приходилось в ручную)
    Пример 4:
    Переустановил систему, не подтянулись ftp соединения или связи с ними… или вообще загрузка файлов перестала работать… гуглишь и тратишь время на поиск и решение проблемы…

    вообщем со стабильностью у Eclipse беда.

    Использую сейчас Netbeans + ftp плагин для работы с файлами по фтп:
    + можно сделать копию фтп проекта (в еклипс так же это можно) и как бы работать с проектом удаленно но внутри IDE
    + (так работаю я) сливаю проект локально, создаю его в Netbeans и связываю его с фтп соединением (довольно гибко можно связывать, скажем ftp connection один, а каждый проект будет выкладываться по конкретному пути на сервере, в Eclipse вроди бы тоже можно, но не так гибко или сложней достигается)
    + можно настроить разные способы загрузки: вручную, автоматический, думаю горячие клавиши тоже есть, но я их не знаю, можно так же загружать версию файла с сервера
    + ни одного раза не залил файл оборванным или разорвал соединение за ~2 года
    + работает с разными типами подключений: ftp, sftp etc.
    + обновляется легко (просто ставим новую версию и он сам все импортирует)
    + ни разу не потерял связь проекта с ftp соединением
    + Я храню настройки проекта в папке с проектом, так что при подключении проекта у меня он автоматический подтягивает проект + связь с ftp (я без проблем перетащил то что мне необходимо домой на убунту с рабочего пк на виндовс)
    + работаем внутри IDE и не мечемся между сторонними редакторами, наслаждаясь привычной подсветкой синтаксиса.
    — отсутствует (или я просто не нашел) синхронизация между локальным проектом и фтп версией
    — не так часто выходят обновления (сейчас конечно почаще чем раньше), зато IDE (субьективно) намного стабильней Eclipse
    — конечно кушает памяти довольно много если долго открыт, но я заметил что если разнести проекты по группам (скажем группа === клиент) то начинает кушать памяти меньше (может надумано, но вроди бы меньше)

    Надеюсь поможет сделать выбор. Извините за не стандартизированные "+" и "-" писал быстренько с головы. Надеюсь чем то поможет избежать моих набитых шишек и потраченного поиска решений в процессе работы.
    Ответ написан
    Комментировать
  • Выбор slim клавиатуры в стиле лэптопа

    @freeman08
    Я ненавижу Mac и его клавиатуру… что то меня в ней бест, но я без ума от низкого хода клавиш в этой клавиатуре. Вот на чем работаю я:
    A4Tech KV-300H — www.google.com.ua/search?q=KV-300H&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a

    Есть дешевые реплики от Genius вроди бы, у них клавиши шатаются из стороны в сторону, сама клавиатура раза в 2 легче чем у A4Tech, пластик намного хуже, да и само исполнение просто ацтой.

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

    update:

    Вот блин написал на радостях, а потом увидел что человек выше советовал. Ну ничего, не сочтите за пиар или рекламу и вправду мне клавиатура очень по душе. Присоединяюсь к автору выше. Очень достойный клон клавиатуры Apple
    Ответ написан
    1 комментарий