Ычан: [d | au / b / bro / hr / l / m / mu / o / s / tran / tu / tv / vg / x | a / aa / c / fi / jp / rm / tan / to / vn]
[Назад] [Вся нить] [Первые 100 сообщений] [Последние 50 сообщений]
Ответ в нить
Имя
Animapcha image [@] [?]
Тема   ( ответ в 18881)
Сообщение flower
Файл 
Пароль  (для удаления файлов и сообщений)
Параметры   
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаются файлы типов 7Z, BZ, BZ2, GIF, GZ, JPG, MO, MP3, MP4, OGG, OGV, PDF, PNG, PSD, RAR, SVG, SWF, TXT, WEBM, WEBP, XCF, ZIP размером до 5000 кБ.
  • Ныне 3632 unique user posts. Посмотреть каталог
  • Предельное количество бампов нити: 500
kotoba_logo_lg.png - (51.07KB, 349×500)
18881
No. 18881  
DISCLAIMER: Данный проект не является форком kotoba-ib и его разработка не ведется персоналом «Супермаркета».

Этот тред посвящен разработке очередного движка имиджборды под названием «kotoba.js». Движок написан на NodeJS, в качестве базы данных MongoDB, стек express, mongoose, passport.js является сегодня настолько же стандартным, как PHP в свое время. Фронтенд использует Sass и Babel, его сборка автоматизирована (gulp+babelify, но со временем нужно перейти на Webpack). Верстка - полностью валидный HTML5, однако максимально напоминает Вакабу, что позволяет работать стороннему коду (Кукле и мобильным клиентам) без существенных доработок. Так же движок работает по классическому принципу генерирования статичных файлов и имеет схожую структуру каталогов.

Несмотря на наличие современных движков, некоторые их которых даже используют похожий стек (такие как LynxChan и ololord.js), до сих пор тут и там регулярно появляются вопросы по установке морально устаревших Вакабы, Кусабы, Вичана и их форков. При этом установка и обслуживание таких движков крайне затруднительна в виду почти полного отсутствия документации, устаревших зависимостей, и необходимости доработки движка, добавления недостающих функций, и исправления устаревшей верстки.

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

Как выглядит процесс установки типичного движка на локалхост:

  • Установить Apache, PHP, MySQL
  • Убедиться что PHP скомпилирован с нужными флагами и что установлена нужная версия интерпретатора (PHP 5.6 будет ругаться на то, что работало в PHP 5.4)
  • Установить ImageMagic и ffmpeg для поддержки webm
  • Править config.php, проводить манипуляции с install.php (который никогда не выполняется первого раза без ошибок)
Так выглядит установка котобы:

  • Установить docker и docker-compose (дело 1 минуты)
  • Скачать исходный код из репозитория
  • Выполнить docker-compose up -d в папке с кодом.
Установка всех зависимостей произойдет автоматически (при этом оно никак не затронет систему). После этого движок сразу готов к работе. Первый созданный аккаунт получит права администратора, лезть в исходники и править переменные не нужно - все значимые настройки доступны из админки.
Разумеется, речь идет о локалхосте. На боевом сервере нужно еще как минимум запоролить БД, а так же настроить https.

Исходный код: https://github.com/WagonOfDoubt/kotoba.js

На данный момент проект находится в стадии MVP: то есть, самый основной функционал, такой как постинг, работает, но множество ключевых функций еще не реализовано.
Логотип, очевидно, WakabaMark, стилизованный под сервала, символизирует преемственность движка перед Вакабой и подобными, а так же кошачью тематику, и является отсылкой к Kemono Friends.
No. 18886  
Ikezawa Hanako on a rooftop.jpg - (401.99KB, 909×828)
18886
> Исходный код: https://github.com/WagonOfDoubt/kotoba.js

Вижу там одну только ветку «master», да и ту почти пустую (лицензия MIT да настройки для Git, но ничего более).
No. 18887  
>>18886
Готово, тестировал установку под Виндовс, к сожалению, Монго не может там в монтированный том, и ничего из-за этого не работает.
No. 18888  
Screenshot-2018-2-5 бред(1).png - (272.25KB, 664×1691)
18888
Что готово на данный момент:
Постинг. Можно создавать треды и отвечать в них ответы. Можно прикреплять файлы jpg, gif, png, svg, webp, webm, mp4, ogv, к которым генерируются превьюшки, которые раскрываются в теле поста. Имена файлов сохраняются, если есть такая настройка. Сохраняется именно файл с оригинальным именем, а не пишется имя рядом в скобочках.
Есть разметка, причем парсер более продвинутый, чем здесь и на большинстве борд. Поддерживается вложенные теги, %20 ссылки декодируются, внутри кода теги не интерпретируются, есть правильный Shift_JIS-арт со шрифтом Mona. Реализовано скрытие постов и тредов, раскрытие картинок, разворачивание тредов.
Админка. Можно добавлять, удалять и настраивать доски. Можно добавлять, удалять и править новости, в которых можно писать не только html, но и markdown, при этом есть функция превью написанного. Тем же способом редактируется другой текст: FAQ и правила на главной, верхняя строка с досками (.adminbar), и список досок на боковой панели (не фрейм). Вся админка аяксовая и работает через REST api, перед изменениями вылезают окна со списком для ревизии, далее красивый крутящийся прогрессбар и окно с успехом или ошибкой.

Чего нет:
Возможности удаления постов пользователем (будет в первую очередь), трипкодов, каких либо функций модерирования: банов, удаления постов и картинок, вордфильтра, переноса постов и т.д., системы управления полномочиями: на данный момент может быть только один админ который может все. Капчи. Автоматического удаления тредов. Локализации текста (все на английском). Избранного, формы быстрого ответа, превью постов по наведению на ссылку, карты ответов, автообновления треда. Каталога, скрытия/раскрытия боковой панели, списка досок с поиском, пользовательских настроек, выбора стилей. Архива тредов.
No. 18889  
Установка:
Установить https://docker.com/ и https://docs.docker.com/compose/install/
Скачать код. git clone https://github.com/WagonOfDoubt/kotoba.js.git
Если система Виндоуз, то придется удалить строку

    volumes:
      - ./db:/data/db

из файла docker-compose.yml, при этом потеряется возможность просто скопировать папку db в другое место для бекапа, и базу данных можно будет легко потерять, удалив контейнер.
Выполнить docker-compose up -d в папке с репозиторием. Первый запуск будет долгим, это нормально.
Можно идти в http://localhost/manage/registration/ и создавать первый аккаунт, который получит привилегии админа. А админке нужно создать любую новость, чтобы сгенерировать главную страницу. Далее можно добавлять доски.
No. 18890  
12345690.png - (447.15KB, 907×642)
18890
>DISCLAIMER: Данный проект не является форком kotoba-ib и его разработка не ведется персоналом «Супермаркета».
Ну так придумали бы оригинальное название, а то людишки всё равно будут думать, что я имею к этому отношение.
Мне даже заведомо левые вещи приписывали, а тут такое.
No. 18891  
>>18890
Поэтому это kotoba.js, а не kotoba-ib, и потом, положение дел может поменяться.
No. 18894  
01f06a.jpg - (2.12MB, 3382×4992)
18894
Ничего себе ты нахерачил. Как долго делал, то что сейчас есть?

Имхо, скучно делать клон старого, даже древнего, движка, хоть и на новых технологиях. Также вангую критику за отсутствие каких-то новых фишек кроме технологических.

Пять лет назад начинал делать борду на монге и экспрессе, не понравилось. Монго для меня слишком инопланетная после реляционных баз. У тебя, похоже, получше дело идет. Удачи, коллега.
No. 18900  
>>18894
«За две недели.» С конца декабря начал писать.
No. 18905  
.png - (415.30KB, 600×400)
18905
ОП - ты гений! Наконец-то хоть кто-то решил заняться движками. Или мои слова были услышаны в соответствующем треде в /b/? При чем именно в правильном русле: вакабоподобный/кусабоподобный-фронтэнд и современный бэкэнд. (NodeJS и докер). Я так был впечатлен твоей задумкой и идеей, что предлагаю так: я могу оплатить хостинг и домен и можно поднять борду чтобы ты сразу на ходу мог моментально лицезреть наличие багов + это будет эдакая саппорт-борда, которая в свое время была у wakaba и kusaba X. В общем, оставь свое мыло/джаббер или чем ты сейчас пользуешься? чтобы мы могли связаться и более детально обсудить все это.
No. 18906  
>>18905
На данный момент движок для рабочего сайта совсем еще не готов, пока ставь на локалхост. А за предложение спасибо, обязательно так и поступим.
Если еще есть желающие помочь проекту, те могут нарисовать иконки в svg, сейчас они все невозбранно позаимствованы у Соуса.
No. 18907  
>>18906
> А за предложение спасибо, обязательно так и поступим.
Хорошо, буду ждать.
Когда будет готов остальной функционал примерно?
> те могут нарисовать иконки в svg, сейчас они все невозбранно позаимствованы у Соуса.
Да, давай, в принципе могу этим заняться хоть сейчас. Тебе именно сделать Сервал-чан из Kemono Friends на фоне логотипа Wakaba?
No. 18908  
Иконка же должна быть такая как на ОП-пике?
No. 18909  
icons.png - (2.70KB, 64×128)
18909
>>18907
> Когда будет готов остальной функционал примерно?
На бордах никто ничего не может обещать, не исключено, что повторится история с Сорковой котобой, лол.
> Сервал-чан из Kemono Friends
Имелось в виду иконки постов, так же кнопки на здешней верхней панели для избранного, каталога, и прочего. Логотип же и так в svg, и его рисовал я (как мог).
В любом случае, торопиться некуда.
No. 18910  
favicon.png - (225B, 16×16)
18910
>>18908
Если речь идет про favicon, то он есть.
No. 18911  
>>18909
> На бордах никто ничего не может обещать, не исключено, что повторится история с Сорковой котобой, лол.
В ИРЛ тоже никто ничего не может обещать.
> Имелось в виду иконки постов, так же кнопки на здешней верхней панели для избранного, каталога, и прочего. Логотип же и так в svg, и его рисовал я (как мог).
Я так понимаю, все те иконки, которые нужно поменять, они на пикрелейтед, так?
> В любом случае, торопиться некуда.
Безусловно. Главное чтобы не оттягивать. А то тогда действительно повторится история как с той котобой.
No. 18912  
>>18910
А, значит я перепутал. Хорошо, будут ли пожелания какие-то конкретные или мне можно ориентироваться на свой вкус?
No. 18913  
>>18912
> Я так понимаю, все те иконки, которые нужно поменять, они на пикрелейтед, так?
Еще есть иконки закрепленного и закрытого треда, еще нужны иконка сажи и бамплимита, и все прочее, исходя из здравого смысла, например "гамбургер" меню.
No. 18915  
>>18913
> например "гамбургер" меню.
А что за "гамбургер" меню?
No. 18916  
Тебе каждую иконку сохранять как отдельный .svg файл?
No. 18918  
font awesome же
No. 18920  
>>18906
>Если еще есть желающие помочь проекту, те могут нарисовать иконки в svg, сейчас они все невозбранно позаимствованы у Соуса.
Так они и так частично в SVG уже давно.
No. 18926  
>>18920
Он имел ввиду с нуля нарисовать, а не копировать как у соуса.
No. 18928  
12345679.png - (676.91KB, 1030×649)
18928
>>18926
Тогда можно было бы начать с того, чтобы вообще не копировать Umnochan.css, учитывая, что эти значки его неотъемлемая часть (я их выкину в пользу новой версии в следующем обновлении, но не суть).
Впрочем, автору в любом случае в качестве основы для ЦСС следовало бы использовать одну из популярных тем навроде «Футабы» или «Фотона», если он хочет впаривать кому-то движок в качестве продукта.
No. 18931  
m_urepia-70733.jpg - (45.08KB, 640×360)
18931
>>18928
Умночан отлично сочетается по цветовой гамме с Сервал-тян и с саванной в целом, поэтому останется стилем по-умолчанию. И кому по-твоему его собрались впаривать в первую очередь, догадайся с трех раз.
Это все же Котоба в ее перезапуске, с другой концепцией и технологиями. DISCLAIMER говорит лишь о том, что Сорк тут ни при чем.
No. 18933  
12345683.png - (506.42KB, 1065×644)
18933
>>18931
Дорогуша, кого волнуют какие-то «дисклеймеры»?
Вы берёте название, похожее на название протухшего проекта «Супермаркета», приделываете к нему действующий десигн 410чана в качестве темы по умолчанию. Моя реакция вполне предсказуема. Umnochan.css никто не запрещал использовать где-либо (я наоборот рад, если людям нравится), но насчёт её впаривания по-умолчанию в условно массовом продукте у меня смешанные чувства. (На название мне действительно плевать, но это никакой не «перезапуск».)
>И кому по-твоему его собрались впаривать в первую очередь, догадайся с трех раз.
Откель мне знать? Видимо, каким-то любителям нодеӂсов и прочих непонятных слов.
А если бы я хотел впарить нечто конкретным людишкам, я бы сначала пришёл к конкретным людишками и выяснил у них ТЗ. Тем паче, что разные людишки тут ходят регулярно и вбрасывают ТЗ.
No. 18934  
>>18933
> я бы сначала пришёл к конкретным людишками и выяснил у них ТЗ
ТЗ выяснялось годами на чифирах, и после многократных уточнений оно стало выглядеть как «нужен просто движок». По результатам был выбран наиболее оптимальный стек технологий.
No. 18937  
dveezhoque.mp3 - (442.96KB)
18937
>>18934
То есть, вы годами страдали неведомой хѣрнёй вместо того, чтобы просто прийти и нормально всё обсудить.
Алсо, вот вам запись с последнего чифира, где это прямым текстом сказано, чтобы вы не пороли чушь.
No. 18938  
>>18937
Ну так, функционал в разработке, а простота администрирования заложена как основной критерий. Конкретно эта лабуда была выбрана по тем же соображениям, по каким в свое время был выбран PHP для старой Котобы. Сейчас оно является мейнстримом, а следовательно никаких проблем с поддержкой не будет, по крайней мере, уж всяко проще поддержки kusaba 1.04, где вместо шаблонов нечитаемая простыня из if-ов, которая то и дело забывает закрывать теги.
Если бы все это обсуждалось, то это ни к какому другому результату бы не привело.
No. 18939  
1375532491115.jpg - (94.85KB, 1280×720)
18939
>>18938
Хорошо, я вам расшифрую запись, раз вы юродствовать решили.
Там сказано:
1. Просто новый движок в вакууме — это одно, там важна только абстрактная функциональность по списку. Он может быть написан автором на любой лабуде, какая ему нравится.
2. Установка движка на конкретный сайт — это совсем другое. Там важны возможность и умение администрации сайта это ставить и поддерживать в рабочем состоянии. То есть движок не может быть написан на любой лабуде, а должен быть написан на той конкретной лабуде, с которой может работать конкретный системный администратор.
3. Я прямо заявил, что вопрос применительно к 410чану надо обсуждать предметно, потому что это не моя личная компетенция. Я понятия не имею, что мы потянем, а что — нѣтъ.

Поэтому повторяю для тех, кто юродствовать не хочет:
Если вы хотите писать не просто абстрактный движок, а именно с прицелом на 410чан, вы приходите по любому из публичных контактов администрации, излагаете предложения и задаёте вопросы. И только после ответов начинаете что-либо делать. Вообще, участие администрации должно быть на всех стадиях разработки, чтобы не повторить неочевидные со стороны ошибки старого движка и внести необходимые улучшения из опыта эксплуатации сайта.
Я удивлён, что мне вообще это надо объяснять.

Я даже не говорю о том, что десигн 410чана я не доверю никому, кроме себя. А также о том, что в теории мы можем подключить к проекту гипотетического нового движка, если бы таковой создавался, и Ычан, но тогда и их хотелки должны учитываться на стадиях планирования, очевидно.
No. 18940  
>>18939
Написание движка под конкретный хостинг и конкретного администратора сделает движок не нужным никому, кроме этого администратора, в его разработке не будет заинтересован никто, кроме этого администратора, в результате не будут привлечены сторонние разработчики, проект будет не допилен, не востребован тем самым администратором и в итоге заброшен.
Написание движка, поддерживаемого любым хостингом и любым администратором без специальных знаний увеличит число людей, заинтересованных в его разработке, а следовательно есть шанс, что он не пропадет зазря.
Что касается конкретных хотелок, то их пока рано обсуждать. Если есть вещи, не составляющие военную тайну, то их можно написать и в этом треде.
No. 18941  
Ещё один мёртворождённый движок ИТТ.
No. 18942  
.png - (4.66MB, 1339×1879)
18942
ОП, тем временем, я уже сделал четыре иконки:
"Крестик" - для скрытия тредов (Альтернативная же есть еще иконка с "минусом")
"Плюс" - для добавление треда в Thread watcher.
"Карандашик" - для быстрого ответа.
Тебе куда заливать ИТТ или делать пуллреквест на гитхабе?
No. 18943  
>>18942
Лучше сюда, так как коммит лучше делать сразу со стилями.
No. 18944  
>>18942
Да, есть еще "звездочка" есть еще. Тоже можно как вариант для избранных тредов.
No. 18945  
>>18943
Тебе чтобы каждая иконка отдельным .svg файлом была?
No. 18946  
>>18945
Да, так лучше.
No. 18947  
Вот архив, внутри находятся четыре иконки на данный момент:
  • крестик
  • плюсик
  • минусик
  • карандашик
Остальное в процессе.
No. 18949  
>>18939
> Если вы хотите писать не просто абстрактный движок, а именно с прицелом на 410чан, вы приходите по любому из публичных контактов администрации, излагаете предложения и задаёте вопросы. И только после ответов начинаете что-либо делать. Вообще, участие администрации должно быть на всех стадиях разработки, чтобы не повторить неочевидные со стороны ошибки старого движка и внести необходимые улучшения из опыта эксплуатации сайта.
Лол, ты как-то очень сильно себе противоречишь. В /b/ был тред:
http://410chan.org/b/res/125234.html#125464
  • там ты выразился так, что собственно соответствует философии этого движка. А сейчас почему-то опять начал капризничать. Насколько я понял разработчика-куна, этот движок как раз и пытается стать тем самым движком, который по дизайну и функциональности бы напоминал среднестатистический движок борд, т.е:
> который бы пытался учитывать усреднённый опыт крупных имиджбордов.
а не был:
> под нужды конкретного сайта и амбиции конкретного кодера
особенно этих новомодных фронтэнд-дизайнеров
No. 18952  
>>18947
Там в исходном коде сплошной мусор из метаданных иллюстратора. Для веба это не годится. Посмотри как сделано у Степана https://raw.githubusercontent.com/SthephanShinkufag/Dollchan-Extension-Tools/master/icons/svg/post/post-hide-user.svg и открой в блокноте свои. Кроме того, элементы должны иметь стили, чтобы иконки можно было раскрасить внешним css.
И еще карандаш имеет семантику "редактировать", а не "отвечать".
No. 18953  
изображение.png - (5.78MB, 1902×2822)
18953
>>18952
> Там в исходном коде сплошной мусор из метаданных иллюстратора. Для веба это не годится. Посмотри как сделано у Степана https://raw.githubusercontent.com/SthephanShinkufag/Dollchan-Extension-Tools/master/icons/svg/post/post-hide-user.svg и открой в блокноте свои.
Гомэн, чего-то я не подумал про это. Исправлю.
> Кроме того, элементы должны иметь стили, чтобы иконки можно было раскрасить внешним css.
О, а это как можно сделать?
> И еще карандаш имеет семантику "редактировать", а не "отвечать".
Ну ок. Только что использовать лучше всего тогда? "Сообщение"? Как в кусабе Х?
No. 18955  
>>18953
Как-то так должна выглядеть иконка минуса:

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
  <style type="text/css">
  .svg-icon-background{fill:#FFD95B; stroke:black; stroke-width: 0.5;}
  .svg-icon-foreground{fill:#55ABFF; stroke:black; stroke-width: 0.5;}
  </style>
  <rect x="1" y="1" width="14" height="14" rx="3" ry="3" class="svg-icon-background"/>
  <rect x="3" y="6" width="10" height="4" rx="0.5" ry="0.5" class="svg-icon-foreground"/>
</svg>

Размеры 16х16 пикселей, исходя из этого нужно рисовать, ведь в этом размере оно будет отображаться на странице. В иконке два элемента: фон и минус, исходя из этого им присвоены классы .svg-icon-background и .svg-icon-foreground, если между svg-файлами будет сохраняться одинаковое именование классов, то стили легко можно поменять через css на странице. Атрибут style имеет наивысший приоритет, поэтому его лучше использовать только для чего-то уникального в конкретной иконке. Еще лучше по возможности использовать примитивы вместо кривых.
Для быстрого ответа можно использовать треугольную стрелку вправо как в кусабе, все к ней привыкли.
No. 18956  
https://halfelf.org/2017/cleaning-up-svgs/ - я так понимаю, после иллюстратора нужно прочистить файл, идя по этому мануалу.
No. 18957  
Так уже лучше?
No. 18958  
Очень странно: как только удаляю тэг
<i:pgf  id="adobe_illustrator_pgf">
то потом в браузере не хочет открываться этот файл. Пишет ошибку синтаксическую в открывающем тэге
<svg>

No. 18959  
>морально устаревших Вакабы, Кусабы, Вичана и их форков
А в чём именно они устарели, кроме того, что для их сборки не нужен навороченный стек непонятных модных технологий?
No. 18961  
>>18959
Основная проблема в том: что нет поддержки со стороны комьюнити. Плюс их намного тяжелее устанавливать - это я про вакабу в основном.
No. 18962  
>>18961
Вакабу удалось сходу на локаль поставить, даже быстрее кусабы. Мне кажется миф о сложности ее установки несколько преувеличен. Хотя на хостинг устанавливать не доводилось, может быть там сложности начинаются
No. 18963  
>типичного движка
>php, Apache, MySql
Мсье, может, не знает, но по адресу http://9ch.in/overscript/ пхп-движков лишь немногим более половины, а выбор Апача или нгинкса к доске не имеет вообще никакого отнощения. Первый на всяких хостерах и так уже стоит.
>докер
Ayy lmao.Теперь желающим доработать /пофиксить дедовским способом надо не только читать доки твои и языков, но и докера.
No. 18965  
1263383495994.png - (653.60KB, 1280×720)
18965
>>18949
Хотите прикол? «Амбиции конкретного кодера» — это вот оно и есть. Стек какой-то непонятной лабуды.

Алсо, я бы вообще мимо прошёл, но ОПа посетила странная идея паразитирования на элементах проектов, связанных непосредственно со мной, при неимении (и нежелании иметь, как мы выяснили) к ним никакого отношения.
Я же его в целом не ругаю за то, что он создаёт очередной инструмент для создания очередных левых борд вместо того, чтобы помочь нам — сообществам 410чана и Ычана. Это его выбор. Хотя меня почему-то всегда спрашивают именно про движки 410чана и Ычана, а не массовые продукты.
И меня самого волнует именно частное применение на этих сайтах, а не просто абстрактные проекты движков. Но это же не значит, что продукта, который не подходит именно нам, не может существовать?

>>18962
Я ставил «Кусабу» в 2008 году, когда вообще в первый раз в жизни это всё видел. Проблем никаких не было. Надо быть каким-то мегавендузятником, чтобы ниасилить.
Тут ведь именно что вопрос: начерта гвоздями прибивать этот самый «Докер» людям, которые могут обойтись без него? Ладно, сделайте стандартизированную опцию, но насильно-то зачем впаривать? На маленьких серверах (вроде нашего в том числе) любой ресурс на счету. Какие-то там связки из дополнительных слоёв ПО будут эти ресурсы отъедать. Всякие там решения на ӂавскриптах отдельно требовательны к ресурсам. Либо плати больше за хостинг, либо тормози. Это, кстати, тоже опыт эксплуатации. Среди имиджбордов как-то больше любительских проектов с ограниченными средствами и небольшой аудиторией, чтобы крутые серваки проплачивать.
Я бы вообще сказал, что сохранение низкого потребления ресурсов, быстродействия и рассчитанности на существующие нагрузки существующих серверов даже важнее конкретного содержания стека, который бы их обеспечивал.

Больше мне, наверное, в этой нити действительно делать нечего. Кого интересуют 410чан, Ычан или «Супермаркет», могут писать по соответствующим адресам. А треды есть прямо в /dev/.
No. 18967  
009077_0.jpg - (117.97KB, 566×800)
18967
>>18965
>странная идея паразитирования на элементах проектов
Ну это довольно сильное заявление, мне кажется. Хотя, ОП, ты бы и правда название новое придумал. Serval вполне неплохо будет, не? Что там еще, дизайн. Ну лейаут стандартный, а на желтый цвет патентов у нас пока еще не выдают, лол.

Алсо, у меня складывается впечатление, что ОП вам чем-то обязан. Он делает, как я понимаю, движок общего назначения , в отличие от меня, конкретно 410 и Ычану он ничего не предлагает. Если нравится то что он делает - приглашаете в команду и работаете вместе, если его подход вам чужд - ну что ж, не судьба. А тут какие-то бабские обиды, ОП не спросил нашего мнения, плак-плак. Стыдненько.

Мимопроходил
No. 18968  
>>18965
1. NodeJS быстрее PHP.
2. NoSQL быстрее SQL.
3. Docker уже установлен на большинстве хостингов, среди которых есть даже с бесплатным планом.
4. Docker позволяет абстрагироваться от конкретного стека, администратору вообще не нужно знать, что используется внутри, ему достаточно запомнить пару консольных команд.
5. Писать в 2018 году на стеке, актуальном в 2008, просто потому, что кто-то так привык и не желает осваивать новые для него инструменты вряд ли найдется много желающих.
No. 18970  
>>18967
> Ну лейаут стандартный, а на желтый цвет патентов у нас пока еще не выдают, лол.
Он использует конкретные цвета из Umnochan.css, называя это у себя в движке как Umnochan.css.
No. 18972  
>>18970
Ох лол, тогда да, вопросов больше не имею.
Хотя можно развести демагогию про свободное ПО, лицензии и чанское братство :3
No. 18974  
Вообще, когда я запиливал «Котобу», к ней должна была прилагаться эксклюзивная Kotoba.css.
Собственно, она должна быть в репозиториях.
No. 18976  
>>18968
>1. NodeJS быстрее PHP.
>2. NoSQL быстрее SQL.
А Docker медленнее отсутствия Docker.

>5. Писать в 2018 году на стеке, актуальном в 2008, просто потому, что кто-то так привык и не желает осваивать новые для него инструменты вряд ли найдется много желающих.
Моя жена тоже постоянно так говорит. Тот факт, что она не смогла меня в этом убедить лично за долгое время, указывает на тщетность попыток бегло обосновать это в интернете парой тезисов.
No. 18978  
wZZH6m_png.jpg - (19.09KB, 320×280)
18978
>>18976
> А Docker медленнее отсутствия Docker.
Вообще-то нет: https://stackoverflow.com/questions/21889053/what-is-the-runtime-performance-cost-of-a-docker-container#26149994
No. 18979  
изображение.png - (619.92KB, 480×640)
18979
>>18962
> Вакабу удалось сходу на локаль поставить, даже быстрее кусабы.
Шутишь что-ли? Видел сколько условий надо выполнить, чтобы поставить этот движок. Да и не смотря на то, что голая оригинальная вакаба 3.0.8 это даже по сегодняшним меркам шедевр того, как должны делаться движки под широкого пользователя, в ней нет критически важных вещей для администрации, да и для пользователей тоже. Поэтому, хороша даже не оригинальная вакаба, а ее форки, вроде Phutaba или Wakarimasen движков. Но, увы, для их установки требуется туева туча requirements + конфиг дофига еще нужно править. А теперь сравни с kotobaJS - где установка даже проще чем у vichan. Думаю, ты сам понял.
>>18963
> Мсье, может, не знает, но по адресу http://9ch.in/overscript/ пхп-движков лишь немногим более половины, а выбор Апача или нгинкса к доске не имеет вообще никакого отнощения. Первый на всяких хостерах и так уже стоит.
Только вот один прикол - 99% этих движков полностью мертво. Т.е. если у меня вдруг будет проблема с установкой, либо же вдруг я столкнусь с каким-то багом, то я не то что не смогу спросить самого разработчика, но даже из местного комьюнити на самом гитхабе мне вряд ли кто-то сможет ответить. Такие дела.
No. 18980  
1432481684046.jpg - (50.47KB, 1280×720)
18980
>>18979
Аргумент, что большинство мегадвижков в итоге сдохло, в треде о новом мегадвижке должен наводить на другие мысли, кек.
No. 18981  
изображение.png - (3.32MB, 2508×5001)
18981
>>18980
С таким как у тебя аргументом, я могу выдвинуть и встречный аргумент: это движок жив и разрабатывается сейчас. Т.е. это некая философия презентизма. Пока он разрабатывается/либо поддерживается людьми, он будет уже иметь определенное преимущество в кармане, в отличии от мертвых движков. А смотреть в будущее бессмысленно. Все рано или поздно умрет. Не исключено, например, что люди через джва года будут использовать повсеместно LiveScript а про страшный синтаксис оригинального JS будут думать также, как сейчас о Перле. Но мы же, исходя из этих предложений не хулим JS сейчас?
No. 18982  
1502834459367.jpg - (86.70KB, 1280×720)
18982
>>18981
Сейчас он к использованию не пригоден. И будет ли он пригоден до того, как ОП забьёт, неизвестно.
У тех нескучных движков сообщества не нашлось, почему у этого оно найдётся? Я бы понял, если бы он был связан с какой-нибудь активной бордой, где сами обитатели заинтересованы в допиле движка, но этого не наблюдается.
No. 18983  
>>18974
А напомните на чем остановилась оригинальная котоба? Что там не успели реализовать то?
No. 18986  
изображение.png - (425.45KB, 779×1080)
18986
>>18982
> Сейчас он к использованию не пригоден. И будет ли он пригоден до того, как ОП забьёт, неизвестно.
Скорее да, чем нет. Учитывая то, что большую часть фундамента ОП написал за две недели, то вполне представляется это более-менее вероятным.
> У тех нескучных движков сообщества не нашлось, почему у этого оно найдётся?
С чего ты взял? У вакабы в свое время, потом у кусабы X а сейчас более-менее у вичана есть свои сообщества с поднятыми на этом движке бордами для фидбека. Все эти сайты на данный момент рабочие, так что если ты сомневаешься в моих словах, можешь посмотреть сам на все. Увидишь, все на свои глаза сам.
> Я бы понял, если бы он был связан с какой-нибудь активной бордой, где сами обитатели заинтересованы в допиле движка, но этого не наблюдается.
Вполне может появитяс. Один анон высказывался в треде, что не против даже хостинг и домен оплатить. А там глядишь и что-то большее выльится. Особенно если про движок написать статью на нубтайпе и дать линк на 9ch.in
No. 18987  
>>18983
На том, что основной разработчик забил на проект, не доведя его даже до уровня полного функционального аналога «Кусабы», а каким-либо другим разработчикам идея пилить «движок как продукт» не зашла.
Некоторые части кода позаимствованы в FBE.
No. 18989  
Не знаю, что тут за срач про то, что у движков имиджбордов нет будущего, в плане комьюнити, но ради всеобщей справедливости нужно вспомнить, про технические разделы 8chan и 4chan. Сходу так зайдя в один из разделов, нашел сразу 4 треда посвященных разработки массового продукта. Так вот, если создать такой тред там, то можно привлечь больше внимания и даже каких-то новых разработчиков туда. Так для справки просто.
No. 18995  
accelerator.jpg - (68.33KB, 487×650)
18995
Пристальное вглядывание в находящийся выше обмен репликами приводит меня к убеждённости в том, что WagonOfDoubt стоит на позиции, которую некоторые приписывают Генри Форду («если бы я спрашивал, что нужно народу, то мне ответили бы, что лошадей бы побыстрее» [а не автомобиль]), хотя статья https://hbr.org/2011/08/henry-ford-never-said-the-fast 2011 года отрицает её принадлежность Форду.

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

Предвижу, что между той и другой точкой зрения возможен компромисс, так как непреодолимых противоречий между ними нѣтъ.

Одним из вариантов поиска такого компромисса мог бы, вероятно, начаться с созданием длинного списка технологий, который начинался бы теми, без которых проект никак не мог бы обойтись (например, «язык JavaScript», «движок Node.js», «вебсёрвер Express»), а оканчивался бы теми, которые при некотором усилии можно и отпилить (например, «контейнер Docker», «reverse-прокси nginx», «база MongoDB») — и созданием модульной архитектуры, предусматривающей их отпиливание (во имя простоты освоения неназванным сисадмином «Супермаркета» и простоты употребления на маломощном хостинге 410чана).

Прозреваю в грядущем, что такая компромиссная форма примет вид скорее не docker-контейнера, а npm-пакета, в котором роль сёрвера статических файлов берёт на себя по умолчанию тот же Express.js (тогда как nginx остаётся необязательною опциею для тех имиджбордов, сисадмины которых способны выделить для этой опции оперативную память и процесс и видят в том выгоду, а не перегрузку на маломощном хостинге), а роль хранилища данных берёт на себя по умолчанию что-то вроде SQLite 3 (а клиент-серверная архитектура с выделенным сёрвером Mongo остаётся необязательною опциею для тех имиджбордов, сисадмины которых способны выделить для этой опции оперативную память и процесс и видят в том выгоду, а не перегрузку на маломощном хостинге), и так далее.
No. 18996  
Arcueid.png - (364.55KB, 640×480)
18996
>>18888

> Можно прикреплять файлы jpg, gif, png, svg, webp, webm, mp4, ogv, к которым генерируются превьюшки, которые раскрываются в теле поста.

Если администратор откроет SVG-файл, содержащий джаваскрипт, то сможет ли джаваскрипт похитить его кукисы?
No. 19001  
ОП, выглядит вполне интересный проект. Но все таки мне интересно, по функциональности этот движок кого будет напоминать: Wakaba, Kusaba, Serissa, Kusaba2, Kusaba X, или ту Kotoba, которая изначально соусом замышлялась. В частности, хотелось бы услышать по функционалу детали: какие функции будут для анона доступны, а какие для администрации?
No. 19006  
xss.svg - (161B)
19006
>>18996
Нет. Проверил на этом файле. Код не выполняется, картинка не отображается, хотя превью генерируется корректно.
No. 19010  
Kenji.jpg - (170.48KB, 600×869)
19010
>>19006

Очень хорошо, что код не выполняется.

Несколько хуже то, что не отображается и картинка.
No. 19012  
Тем временем я почти уже закончил с иконками размером 16х16 для закрытых тредов, каталога и прикрепленных тредов.
No. 19030  
изображение.png - (666.81KB, 423×600)
19030
Появилась такая идея и вопрос: а можно ли реализовать с помощью WebStorage принципиально новую систему read-only банов, которая в отличии от банов по IP/подсети будет устойчива к использованию прокси-серверов и которая в отличии от HTTP-Cookie банов будет устойчива к тому, что пользователь будет удалять/редактировать печеньку. В частности, меня интересует, можно ли приделать к kotobaJS практически непробиваемую систему бана (которую можно обойти системам вроде Tor-браузера с отключенными куками и JS)

Ну или другие механизмы вспомогательной идентификации пользователя: UserAgent, Flash, определенные объекты JS и тому подобное (подробнее о способах идентификации пользователей здесь: http://javascript.ru/unsorted/Id )
Самая главная фишка здесь в том, что только движок это все анализирует и связывает: админ об этом не должен догадываться, в целях сохранения анонимности постеров. Получается на выходе следующая вещь: мод когда банит определенный IP-адрес, может отметить определенный чекбокс, на котором написано "усиленный бан" или как-то так. После подобного действия система запоминает и связывает эти дополнительные параметры в связки с IP-адресом и когда пользователь пытается обойти бан практически любым способом, кроме жестких анонимайзеров (вроде того же Тора, который можно запретить) и пытается запостить - движок распознает его и пишет в банлисте и пользователю сообщение вроде "Попытка избажать бана с IP XXXXXXX"
No. 19031  
01806a.jpg - (325.55KB, 1000×1000)
19031
>>19030
Тоже об этом думал.

Во-первых, когда пользователи узнают, они будут ОЧЕНЬ недовольный. Збс анонимная борда будет, лол.

Во-вторых, сам по себе localStorage легко стирается из девтулзов. Но есть разного рода техники, типа zombie cookie, которые используют все возможные хранилища данных, и дублируют инфу, если юзер потер одно из хранилищ.

Я вот собираюсь хранить в базе постов только то, что браузер по-любому отправляет: ip и UserAgent + сессионную куку, без нее у меня все равно капча не будет работать. Для банов это использовать можно использовать только постольку-поскольку, но вот для удаления флуда и вайп-постов отлично подойдет.
No. 19033  
изображение.png - (429.72KB, 600×425)
19033
>>19031
> Во-первых, когда пользователи узнают, они будут ОЧЕНЬ недовольный. Збс анонимная борда будет, лол.
Она и остается анонимной. Потому что о такой дополнительной инфы никто не узнает - ни модератор, ни создатель. А для совсем упоротых мантрами анонимности, можно запилить фичу, которая будет шифровать IP-адреса в последовательность цифр и букв по технологии BTCrypt. Будет эдакой глобальный ID который видит только старший модератор. Я лично знаю даже движки, в которых такое уже реализовали. Я думаю, этого будет достаточно: чтобы каждый оставался на сайте анонимным, но при этом троллей, спамеров и прочую нечисть можно было эффективно забанить.
> Для банов это использовать можно использовать только постольку-поскольку, но вот для удаления флуда и вайп-постов отлично подойдет.
Да какая разница? По-моему такой подход как по мне, лучше подходит, так как позволяет избежать неприятных курьёзов с подсетями. Гораздо больше бомбежки, когда тебя банят автостопом, потому что какой-то засренец нигр постил с "соседнего" IP, согласись.
No. 19034  
>>19033
>Потому что о такой дополнительной инфы никто не узнает - ни модератор, ни создатель. А для совсем упоротых мантрами анонимности, можно запилить фичу, которая будет шифровать IP-адреса в последовательность цифр и букв по технологии BTCrypt. Будет эдакой глобальный ID который видит только старший модератор.
Только вот ничто не мешает желающим сделать этот вывод кому угодно со стороны движка. А вот отсутствие такой фичи в принципе - мешает.
No. 19038  
Чет не совсем я если честно разобрался, ибо когда удалил лишние тэги из svg-файла, он перестал нормально отображаться в браузере. Поэтому, не мог бы ты тогда почистить уже финально эти файлы. Да, в этих файлах я сделал:
  • иконка для прикрепленных тредов
  • иконка для закрытых тредов
  • иконка для каталога
  • иконка для быстрого ответа
Они все 16х16 пикселей. Нужно ли еще какие-то иконки нарисовать?
No. 19043  
Коммиты за эту неделю:
Добавлен каталог.
Добавлена карта ответов, которая хранится на стороне сервера.
Добавлена возможность загрузки нескольких файлов.
Админбар теперь редактируется как обычный список ссылок в markdown, без необходимости вручную делать html-разметку.
Добавлены пункты правил под формой постинга.
>>19038
Я очень ценю твои старания, но результат нельзя назвать удовлетворительным. Эти файлы еще перепиливать и перепиливать, а иконок может понадобится еще много. Визуальные украшательства имеют сейчас наименьший приоритет, а за уникальным внешним видом нет смысла гнаться. Гораздо проще действительно своровать svg из font awesome и не париться. Не трать свое время.
No. 19044  
>>19043
Переключалку стилей переделать на выпадающий список. Пункты под меню сократить в два раза, объединив типы и размер в один пункт и убрав никому ненужную строку про уменьшение.
No. 19045  
>>19043
О, поясни за "референс". Что это значит?
> currently 2 unique user posts
Я думаю, что этот пункт под формой постинга лучше сделать отключаемой. Всегда эта фича немного раздражала с Kusaba X.
И было бы неплохо в репорт-функции сделать графу с причиной. Чтобы модератор знал причину, почему сделан репорт на данный пост.
No. 19048  
>>19045
Когда >>ссылку пишут в отдельной строке, то пост засчитывается как "ответ".
А если то же самое пишут >>19045 в составе текста, то пост добавляется в "упоминания". На 0chan.hk сейчас действует похожая система, только там разрешено отвечать только на один пост, либо ответ будет на пост ОПа по умолчанию. Ссылки на пост с других досок типа >>/b/123 всегда будут упоминаниями.
Это позволяет различать именно ответы на пост и вещи как ">>123, >>124 и >>125 - дураки" и "я >>999-кун". Возможно следует сделать опцию смешать это дело в кучу.
> Я думаю, что этот пункт под формой постинга лучше сделать отключаемой.
Под каждую из таких мелочей отдельную опцию не предусмотришь. Эти можно спокойно скрыть в css, либо найти в шаблонах и закомментировать соответствующую строку, подобные вещи можно подробно описать на вики.
А к репортам пока не притрагивался.
No. 19052  
>>19048
> Когда >>ссылку пишут в отдельной строке, то пост засчитывается как "ответ".
> А если то же самое пишут >>19045 в составе текста, то пост добавляется в "упоминания". На 0chan.hk сейчас действует похожая система, только там разрешено отвечать только на один пост, либо ответ будет на пост ОПа по умолчанию. Ссылки на пост с других досок типа >>/b/123 всегда будут упоминаниями.
Блин, на самом деле вроде выглядит просто и гениально.
> Возможно следует сделать опцию смешать это дело в кучу.
Ты имеешь ввиду возможность разделения на упоминания и ответы?
No. 19053  
>>19043
Альзо, хотелось бы скринов каталога.
No. 19054  
>>19048 То есть такой стиль ответов ты не встречал?
No. 19055  
>>19054
Ну он реже используется на самом деле. Хотя замечание верное на самом деле. Если на то пошло, тогда по упоминаниям можно уточнить: если после ссылки на пост, сразу идут символы, тогда это упоминания, а если пропуск хотя бы в один символ - ответ.
No. 19071  
>>19055
>если после ссылки на пост, сразу идут символы, тогда это упоминания, а если пропуск хотя бы в один символ - ответ.
И не забудь, что и при таком стиле могут идти номера постов подряд.
No. 19095  
>>19071
Ну это уже по-моему неудобочитательное извращение.
No. 19098  
изображение.png - (271.00KB, 425×600)
19098
ОП, я тут придумал новую систему капчи, которую лучше всего реализовать тебе в движке. А именно - я говорю о возможности кастомной капчи, которую админ сам с легкостью может настраивать.
Так как текст слишком большой получился и автобус не пустил его, то я скинул идую на пастбин:
https://pastebin.com/2pJhvY4h
В общем, надеюсь мою мысль здесь поняли, а если нет, то спрашивайте конкретно, а я попытаюсь уже ответить на ваши вопросы.
No. 19099  
>>19098
Я даже не знаю, няwа, ты наркоман, или прикидываешься. Писать офигенную идею своей суперновой капчи прямо на доске, где такое уже есть. А щёлкается одно слово быстрее, чем добавляется.
No. 19101  
>>19099
Ты забываешь что у автобуса исходный код закрыт. Так что это не считается.
> А щёлкается одно слово быстрее, чем добавляется.
А тут я тебя совсем не понял.
No. 19114  
>>19098
Во-первых лол,именно на 410 такое реализовано, во-вторых картинок надо заготовить сотни тысяч, иначе какой-нибудь упертый товарисч распознает вручную хотя бы четверть из них и начнет вайпать.
No. 19116  
>>19114
> Во-первых лол,именно на 410 такое реализовано,
Я тебе больше скажу. Похожая, но упрощённая вещь реализована в движке доллчана. (вакаримасен - модифицированный клон вакабы на питоне). Но мой вариант шире придуман, чем это реализовано на автобусе и доллчане. Хотя бы потому что здесь более широкие возможности кастумизации. Это во-первых. Во-вторых, именно эти движки меня вдохновили придумать и усовершенствовать существующую систему.
> картинок надо заготовить сотни тысяч, иначе какой-нибудь упертый товарисч распознает вручную хотя бы четверть из них и начнет вайпать.
Не нужно. Достаточно 20-30 штук на самом деле. Особенно если это мелкоборда. Вряд ли кто будет писать под такое вайпалку если все это можно с лёгкостью изменить. Да и на автобус взгляни. У него на каждый раздел картинок для капчи так 15 от силы. Что-то я не видел, чтобы его штурмовали вайперы.
No. 19117  
>>19116
> Похожая, но упрощённая вещь реализована в движке десучана
Быстрофикс
No. 19118  
>>19116
>если все это можно с лёгкостью изменить
Ещё раз: телодвижений на добавление одного слова надо проделать больше, чем на добавление ответа в вайпалку. И подменять получается можно не более одной капщи за раз. С оплаченным проездом всё становится вообще очень весело.
>Особенно если это мелкоборда.
Так тут вроде уже спорили, чтоэто двиг общего назначения, а не под конкретные запросы.
No. 19119  
>>19118
>Так тут вроде уже спорили, чтоэто двиг общего назначения, а не под конкретные запросы.
Да тут из этого всего переобувания на лету уже не поймёшь, кому нужен этот двиг. А в данном случае это даже не ОП.
No. 19123  
>>19119
> Да тут из этого всего переобувания на лету
И что же за странность у тебя с переобуванием не так?
> кому нужен этот двиг
Ох, как же я люблю таких людей на анонимных имиджбордах, которые любят за всех рьяно отчитываться злоупотребляя анонимностью...
No. 19127  
>>18968
> NoSQL быстрее SQL

Вруша.

https://www.enterprisedb.com/node/3441

MongoDB в 2018 году вообще не нужно. Разве что если память девать некуда, а надёжность-производительность не важна.
No. 19129  
тред для мемов?
тред для мемов!

http://www.youtube.com/watch?v=b2F-DItXtZ
s
No. 19130  
опс
http://www.youtube.com/watch?v=b2F-DItXtZs
No. 19143  
>>18968
>1. NodeJS быстрее PHP.
Ахаха, нет. Если тебе заходит абстрактная херня вместо объективных тестов, то вот тебе порция:

  • Склейка строк в PHP в 2.5 раза быстрее;
  • Наполнение массивов в PHP на 60% быстрее;
  • Наполнение ассоциативных массивов в PHP в 7 раз быстрее;
  • Чтение файлов в PHP в 10 раз быстрее;
  • SELECT запросы к БД в PHP в 2 раза быстрее;

No. 19144  
>>19143
No. 19148  
>>19143

> абстрактная херня вместо объективных тестов

> Ахаха
No. 19172  
Ну что ОП, как дела? Будет ли отчёт за неделю, как в прошлый раз?
No. 19173  
yandere trance -- Misaka imouto.jpg - (170.25KB, 1001×820)
19173
Читал описание теста >>19144 по адресу http://zzarbi.tumblr.com/post/16870870471/php-nodejs-mysql-and-mongo

Много думал.

Тесты под названием «Mysql2» и «Mongo2» отличаются тем, что не содержат повторного открытия соединения с сервером. Не удивительно, что Node.js быстр в этом случае, но для чистоты эксперимента тогда и PHP следовало бы запускать аналогично (возможности http://php.net/manual/en/mysqli.persistconns.php и http://php.net/manual/en/pdo.connections.php это позволяют для MySQL, например), а сделано это не было, так что тест ни о чём.
No. 19174  
>>19173
Это имеет смысл, так как сравнивалась производительность типичного веб-приложения на PHP, работающего через cgi, например php-fpm, где на каждый запрос спавнится новый процесс, и наиболее популярного подхода на Node.js: запустить сервер и слушать порт. В первом случае нет возможности держать постоянное соединение с БД. Оба подхода являются дефолтными при выборе соответствующей технологии, говоря "сайт на PHP" подразумевают именно LAMP с php-fpm, а так сделаны все движки для имиджборд на PHP, так же как и на perl, и некоторые на Python, говоря о сайте на Node.js, как правило подразумевают express, и все известные движки на нем написаны именно так.
Так что в контексте данного треда этот тест совсем не ни о чем.
No. 19177  
>>19172
Добавлено удаление постов по паролю. Вроде бы немного, но это ключевая функция, которая не очень тривиальна. Нужно было корректно удалять не только посты из базы данных, но и ссылки на удаленные посты из карты ответов других постов, посты-ответы при удалении тредов, картинки и html-файлы. В дальнейшем с этим уже легко реализовать основные функции админки.
В процессе переход сборки фронтенда с gulp на webpack, что позволит ускорить разработку фронтенда.
No. 19178  
>>19177
>удалять не только посты из базы данных
То есть, тут нельзя будет, как в кусабовском модлоге, посмотреть, что там понаудаляли модераторы. И некровайперов, которые удаляют посты, только через логи сервера ловить, ага.
No. 19179  
>>19178
Чего? Откуда такой вывод?
No. 19180  
>>19179
Из процитированного. Как просмотреть содержание удалённых сообщений, если они и из базы удаляются?
No. 19181  
>>19180
В модлоге. Которого еще нет.
No. 19182  
1518993394862.jpg - (126.66KB, 700×990)
19182
>>19177
>>19178-кун очень прав. Не смотря на каличность кода кусабы, у нее было несколько ключевых функций, которые отсутствуют в многих современных движках. Например, в том же тиниборде/вичан. Среди них:
  • нет быстрого ответа
меньше действий, что эргономично.
  • multidelete/multiban.
Дохера полезная вещь. Допустим в треде пару дурачков Семёнов устроили сильный срач на постов так 25 а то и больше. И вот, представь, модератору вместо того чтобы выделить сразу ненужные посты на удаление - приходится кликать по каждому посту отдельно. Скорее всего он взорвется так - что удалит тред полностью. Что не очень найс. Как это работает. Когда ты залогонился как админ или модератор, ты заходишь на доску и можешь удалять не через мод-кнопки которые находятся рядом с каждым постом, а как обычные пользователи - с разницей лишь той, что твой пароль может удалить любой пост в пределах доски/досок, где у тебя есть права на удаление. )
  • Бэкап тредов.
Нужен для двух случаев: 1) контролировать модераторов, чтобы знать не только сколько и какие посты они удаляют, но и что было в содержании. А вдруг рядом с постами нарушающими правила, они трут ещё просто то что им не нравится. И тогда, если пользователь жалуется на несправедливую модерацию, то админ может по модлогам и бэкапу чекнуть, "гонит" ли пользователь на доске или быть может у него появились "вахтёры". 2) есть некоторые тролли, которые любят создать тред, а потом когда люди начинают отвечать и тред набирает интересную и полезную дискуссию, он берет и удаляет тред. ОП же типо. Ну а про невидимые бампы я вообще молчу.
Да, самое главное: эти посты при желании можно восстановить. С файлами. Но только таким правом обладает админ. Как и удаление корзины. Т.е. получается у нас есть аналог корзины в бд. Удаленные файлы/треды/посты В ЛЮБОМ СЛУЧАЕ попадают в корзину при удалении, а потом только админ способен либо восстановить либо удалить навсегда конкретные посты/файлы.
  • No-read баны. Тоже полезная вещь. Если стоит на апаче то пускай вписывает IP в .htaccess файл. Профиты: более строгое наказание для вайперов. Чтобы они наверняка не смогли завайпать борду и также заодно трафик можно сэкономить.

No. 19183  
>>19177
Хотя быстрый ответ у тебя уже реализован, это хорошо.
No. 19184  
>>19182
Все это довольно очевидно и являлось частью концепции движка изначально.
За исключением только no-read банов. Большой практической цели они не несут, а в случаях защиты от вайпов/ддосов/надзоров можно самому полезть в настройки вебсервера.
No. 19185  
>>19184
>За исключением только no-read банов
То есть, опыт эксплуатации™ Ычана, где их вкатывают каждый день по несколько раз, игнорируется?
No. 19186  
>>19184
> Большой практической цели они не несут
Ну как сказать, высшая же мера наказания.
>>19185
А разве там есть no-read баны?
No. 19191  
horror -- Hakurei Reimu.jpg - (536.04KB, 1056×1504)
19191
Возражение >>19174 признаю убедительным.
No. 19192  
>>19178
Кстати о некровайперах. В Инстанте была правка, возвращающая тред на место, если последний пост, которым был бампнут тред, удаляется.
No. 19193  
>>19192
А также такая правка была в Phutaba
No. 19194  
>>19192
Хороший вообще движок. Только вот доски 2.0 раздражали. Если бы можно было как-то от них избавиться...
No. 19207  
67313183_p0_master1200.jpg - (211.65KB, 430×600)
19207
Над чем дальше будешь работать после того, как реализовал удаление по паролю постов?
Я бы лично рекомендовал тебе реализовывать в таком хронологическом порядке:
1. bans and moderation features
2. staff permissions system
3. autoupdate and notifications
4. personal settings stored on server
No. 19221  
14154262.png - (21.90KB, 259×224)
19221
МЕЛОЧЬ, НО ПРИЯТНО!
В кусабе, в отличии от вичана и вакабы, если изменить имя дефолтное и делать это без генерации страницы, итог один и тот же: изменяются абсолютно все имена. Даже на старых, т.е. последних страниц. Более того, в дефолтное имя нельзя запихнуть массив например, если хочется создать примитивный генератор имен. Было бы здорово, если ты систему имен дефолтных реализовал как в вичане/кусабе
No. 19227  
>>19221
>В Кусабе убогая реализация, не как в Вичане!
>Сделай как в Кусабе/Вичане!
Што.
No. 19228  
>>19227
Как в вакабе хотел сказать. Опечатался
No. 19231  
>>19221
Оно там с самого начала так.
No. 19233  
Json api есть?
Тред не читал.
No. 19274  
ОП, как дела? Когда будет запилена админка и модерка?
No. 19382  
Я так понимаю развитие движка заглохло?
No. 19383  
>>19382
Не заглохло, но показывать нечего, пока функции не будут реализованы полностью.
No. 19745  
Как дела?
No. 19756  
Что-то разраб давно уже не допиливал код. А ведь проект и правда годный. Грустно, что он прзабросил его.
No. 19761  
Не паникуйте. Проект не заброшен. Просто есть такие вещи как "работа" и "отсутствие свободного времени".
No. 19777  
zero.jpg - (171.03KB, 847×1200)
19777
Когда я смотрю на код всех энтих проектов на ноде/экспрессе, у меня возникает такой вопрос:
Вам самим нравится писать подобную слабочитаемую лапшу или это вас жс заставляет такое делать?
Реально, как вижу эти портянки кода так плакать хочется.
Но тем не менее желаю удачи в этом деле, хотя сколько я уже подобных проектов видел — заканчивали они одинаково.
No. 19778  
>>19777
Не скажи. С введением async/await предрассудки про лапшу из коллбеков остались в прошлом. А экспресс мало чем отличается от фласка, как в плане функционала, так и читабельности.
Вот самый отполированный файл: https://github.com/WagonOfDoubt/kotoba.js/blob/master/containers/node/controllers/generate.js
Чистая функциональщина, каждая следующая функция вызывает предыдущую. Почти не используются циклы - вместо них семантичные Array#map, forEach и reduce. Или вот https://github.com/WagonOfDoubt/kotoba.js/blob/master/containers/node/models/board.js чисто декларативная схема базы данных.
No. 19779  
>>19778
Со стороны C# это все выглядит смешно.
Тут народ до сих пор месит ActiveRecord, который разве что в пределах простенькой крудни не доставляет боли.
No. 19828  
node_1 | Error: Cannot find module 'express'
node_1 | at Function.Module._resolveFilename (module.js:555:15)
node_1 | at Function.Module._load (module.js:482:25)
node_1 | at Module.require (module.js:604:17)
node_1 | at require (internal/module.js:11:18)
node_1 | at Object.<anonymous> (/home/node/app/index.js:1:79)
node_1 | at Module._compile (module.js:660:30)
node_1 | at Object.Module._extensions..js (module.js:671:10)
node_1 | at Module.load (module.js:573:32)
node_1 | at tryModuleLoad (module.js:513:12)
node_1 | at Function.Module._load (module.js:505:3)
node_1 | error: Forever detected script exited with code: 1
node_1 | error: Script restart attempt #3
node_1 | module.js:557
node_1 | throw err;
node_1 | ^
node_1 |
node_1 | Error: Cannot find module 'express'
node_1 | at Function.Module._resolveFilename (module.js:555:15)
node_1 | at Function.Module._load (module.js:482:25)
node_1 | at Module.require (module.js:604:17)
node_1 | at require (internal/module.js:11:18)
node_1 | at Object.<anonymous> (/home/node/app/index.js:1:79)
node_1 | at Module._compile (module.js:660:30)
node_1 | at Object.Module._extensions..js (module.js:671:10)
node_1 | at Module.load (module.js:573:32)
node_1 | at tryModuleLoad (module.js:513:12)
node_1 | at Function.Module._load (module.js:505:3)
node_1 | error: Forever detected script exited with code: 1
No. 19937  
>>19828
> kotoba.js/containers/node/Dockerfile
> RUN npm install
Странно, что npm install не выполняется при сборке, хотя это всегда происходило раньше, а Dockerfile и docker-compose.yml не менялись с первого коммита.
Как временное решение: выполнить на всякий случай "docker-compose build", запустить движок через "docker-compose up -d", выполнить "docker exec -it kotobajs_node_1 bash" и затем внутри контейнера "npm install".
No. 19947  
Предполагаю, что в сём случае можно нѣсколько ускорить всё дѣло, если «npm install --production» вмѣсто простого «npm install».

Прошу подтвердить или опровергнуть.
No. 19958  
>>19947
Суть проблемы описана в https://stackoverflow.com/questions/30043872/docker-compose-node-modules-not-present-in-a-volume-after-npm-install-succeeds и https://stackoverflow.com/questions/38425996/docker-compose-volume-on-node-modules-but-is-empty
Кратко: сначала выполняется npm install и создается папка contaniers/node/node_modules внутри контейнера, затем монтируется вся папка contaniers/node/ с хоста, заменяя собой ту, в которой node_modlues есть.
Еще одно решение, это удалить из docker-compose.yml строчку " - ./containers/node:/home/node/app".
Очень странно, что этого до сих пор никто не заметил. Что впрочем легко объясняется тем, что никто даже не пытался ничего ставить.
Решение с удалением строчки выше оптимально для продакшена, однако усложняет разработку. Возможно стоит сделать так, чтобы npm install выполнялся при запуске контейнера, на не во время сборки. Есть ли в Докере способ сделать так, чтобы монтировалась вся папка, кроме одной подпапки node_modules?
No. 19964  
Исправлено в новом коммите. >>19937>>19958 можно игнорировать.
No. 19968  
>>19958
>Что впрочем легко объясняется тем, что никто даже не пытался ничего ставить.
Докер-докерочек, ага.
No. 19970  
Screenshot_20180516_102251.png - (11.23KB, 595×177)
19970
キタ━━━(゚∀゚)━━━!!
No. 19972  
Screenshot_20180516_110200.png - (10.08KB, 538×182)
19972
キタ━━━(゚∀゚)━━━!!
No. 19976  
>>19972
Поменяй права доступа к папке html, очевидно же. Проверь их через ls -l
Конкретно нужно сделать:
~/kotoba.js/$ chmod -R a+w html
и возможно (хотя маловероятно):
~/kotoba.js/$ chmod -R a+w containers/node/html
Только что проверил установку с нуля, у самого все завелось с первого раза.
No. 20068  
Пора бы уже приступить за реализацию модерки и админки борды. А то уже столько времени прошло на самом деле, что работой будет тяжело отвертеться.
No. 20069  
1510664967001.jpg - (212.60KB, 540×703)
20069
>>20068
Совсем не тяжело.
No. 20101  
キタ━━━(゚∀゚)━━━!!
No. 20109  
Может хватит в 2к18 тащить этот уже декаду как неактуальный дизайн? Ну некрасиво и неудобно же.
No. 20127  
>>20109
Вы таки о чём?
No. 20128  
>>20127
Мы таки хотя бы вот об этом: >>20101, например.
No. 20129  
>>20128
О каталоге? О фрейме? О больших глазах в аниме? О >>ссылках? Об Умночане?
Ты можешь нормально излагать свои мысли?
No. 20130  
>>20109
> Неактуальный дизайн
Говори за себя. Дизайн движка очень даже ничего. Жаль, что автор мало им занимается. А ведь проект и правда очень интересный.
No. 20134  
>>20129
Обо всем вместе. Может, разве что, кроме глаз.
No. 20145  
Когда админку и модерку сможешь допилить?
No. 20148  
tumblr_pax00abOqd1wnmxkbo1_1280.png - (659.50KB, 908×1248)
20148
>>18996
Ето же древняя проблема в виндовых штуках, плюс оно как-то связанно было не с JS, а VB, на сколько мне помнится.

ЗЫ: Тред читал не очень внимательно, но ОП молодец.
No. 20174  
Top links после редактирования не обновляются
No. 20177  
>>20174
Фича любого движка борд. Нужно написать пост, чтобы страница перегенерировалась.
No. 20178  
>>20177
В любом движке борд есть кнопка "пересобрать страницы".
No. 20179  
>>20178

Насколько я понимаю, автором реплики >>20174 был сторонник самосбора.
No. 20182  
>>20178
Тут она тоже есть. Раздел maintenance.
No. 20193  
Когда будет апдейт движка, товарищ разраб?
No. 20875  
Что там по движку. Когда админка будет? Судя по гитхабу, ты там месяц назад делал последний коммит.
No. 20881  
Прочитал ОП-пост, а там какой-то маркетинговый буллщит с "обычный порошок" и "наш котоба-порошок".
No. 20890  
афтар выйпеи йаду и апстол... jquery все портит.
No. 20895  
Предположим ситуацию.
Юзер написал пост. Юзер может его удалить. Модераторы могут его удалить.
Модератор 1 удалил пост, затем другой модератор 2 решил, что удалять его не надо, и восстановил. Модератор 1 не может удалить пост повторно, так как модератор 2 его семпай, и его действия имеют приоритет. Затем постер решил его удалить. Может ли оригинальный потер удалить свой пост, если в посте записано, что модератор 2 защитил пост от удаления своим кохаем модератором 1? Может ли удаленный постером пост быть восстановлен модератором?
No. 20896  
>>20895
Да.
Нет.
No. 20898  
>>20881
А по делу критики как обычно нет. Классика.
No. 20899  
>>20890
> jquery все улучшает.
Поправил тебя.
No. 20900  
.jpg - (12.81KB, 259×194)
20900
>>20898
>>20899
Сёма не палится.
No. 20904  
Доброе утро. Говорит Mithgol the Webmaster. Если нужно повторение того мнения, совершённое достоверно другим участником обсуждения, то сообщаю сам от себя: во-первых, выраженное падонковским сленгом мнение «афтар выйпеи йаду и апстол» способно произвести желаемое впечатление только на других же падонков да ещё на жидокащенитов, тогда как всѣ остальные такому надругательству над русскою рѣчью рады не будут (да и с чего бы им быть); во-вторых, употребление jQuery сильно упрощает жизнь разработчику (ввиду того, что сокращается запись «document.getElementsByTagName('td')» до размера «$('td')», а также и другие подобные, мною по адресу https://410chan.org/dev/arch/res/17371.html#18188 перечисленные в декабре прошлого года).
No. 20905  
>>20898
Так ты по делу никаких преимуществ и не привел, какая тут может быть критика?
No. 20906  
>>20904
window.$ = document.querySelectorAll.bind(document);

Ну в общем ты понял. Жидокьюери - замшелый и уже даже начинающий попахивать пережиток прошлого. жывтоне чочо упячка упячка упячка шячло попячтса попячтса
No. 20907  
>>20900
Ты так говоришь, будто это что-то плохое в своей основе.
мимо шел
No. 20908  
>>20904
Говорят, подключать целую библиотеку ради квериселекта не очень разумно.
No. 21155  
kemurikusaba.png - (54.75KB, 449×253)
21155
Круглая дата в 1 год с начала разработки прошла пару месяцев назад, но есть еще один круглый инфоповод - 100-й коммит, так что пришло время что-то сказать о прогрессе.
Из модераторских функций есть возможность удалять треды, посты или изображения (с возможностью восстановления), ставить на изображения флаги "NSFW" и спойлер (соответствующих заглушек пока нет), прикреплять или закрывать треды. Вызывается это из панели, которая появляется по выбору чекбокса удаления поста, без необходимости лезть куда-то далеко в админку.
Реализован модлог, в который складываются все действия с постами, настройками досок и сайта. Каждое действие в модлоге можно отменить, просто выбрав чекбокс у записи.
Добавлена система ролей. Каждому пользователю можно назначить роль для доски, например "moderator" в /b/ и "janitor" в /a/. Количество и назначение ролей может быть произвольным - можно добавлять роли и редактировать их (при этом изменяя разрешения для всех, кому эта роль назначена). Роль определяет, какие поля пользователь может редактировать, например для вложений: attachment.isDeleted, attachment.isNSFW, attachment.isSpoiler, так же у роли есть приоритет (возможно реализовать индивидуальный приоритет для каждого действия, но для простоты он глобальный на роль и поле приоритета на все действия называется здесь иерархией), действия с более высоким приоритетом не могут быть отменены пользователем, у которого приоритет этого действия ниже. (На данный момент процесс арбитража не реализован, будет добавлен в ближайших коммитах).
Еще предстоит решить, что делать с действиями, которые не ограничиваются пространством доски (например, создавать доски или постить новости на главную). Может сделать еще одну категорию ролей, не относящихся к доскам, или просто назначать эти разрешения пользователю индивидуально, а не скопом.
API постепенно полируется и медленно документируется (да, абсолютно все действия доступны через REST API, так было всегда)
В целом еще много чего не реализовано, и много чего реализовано наполовину. Но форму постепенно это все обретает.
No. 21283  
>>21155
Это очень хорошо что ты продолжаешь пилить движок. Думаю скоро вообще можно поднять тестовую борду на этом движке.
> просто назначать эти разрешения пользователю индивидуально, а не скопом.
Думаю, это самый лучший вариант.

Алсо, что насчёт самой админки? Когда она появится? И что насчёт системы банов?
No. 21331  
Здравствуйте.
Есть ли у сайта "iichan" какой-то публичный API, как у 2ch.hk или 4chan.org?
Почему спросил: есть в интернете "универсальный" фронтенд для имиджбордов, интегрирующийся с вышеупомянутыми сайтами.
https://catamphetamine.github.io/chanchan/
Судя по всему, достаточно лишь JSON API.>>21283
No. 21333  
>>21331
Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану?
No. 21337  
>>21333
> Почему ты спрашиваешь об этом в треде разработки движка, который не имеет никакого отношения к Ычану?
Я бы написал в Спортлото, если бы там ответили.
Просто увидел первый попавшийся живой тред, в котором возможно появляется админ, который возможно знает, где документация по API.
No. 21340  
>>21331
HTTP(S)(/2).
No. 22257  
Разработчик-кун, когда будешь приступать к созданию панели для модерирования в движке?
No. 22280  
adminpanel.webm - (2.12MB, 1024×720)
22280
>>22257
Если речь об этом, то оно там с прошлого года.
No. 22329  
>>22280
Что же, очень классно выглядит. Только у меня два вопроса:
1) Что это за "Set Approved"?
2) Что насчет банов? Ты ее делал уже?
No. 22349  
Вопрос в студии к товарищу разработчику: насколько сильно готов движок, чтобы его можно было накатить для борды?

> staff permissions system
> bans and moderation features

Эти пунктики выше еще не реализованы, как я понял, так?
No. 22350  
>>22329
1) Без понятия. Это свойство взято из кода кусабы или еще чего, было добавлено чтоб было. В данный момент ничего не делает и назначение этой функции предстоит придумать.
2) Пока нет.
>>22349
К продакшену еще много чего не готово, ожидать следует не раньше 2020. Когда оно будет готово, об этом будет объявлено.
No. 22478  
image.png - (105.06KB, 247×315)
22478
Извиняюся, но у меня кнопочка "quick reply" не вставляет ссылку на пост в месседж бокс. И еще когда наводишь мышку на реплаи, то всплывает красненькое окошечко с надписью "500 internal server error".
Что-то криво поставилося?
No. 22479  
image.png - (26.44KB, 789×280)
22479
>>22478
Так же кнопочки "удалить, закрепить, закрыть, открыть" тоже выдает ошибку 500.
Еще кнопочка stuff выдает пик.
No. 22591  
079Slowpoke.png - (387.86KB, 844×844)
22591
>>22478>>22479
Спасибо за багрепорт. Все исправлено (некоторое время назад).
Страница Staff выдавала ошибку из-за того, что не было добавлено ни одной роли (manage/roles), и вместо пустого массива у юзера роли были undefined. По той же причине не работали попапы. Теперь работает и без ролей.
Быстрого ответа просто не было запилено, теперь он есть.
No. 22636  
image.png - (5.66KB, 268×126)
22636
>>22591
Спасибо!
Но теперь оно постить отказывается :3
No. 22641  
>>22636
Еще одна тупая ошибка, которая проявляется только на пустой доске. Исправлено.
Добавлена новая фича - редактор стилей. Дополнительные темы можно клепать прямо через админку.
Так же обновлен node.js и все остальное. Контейнеры необходимо пересобрать командой -d --force-recreate --build
No. 22642  
>>22641
> docker-compose up -d --force-recreate --build
fix
No. 26300  
GJ
Удалить сообщение []
Пароль  
[Mod]