Python морфология строки от числа

 

class Morphology:
    def getNLastDigit(self, n, number):
        return divmod(number, 10**n)[1]

    def formParticipant(number):
        morf = Morphology()
        lastDigit = morf.getNLastDigit(1, number)
        twoLastDigit = morf.getNLastDigit(2, number)
        if ((5 < twoLastDigit < 15) | (lastDigit in [5, 6, 7, 8, 9, 0])):
            return str("товаров")
        elif (lastDigit == 1):
            return str("товар")
        elif(lastDigit in [2, 3, 4]):
            return str("товара")
    formParticipant = staticmethod(formParticipant)

Eclipse хорошие плагины

Хорошие плагины:

AnyEdit Tools

Update site: http://andrei.gmxhome.de/eclipse/

Куча полезных и жизненно необходимых примочек для Eclipse.

 

Regex Util

Update site: http://regex-util.sourceforge.net/update/

Дополнительный вид (view) для тестирования регулярных выражений.

 

WebTools Project

Update site: http://download.eclipse.org/webtools/updates/

Платформа для веб-инструментов. Содержит в себе довольно неплохой XML редактор с поддержкой XML Schema, а также HTML/CSS/JavaScript редакторы, которые меня лично по многим причинам не устраивают.

XML-редактор WebTools Project делает подсказки (code assist) на основе XML Schema или DTD. То есть, например, для того, чтобы заработал code assist по XSL достаточно в любом xml-файле в рутовом элементе указать xmlns:xsl="http://www.w3.org/1999/XSL/Transform", после этого будет работать code assist и валидация для элементов из пространства имен xsl. Можно даже создать свою схему и использовать ее. Однако есть очень неприятный баг/фича, который разработчики пока не собираются править: если одновременно указан DTD и Schema у xml-файла, то редактор пытается взять code assist именно из DTD, полностью игнорируя Schema. То есть при редактировании xsl-файлов, в которых есть DOCTYPE, у вас не будут работать подсказки; чтобы они заработали, нужно временно закомментировать DOCTYPE. Или воспользоваться XML-редактором из Spket IDE, правда, редактировать там не так удобно, как в WebTools.

 

DBViewer Plugin

Update site: http://www.ne.jp/asahi/zigen/home/plugin/dbviewer/

SQL клиент для большинства современных баз данных (в том числе для MySQL). Умеет показывать/редактировать структуру таблиц, показывать записи таблицы постранично, а также довольно удобный редакторSQL-запросов, в котором есть code assist по SQL-структурам и по данным вашей базы (то есть он будет подсказывать названия таблиц и полей из БД).

Azzurri Clay

Update site: http://www.azzurri.co.jp/eclipse/plugins

Проектирование БД. Позволяет создать блок-схемы со структурой и связями таблиц, а затем сгенерироватьSQL-запросы для конкретной СУБД. Core версия бесплатная, за Pro нужно платить.

 

Aptana Studio

Update site: http://update.aptana.com/update/studio/3.2/

Web IDE. Думаю, описывать ничего не надо, на сайте есть куча документации и скринкастов. От этого плагина я использую только HTML и CSS редактор.

 

Spket IDE

Update site: http://spket.com/update/

IDE для работы с JavaScript и XML. Его я использую за первоклассный JavaScript редактор, который понимает современные паттерны, а также продвинутый code assist. Если бы добавился рефакторинг — цены б ему не было :-) Из недостатков могу отметить отсутствие некоторых core-функций и методов JS (типа setTimeout, Element.innerHTML и т. д.) а также отсутствие документации (только code assist) для core объектов и методов.

 

Eclipse Colorer

Подсветка синтаксиса для 150+ языков программирования, в том числе для Parser. Ставить надо версию 0.8.0, которой нет в update site.

 

Remote System Explorer (RSE)

Update site: http://download.eclipse.org/releases/ganymede/

Плагин для работы с удаленными системами через FTP/SSH/Telnet. Позволяет редактировать файлы прямо на FTP/SSH сервере, локально сохраняя историю изменения файла, а также сам файл (чтобы его, в случае чего, можно было восстановить). Содержится в стандартном репозитории Ganymede (см. Remote Access and Device Development > Remote System ExplorerEnd-User Runtime). Советую использовать его вместо Aptana FTP плагина, у которого есть проблемы с редактированим файловне-Aptana редакторами.

 

Шпаргалка для Django 1.3

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

 

Команды Linux — Монтирование файловых систем

mount /dev/hda2 /mnt/hda2 — монтирует раздел ‘hda2′ в точку монтирования ‘/mnt/hda2′. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2′
umount /dev/hda2 — размонтирует раздел ‘hda2′. Перед выполнением, покиньте ‘/mnt/hda2′
fuser -km /mnt/hda2 — принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2 — выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppy — монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom — монтировать CD или DVD
mount /dev/hdc /mnt/cdrecorder — монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom — смонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5 — монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user — «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user

Команды Linux — Поиск файлов

find / -name file1 — найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1 — найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name "*.bin" — найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1′*
find /usr/bin -type f -atime +100 — найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10 — найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 '{}' \; — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name "*.rpm" — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate "*.ps" — найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis halt — показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which halt — отображает полный путь к файлу ‘halt’

Команды Linux — Файлы и директории

cd /home — перейти в директорию ‘/home’
cd .. — перейти в директорию уровнем выше
cd ../.. — перейти в директорию двумя уровнями выше
cd — перейти в домашнюю директорию
cd ~user — перейти в домашнюю директорию пользователя user
cd - — перейти в директорию, в которой находились до перехода в текущую директорию
pwd — показать текущюю директорию
ls — отобразить содержимое текущей директории
ls -F — отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l — показать детализированое представление файлов и директорий в текущей директории
ls -a — показать скрытые файлы и директории в текущей директории
ls *[0-9]* — показать файлы и директории содержащие в имени цифры
tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 — создать директорию с именем ‘dir1′
mkdir dir1 dir2 — создать две директории одновременно
mkdir -p /tmp/dir1/dir2 — создать дерево директорий
rm -f file1 — удалить файл с именем ‘file1′
rmdir dir1 — удалить директорию с именем ‘dir1′
rm -rf dir1 — удалить директорию с именем ‘dir1′ и рекурсивно всё её содержимое
rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
mv dir1 new_dir — переименовать или переместить файл или директорию
cp file1 file2 — сопировать файл file1 в файл file2
cp dir/* . — копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

Команды Linux — Остановка системы

shutdown -h now или init 0 или telinit 0 — остановить систему
shutdown -h hours:minutes & — запланировать остановку системы на указанное время
shutdown -c — отменить запланированную по расписанию остановку системы
shutdown -r now или reboot — перегрузить систему
logout — выйти из системы

Команды Linux — Системная информация

arch или uname -m — отобразить архитектуру компьютера
uname -r — отобразить используемую версию ядра
dmidecode -q — показать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hda — вывести характеристики жесткого диска
cat /proc/cpuinfo — отобразить информацию о процессоре
cat /proc/interrupts — показать прерывания
cat /proc/meminfo — проверить использование памяти
cat /proc/swaps — показать файл(ы) подкачки
cat /proc/version — вывести версию ядра
cat /proc/net/dev — показать сетевые интерфейсы и статистику по ним
cat /proc/mounts — отобразить смонтированные файловые системы
lspci -tv — показать в виде дерева PCI устройства
lsusb -tv — показать в виде дерева USB устройства
date — вывести системную дату
cal 2007 — вывести таблицу-календарь 2007-го года
date 041217002007.00* — установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w — сохранить системное время в BIOS

Таблица. Математические символы и греческие буквы

Описание символа Обозначение 10-ный код 16-ный код Вид
курсивное f &fnof; &#402; &#x192; ƒ
прописная альфа &Alpha; &#913; &#x391; Α
прописная бета &Beta; &#914; &#x392; Β
прописная гамма &Gamma; &#915; &#x393; Γ
прописная дельта &Delta; &#916; &#x394; Δ
прописной эпсилон &Epsilon; &#917; &#x395; Ε
прописная дзета &Zeta; &#918; &#x396; Ζ
прописная эта &Eta; &#919; &#x397; Η
прописная тета &Theta; &#920; &#x398; Θ
прописная иота &Iota; &#921; &#x399; Ι
прописная каппа &Kappa; &#922; &#x39A; Κ
прописная ламбда &Lambda; &#923; &#x39B; Λ
прописная мю &Mu; &#924; &#x39C; Μ
прописная ню &Nu; &#925; &#x39D; Ν
прописная кси &Xi; &#926; &#x39E; Ξ
прописной омикрон &Omicron; &#927; &#x39F; Ο
прописная пи &Pi; &#928; &#x3A0; Π
прописная ро &Rho; &#929; &#x3A1; Ρ
прописная сигма &Sigma; &#931; &#x3A3; Σ
прописная тау &Tau; &#932; &#x3A4; Τ
прописная ипсилон &Upsilon; &#933; &#x3A5; Υ
прописная фи &Phi; &#934; &#x3A6; Φ
прописная хи &Chi; &#935; &#x3A7; Χ
прописная пси &Psi; &#936; &#x3A8; Ψ
прописная омега &Omega; &#937; &#x3A9; Ω
строчная альфа &alpha; &#945; &#x3B1; α
строчная бета &beta; &#946; &#x3B2; β
строчная гамма &gamma; &#947; &#x3B3; γ
строчная дельта &delta; &#948; &#x3B4; δ
строчная эпсилон &epsilon; &#949; &#x3B5; ε
строчная дзета &zeta; &#950; &#x3B6; ζ
строчная эта &eta; &#951; &#x3B7; η
строчная тета &theta; &#952; &#x3B8; θ
строчная иота &iota; &#953; &#x3B9; ι
строчная каппа &kappa; &#954; &#x3BA; κ
строчная ламбда &lambda; &#955; &#x3BB; λ
строчная мю &mu; &#956; &#x3BC; μ
строчная ню &nu; &#957; &#x3BD; ν
строчная кси &xi; &#958; &#x3BE; ξ
строчный омикрон &omicron; &#959; &#x3BF; ο
строчная пи &pi; &#960; &#x3C0; π
строчная ро &rho; &#961; &#x3C1; ρ
строчная сигма конечная &sigmaf; &#962; &#x3C2; ς
строчная сигма &sigma; &#963; &#x3C3; σ
строчная тау &tau; &#964; &#x3C4; τ
строчная ипсилон &upsilon; &#965; &#x3C5; υ
строчная фи &phi; &#966; &#x3C6; φ
строчная хи &chi; &#967; &#x3C7; χ
строчная пси &psi; &#968; &#x3C8; ψ
строчная омега &omega; &#969; &#x3C9; ω
символ строчная тета &thetasym; &#977; &#x3D1; ϑ
ипсилон с крючком &upsih; &#978; &#x3D2; ϒ
символ пи &piv; &#982; &#x3D6; ϖ
маркер списка &bull; &#8226; &#x2022;
многоточие &hellip; &#8230; &#x2026;
знак прим &prime; &#8242; &#x2032;
знак двойной прим &Prime; &#8243; &#x2033;
надчеркивание &oline; &#8254; &#x203E;
дробная черта &frasl; &#8260; &#x2044;
рукописная P &weierp; &#8472; &#x2118;
мнимая часть числа &image; &#8465; &#x2111;
действительная часть числа &real; &#8476; &#x211C;
торговая марка &trade; &#8482; &#x2122;
алеф &alefsym; &#8501; &#x2135;
стрелка влево &larr; &#8592; &#x2190;
стрелка вверх &uarr; &#8593; &#x2191;
стрелка вправо &rarr; &#8594; &#x2192;
стрелка вниз &darr; &#8595; &#x2193;
стрелка влево-вправо &harr; &#8596; &#x2194;
возврат каретки &crarr; &#8629; &#x21B5;
двойная стрелка влево &lArr; &#8656; &#x21D0;
двойная стрелка вверх &uArr; &#8657; &#x21D1;
двойная стрелка вправо &rArr; &#8658; &#x21D2;
двойная стрелка вниз &dArr; &#8659; &#x21D3;
двойная стрелка влево-вправо &hArr; &#8660; &#x21D4;
квантор всеобщности &forall; &#8704; &#x2200;
знак дифференциала &part; &#8706; &#x2202;
квантор существования &exist; &#8707; &#x2203;
пустое множество &empty; &#8709; &#x2205;
набла &nabla; &#8711; &#x2207;
принадлежит множеству &isin; &#8712; &#x2208;
не принадлежит множеству &notin; &#8713; &#x2209;
является членом &ni; &#8715; &#x220B;
n-арное произведение &prod; &#8719; &#x220F;
n-арная сумма &sum; &#8721; &#x2211;
знак минус &minus; &#8722; &#x2212;
оператор звездочка &lowast; &#8727; &#x2217;
радикал &radic; &#8730; &#x221A;
пропорционально &prop; &#8733; &#x221D;
бесконечность &infin; &#8734; &#x221E;
угол &ang; &#8736; &#x2220;
логическое И &and; &#8743; &#x2227;
логическое ИЛИ &or; &#8744; &#x2228;
пересечение &cap; &#8745; &#x2229;
объединение &cup; &#8746; &#x222A;
интеграл &int; &#8747; &#x222B;
следовательно &there4; &#8756; &#x2234;
оператор тильда &sim; &#8764; &#x223C;
приблизительно равно &cong; &#8773; &#x2245;
асимптотически равно &asymp; &#8776; &#x2248;
не равно &ne; &#8800; &#x2260;
тождественно равно &equiv; &#8801; &#x2261;
меньше или равно &le; &#8804; &#x2264;
больше или равно &ge; &#8805; &#x2265;
подмножество &sub; &#8834; &#x2282;
надмножество &sup; &#8835; &#x2283;
не подмножество &nsub; &#8836; &#x2284;
подмножество или равно &sube; &#8838; &#x2286;
надмножество или равно &supe; &#8839; &#x2287;
прямая сумма &oplus; &#8853; &#x2295;
векторное произведение &otimes; &#8855; &#x2297;
перпендикулярно &perp; &#8869; &#x22A5;
оператор точка &sdot; &#8901; &#x22C5;
левый верхний угол &lceil; &#8968; &#x2308;
правый верхний угол &rceil; &#8969; &#x2309;
левый нижний угол &lfloor; &#8970; &#x230A;
правый нижний угол &rfloor; &#8971; &#x230B;
левая угловая скобка &lang; &#9001; &#x2329;
правая угловая скобка &rang; &#9002; &#x232A;
ромб &loz; &#9674; &#x25CA;
пики &spades; &#9824; &#x2660;
трефы &clubs; &#9827; &#x2663;
червы &hearts; &#9829; &#x2665;
бубны &diams; &#9830; &#x2666;

Таблица. Специальные символы

Описание символа Обозначение 10-ный код 16-ный код Вид
кавычка &quot; &#34; &#x22; «
амперсант &amp; &#38; &#x26; &
левая угловая скобка &lt; &#60; &#x3C; <
правая угловая скобка &gt; &#62; &#x3E; >
лигатура OE &OElig; &#338; &#x152; Œ
лигатура oe &oelig; &#339; &#x153; œ
S с птичкой &Scaron; &#352; &#x160; Š
s с птичкой &scaron; &#353; &#x161; š
Y с диерезой &Yuml; &#376; &#x178; Ÿ
циркумфлекс &circ; &#710; &#x2C6; ˆ
малая тильда &tilde; &#732; &#x2DC; ˜
короткий пробел &ensp; &#8194; &#x2002;
длинный пробел &emsp; &#8195; &#x2003;
узкий пробел &thinsp; &#8201; &#x2009;
разделитель нулевой ширины &zwnj; &#8204; &#x200C;
соединитель нулевой ширины &zwj; &#8205; &#x200D;
указатель слева направо &lrm; &#8206; &#x200E;
указатель справа налево &rlm; &#8207; &#x200F;
короткое тире &ndash; &#8211; &#x2013;
длинное тире &mdash; &#8212; &#x2014;
открывающая одинарная кавычка &lsquo; &#8216; &#x2018;
закрывающая одинарная кавычка &rsquo; &#8217; &#x2019;
нижняя одинарная кавычка &sbquo; &#8218; &#x201A;
открывающая двойная кавычка &ldquo; &#8220; &#x201C;
закрывающая двойная кавычка &rdquo; &#8221; &#x201D;
нижняя двойная кавычка &bdquo; &#8222; &#x201E;
кинжал &dagger; &#8224; &#x2020;
двойной кинжал &Dagger; &#8225; &#x2021;
знак промилле &permil; &#8240; &#x2030;
открывающая угловая кавычка &lsaquo; &#8249; &#x2039;
закрывающая угловая кавычка &rsaquo; &#8250; &#x203A;
евро &euro; &#8364; &#x20AC;