Меня зовут — Анатолий Ларин

Блог о разработке и разработчике

AJAX-светофорчики

Интро

Вот появилась свободная минутка… В далеком 2007-ом году у меня была статья о “flash-сообщениях” – сообщения которые мы показываем пользователю после перезагрузки страницы. Очень удобная и нужная штука :)

Но эти сообщения не подходят для AJAX-обработчиков. Что же делать? Ведь AJAX-функций на наших сайтах становится все больше.

И вот сегодня, по служебной необходимости, мне понадобилось уведомлять пользователей о результатах AJAX-функций.

Read the rest of this entry »

Кука – кино про любовь

Сейчас посмотрели великолепный фильм “Кука“. Наконец, наши режиссеры, а главное владельцы “массовых каналов”, таких как ОРТ, вспомнили, что в мире есть что-то кроме насилия, денег, наркотиков и катастроф.
Read the rest of this entry »

Sphinx – настоящее быстрого поиска

Интро

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

И вот при разработке очередного проекта стала проблема поиска. Таблицы в базе не маленькие (от 100 000 записей), да плюс искать еще нужно сразу по нескольким, так что вариант с обычным LIKE ‘%запрос%’ отпал сам собой.

Ранее я пользовался поисковым движком mnoGoSearch, но вспомнив корявость его API (иногда скаладывалось впечатление, что его писали индусы с 5-ю классами приходской школы) отбросил и этот вариант.

В итоге, осталось 2 варианта:

  1. написать поиск по основе построения своих индексов и хранить эти индексы, например, в BerkleyDB;
  2. не изобретать велосипед и воспользоваться одним из самых быстрых поисковых движков – Sphinx.

Я выбрал второй вариант :)
Read the rest of this entry »

35 принципов объектно-ориентированного дизайна

Я не люблю копировать чужие мысли, но эта статья будет копией =) Копией замечательного перевода отрывка из книги Брюса Эккеля «Thinking in Java.». Автор перевода Анатолий Тутов.

И так приступим:

  1. Изящество всегда вознаграждается. Может показаться, что слишком долго искать действительно красивое решение проблемы, но когда вы сможете легко адапатировать его к новой ситуации, избежав долгих часов, дней, а то и месяцев борьбы с собственным кодом, вы будете вознаграждены(даже если со стороны это будет незаметно). Это позволит вам создать программу, которую легко не только скомпилировать и отладить, но и понимать и изменять, что, собственно, и составляет коммерческую ценность. Понимание этого пункта требует некоторого опыта, поскольку, пока вы делаете фрагмент кода элегантным, кажется, что вы мало продуктивны. Не поддавайтесь спешке и суете, они только замедлят вашу работу.
  2. Сначала заставь работать, потом ускоряй.
    Это верно, даже если вы уверены, что фрагмент кода действительно важен и будет основным узким местом в вашей системе. Не торопитесь. Сперва заставьте систему работать с настолько простым решением задачи, насколько это возможно. Уже потом, если решение оказалось не достаточно быстрым, профилируйте его. Почти всегда вы обнаружите, что ваше мнимое узкое место не проблема. Потратьте время на более важные вещи.
  3. Read the rest of this entry »

5 фактов обо мне

Интро

Когда-то в далеком 2007 году, некто Сергей aka SHAman прислал мне письмо с приглашеним поучаствовать в акции-перелинковке «5 фактов обо мне». Я уже был готов выложить все свои страшные секреты, но тут началось…

Открытие моего первого проекта «Моя библиотека», заказчики пошли косяками, интересное предложение постоянной работы и т. д. В общем прошло около 2-х месяцев и у меня наконец появилось время.
Read the rest of this entry »