↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи

ReFeRy

Автор, Иллюстратор

Фанфики

11 произведений» 
Гарри Поттер и Архимаг
Гет, Макси, Заморожен
79k 206 1k 1
Хозяева жизни
Гет, Макси, Заморожен
26k 23 125 3
Ещё один дамбигад
Джен, Мини, Закончен
23k 38 1.2k 2
Зима буйствовала вокруг нас…
Гет, Мини, Закончен
15k 18 98
Я есть Грут
Гет, Мини, Закончен
8.3k 18 205 2

Фанарт

9 работ» 

Подарки

4 подарка» 
ПодарокПестики и тычинки
От Roksenblack
ПодарокПапа, сделай лошадку!
От KNS
ПодарокThe nature of a man
От asm

Награды

54 награды» 
6 конкурсов 6 конкурсов
22 октября 2023
Создал 1 фандом Создал 1 фандом
14 апреля 2021
500 подписчиков 500 подписчиков
15 января 2021
15 лет на сайте 15 лет на сайте
16 февраля 2020
14 лет на сайте 14 лет на сайте
29 октября 2019

Блог » Поиск

До даты
#веб_разработка #интернет_сайты

Попал случайно на рутуб. Открылось видео, смотрю, и всё не могу понять, целиком влезает проигрыватель в окно браузера или чуть-чуть не влезает. Кручу колёсиком мыши, тыкаю в полосу прокрутки. А всё дело в том, что сверху у проигрывателя есть отступ от шапки сайта, а снизу размер проигрывателя адаптировали ровно-ровно к краю окна браузера. Впритык. На первый взгляд логично, а на самом деле вызывает недоверие к сайту, сверху отступ, а внизу нет отступа - ненадотак.

На скриншоте не очень понятно, но всё же:

.
Показать 1 комментарий
#фанфик_в_файл #внутренности_фанфикса #веб_разработка

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

В ФвФ добавлено около 20 сайтов (не все работают, не все доделаны, поэтому «около»), сервис работает автоматически, при этом с части сайтов загрузка новых произведений происходит только по запросу читателя, через форму на сайте, а с части - автоматически по расписанию. С части сайтов грузится только шапка произведения, с некоторых же ещё и текст. Обложка тоже есть не на всех сайтах. Где-то текст загружается каждый раз полностью, а для больших произведений с фикбука при обновлении загружаются только новые главы, но для автора, через «работу с фанфиками», есть возможность перезагрузить любую главу. Всё это многообразие даёт огромный простор для ошибок.

У меня сделана обработка ошибок и их вывод в лог с оповещением, чтобы я мог отреагировать и исправить. Но книги с литнета продолжали загружаться! Ошибок не было! Накопилось более 15 тысяч книг, в которых не был указан автор. Теперь они перезагружаются-обновляются, вчера поставил задание, больше половины уже должно было обновиться.

Спасибо неравнодушному читателю, который сообщил о проблеме в техподдержку!
Свернуть сообщение
Показать полностью
#внутренности_фанфикса #веб_разработка

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

Но почему-то на всех больших сайтах стремятся делать именно единый центр уведомлений, а не как сейчас на Фанфиксе и раньше было на Фикбуке. И вот почему.

Для начала то, что я сейчас выяснил, и что стало поводом для написания поста. Среди пользователей, заходивших в свой аккаунт на Фанфиксе за последний месяц:
- у 40% есть непросмотренные обновления в блоге админа;
- у 29% есть непросмотренные уведомления;
- у 28% есть непросмотренные новости.
Там ещё непросмотренные арты в подписках, рекомендации в подписках, заявки, личные сообщения, обсуждения, ответы техподдержки, обновления коллекций, уведомления в работе с фанфиками - но это не так важно, эти уведомления, либо далеко не у всех бывают вообще, либо не отмечаются просмотренными при открытии соответствующей страницы. А вот первые три пункта показательны: новости, уведомления, блог админа.

Я вижу ситуацию так - сначала пользователю не интересно, либо некогда просматривать какой-то вид уведомлений. А вот потом, когда счетчик накрутил уже большое число, страницу открывать становится страшно, возникает психологический барьер "большого дела". Человек подсознательно боится обнулить счетчик, который показывает большую величину, который копился долгое время. Ему возможно хотелось бы посмотреть последние уведомления, но просмотренным окажется сразу всё, что накопилось. Так этот счетчик и остаётся висеть. Тем более, что есть другие разделы, где тоже что-то происходит.

Единый центр уведомлений отчасти помогает справиться с этой проблемой - раз пользователь сайтом всё же пользуется, значит какой-то вид контента ему нужен, скорее всего и хоть какой-то вид уведомлений/новостей/обновлений тоже нужен. Поэтому в единый центр уведомлений пользователь скорее всего заходить всё же будет, а значит не будут у него висеть страшные счетчики, которые пугают и не дают возможности "откинуть старые грехи" и вновь начать пользоваться новостями/уведомлениями/обновлениями.
Свернуть сообщение
Показать полностью
Показать 19 комментариев
#интернет_сайты #веб_разработка

Кто мне объяснит, зачем делать регистрацию на сайте через телеграмм бота? Замена электронной почте что ли? Потом можно через этого же бота восстанавливать пароль?
Показать 9 комментариев
#веб_разработка

Мда... не ожидал от Яндекса. Вставили вылетающие из под курсора сердечки в результатах поиска. Всё хорошо, красиво, но почему я теперь не могу управлять прокруткой страницы, зажав скролл... на самом блоке конкретного результата поиска могу, а на пустом пространстве - только сердечки летают. Правую кнопку обработали, она и сердечки вызывает, и контекстное меню, а вот зажатие скролла - только сердечки.
Показать 1 комментарий
#внутренности_фанфикса #веб_разработка

Кто понимает, сейчас будет истерично ржать или фейспалмить. Фанфикс до сих пор работает на php 5.3 по той причине, что мой самописный велосипедик для работы с MySQL был написан в 2009 году и с тех пор так и не ушел дальше функций mysql_*.

Давно пора обновиться. Очень-очень давно. Ещё в 2009 году я выбрал mysql_* функции именно за то, что в mysql_query() не надо передавать идентификатор соединения, и в mysql_real_escape_string() тоже. Зато теперь мне надо будет переписать 3730 мест в коде, где идёт обращение к БД. Стра-а-а-ашно!
Показать 13 комментариев
#будни_админа #веб_разработка

Сегодняшнее нововведение я сделал где-то за 5 часов с перерывами на домашних. Это долго. Не буду описывать все нюансы, на которые уходило лишнее время, только опишу мытарства с вёрсткой.

Вечный вопрос при добавлении новой функции - куда её запихать в интерфейсе. Чаще всего для решения этого вопроса используется почти безотказный метод - посмотреть у других. Если функция имеет аналоги, то лучше разместить её там, где её будут искать пользователи, уже пользовавшиеся аналогом на другом сайте. Не всегда это возможно, ибо сайты могут отличаться компоновкой связанных с этой функцией элементов. Но бывает, что функция не имеет аналогов или я про них не знаю. А ещё бывает, что мне не нравится, как это сделано у других :)
Показать полностью
#интернет_сайты #веб_разработка

Увидел в ВК пост со ссылкой на профиль автора на АТ. Ссылка сопровождалась большой картинкой: аватар автора, обложка, ссылки "Лента новостей, Мой профиль, Библиотека, Блог". Удивился.

Соцсети позволяют сайтам указывать, какую картинку они должны вставить в превью ссылки для каждой конкретной страницы, если юзер вставляет ссылку на эту страницу в свой пост. Если сайт это не указал специальным мета-тэгом, то соцсеть вставляет одну из картинок со страницы. Если больших картинок на странице нет, то ссылка вставляется без превью.

Например, на Фанфиксе есть специально указанные мета-тэги для страниц фандомов - используется обложка фандома, для страниц артов - используется сам арт. А вот для страниц фанфиков сайт специальным скриптом генерирует картинку с названием фанфика, автором и т.д. я всё давно хочу переписать этот скрипт, чтобы на превью вставлялась обложка, если она у фанфика есть.
Показать полностью 3
Показать 2 комментария
#фикбук #веб_разработка

Фикбук выкатил сегодня новую навигацию в разделе работы с фанфиками. Можно было бы сказать, что она напоминает организацию раздела на Фанфиксе, но на самом деле не нужно никуда подсматривать, чтобы додуматься до разделения большого раздела на вкладки. Однако я никак не могу понять, как можно делать такие банальные ошибки.

Вот смотрите раздел:


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

На практике:

Пункты: "Части", "Шапка фанфика", "В сборниках", "Статистика", "Добавить в промо", "Добавить в горячее" - работают, как ожидается.
Показать полностью
Показать 8 комментариев
#будни_админа #исправление_ошибки #фанфикс #веб_разработка

Исправление очередной глупой ошибки.

Идём: "Редактирование профиля - Места в сети - Профили на других сайтах". Здесь можно добавить ссылку на свой профиль на Фикбуке и потом подтвердить его.

Так же идём: "Работа с фанфиками - Создать новый фанфик - Скопировать с фикбука". Здесь тоже можно добавить ссылку на свой профиль на Фикбуке и потом подтвердить его.

Второй сценарий делался позже, он частично использует скрипты первого сценария, ибо зачем писать одно и тоже два раза. И это правильно. И успешные сценарии я проверял, всё работало. А вот, если юзер вводил вместо ссылки на свой профиль на Фикбуке какую-то другую ссылку, например ссылку на раздел "Мои фанфики" на Фикбуке, то скрипт с сервера отдавал описание ошибки, но в форме не было идентификатора, куда эта ошибка должна быть выведена. И получалось, что форма что-то делала, а потом возвращалась в исходное состояние, ничего не показав.

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

Исправлено.
#фанфикс #веб_разработка #исправление_ошибки

Лог ошибок авторизации помог выявить древнюю и очень тупую ошибку. Как оказалось, Фанфикс учитывал пробелы в начале или на конце логина при авторизации. Пользователь копировал в форму авторизации логин, с которым случайно копировался лишний пробел. Пользователь обоснованно думал, что это ни на что не влияет, а скорее всего даже не замечал этого. А Фанфикс его не пускал, уверяя, что логин или пароль не верны :(
Показать 7 комментариев
#фанфикс #веб_разработка #очень_мелкое_нововведение #исправление_ошибки

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

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

По-хорошему, до введения пароля и логина ещё frontend должен не дать юзеру возможности отправить форму, подсказывая, в чем проблема. Я трогать фронт без крайней необходимости не люблю. Сделал дополнительные проверки на бэке, сделал вывод подсказок.

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

Заодно сделал проверку - если юзер не смог авторизоваться, сайт смотрит, не вводится ли вместо имени пользователя email, и если так, выдаёт об этом подсказку, в том числе о том, что имя пользователя указывается в любом письме от Фанфикса.
Свернуть сообщение
Показать полностью
#веб_разработка #фанфикс

*считаем комментарии "админ опять фигнёй страдает"*

Только что один сайт в сети выдал мне после отправки комментария к статье всплывающее уведомление "Нет ничего лучше хорошего комментария". Банально и просто, но как-то вовремя пришлось, меня порадовало.

Кто подобное видел, какие были у вас эмоции?

А ведь можно предложить авторам написать самим такой микро-ответ на каждый комментарий к их произведениям, или несколько вариантов ответов. Оно нигде на странице сохраняться не будет, внимание не отвлекает и страницу не засоряет. Зато создаёт ощущение общения с автором, близости и контакта. Может немного помочь тем авторам, которые не любят отвечать на каждый комментарий - можно прямо там об этом написать и дать своё обоснование, не будет "обманутых ожиданий" для тех читателей, которые ответы авторов на комментарии очень ценят.
Показать 15 комментариев
#веб_разработка #фанфикс

Во многих IT-компаниях принято давать серверам имена, иногда они связаны с назначением сервера, но зачастую просто красивое слово или мужское/женское имя, предложенное кем-то из сотрудников. Когда все к этим именам привыкают, это становится удобно, не надо говорить "на сервере, на котором крутится такая-то служба" или "сервер с IP 123.456.789.001".

У Фанфикса и сопутствующих проектов сейчас два сервера. Как-то так получилось, что традиция давать серверам имена ни разу мне не вспоминалась. Когда был один сервер, не было проблем. Когда в 2020м появился второй сервер, я начал ориентироваться по IP. В марте 2022 сервера поселились в одном дата центре, и IP у них сейчас очень похожи. Совсем недавно я занялся переносом ranobe.me с первого сервера на второй и решил обозначить это в названии серверов в интерфейсе хостера, а там очень ограничена длина названия, всего 26 символов. И вот тут-то я подумал, что можно дать серверам имена, чтобы проще было их различать и ориентироваться, в том числе запоминать, на котором сервере какой сайт или сервис находится.

Помогите мне придумать имена для серверов!

Сервер №1. Тут живут: Фанфикс, Литрпг и Букслист.

Сервер №2. Тут живут: Ранобэ, Хогвартснет, Лавхелп, Пикхом, Мультифандом и аудио фанфики.
Свернуть сообщение
Показать полностью
Показать 20 комментариев из 68
#фанфикс #веб_разработка #интернет_сайты

Вчера на VC выкатили обновление: Создавайте блоги и сообщества на vc.ru.
Суть:
Мы решили выделить две простые сущности на нашей платформе: блог и сообщество.

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

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

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

Для понимания, до этого нововведения на VC была вот какая структура:
(рассматриваю только основной раздел сайта - статьи, которые можно сравнивать с нашими блогами, так-то там ещё есть вакансии, компании, мероприятия)
1. Пользователь может писать статьи в свой собственный блог.
2. Либо пользователь может отнести свою статью к одному из нескольких десятков подсайтов.
3. На главной странице выводятся популярные статьи.
4. Есть раздел "Свежее", куда попадают вообще все статьи - из всех подсайтов и из личных блогов.
5. Есть "моя лента", куда попадают статьи из тех подсайтов, на которые пользователь подпишется и статьи из личных блогов тех пользователей, на которых пользователь подпишется.

Прямо сейчас я насчитал ~50 статей, опубликованных в свежем за последний час. Это нам даёт очень примерно больше 1000 публикаций в сутки. Много. Читать свежее в таких условиях - верный способ пропустить много интересного, даже если проглядывать только заголовки.

Начал я писать этот пост с идеей "Но Фанфиксу такое не подходит" и текст поста был сильно другим. Однако, структурировав мысли, сейчас я не знаю, что сказать - часть этой структуры Фанфиксу не помешало бы, но многое надо добавлять.
Свернуть сообщение
Показать полностью
#интернет_сайты #люди_в_сети #веб_разработка

Периодически LinkedIn присылает уведомления на почту, но сам я туда не заходил лет пять, если не больше. Сегодня что-то стукнуло, зашел. Какие-то люди в контактах, половину не видел и не слышал те самые 5-6 лет, как законнектились в этой соцсети.

Посмотрел на свой профиль, навыки указаны, даже есть парочка подтверждений от однокурсника. И тут взгляд упал на тест по PHP, решил пройти. Тест оказался на английском, а значит для меня это вдвойне тест. Вопросов - 15, на каждый вопрос - 1,5 минуты. Итог:
Вы входите в топ 5% из 591.1k человек, кто прошел этот тест.
На один вопрос пропустил время ответа, уже знал, что отвечать, но не успел, пока перечитывал все остальные варианты ответов после нахождения правильного. Возможно ещё что-то не верно ответил - точно не узнать. Как и думал, сложнее оказалось понимать вопросы на английском, чем отвечать по php. По сути вопросов - два раза не знал ответа и тыкал наугад. Для 15 вопросов - это очень печально :(

Первый вопрос по модели MVC, второй про разницу между this и self.
Показать 5 комментариев
#веб_разработка #внутренности_фанфикса

На данный момент 73% посетителей заходят на сайт с телефонов. А большая часть дизайна и функционала разработана ещё тогда, когда я не очень понимал важность различия разработки под телефоны от разработки под ПК.

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

Только что столкнулся с очередным примером подобного поведения. Раздел "Работа с артами". После загрузки арта страница переключается на форму заполнения информации о только что загруженном арте, но прокрутка страницы никак не меняется. Обычно большой проблемы в этом нет, потому что даже с телефона форма загрузки арта находится вверху страницы. Но есть исключение - если пользователь загружает свой первый арт, то в "работе с артами" его встречает текст правил, а форма загрузки арта находится внизу страницы. После загрузки первого арта... пользователь видит перед собой просто серый фон.

Последние годы я исправляю все такие места, как только нахожу их, но всё ещё продолжаю натыкаться на рудименты домобильной эры.

P.S. В работе с артами поведение прокрутки будет исправлено в ближайшие дни.
Свернуть сообщение
Показать полностью
Показать 16 комментариев
#внутренности_фанфикса #фанфикс #веб_разработка

Одна из технических проблем Фанфикса, которая объясняется фразой "исторически так сложилось" - регистрационный email.

Когда-то давно Поттер-Фанфикшен начинался как статичный сайт с фанфиками и форум. Регистрация была именно на форуме - штатная регистрация в форумном движке phpBB. В 2005 году я реализовал авторизацию на сайте, чтобы можно было комментировать фанфики от своего профиля (до этого существовало только комментирование без регистрации). Регистрация осталась через форум, на сайте была только авторизация - это исключило ситуацию, когда на сайте и форуме у пользователя разные ники, пароли, email, id (например, так было на ХогвартсНете). В то время форум исполнял современную роль блогов - был очень важен для жизни сайта. Личные сообщения тоже были на форуме, а на сайте их не было.

Позднее на сайте появилась регистрация. Уже не помню подробностей, но судя по всему, это произошло одновременно с переводом сайта с текстовых файлов на MySQL - 15 июня 2009 года. Регистрация была реализована с поддержкой обратной совместимости с форумом, который тогда ещё не утратил свой смысл - при регистрации через сайт создавалась учётка и на форуме, а регистрация через форум была закрыта. Зато через форум можно было восстановить пароль, а через сайт этого сделать было нельзя.

Ещё позже на сайте появились профили пользователей с возможностью указать email для связи. Вот в этот момент образовалась ситуация, когда у одного пользователя могло быть два email'a: один указывался в момент регистрации, использовался для восстановления пароля, хранился в БД форума и мог быть изменён только через настройки профиля на форуме, второй указывался на сайте, выводился на сайте, хранился в БД сайта и мог быть изменён через сайт.

Окончательный выстрел в ногу я сделал, когда реализовал рассылку почтовых уведомлений именно на email, указываемый на сайте. Это казалось логичным - рассылка от сайта, нужен email, который можно изменить через сайт.

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

Избавиться от этой двойственности сложно, потому что накопилось множество пользователей, у кого указано два разных email'a - куда их девать, не ясно. Так же дополнительная сложность в сайтах bookslist.me и ranobe.me, которые тоже используют форумный email, да ещё и по-разному. Только лишь из-за одной этой колонки в таблице пользователей я продолжаю поддерживать БД форума в памяти сервера =)

Когда-нибудь соберусь и решу эту маленькую проблему, доставляющую неудобства некоторым пользователям.
Свернуть сообщение
Показать полностью
#веб_разработка #вконтакте

В ВК появился архив личных переписок, в десктопной версии ссылочка на этот архив появляется вверху списка диалогов... появляется спустя полсекунды после загрузки страницы! Вечно тыкаю на первый диалог, ибо обычно у меня ровно один диалог с непрочитанными сообщениями и мне не нужно задумываться, куда тыкать, и попадаю на этот архив.
Показать 12 комментариев
#внутренности_фанфикса #веб_разработка #будни_админа

У меня криво реализован "живой поиск", тот самый, где можно вводить запрос постепенно и сразу видеть результаты. Кривость его в том, что форму сложно переиспользовать в других местах.

На данный момент живой поиск есть:
- в шапке сайта
- поиск фандомов на главной странице и в рейтинге фандомов
- поиск похожих фанфиков
- поиск в избранном
- поиск в работе с фанфиками
- поиск диалогов
- поиск юзера в создании беседы
- поиск персонажа в списке персонажей в энциклопедии фандома
- поиск фанфика в редактировании арта
- поиск артера для указания автора иллюстрации
- поиск конкурса в списке прошедших конкурсов
- поиск юзеров для указания беты/соавтора/сопереводчика/декламатора
Для каждого этого поиска написано прилично кода, хотя некоторые поиски однотипные.

Ещё есть:
- поиск фандома в работе с фанфиками/фанартом/заявками/коллекциями/поиске фанфиков
- поиск персонажей в работе с фанфиками/артами/поиске фанфиков
- поиск фанфика в "редакторе" нового сообщения в блоги
- поиск юзера в "редакторе" нового сообщения в блоги
Эти поиски реализованы через сторонний плагин select2, там очень ограниченные возможности для кастомизации внешнего вида поисковой формы, и не везде это можно применить.

Давно висит задача сделать живой поиск автора в угадайке, но мне всё лень вновь писать весь нужный код для реализации очередной копии "поиска пользователя". Тем более это так реализовано, что код пишется в основной js файл сайта, то есть этот код, нужный очень редко, будет загружать к себе каждый посетитель каждой страницы сайта, включая даже незарегистрированных. Эта ситуация меня ужасно бесит, хотя на самом деле написать эту самую "копию" совсем не долго и не сложно. Но с каждой такой копией копится "технических долг", который потом висит надо мной дамокловым мечом.

А сейчас надо написать форму создания команды для командного конкурса, там надо указывать участников команды - снова поиск пользователей... сижу и не могу себя заставить начать делать эту форму.
Свернуть сообщение
Показать полностью
Показать 3 комментария
Показать более ранние сообщения
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть