Might be interesting...

Tuesday, June 24, 2014

Постраничная навигация в Sphinx

Дисклеймер


Данный пост является вольным переводом статьи на оффициальном сайте Sphinx, которая помогла развеять сомнения по поводу того, как поступать в случае, если Sphinx вернул огромный список совпадений. Что делать в данном случае и как вообще реализовывается постраничная навигация в Sphinx можно узнать под катом.

Thursday, February 20, 2014

Ubuntu : Не запускается Dropbox "VerificationError: importing pylinux..."


Некоторые пользователи Ubuntu, а также, возможно, и других дистрибутивов столкнулись с проблемой запуска Dropbox.

Traceback (most recent call last):
  File "dropbox/client/main.py", line 13, in <module>
  File "autogen_explicit_imports.py", line 13, in <module>
  File "ui/common/selective_sync.py", line 6, in <module>
  File "arch/__init__.py", line 28, in <module>
  File "arch/linux/tracing.py", line 8, in <module>
  File "hard_trace.py", line 6, in <module>
  File "client_api/connection_hub.py", line 21, in <module>
  File "client_api/kv_connection.py", line 23, in <module>
  File "pylinux/__init__.py", line 71, in <module>
  File "cffi/api.py", line 311, in verify
  File "dropbox/overrides.py", line 398, in load_library
  File "cffi/verifier.py", line 69, in load_library
  File "cffi/verifier.py", line 154, in _load_library
  File "cffi/vengine_cpy.py", line 124, in load_library
VerificationError: importing '.../pylinux/__pycache__/_cffi__xa0c4f46bx1d95b4de.so': No module named _cffi__xa0c4f46bx1d95b4de

Суть проблемы в последних обновлениях Python. А решение простое, возможно и не универсальное:

sudo rm -rf ~/.dropbox-dist
dropbox start -i

Если не помогло, можно попробовать следующее:

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

Wednesday, September 18, 2013

Немного о том, как средствами Google создать форму регистрации на мероприятие с последующей рассылкой.

Когда встала проблема создания формы регистрации на вебинар с последующей рассылкой уведомлений всем зарегестрированным, я прикинул возможные средства, которые помогут решить проблему. Процесс прост: создаем форму, сохраняем данные, отправленные из формы, делаем рассылку, когда это необходимо. Все казалось бы просто. Но зачем городить свой велосипед c клиентской и серверной частями, если изначально известно, что это будет простая регистрация с последующей рассылкой?! Для данной задачи вполне могут сгодиться и инструменты Google, с некоторыми специальными дополнениями.

Wednesday, May 8, 2013

Plupload: при выборе файлов в Opera и IE ничего не происходит

Сколько раз перед вами ставилась задача создания загрузчика файлов? Сколько времени вы рассчитывали потратить на эту задачу? День?! Два?! Могу с уверенностью сказать, что даже за неделю написать что-то более-менее кроссбраузерное (учитываем мобильные браузеры) у вас не выйдет. Поэтому всегда есть смысл использовать качественные, проверенные временем и отлаженные готовые решения.

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

Версии с которыми я работал: Plupload 1.5.6 и Plupload 1.5.7.

Friday, February 22, 2013

Как отловить Fatal Errors в PHP

Никто из пользователей не хочет видеть на экране сообщение о том, что в системе произошла фатальная ошибка, да еще и на английском языке с адресом на непонятный файл.

Программисты, которым не лень сделать пару кликов и ввести пару строк в файл .htaccess, на production окружении отключают вывод ошибок. Но а как быть, когда нужно вывести красивое сообщение пользователю, что что-то пошло не так, а разработчику, например, вывести trace выполненых операций?

На помощь приходит PHP функция register_shutdown_function. Напомню, что register_shutdown_function будет вызвана после выполнения скрипта, независмо от того выполнился он успешно, либо с ошибкой.

// callback function
function catchFatalErrors() {
    $error = error_get_last();
    // check if error is of type FATAL
    if (!empty($error['type']) && $error['type'] == E_ERROR) {
        ...
    }
}

register_shutdown_function('catchFatalErrors');

Saturday, July 7, 2012

WordPress: Выбираем посты только по Custom Field

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

Как вариант, будем хранить эту информацию в конкретном посте. Но забивать вручную в шаблоне идентификатор поста мы не будем, поступим следующим образом: добавим соотвествующий Custom Field для поста, по которому мы, соответсвенно, и будем в дальнейшем делать выборку.

Собственно код:
<?php query_posts('meta_key=is_action&meta_value=true'); ?>
<?php if (have_posts()) : ?>
 <?php while (have_posts()) : the_post(); ?>
В выборку попадут все посты, у которых установлен Custom Field "is_action"  в значении true.