Архив за месяц: Ноябрь 2009

Радость скролла

У моей мыши несколько дней не работала прокрутка вниз. Еще не догадались что за мышь? Называется Mighty Mouse by Apple. Это чудо (она на самом деле лучше всех других, крому Magic Mouse) славится своими проблемами со скроллом. Любая такая мышь когда-нибудь перестает прокручивать. Сначала в одну, потом в другую сторону, потом и в остальных направлениях. У моей мышки порой были «запоры», но они быстро проходили. В этот раз ситуация сама исправляться не хотела. А работать так просто невозможно. Перемещение по году становится не такой простой задачей (и как люди раньше жили только?).

Сегодня после того, как не смог выйти из максимально приближения экрана (это когда Ctrl+[скролл вверх]) задумался-таки над решением проблемы. И нашел!
Upd. А вот тут можно посмотреть, как правильно разобрать и основательно почистить мышь.

MySQL SELECT

Если есть такая возможность, надо использовать как можно меньше условий в WHERE.
Элементарно сменив с трех параметров до одного я получил прирост с 0.00091409683227539 сек до 0.00078392028808594 сек.
P.S. На самом деле время порой разнилось, но это наиболее стабильные данные. Может показаться, что выигрыш небольшой, только вот в первом случае время выборки порой занимало до 0.01699 сек. А что будет при дальнейшем росте базы?

МозгоБлог

Пару лет назад кто-то (или кое-кто?) пытался создать сообщество умных людей. Называлось оно brainblog.ru. Но где-то в 2008 году создатели поняли, что не смогли сделать ничего толкового и без предупреждения убили сервис. Благодаря web.archive.org мне удалось вытащить-таки оттуда несколько постов. Я собрал их в этом блоге (чаще всего они писались с работы) под тегом brainblog.

Subversion: возврат к предыдущей версии…

Когда я активно продвигал Subversion на работе, то одним из доводов было то, что в случае какого затирания или появления ошибки, которой раньше не было, всегда можно будет вернуться к предыдущей версии.
Но я не знал, как это делать. Сегодня на stackoverflow.com нашел ответ (мой вольный перевод):

Если вам просто надо вернуться к предыдущей версии, то команда update — то, что нужно.
svn update -r 9
Вы можете работать над кодом, но не можете внести измения в репозиторий. Ну, на самом деле, если в 10 ревизии не было изменений в этом файле, то внести в репозиторий его вы сможете, только делать этого не стоит, лучше подождать, пока кто-нибудь исправит 10-ую ревизию.
Если вам все-таки хочется продолжить работать над кодом, можно создать ветку начиная с ревизии 9, а потом объединить с 10-ой, когда она будет исправлена.

Subversion в работе

Сегодня закончил-таки установку и настройку Subversion. По сути сегодня только настроил Апач, создал репозиторий и импортировал проект. Ничего интересного.
А вот новым для меня оказалась возможность использования хуков. Это такие скрипты, которые вызываются на определенное событие. Нам, например, надо было по коммиту обновлять (svn update) рабочую версию на сервере. За это отвечает хук post-commit.
Только пока не понял, как ее задействовать только для одного проекта…

ХДД

Название вовсе не смайл, который нынче так часто используется для выражения каких-то непонятных эмоций.
Названием сего поста — проблема, с которой я столкнулся после установки Ubuntu (на самом деле есть еще одна проблема, но о ней как-нибудь в другой раз — когда либо решу ее, либо отчаюсь и буду искать совета).
По какой-то причине Ubuntu считает мой жесткий диск поврежденным, а после минут пяти работы системы начинает так его дергать, что все виснет. Мрак. Удивительно для меня было то, что Винда, которая стоит там же, никаких ошибок не выдает. Даже при проверке диска…
Зато есть повод обратиться к начальству «за апгрейдом» :)

Установка Subversion на работе…

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

Вообще, у нас сейчас идет относительно (или довольно) серьезный проект. К сожалению, организация работы над ним оставляет желать лучшего. Например, я несколько месяцев уже предлагал использовать SVN, но мне постоянно говорили, что времени на это нет.
Ну, у нас вроде как была версия для разработчиков и мы с грехом пополам работали над ней. Порой это создавало трудности, когда надо было редактировать один и тот же файл, порой мы затирали чужие изменения. Но все же это было еще терпимо. Главная проблема заключается в том, что производственный сервер не один. Их, если их можно назвать производственными серверами, десять на данный момент. Фактически это терминалы. И самое плохое стало случаться, когда надо было «быстро-быстро поправить вот на этом, а потом при первой возможности внести изменения во всех остальных, начиная с версии для разработчиков. Но часто такое просто забывалось. К пятнице у нас было уже около 5 различных версий с разными мелкими и не очень исправлениями…
Проблему с версионностью с моей подачи (в этот раз мой голос услышали) решили разрешить использованием Subversion. (К сожалению, мы так и не придумали, как автоматизировать обновление терминалов…)
И вот, как говорится, «за что боролись, на то и напоролись». В том смысле, что хоть я и не админ вовсе, установку SVN на сервере поручили мне. Это я должен (был) выполнить одновременно с работой по специальности. Вообще, забавно довольно, какие задания и сроки мне давались всю минувшую неделю. Что-то просто фантастическое. Например, переписать полностью основу одной системы за один-два дня…
В общем, я гордо поднял голову и сказал, что чему быть, того не миновать. И взялся за установку SVN. Для начала я узнал, что на сервере для разработчиков у нас стоит Линукс, который админ не обновлял с 2003 года. Какая-то очень древняя версия красной шляпы… Потом оказалось, что стоит Apache 1.3 (а для Subversion рекомендуется (на официальном сайте написано, что требуется) версия не ниже 2). Тогда я установил второй апач на порт 8080, как это советуют сделать при параллельном использовании двух Апачей. Разумеется, после этого потребовалось еще установить SQLite и еще какую-то ерунду. И, наконец, после всех мучений я добрался-таки до установки самой subversion. О да! Кажется, я ее даже установил. Черт побери, это отняло у меня больше четырех часов (включая время, когда я отвлекался на программирование).
А завтра мне предстоит создать хранилище, импортировать проект, настроить доступ к нему. Мда. И что же админ не мог сам этого всего сделать, блин? Для него это была бы плевая задача, не требующая больше 20 минут!