LINUX.ORG.RU
ФорумTalks

Перевел сайт на node.js

 ,


0

2

https://rcopen.com/

Ну что… я наконец-то перевел свой толстенный пыховский форум на node.js. Без тайпскрипта и CMC.

Это был гиганский долгострой, в процессе которого появились js-yaml, markdown-it, pako, pica и прочие популярные пакеты для ноды.

Мы строили-строили, и наконец построили! (с) Чебурашка.

PS. Это все под линуксом конечно.

★★★★★

Штош, шрифт большой, визуального мусора минимум.

  1. Нет темной темы;

  2. Вложения без превью отображаются криво (огромная иконка, которая не иконка);

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

  4. Чтобы попасть в тему можно кликнуть на любой белой области вокруг ссылки, но этот элемент интерфейса никак не обозначен. Причем на главной странице это работает, а в подфорумах – нет. ОЛОЛО.

  5. Бесконечная прокрутка для пользователей Pidora.

А так, работает вроде быстро.

Без тайпскрипта

Просто зачем использовать в 2022 динамическую дрисню, если можно не использовать?

Ну так, просто что первое бросилось в глаза, ты же для этого сюда кинул?

Im_not_a_robot ★★★★★
()
Последнее исправление: Im_not_a_robot (всего исправлений: 1)

Теперь пора на раст переводить. А то уже как-то старомодно.

bread
()

перевел свой толстенный пыховский форум на node.js.

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

firkax ★★★★★
()
Ответ на: комментарий от Nervous

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

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Шрифт может и нормальный (с учётом того что у меня браузер глобально 90% масштаб), но тут сказалось засилье других личностей, которые суют везде кучу пустых мест между строчками, из-за чего приходится листать по 10 страниц чтобы добраться до нужного места.

На первый взгляд процент полезного использования площади экрана где-то 5% - это очень мало. Некоторые, чтобы повысить хотя бы зрительное заполнение, но не умея заполнить страницу полезным, заполняют пустые места тем самым «визуальным мусором» - даже он лучше чем пустая на 95% страница.

Я тут вдруг подумал, что это сайт для телефонов и возможно указанная выше проблема частично (в горизонтальном аспекте) исправилась бы на узком экране - эта огромная пустота между названием подфорума и его статистикой сузилась бы. Но, как оказалось, нет! Если начать сужать экран так, чтобы этой пустоты не осталось, то далёкие колонки справа с количеством тем итд вдруг неожиданно перемещаются во вторую строку под названием разделов. А справа опять пустота.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 4)

Ну что… я наконец-то перевел свой толстенный пыховский форум на node.js

Без сторонних фреймворков?

Это был гиганский долгострой

Чудно, видимо, без фреймворков. Ради опыта?

Работает быстро, но бесконечная прокрутка — страх и ужас.

fernandos ★★★
()
Ответ на: комментарий от Im_not_a_robot

Просто зачем использовать в 2022 динамическую дрисню, если можно не использовать?

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

Что больше смущает, как брать ссылку на комментарий? Вижу, что в адресной строке меняется, но не докручивать же до желаемого комментария.

fernandos ★★★
()
Последнее исправление: fernandos (всего исправлений: 1)
Ответ на: комментарий от filosofia

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

Vit ★★★★★
() автор топика

This site will not work without javascript!

commagray ★★★★★
()
Ответ на: комментарий от fernandos

Без сторонних фреймворков?

Когда делали, не было нормальных фреймворков, да и опыта тоже. Поэтому свой лисапед. Сейчас бы наверное на vue.js намутил.

Чудно, видимо, без фреймворков. Ради опыта?

Хобби же. Некоторые взрослые дяди радиоуправляемые самолетики пускают. Каждый дуркует по-своему :). Я вот опенсорсы и оперхардвары леплю.

бесконечная прокрутка — страх и ужас

А чо так? На модном discourse тоже бесконечная прокрутка, и все норм. Может конечно понадрывать шаблон с непривычки, но это со временем усваивается.

Vit ★★★★★
() автор топика
Ответ на: комментарий от javascript

Это отдельные элементы, из которых можно было бы собрать страницу.

Ещё строки в РБД не являются страницами.

fernandos ★★★
()
Ответ на: комментарий от fernandos

Что больше смущает, как брать ссылку на комментарий? Вижу, что в адресной строке меняется, но не докручивать же до желаемого комментария.

Ты имеешь в виду, как посмотреть кто ответил на конкретный пост? Этого пока не приделывали, т.к. на старом форуме не было. Может потом.

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

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Когда делали, не было нормальных фреймворков, да и опыта тоже. Поэтому свой лисапед. Сейчас бы наверное на vue.js намутил.

Я больше про бек, фронт без фреймворков ещё могу представить, бекенд же только на пыхе, да и то, грозит перерости в неподдерживаемый ужас.

А чо так? На модном discourse тоже бесконечная прокрутка, и все норм. Может конечно понадрывать шаблон с непривычки, но это со временем усваивается.

Наверное таки привычка, привык контролировать поведение.

fernandos ★★★
()
Ответ на: комментарий от javascript

Там не пагинация, там номера постов.

Пагинация есть в неявном виде, только для поисковиков

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Ты имеешь в виду, как посмотреть кто ответил на конкретный пост?

Нет, как дать ссылку на конкретный комментарий. Насколько я понял, до него надо докрутить и скопировать из адресной строки.

Вопрос снят, на дату нажать надо было.

fernandos ★★★
()
Ответ на: комментарий от javascript

Я вам даже пример с БД привёл. Или строки там — тоже страницы, где первичный ключ — номер/uid?

fernandos ★★★
()
Ответ на: комментарий от fernandos

Я больше про бек, фронт без фреймворков ещё могу представить, бекенд же только на пыхе, да и то, грозит перерости в неподдерживаемый ужас.

Ну мне было интересно поковыряться с подходом, что все на одном языке и не надо постоянно процесс мышления переключать. Это прикольно. Плюс архитекторские скилы знатно прокачал.

Наверное таки привычка, привык контролировать поведение.

Привычки - это норм. Главное, в них не закостеневать. Если перебороть первое впечатление и поюзать, окажется что все не так уж и плохо.

А так да, старые юзеры очень сильно бурлят про «Дуров, верни стену!».

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Ну мне было интересно поковыряться с подходом, что все на одном языке и не надо постоянно процесс мышления переключать. Это прикольно. Плюс архитекторские скилы знатно прокачал.

Создание чего-то большого всегда интересно.

Привычки - это норм. Главное, в них не закостеневать. Если перебороть первое впечатление и поюзать, окажется что все не так уж и плохо.

Привычки не просто так остаются. Если на вашем сайте про них можно легко забыть (ибо работает действительно быстро, будто не было задачи полностью использовать процессор современного компьютера ;) ), то заходишь на какой-то другой форум (на том же дискурсе), прокручиваешь и как кот на миску смотришь на троббер, пока доподгрузится ещё одна порция тем или чего-то там.

fernandos ★★★
()

Поздравляю, нода хороший выбор.

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

mydibyje ★★★★
()
Ответ на: комментарий от fernandos

Привычки не просто так остаются. Если на вашем сайте про них можно легко забыть (ибо работает действительно быстро, будто не было задачи полностью использовать процессор современного компьютера ;) ), то заходишь на какой-то другой форум (на том же дискурсе), прокручиваешь и как кот на миску смотришь на троббер, пока доподгрузится ещё одна порция тем или чего-то там.

Я б не стал смешивать концептуальные вопросы (подходы к навигации) и технические (косорукость программистов). Любой светлую задумку можно имплементировать через одно место, и с классическими страницами тоже.

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

Vit ★★★★★
() автор топика
Ответ на: комментарий от mydibyje

А она сильно вспомогательная. Туда редко смотрят. Если начать выпячивать - в более важных местах начнется месиво.

Если оценивать не просто рандомную фичу в отрыве от всего, но и ее «нужность» (а также возможные альтернативы), то вроде норм, IMHO.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

А чо так? На модном discourse тоже бесконечная прокрутка, и все норм. Может конечно понадрывать шаблон с непривычки, но это со временем усваивается.

А чего не хватало в модном discourse?

OSBuster
()
Ответ на: комментарий от OSBuster

Много чего. Барахолки, «групп» как во вконтактике/фейстбуке. Ну и не со всеми решениями согласен.

В общем, если брать любой действительно большой проект, там со временем набегает слишком много нюансов, чтобы подходило готовое решение.

Vit ★★★★★
() автор топика
Ответ на: комментарий от firkax

Есть нюанс: автор его умеет использовать, чтоб не помойка.

Shadow ★★★★★
()

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

Miguel ★★★★★
()

А где главное - сколько миллионов запросов теперь выдерживает?

zolden ★★★★★
()
Ответ на: комментарий от Nervous

Дидоугодно, одобряю.

Да, мне тоже шрифт понравился

tiinn ★★★★★
()
Ответ на: комментарий от firkax

В фуррифоксе не надо сужать экран руками, в Меню > Другие инструменты > Адаптивный дизайн можно сайт смотреть, как на мобилке. И кстати, у меня правые колонки не перемещаются во вторую строку, как ни уменьшай масштаб даже на десктопе.

Virtuos86 ★★★★★
()

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

urxvt ★★★★★
()
Последнее исправление: urxvt (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

Ну, может, хоть на TypeScript. Тоже не слава богу, но хоть что-то.

Miguel ★★★★★
()
Ответ на: комментарий от fernandos

Вопрос снят, на дату нажать надо было.

Совсем не интуитивно. @Vit, сделай лучше как на ЛОРе: отдельную кнопку «ссылка».

aquadon ★★★★★
()

Как по мне - слишком низкая плотность текста. Однострочные комментарии занимают пол экрана.

aquadon ★★★★★
()

Бесконечная прокрутка приемлема, когда от сегодня в прошлое (как в имах), но из прошлого в будущее это бред. Как в теме хотя бы тут https://rcopen.com/forum/f22/topic539599 до актуальности добраться ???? А на телефоне ? И так каждый раз ? Да и выглядит, как закос на телегу 10 летней давности. Время подобных форумов прошло - проще канал в той же телеге завести...

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)
Ответ на: комментарий от aquadon

Дык, на гитхабе так же, а я модный и молодежный.

Vit ★★★★★
() автор топика
Ответ на: комментарий от aquadon

Если сравнивать по высоте со старым форумом, стало заметно компактнее. Аватарки уменьшать не хочется. Это ж как котики, чем крупнее тем лучше :)

Vit ★★★★★
() автор топика
Ответ на: комментарий от vtVitus

Так в левом верхнем углу стрелочка вниз есть. И у зареганых запоминается, где остановились, и потом сразу кидает либо туда, либо на новый пост (если появился).

А для тех, кто хочет обязательно на последний пост сразу зайти - кликабельная дата под названием.

Усё учтено.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

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

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

Ты ведь не думаешь, что я дал ссылку, чтобы на форум моделистов нагнать траффика и регистрантов с лора :)

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

Vit ★★★★★
() автор топика

Юзал markdown-it в паре проектов, отличная вещь.

WitcherGeralt ★★
()
Ответ на: комментарий от firkax

Нет, он перешёл с одной помойки на другую, чуть меньшую помойку.

eternal_sorrow ★★★★★
()

Ъ: адовый говнокод, отличный пример как не надо писать. В шоке, что эта гора мусора вообще работает.

  • "bootstrap": "~5.1.3",
  • "jquery": "^3.6.0",
  • "shelljs": "^0.8.4",

Не люблю когда так говорят, но: брось программирование, это не твоё.

Понимаю, что надо херак херак и в продакшн, но не такой же калл - его ведь поддерживать придётся.

InterVi ★★★★★
()
Последнее исправление: InterVi (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.