Блог


Вы здесь: Авторские колонки FantLab > Авторская колонка «kenrube» облако тэгов
Поиск статьи:
   расширенный поиск »

Development, Pulp, Звездные Короли, Капитан Фьючер, Эдмонд Гамильтон, иллюстрации
либо поиск по названию статьи или автору: 


Статья написана 20 апреля 2020 г. 01:20

  1. По просьбе vbltyt починена сортировка произведений в разделе "Входит в..." на странице произведений. До этого порядок был около-случайный, теперь сортируются по дате от более ранних к более новым. Пример

  2. По просьбе БорЧ-а исправлена сортировка изданий. Суть проблемы: у некоторых изданий дата публикации известна с точностью до месяца, но в списке изданий цикла, например, они сортировались без учета месяца, только по году. Исправлено, теперь месяц тоже учитывается (во всех списках изданий на странице произведения). Пример

  3. Многие пользователи (и lomakos, который не поленился отписаться) обратили внимание, что сломано отображение списка похожих авторов в библиографии автора — список пересекался с самой библиографией. Исправлено.

  4. Некоторый прогресс в Go-API:

  5. 1. Доделан аплоад аттачей к сообщениям и черновикам в форуме

  6. 2. Исправлена пагинация списка статей в блоге (как-то я умудрился ее пропустить в свое время, выдавался весь список)

  7. 3. В списке статей больше не выводится текст статьи, чтобы клиенты не грузили лишнее

  8. 4. Список книжных полок пользователя перенесен из Perl API

  9. 5. Так же, как и создание первичных полок. Если кто помнит, после регистрации у пользователя есть возможность нажатием кнопки создать 5 полок: "Мои книги", "Продаю", "Куплю", "Прочитать", "Ожидаю". Теперь это работает и в Go-API (пока в тестовом режиме).

  10. ilyakokhan в Android-клиенте добавил обработку тегов с выравниванием (пригодится, например, в выводе изображений в статьях) и черновики сообщений в форуме.

  11. creator поправил отображение блока "В продаже" у изданий в разделах "Новинки фантастики" и "Планы издательств"

PS Немного деталей внутренней работы с кодом. Все задачи (новый функционал, исправление багов и пр.) проходит через обязательную стадию ревью: создается так называемый Pull request с набором изменений в коде, который должен посмотреть кто-то из других программистов. Если возражений нет, код сливается в основную ветку и заливается на сервер (после этого вы и видите изменения). Если нет — вносятся изменения, пока ревьюер не будет удовлетворен качеством кода. В случае Go-API у нас с nseven92 никаких проблем нет, все изменения ревьюятся в пределах одного дня. К сожалению, для сайта это не работает, поэтому было решено внедрить простое правило: если Pull request висит без ревью более 2 суток, он сливается в основную ветку без уведомления. Именно поэтому, даже если какой-то баг исправлен прямо в день, когда о нем сообщили (а чаще всего так и есть), на сайте этот фикс появится не раньше, чем через пару дней. Скорее всего. Если не случится чуда и не очнутся от вековечного сна Ктулху, Йог-Сотот и Азатот creator, vad и Demiurg.

PPS creator-у закон не писан, он обходится без ревью и это очень печально.


Тэги: Development
Статья написана 13 апреля 2020 г. 01:19

Сделано на этой неделе не так много, но кое-что все же есть:

  1. psw заметил, что на странице переводчика переводы сортировались без учета соавторов. Исправлено.

  2. Некоторые пользователи со старыми браузерами (vita_9, razrub, ааа иии) столкнулись с проблемой, что вставка тегов, цитирование, ответы на комментарии и пр. перестали работать. Это моя вина — не учел, что не все браузеры поддерживают стандарт ES6 JavaScript-а, и использовал кое-что из него. Исправил, приношу извинения.

  3. Добавил в выдачу Perl-API новостей поле short_text — использовать его в качестве краткого описания в списке новостей на мобильных клиентах будет куда удобнее, чем description. Документацию также обновил.

  4. В остальном я пока по-прежнему занят задачами Go-API. В особенности аплоадом аттачей к сообщениям/черновикам в форуме.

  5. ilyakokhan прикрутил в Android-клиенте функционал блогов.

  6. creator исправлял работу кеша изображений в блогах и сериях. Делал и что-то еще, но, поскольку он никогда не объясняет, что делает, понятия не имею, что это было.


Тэги: Development
Статья написана 5 апреля 2020 г. 17:59

  1. ziza обнаружил, что поиск по ISBN в API работает неверно. Исправлено, теперь список результатов отдается правильно и в общем поиске (searchmain), и в поиске изданий (search-edition).

  2. vad заменил поле edition_name_raw в API издания на edition_work_id, содержащий id соответствующего произведения. ziza, это тебе.

  3. Как выяснил, опять-таки, ziza, можно было отправить сообщение в личку самому себе, т.е. по факту, выстрелить себе в ногу. Отобрал ружье.

  4. Техническая проблема: не очищался кеш при удалении комментариев в блогах. Поправил.

  5. Удаление ветки комментариев (доступное модераторам рубрик), как выяснилось, никогда не работало правильно. Починил. Интересно, кто-нибудь когда-нибудь вообще пользовался этим функционалом?

  6. Мало кто знает, что на сайте существовали ссылки вида https://fantlab.ru/discusswork1. Правда, при переходе сайт всегда падал с 500 ошибкой. Когда-то давно планировалось на базе комментариев (из блогов) сделать функционал обсуждения произведений. Потом от этой идеи отказались (не очень понятно было, чем это будет отличаться от отзывов), а вот код остался и был сломан. Полностью убрал этот функционал, теперь отдает обычное "Страница не найдена".

  7. Поправил валидацию URL при вставке ссылки (проверка фейлилась в некоторых случаях). Спасибо Demiurg-у за дельные замечания.

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

  9. В Go-API в респонсе создания/редактирования сообщений теперь возвращается само сообщение. Сделано для удобства, чтобы не перезагружать всю страницу заново.

  10. Также немного поменялся формат запросов с пагинацией. Теперь используется параметр sortAsc=0/1 — сортировка сообщений от новых к старым или наоборот.

  11. nseven92 прикрутил к API-сервису наикрутейший мониторинг через Elastic APM. Теперь в режиме реального времени можно посмотреть, сколько времени занимает каждый запрос, сколько из этого занимают отдельные запросы в базу и т.д. Плюс поднял Min.io для хранения файлов.

  12. ilyakokhan в Android-репозитории прикрутил новую авторизацию (из Go) и добавил функционал форумов.

  13. В силу того, что есть сложности взаимодействия между новым Go-API и старым Perl-API (у них совершенно разные схемы работы с авторизацией пользователей), было решено перенести все авторизованные endpoint-ы из Perl в Go. Полный список задач можно посмотреть здесь. Этим я и буду заниматься в ближайшие пару недель.

P.S. DeMorte попросил всем напомнить, что использовать HTML-теги (iframe и прочие) в авторских колонках строго не рекомендуется. Это недокументированная возможность, которая в целях безопасности рано или поздно будет закрыта. В лучшем случае она просто перестанет работать для новых статей, в худшем — старые статьи с HTML превратятся в тыкву. Не советую.


Тэги: Development
Статья написана 29 марта 2020 г. 23:09

Итак, небольшой список того, что было сделано за прошедшую неделю.


  1. По просьбе замри и умри добавил новый формат для изданий, 70x103/16 (165х250) — используется в комиксах.

  2. darkseed просил убрать ограничение в 25 результатов в быстропоиске художников при добавлении издания. Убрал, теперь результаты выводятся все, но пришлось добавить другое ограничение: поиск начинается после ввода минимум 2 букв, иначе поиск тысяч результатов вызовет жесткие тормоза в UI.

  3. БорЧ просил добавить в список издательств информацию о наличии фото на их страницах. Добавил колонку Фото рядом с колонкой Текст. К сожалению, не могу гарантировать, что алгоритм работает абсолютно верно. Изредка могут попадаться false-negative результаты (когда фото на самом деле есть, но в таблице не указано), но на практике, надеюсь, никто с этим не столкнется.

  4. По просьбе punker-а убрал шаблон http:// из диалога вставки ссылки. Попутно добавил валидацию url. Правда, как выяснилось при редактировании этой статьи, некоторые сложные случаи обрабатываются неправильно, так что еще доработаю.

  5. Когда-то давно Zlogorek писал о наличии проблемы в киноциклах: к каждому фильму прикреплена ссылка на тему форума с обсуждением, но в большинстве случаев она ведет в никуда. Починил.

  6. ziza просил добавить в текущую выдачу API изданий поле edition_name_raw, чтобы он мог написать скрипт поиска обложек оригинальных изданий для колонки Новинок литературы. Сделано.

  7. ЭльНора обнаружила проблему с добавлением новых изданий (перестало подставляться название издания). Сам же сломал чуть раньше, сам и починил.

  8. В проекте нового API на Go добавил endpoint-ы добавления, редактирования и удаления комментариев в блогах. Это позволит добавить соответствующий функционал в Android и iOS-клиенты. Чтобы результат работы API не отличался от того, что на сайте, я внимательно читаю Perl-код и переношу его в Go. Часто попутно находятся и баги, например:

  9. 1. Можно было ответить на собственный комментарий. В интерфейсе такой возможности не было, но можно было сделать это через прямой вызов endpoint-а. Пофиксил.

  10. 2. Любой пользователь мог написать модераторское сообщение. Достаточно было заключить текст в теги moder. Закрыл дыру.

  11. 3. У любого модератора рубрики была возможность наложить цензуру на сообщение другого модератора. Странная возможность, прикрыл.

  12. Сделал для админов выгрузку пропущенных id в списке произведений и изданий. Правда, что с этим делать, пока не решили.

  13. Позанимался немного правками dev-базы, использующейся для разработки и обучения новых админов. Детали раскрывать не буду по соображениям безопасности.

  14. nseven92, с которым мы на пару ведем разработку Go-API, добавил возможность логина по email, немного подправил документацию, поправил мои баги (sic!) и, как обычно, мучал Docker. И стартанул прикручивать мониторинг сервиса. Если у кого-то есть желание потестировать API, напишите — все расскажем и покажем.

  15. grbIzl сделал для Android-клиента экраны переводчика и наград автора. Появятся в следующем релизе.

  16. ilyakokhan стартовал внедрение Go-API в Android-клиент. Есть некоторые сложности в скрещивании с уже имеющимся API, но разберемся.

  17. vad начал разбираться в том, какие страницы на сайте сделаны как полагается (вынесены в шаблон), а какие — нет. Если повезет, займется переделкой.

  18. Demiurg, судя по всему, занят, так что ограничился ревью pull request-ов в основном репозитории с кодом сайта.


Тэги: Development



  Подписка

Количество подписчиков: 49

⇑ Наверх