Архив для рубрики Памятка

0

Русский язык в консоли Ubuntu

Уже не первый раз сталкиваюсь со ситуацией когда на сервере в консоли надо видеть и править что-то на русском языке. А Консоль этого не позволяет, даже со свеже установленным сервером. Достался мне сервер у Hetzner с убунту 11.10.
При выполнении:

locale

Ругался:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

И это при том что en_US локаль стоит по умолчанию. Полечилось такой командой:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

И собственно установкой оной в дефолт. Но русский в консоли не отображался нормально, и не печатался.
Нам поможет специальный конфигуратор:

dpkg-reconfigure console-setup

Для 11.10, выбираем UTF-8, combined, TerminusBold, 16 размер шрифта.

Не забываем, что прежде всего надо уставить ru_RU.UTF-8 локаль.

0

Получение повторяющихся строк в MySQL

Редко когда стоит задача найти повторяющиеся записи в MySQL по какому-то значению. И почти всегда эта задача стоит “на вчера”. Есть несколько путей её решения. Тут записан наиболее приемлемый для меня вариант её решения.

SELECT t1.id, t1.a, t1.b
FROM t1
INNER JOIN (
	SELECT id, a, b 
	FROM t1 
	GROUP BY a, b 
	HAVING COUNT(id) > 1
) AS t2 ON t1.a = t2.a AND t1.b = t2.b

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

0

Gettext

Время от времени забываю команды для компилирования переводов с помощью gettext utilities. Запишу в памятку.

Получить строки для локализации из файлов:

xgettext ./*.php

На выходе получаем файл messages.po, в котором надо сделать соответствие текущему значению нового (в переводе).

msgid "исходное значение"
msgstr "новое значение"

После правки, компилируем перевод:

msgfmt messages.po

0

Обновляем TimeZone на MacOS X

UPD: Внимание, “Украиной” принято решение об отмене отмены перехода на зимнее время, так что до марта статья не актуальна, но может быть кому-то пригодится.

В связи с принятием закона “об отмене сезонного перехода на летнее время” в России, Белоруссии, Украине и Армении осенью 2011 мы имеем некоторый гемморой с этим самым временем.
Итак, на MacOS X 10.7.2 Lion есть обновление данных только для России (2011h), а Украины – нет. С MacOS X 10.5.8 Leopard всё несколько хуже, так как обвнолений он не получит вообще.

Для устранения этих неприятностей нам необходимо сделать следующее:
Далее

0

Получаем SRC (и не только) картинок из текста с preg_match_all

Иногда бывает надо получить урлы (и не только) всех картинок в тексте (html) с какой-нибудь целью, например заменить их все на превью.
Для этого замечательно подойдёт preg_match_all, поскольку в данном случае мне надо было не только получить сами src, но и остальные атрибуты тега, чтобы заменить картинки в тексте обёртками.
Далее

0

Удаление первого символа в файле

Удаляем первый символ в первой строке файла in_file с помощью sed’а:

sed '1s/^.//' ./in_file > ./out_file

0

Wake-On-LAN на dd-wrt

Нам надо включить компьютер удалённо, и мы забыли его МАС-адрес, или не знали. Если этот компьютер настроен на получение Static DHCP то у нас задача несколько легче. У нас как раз такой случай.
Получить список хостов, на которые настроен Static DHCP на dd-wrt, можно следующей командой:

nvram get static_leases

Далее посылаем команду на включение ПК:

/usr/sbin/wol -i 192.168.0.255 AA:BB:CC:DD:EE:FF

где 192.168.0.255 – адрес сети, а AA:BB:CC:DD:EE:FF – МАС-адрес нужной машины.

Всё, ПК включен и можно с ним работать.

Или же можно воспользоваться готовыми удобными скриптами (вроде wake.sh), которые сделают всю работу за вас, если это нужно использовать очень часто.

0

Настраиваем Solr, schema.xml

schema.xml – это важный файл для настройки работы Solr. От его содержания напрямую зависит производительность поиска и хранения данных у Solr. Первое и самое важное что стоит сделать это отчистить этот файл от ненужных настроек, типов и прочего. Если вы не используете этот тип – нечего ему делать в конфиге, если планируете использовать в будущем – тоже убирайте, когда будущее наступит тогда и вносите в конфиг. В идеальном варианте этот файл не содержит ничего лишнего. Второе что стоит знать – это знать что у вас за документы, содержимое документов, что будет использоваться при поиске. Например, стоит задуматься каким образом будет происходить поиск в содержимом документе, будет ли оправдано разделение слова на составляющие? От этого зависит как будет индексироваться содержимое документа и как будет происходить по нему поиск.
Далее

0

Solr, используем фильтры (FilterQuery)

В Solr’e есть очень полезная штука – FilterQuery (fq). Она используется чтобы фильтровать результат выборки, уже после самой выборки, что очень полезно, так как сама выборка может быть закеширована Solr, а конечная выборка, после фильтрации – нет. Это означает что при использовании фильтра в таком же запросе, но с другими параметрами фильтрации можно использовать предыдущую выборку из кеша.
Далее

0

Документация по Solr

Неплохая документация по Solr от Lucid Imagination. Для первоначальной или тестовой настройки подойдёт, но не годится для использования как инструкция. Зато пойдёт как указатель, в каком направлении двигаться и что изучать, на что обратить внимание. Всё прийдётся изучать на своём опыте. Так же стоит уделить особое внимание конфигам, и особенно комментариям в них, они действительно полезны в случае Solr. Так же неплохие советы по настройке Solr можно получить от польских разработчиков на Solr.pl.

« Предыдущие записи