Рестарт Иксов
Произошла сегодня неприятность на моей Ubuntu 10.04 — после ввода пароля система повисла, на отзывалась на мышь и всякие там Alt+Tab и т.п. Нужно было перезапустить XWindow. Умные люди подсказали как:
1 2 |
Ctrl+Alt+F2 sudo /etc/init.d/gdm restart |
Выбор цвета (color picker) в linux
В windows пользовался pixie — http://www.nattyware.com/pixie.php. Понадобился аналог под linux — нашёл grabc. По сравнению с pixie он конечно не так удобен — работает из командной строки, но хоть что-то.
Настройка TortoiseHg под Ubuntu
Настройки хранятся в файле ~/.hgrc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[ui] merge = kdiff3 username = bullgare [extensions] extdiff = # для meld в качестве visual diff tool hgshelve=/path/to/hgshelve.py [extdiff] meld = # для meld в качестве visual diff tool #kdiff3 = kompare = [tortoisehg] authorcolor = True longsummary = True postpull = rebase vdiff = kompare editor = meld vdiffnowin = True |
Для shelve нужно скачать скриптик. Список доступных команд: http://manpages.ubuntu.com/manpages/lucid/man1/hgtk.1.html Для работы в командной строке нужно поработать с файлом настроек (/etc/mercurial/hgrc.d/hgext) — раскоментировать hgext.hgk для доступности команды hg view, hgext.rebase, hgext.record.
Добавление модулей к apache в Ubuntu
1 |
sudo a2enmod [модуль] |
К примеру:
1 2 |
sudo a2enmod rewrite sudo a2enmod expires |
Работа в hg с rsa-ключом под linux
Нужно положить в папку ~/.ssh файл id_rsa (или id_dsa) со сгенерированным ключом. У меня был ключ, сгенерированный puttygen — для работы под windows. Для конвертации достаточно загрузить файл приватного ключа в puttygen и сконвертировать в нужный формат, после чего в linux положить этот файл в указанное место.
Закрасить изображение в Gimp (размножить часть изображения)
Сложно придумать человеческое название этому процессу. К примеру, есть дизайн одной картинкой, из него нужна кнопка, на кнопке уже что-то написано, надо это убрать. Нужно прямоугольным выделением выделить нужную область, потом Инструменты->Преобразование->Масштаб и подвигать ползунок, пока избражение не закроет всю кнопку.
Как правильно установить xdebug для удобной работы
1. Скачиваем расширение — http://www.xdebug.org/download.php (я качаю ts) и копируем в папку с расширениями php. 2. В php.ini пишем
1 2 3 4 5 6 7 8 9 10 11 12 13 |
zend_extension_ts = "<путь-к-папке-ext>/php_xdebug.dll" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.idekey=bullgare ;ну или другой ;это для профилирования xdebug.profiler_enable=Off xdebug.profiler_output_dir="c:\traces" xdebug.profiler_enable_trigger=On xdebug.profiler_output_name = cachegrind.out.%t.%p |
После перезапуска апача phpinfo будет содержать раздел xdebug.
Контролируемое скачивание (ограничение скорости отдачи файлов)
Наткнулся в сети на интересную статью о том, как ограничить скорость скачивания файлов с сервера. Код на Python (Django), но если язык не знаком, то в качестве алгоритма почитать тоже полезно. Ссылка.
Postgresql-аналоги myslq-евской «ON DUPLICATE KEY UPDATE»
В mysql есть очень удобная конструкция
1 |
INSERT INTO table (columns) VALUES (values) ON DUPLICATE KEY UPDATE column1=value1, column2=value2 |
Это очень удобно тогда, когда нужно вставить только те данные, которых в таблице нет (при этом в апдейте указывается уже существующее значение поля). В postgresql такого, к сожалению, нет. Но подобное поведение можно сэмулировать несколькими способами. Два самых интересных:
Трассировка PHP-приложений с помощью xdebug
Вот достаточно подробная статья на эту тему. В принципе достаточно написать
1 2 3 4 |
xdebug_start_trace('<Путь-к файлу>.html', XDEBUG_TRACE_HTML); ... ... xdebug_stop_trace(); |