среда, Январь 28, 2009

Темы GWT. фичобаг

Если вы делаете достаточно сложный с точки зрения вёрстки проект, и что-то у вас результат не всегда соответствует тому что вы хотите, и сильно отличается в браузерах, то советую вам взглянуть на магическую незакомментированную строчку в вашем XXX.gwt.xml файле: <inherits name="'com.google.gwt.user.theme.standard.Standard'/">

Наверное они хотели как лучше, а получилось что получилось. Я конечно понимаю что новичкам возможность выбрать одну из предустановленных тем понравится наверное, но зачем делать стандартную тему которая мешает втыкать gwt кусок в большую сложную страницу со своим css - это для меня загадка. Вобщем закомментировав указанную выше строчку вы обретёте счастье.

понедельник, Сентябрь 29, 2008

Настройка дополнительных клавиш под Linux

Решил задействовать дополнительные клавиши моей относительно недавнокупленной Logitech Wave Keyboard. С удивлением увидел что утилиты под иксы которая бы подхватила мою клаву прямо "из коробки" нету(напомню - у меня fedora), более того настроить дополнительные клавиши тоже нечем - они игнорятся теми настройщиками какие есть. Править конфиги руками - лениво мне, всё же не 90-е уже. И тут я нашёл то что нужно в репозитории от Tigro (если кто не знает: http://tigro.info ) - keytouch и keytouch-editor.

keytouch правда тоже мою клаву не знал, но keytouch-editor осилил мою клаву, правда комбинации типа Fn-F7 приходится нажимать хитро сначала жмём Fn, потом мышкой кнопку New а потом уже F7. Иначе в сканкод у вас запишется код клавиши Fn. После работы в keytouch-editor результаты сохранил в файл который потом подгрузил в keytouch. Жить с настроенными дополнительными клавишами стало веселее и более эффективно.

вторник, Сентябрь 16, 2008

Работа с удалённой ФС через ssh

Довольно типичная задача когда необходимо быстренько что-то залить на сервер или перекинуть с сервера на сервер, причём ftp на серверах нет и не будет(по разным причинам). Когда это "что-то" - мои исходники/скрипты и т.п., то я использую svn потому что такие вещи у меня всегда в репозитории. Но что делать когда это например гигантский дамп БД, куча логов и тп? Тогда я обычно использовал scp - отлично копирует, но по юзабилити конечно консольно минимилистична. В принципе с помощью scp можно сделать всё что нужно. Но не очень удобно в некоторых случаях.

А удобнее использовать fuse и sshfs (в федоре пакеты fuse и fuse-sshfs). Тогда для того чтобы подмонтировать удалённую ФС необходимо сделать что-то типа такого:
sshfs root@server.com:/path/on/server /path/on/local

Тогда в /path/on/local у вас будет доступна /path/on/server находящаяся на сервере server.com. Отмонтировать можно например так:
fusermount -u /path/on/local

Вобщем в некоторых случаях sshfs экономит кучу времени.

суббота, Август 23, 2008

Организация бэкапов в linux

Долгое время я вполне обходился рукописным велосипедом для создания бэкапов. Ну т.е. использовал tar с небольшими скриптами.

Но недавно наткнулся на достаточно удобную утилиту написанную на perl - rsnapshot. Она использует rsync и hard links для создания серии бэкапов с заданными промежутками (у меня например создаются каждые 4 часа, каждый день и каждую неделю). При этом можно не просто указать что бекапить но и задать скрипты запускающиеся до/после очередного бекапа. Также есть много полезных функций например есть diff (например rsnapshot diff daily.0 daily.1 сравнит последний и предпоследний ежедневные бекапы), rsnapshot du покажет сколько отожрано места под ваши бекапы (отжирает надо сказать не так уж и много - читайте подробнее по ссылкам в заметке). Вобщем изучение man'а занимает минуты, всё просто и удобно - советую.

Перечислю вкратце плюсы которые я получил. Даже без сжатия бэкапы занимают мало места, делаются быстро. Так как бэкапы не сжаты то мгновенно можно посмотреть всё что нужно (например меняли конфигурацию утилитой и что-то поломалось - хотите посмотреть что поменялось по сравнению скажем со вчерашним конфигом), а не ждать пока распакуется многогиговый зазипованный tar файл. Можно не страдать паранойей и не коммитить в svn каждый чих - хотя конечно это спорно и не для всех подходит. Но для проектов которые вы ведёте с одного компьютера вполне применимо.

Ссылки по теме:
  1. http://www.mikerubel.org/computers/rsync_snapshots/ - желающим соорудить свой велосипед во чтобы то ни стало :)
  2. http://gentoo-wiki.com/HOWTO_Backup_to_DVD - о тонкостях бэкапа на DVD
  3. http://www.linux-backup.net/App/ - куча ссылок по теме, но много устаревших

P.S. да и делайте бэкап не на тот же диск на котором данные которые вы бэкапите. Помните закон Мерфи - бэкап нужен тогда когда его нет.

воскресенье, Май 18, 2008

Сходил на YAPC::Russia 2008

Сходил на May Perl, впечатления смешанные.

Для начала впечатления от докладов, которые я посетил.

1 день:

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

Профилирование perl-кода - в принципе несмотря на то что большая часть информации для меня не была новой, но например kcachegrind надо будет попробовать (cправедливости ради отмечу что слышал и раньше про неё, но по-моему не использовал).

May POE - ну доклад в принципе грамотный, но мне не особо интересный, так как новой информации там для меня было (да и в целом доклад в основном обзорный был).

Потом я пошёл на мастеркласс POE - но там были проблемы с инетом, поэтому всё пошло как-то сумбурно. В целом наверное зря я на него пошёл - мастеркласс мне был не нужен, я собственно хотел задать один вопрос (задал только во второй день поймав Серёжкина с утра, но об этом ниже). Вобщем поскучал я тут, в отличие от тех кого поражала/развлекала скорость эффективного кнопкодавления в *nix консоли и emacs'е - я 90% времени живу в никсах, поэтому меня это не развлекло. Вобщем со стороны конечно виднее - но можно было и без инета придумать чего-нибудь (как вариант запустить apache/nginx и его дрючить POE или носить с собой usb-bluetooth и мобилу на случай отсутствия инета(хотя такой тонкий канал поможет не всегда)).

"Аргументы в пользу XSLT" - на мой взгляд инородный доклад. Лично мне абсолютно неинтересен был - аргументы и за и против XSLT давно известны всем интересующимся, а про какое-то приложение к perl'у не было вообще ничего сказано.

Построение совместимых Perl/mod_perl систем с веб-интерфейсом - чего-то я вообще не помню этого доклада. Либо его отменили, либо не зацепило совсем(судя по названию это очень может быть).


Perl и Web 2.0 - несмотря на то что ничего особо нового для меня не было сказано, было весело и запомнилось. Не зря докладчику дали приз. :)

2-й день:
Блицы вобщем понравились все. Единственное что про обфускатор Stunnix мне было неинтересно(всё очевидно и уж больно самопиарно, хотя может кому полезно будет), ну а "CGI.pm - зло?!" не очень вписывается в формат блиц-доклада на мой взгляд, т.к. вопросы из зала наверняка бы были. :) Ну и у Серёжкина блиц получился не до конца


Perl+виртуализация - меня не зацепило, но возможно я просто не проникся до конца.

UTF Perl Practice - в принципе полезный доклад для тех кто не хочет сам пройтись по граблям. Жаль что его не было лет 5 назад когда я на эти грабли наступал изо всех сил. :)


CMS для крупного портала на примере TRAVEL.RU - ну реально работающие решения всегда интересны. Докладчик грамотно отбивался от каверзных и не очень вопросов - видно что не в первый раз. :)

ООП. Parrot. - Ну тут для меня тема была относительно новая, да и у Серёжкина на этот раз были заранее приготовленные слайды так что доклад был интересен и безэксесен :).

YAPC::Russia::Golf - вобщем задачи были не из разряда моих любимых, да и в субботу у меня было много дел после которых в воскресенье болела голова, поэтому я забил на них. :) Но решение-победитель про делимость на 11 удивило, так как в перерыве начали прикидывать как можно сделать, но ничего похожего даже близко не придумывалось.

Теперь не про доклады, а про разное:

Во время обеда оказался за одним столом с другими перловиками и выяснил что POE полетел не так как надо не только у меня. Т.е. не у меня одного он тёк по копейке в минуту, и не меня одного его скорость не впечатлила. Вобщем после этого я передумал по этому поводу пытать Серёжкина - может действительно для его задач и скорость достаточная, и утечки не критичны (там вобщем действительно текло помаленьку, ну и как кто-то сказал ничто не мешает убить и перезапустить скажем раз в сутки).

Но на второй день случайно поймав Серёжкина, всё же спросил его про POE. Он сказал что у него оно работает и не течёт, но версия 1.0002. Я же пробовал давно и наверняка более младшую версию. Вобщем придётся видимо опять уколоться и пожрать кактус.


Про организацию:
Футболки выдали, кофебрейки были с едой и питьём - вроде всем хватило. Вобщем в этой части всё нормально.

Из минусов - накладки в докладах одного из организаторов (это я про Серёжкина), это как-то не очень радовало. Хотя я иногда малотерпим к чужой неорганизованности, поэтому может излишне предвзят. Ну и кроме того к чему-то придраться надо, а тут вроде как и по делу... :)

Добавление:
Забыл про два доклада вошедшие вне программы:
ПеАр LinuxFormat - на удивление прошёл на удивление легко.
ORM - местами было интересно, хотя я пока для своих задач не вижу смысла в нём особого.

Добавление 2:
Забыл написать что в целом неплохо, но могло быть лучше. :)

Update 3: решил дать ссылку на страницу где есть ссылки на презентации а не втыкать их сюда по одной :) : http://event.perlrussia.ru/yr2008/talks

В рассылке jerom выложил новое мегарешение гольфа про деление на 11 (автор некто mtve):
#!perl -lp
$_=s/..?\b/"@:[0..$&]"/e?redo:/^( {11})*$/?yes:'no'
Вобщем я поражён, пока больше и сказать нечего. :)

Update 4: видео с конференции здесь: http://event.perlrussia.ru/yr2008/media/video.html