-
Notifications
You must be signed in to change notification settings - Fork 10
Home
rigidus edited this page Feb 11, 2011
·
10 revisions
-
11.02.10 Четверг
Проектирование системы мгновенных сообщений, основанной на ajax и web-sockets
-
10.02.10 Среда
Переписан сериализатор группы - добавлены отступы для человекопонятности, попутно исправлен баг с полями, оставшимися в старых файлах - явно удаляем ненужные поля, оставляя поля о которых сериализатору ничего неизвестно, например fullfilter. Добавлена библиотечная функция re-assoc для работы с такими нечеткими структурами данных. Приблизительное проектирование oauth - системы открытой авторизации.
-
09.02.10 Вторник
Исправлена ошибка в dtd Удаление полей :key и :id более ненужных из классов группы, сериализаторов и отображений.
-
08.02.10 Понедельник
Исправлен баг в выгрузке, который приводил к частичной неработоспособности фильтров в 1 клик, если выгрузка проводилась не из пакета '#:eshop - фильтры не могли найти свои сервисные функции в пакете по умолчанию.
-
07.02.10 Воскресенье
Перелинковка
-
06.02.10 Суббота
Сео-тексты на фильтрах по брендам
-
05.02.2010 Пятница
Сео-тексты на страницах групп
-
04.02.2010 Четверг
Выложил обновление на сервак. Поправил блок "Производители" на странице групп, которые до этого правил Федор, чтобы выводился сворачиваемый список производителей. Исправил проявившиеся баги: — Валера в общую папку положил xls-файлы, в именах файлов которых были пробелы, русские буквы и символы амперсанда. Из-за того что на сервере другая базовая локаль дропбокс начал глючить при перекачке не только этих файлов, но и всех остальных. Это привело к ряду сложно обнаружимых багов, также не работал парсер. На эту ошибку ушло довольно много времени. — сброс состояния маршрута продукта и группы при компиляции шаблонов, — падение на страницах запрашиваемых с фордлинка — падение поискового модуля, из-за того что он запрашивал свойство active у объектов (например фильтров) которые его не имеют. — дупликат символа маршрута для страницы выгрузки (маршрут "gateway" перезаписывался на "gateway/", а нужно было добавлять, а не перезаписывать. и еще много разных не очень интересных багов, которые я уже не помню
-
03.02.2010 Среда
Закончил xls-парсер. Тестирование
-
02.02.2010 Вторник
Написание парсера XLS-файлов для загрузки из них оптгрупп и опций. Не закончил.
-
01.02.2010 Понедельник
Мерждинг с Федором, совещание.
-
30.01.2010 Воскресенье
Рефакторинг. Изменил все что связано с хранением и обработкой опций продукта - теперь слот opgroups хранит группы опций, каждая из которых является объектом opgroup и содержит в себе список объектов option. Внес изменения во все места, где происходила работа с опциями, в т.ч. в (де)сериализатор и отображение.
-
29.01.2010 Суббота
Рефакторинг. Объединил все хэш-таблицы в одну *storage*, избавился от лишних пакетов - теперь большая часть функциональности находится в пакете eshop.
-
28.01.2010 Пятница
Изоляция выгрузки. Теперь выгрузка проходит в своем пространстве данных, и только если все прошло успешно - данные на сайте обновляются. Раньше данные обновалялись на лету, что приводило к ошибкам в данных, если выгрузка была прервана в результате ошибки.
-
27.01.2010 Четверг
Удаление id и parent-id групп в классе групп, сериализации и десериализации.
-
26.01.2010 Среда
Исправление ошибки сериализации групп - не все поля правильно сериализовались в файлы. Федор изменил способ генерации yml - теперь нам не нужны id групп и их можно удалить.
-
25.01.2010 Вторник
Проблема - исчезли имена продуктов после выгрузки. Исправлена выгрузка - realname для новых продктов берется из поля name в выгрузке, для старых - остается без изменений. Новая выгрузка-по-частям правильно обрабатывается и на старом сайте (с Артемом отлаживали)
-
24.01.2010 Понедельник
Измененения в выгрузке — товаров стало так много, что они не пролезают за один проход. Сделал выгрузку в несколько проходов, вместо пожарных костылей, как предлагал Федор - теперь мы можем выгружать любое количество товаров за любое кол-во проходов. Исправил ошибку, связанную с active=nil при изменении поля в товаре (значение поля отвергалось как ошибочное из-за ошибки в макросе записи, ошибка не возвращалась) Сделал для Валеры команду "сохранить все в файлы" (trans:store-to-files) Федор сделал небольшие изменения в javascript-корзине (она не работала, если куки были неправильными или их не было)
-
23.01.2010 Воскресенье
Сделал рефакторинг выгрузки, чтобы она стала более понятной и было проще делать изменения.
-
22.01.2010 Суббота
Cyrill Gorcunov зашел на наш проект с хабра и нашел в нем одну и ту же функцию (get-date-time), повторяющуюся в нескольких пакетах, о чем написал мне в письме. Очевидно при переносе со старого сайта так осталось. Дублирующийся кусок удалил, теперь (get-date-time) находится в пакете service
-
21.01.2010 Пятница
Процедура миграции со старого сайта - добавлено корректная трансляция старых опций в объект опций продукта нового сайта. Также переносим и REALNAME В паджинаторе ошибка - не отображается последняя страница. Поставил временный костыль - страница отображается, но нет скрытия промежуточных pages - добавлю несколько позже.
-
20.01.2010 Четверг
В процедуре десериализации теперь заполняем поле объекта продукта REALNAME значение поля NAME, если в файле REALNAME равно NIL или пустой строке. Устранено падение отображения продукта в случае, если это непривязанный ни к одной группе продукт (PARENT==NIL) Добавлены в репозиторий шаблоны, стили и скрипты Перестали отображаться картинки продуктов. Как выяснилось, это из-за того что Федор вынес их из папки Дропбокса, соответственно пути к ним изменились. Поправил. Новое поле объекта группы PIC теперь будет содержать картинку группы, отображаемую на странице родительской группы. Изменил объект группы, сериализацию и десериализаю и процедуру вывода группы на страницах. Валера сказал перенести description и short-description продуктов со старого сайта на новый - переписал миграцию. Настроил отображение 404-страницы (она теперь отдается правильно, раньше отдавался стандартный белый hunchentoot-шаблон) Вставил забытое поле realname в десериализацию продукта.
-
19.01.2010 Среда
Возникла проблема корректного сохранения фильтров, относящихся к группе в файл группы. Федор предложил хранить строку фильтра в специальном поле внутри объекта группы, что является плохим инженерным решением. Вместо этого реализовал недеструктивное сохранение файла группы, в котором изменяются только те поля, которые присутствую в объекте группы. Реализован протокол обработки ошибок десериализации, теперь при возникновении проблем с данными, поднятыми из файлов десериализатор бросает ошибку, которая обрабатывается на верхнем уровне (например WRONG-PRODUCT-SLOT-VALUE) и может быть проигнорирована, помечена, записана в лог, скорректирована или другим образом исправлена. Наконец мы отказались от ID продукта - пережитка структуры данных старого сайта. Изменен класс продукта, процедуры сериализации и десериализации. Федор изменил левое меню так, чтобы в нем не отображались неактивные и пустые группы.
-
18.01.2010 Вторник
Федор изменил выгрузку, чтобы ACTIVE зависел от кол-ва продуктов на складе. Продукт активен, если кол-во не нулевое. Также изменен шаблон, теперь неактивные продукты на новом сайте выводятся без кнопки "купить".
-
17.01.2010 Понедельник
Новый шаблон для 404 страницы Рефакторинг - использование относительных путей к шаблонам и данным.
-
13.01.2010
В письме менеджеру русифицированы сообщения о покупке: "cash" ⟶ "Наличными", "card" ⟶ "Кредитной картой", "credit" ⟶ "Безналичный расчет", "bank" ⟶ "банковским переводом", "auto" ⟶ "Самовывоз", "courier" ⟶ "Курьер"
-
11.01.2010
Для валеры добавлена новая команда в консоль (trans:realname-from-name), транслирующая NAME в REALNAME, для продуктов, у которых REALNAME не заполнено