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

Пароль

 
Войти при помощи
Картинки ссылками
До даты

Все новые сообщения

#веб_разработка #литсайты

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

Исходная ситуация. На АТ существует механизм запрета скачивания книги в виде файла. И существует механизм запрета скачивания для всех, кроме подписчиков автора (выбирает автор). Если книгу нельзя скачать, читателю выводится подпись "Только чтение на сайте". Когда скачивание открыто только для подписчиков, подпись отсутствует, присутствует кнопка "скачать", но после клика на неё выскакивает предупреждение, что необходимо подписаться на автора. Бесит, но всё логично.

С некоторых пор ситуация изменилась. Теперь если скачивание открыто только для подписчиков, присутствует, и подпись "только чтение на сайте", и кнопка "скачать"! Я же кнопку игнорировал, считая, что если "только", значит никаких других вариантов нет.

С трудом могу себе представить, какие движения мысли привели к подобному изменению... от логичного варианта обозначения статуса доступности скачивания, к нелогичному.
Показать 12 комментариев
#вне_города #веб_разработка

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

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

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

.
Показать 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, да ещё и по-разному. Только лишь из-за одной этой колонки в таблице пользователей я продолжаю поддерживать БД форума в памяти сервера =)

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

ПОИСК
ФАНФИКОВ







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