Andrey Stolyarov

Андрей Викторович Столяров: сайт автора

Ну что же, свершилось — если вы увидели в ленте эту новость, значит, сайт уже на новом месте и управляется новой CMS. Старый сайт ещё некоторое время будет доступен по адресу http://old.stolyarov.info.

Оставлять комментарии теперь снова возможно. У кого на старом сайте были зарегистрированные учётные записи — могут продолжить ими пользоваться на новом сайте, я их все перенёс; но с этим связан один нетривиальный момент. Новый движок всё хранит в обычных файлах, и учётная запись пользователя технически реализована как директория с именем, совпадающим с именем пользователя, поэтому здесь намного более жёсткие ограничения на входные имена, и не все учётки со старого сайта этим ограничениям удовлетворяли. Я эту проблему решил, объявив старые входные имена «видимыми именами» (которые, к слову, можно менять практически без ограничений), а в роли входных имён для учёток, перенесённых со старого сайта, здесь будут выступать их числовые uid'ы.

Чтобы узнать, как теперь называется ваша учётная запись, найдите какой-нибудь из своих комментов и кликните по значку user icon рядом с именем. Затем запросите для этого пользователя «новые» одноразовые пароли, они придут на ваш email, если только ваш доблестный почтовик это письмо не отрежектит (пока что такая проблема есть с gmail'ом, и «решать» её я не собираюсь, поскольку проблема не у меня, а у гуглофашистов в их подгнивших мозгах).

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

В общем вот :-) Enjoy.


From Anonymous (unverified) Fri Apr 28 18:09:19 2023 pencil

Phorum

Есть такой движок (для форумов) -- Phorum.org. Он на PHP, MySQL, использует XHTML 1.0, существует с 98 года.

parent From admin profile Fri Apr 28 22:11:20 2023 pencil

userpic

Вот откуда такое берётся, а?

Слышь, чувырло, ты читать умеешь? Мне исходно требовалось, чтобы БЕЗ СУБД!!! Потому что этот ёбаный MySQL моего времени сожрал столько, что впору его создателей пристрелить.

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

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

Но самое главное условие -- чтоб не то что JS, чтоб вообще никаких следов такового, блядь, потому что нельзя, потому что за исполнение в браузере надо на кол сажать, понимаешь? Или твои мозги уже полностью уЭбдезигном разрушены?

Это не говоря уже о том, что вообще-то этот сайт никакого отношения к "форумам" не имеет.

Ты что вообще на моём сайте забыл, кто тебя сюда позвал? Я-то уж точно не звал. Так что вали отсюда и дорогу сюда забудь.

parent From Anonymous (unverified) Sat Apr 29 08:14:28 2023 pencil

Тролль

Да человек просто явный неприкрытый тролль и все.

parent From admin profile Sat Apr 29 08:38:51 2023 pencil

userpic

Кстати да

вынужден признать, что в таком случае у него получилось

parent From Alejandro profile Tue May 2 12:58:59 2023 pencil

Тролли

Только набежало их в последнее время на сайт, будто весна наступила :-)

parent From Anonymous (unverified) Sat Apr 29 10:29:46 2023 pencil

Погодите

> Мне исходно требовалось, чтобы БЕЗ СУБД!!!

Да, но это был раньше рекомендательный пункт.

Кстати, есть еще один движок exbb. Он на файлах (без СУБД), однако на PHP.

> Но самое главное условие -- чтоб не то что JS

Так там и нет JS. Он есть, только если определенные плагины ставить, которые при наведении курсора на ссылку preview включают и autoredirect.

> Это не говоря уже о том, что вообще-то этот сайт никакого отношения к "форумам" не имеет.

А чем "гостевая" принципиально отличается от форума?

parent From admin profile Sat Apr 29 10:53:28 2023 pencil

userpic

Гы, я его посылаю, а оно не идёт

> это был раньше рекомендательный пункт

Ровно до того момента, как я написал первую строчку в коде собственного движка. С этого момента все мои хотелки стали строго обязательны, в том числе язык реализации C++ (можно plain C) без внешних библиотек и строго статическая сборка.

> однако на PHP

Вот ты чего напрягаешься-то? Я уже написал движок, который меня устраивает, а ты мне продолжаешь перечислять всякие обезьяньи поделья. Не, ну вот шесть лет назад в том сраче на LORе это было уместно, там я к компромиссам был готов, чтоб самому не писать, дык это тебе для начала машина времени потребуется.

> Так там и нет JS

Он там на сайте есть, дальше я не смотрел и не вижу причин смотреть. Если создатели этого дерьма не декларируют изначально возможность обходиться без JS, то они, следовательно, не понимают, что без него требуется обходиться — и, следовательно, вылезет оно в самый неподходящий момент и в самом неудобном месте.

> А чем "гостевая" принципиально отличается от форума?

А таки какое отношение этот вопрос имеет к делу? Тут на сайте отнюдь не только гостевуха, и даже не столько.

From Anonymous (unverified) Fri Apr 7 16:33:13 2023 pencil

Редактирование комментариев

Функционал был убран? Почему?

parent From admin profile Fri Apr 7 22:14:22 2023 pencil

userpic

читать не умеем или что?

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

Теперь по делу. Естественно, анонимным пользователям редактирование недоступно, оно и не было никогда доступно. Что касается пользователей зарегистрированных, то текущие настройки сайта позволяют им редактировать комментарии в течение 20 минут с момента их публикации. Почему добавлено такое ограничение? Потому что я давно вообще-то хотел так сделать, но в пятом друпале просто не было соответствующих функций.

From Anonymous (unverified) Wed Mar 29 20:40:53 2023 pencil

Поддерживаются ли "критические секции"?

Что будет, если два пользователя CMS попытаются одновременно совершить какие-то действия? Корректно ли сгенерируются страницы?

parent From admin profile Wed Mar 29 21:56:42 2023 pencil

userpic

Тьфу, блЪ

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

NB: операция переименования файла, в том числе "поверх" существующего, является атомарной, в большинстве случаев это спасает само по себе. Создание файла с флажком O_EXCL тоже обычно атомарно (да, на NFS я не закладываюсь, если сервер использует NFSные диски, то там возможные глюки из-за параллелизма будут совершенно незаметны на фоне всего того, что устроит сам NFS). Есть ровно одна ситуация, из-за которой пришлось воспользоваться lock-файлом, но ничего, я от этого не надорвался.

parent From Павел Сутырин (unverified) Thu Apr 27 13:18:54 2023 pencil

Немного занудства)

Ув. Андрей Викторович, поздравляю с обновлением сервера.

По теме ветки: а вопрос-то задан хороший ;)

Под капотом, как пояснил ув. автор, происходит атомарная файловая операция — а гарантируется ли, по аналогии с атомарностью в СУБД, что один клиент получит ответ-успех, а другой клиент получит ответ-неуспех?

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

parent From admin profile Thu Apr 27 19:10:53 2023 pencil

userpic

Ну вот что за бредни опять?

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

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

From Anonymous (unverified) Mon Mar 27 19:41:57 2023 pencil

Обязательные поля

Андрей Викторович, добрый день!

На предыдущем движке при добавлении комментария можно было заполнить только текст и все, тогда в поле "Тема" записывались несколько первых слов текста, а в поле "Имя" записывалось "Anonymous".

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

Будет ли на новом движке возможность указания только текста комментария, как и раньше?

parent From admin profile Mon Mar 27 20:01:41 2023 pencil

userpic

Я такого не планировал

Можно, в принципе, поле темы сделать необязательным, но это аукнется во всяких очередях на премод и прочих разных списках, которых обычным посетителям не видно.

Вообще я, пожалуй, подумаю, как с этим поступить. Один из вариантов — предзаполнять тему примерно так, как это сделано на infoviolence.org, для этого даже движок править не надо :)

UPD: поле имени теперь по умолчанию заполняется словом "Anonymous", как и на старом сайте.

From Anonymous (unverified) Mon Mar 27 11:58:45 2023 pencil

СУБД

Будет поддержка СУБД?

parent From admin profile Mon Mar 27 15:27:51 2023 pencil

userpic

Мёртвого осла, блин, уши

Разумеется, нет. Это было одним из ключевых требований, ради которых я начал её писать — чтобы никаких СУБД нахрен к чёртовой матери. И одно из основных достижений — что удалось сайт, изначально развёрнутый на друпале с MySQL, полностью перенести (т.е. вытащить из треклятого MySQL и расположить в обычных файлах) без потери контента.

Вообще мне непонятно, это что, троллинг такой?

From Anonymous (unverified) Mon Mar 27 11:55:24 2023 pencil

Кол-во строк

Какой вышел объем написанного кода в текущей реализации?

parent From admin profile Mon Mar 27 16:02:41 2023 pencil

userpic

Средняя температура по больнице?

Ну, в основной директории проекта сейчас вот так:

crocodil@trex:~/thalassa/cms$ cat *.h *.c *.hpp *.cpp Makefile | wc -l
15163

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

parent From Anon (unverified) Mon Mar 27 19:40:09 2023 pencil

cloc

Советую ознакомиться со скриптиком. Весьма удобно.

parent From admin profile Mon Mar 27 20:37:51 2023 pencil

userpic

Ага-угу, уже бегу

Еле нашёл, кстати, что за зверь.

Не буду я с ним "знакомиться". Количество строк в исходнике — вообще метрика изначально странная, мало что отражающая, и всё вот это вот "комменты отдельно, пустые строки отдельно" ничему толком не поможет. Ради этого запускать непойми кем написанный (и опубликованный на гитхабе, что как бы намекает) скрипт чёрт знает на чём (ну да, на перле, он и есть чёрт знает что) — увольте-с.

parent From Alejandro profile Sun Apr 2 02:18:58 2023 pencil

Есть штука покруче

А зацените такую команду:

cat *.hpp *.cpp Makefile | grep -v ^\s*// | sed 's/\s*\/\*.*\*\/\s*//g' | grep -v ^$ | wc -l

Лучше любых скриптиков.

parent From admin profile Sun Apr 2 10:25:09 2023 pencil

userpic

Ну началооооось

В последнем грепе я бы предложил ^\s*$, а то визуально пустая строка, в которой забыли пробел, посчитается как содержащая код.

А ещё можно сделать "счётчик причитающихся затрещин":

cat *.hpp *.cpp Makefile | grep '\s$' | wc -l

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

parent From Alejandro profile Sun Apr 2 12:38:38 2023 pencil

(-)

> количество строк в программе не значит примерно ничего

Как жаль, что далеко не все (по крайней мере, среди тех, с кем приходилось иметь дело) это понимают...

From Leonid profile Tue Mar 21 16:15:45 2023 pencil

Не хватает банеров

Очень не хватает "теплых и уютных" банеров вроде "Valid XHTML 1.0".

parent From admin profile Tue Mar 21 20:09:51 2023 pencil

parent From Alejandro profile Thu Mar 23 18:40:14 2023 pencil

(-)

А также "koi8-r only" :)

parent From admin profile Thu Mar 23 23:47:00 2023 pencil

userpic

С этим сложности

Отдаётся тут всё в koi8-r, но под капотом там перекодировка, причём потенциально — из чего угодно во что угодно, реально там сейчас поддержаны koi8-r, cp1251, ascii и utf8, подо всё остальное нет таблиц, но вставить их технически проблем не составляет. И перевод из одной кодировки в другую, если ни одна из них не является utf8, происходит через utf8. Плюс весь контент, перенесённый со старого сайта и пока не подвергшийся редактированию, хранится в utf8.

Koi8r выбрана рабочей, потому что кодировка конфигов должна совпадать с кодировкой сайта (т.е. перекодируются только внешние файлы, составляющие аналог базы данных), а редактировать конфиги в koi8 мне проще. Ну и плюс лишний раз показать фак комитетским бастардам.

From anon (unverified) Fri Mar 10 06:24:19 2023 pencil

CMS

Здравствуйте, а планируется ли выкладывать код этой CMS?

parent From admin profile Fri Mar 10 10:38:56 2023 pencil

userpic

Обязательно

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

parent From Leonid (unverified) Wed Mar 15 14:32:26 2023 pencil

Будет ли репозиторий?

А будет ли открыт для этих целей репозиторий (например git) с какой-нибудь веб-мордой (например cgit) ?

parent From admin profile Wed Mar 15 15:50:31 2023 pencil

userpic

Нет

Сам я использую git, но светить его публике не собираюсь, тем более через веб-морду. Будут классические релизы в виде архивов .tgz, как это и должно быть.

parent From Anonymous (unverified) Sat May 6 05:01:10 2023 pencil

А как исправления, улучшения слать тогда?

Разве удобно вместо PR присылать *.diff файлы?

parent From admin profile Sat May 6 10:30:18 2023 pencil

userpic

Думаю, что лично вам - никак

Значицца так. Моё отношение к ньюфагам широко известно. Моё отношение ко всякой вебдванольной дряни вроде github, gitlab и всего прочего в таком духе вроде бы тоже никогда не было секретом, как и к тем, кто этой мерзостью пользуется; собственно, я утверждаю, что пользователи подобных репохостингов — это буйные душевнобольные, опасные для окружающих. Аббревиатуру PR я даже не сразу расшифровал, но да, это pull request — так вот, ни о каких пуллреквестах не может быть просто вообще никакой речи. Странно, что кому-то это не очевидно.

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

parent From Anonymous (unverified) Sun May 7 04:58:52 2023 pencil

cgit?

А почему нельзя поднять cgit на этом домене? (cgit -- игра слов CGI и GIT).
Веб-морда для каталогов с гит-репозиторями на CGI без JS.

parent From admin profile Sun May 7 11:17:31 2023 pencil

userpic

re: cgit

Какое конкретно слово вам непонятно в моём комменте выше, цитирую:

Сам я использую git, но светить его публике не собираюсь, тем более через веб-морду.

Вот что здесь неясно? Формальный ответ на ваш вопрос "почему нельзя": потому что не хочу. Система контроля версий и её содержимое — это внутренняя кухня, которую я никогда не предполагал выставлять на всеобщее обозрение и категорически не вижу, зачем это делать.

parent From Anonymous (unverified) Sat Apr 1 18:44:02 2023 pencil

Исходники

> Естественно, планирую, только не прямо сейчас.

А скоро?

parent From admin profile Sat Apr 1 18:52:24 2023 pencil

userpic

Да фиг знает

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

Ну вот скажу я вам сейчас, что в течение месяца всё будет, и что? Кому от этого станет легче?

parent From Павел Сутырин (unverified) Thu Apr 27 13:30:08 2023 pencil

Yet another CMS

А вот кстати!

Вы не думали написать подробнее о самой CMS, как дошли до идеи проекта, чем руководствовались, «почему не подошли другие решения», «почему решили отказаться от СУБД» — и прочая, и прочая.

Есть предположение, что многим это будет интересно =)

parent From admin profile Thu Apr 27 17:11:54 2023 pencil

userpic

Видимо, вы не следили за этой историей

Поскольку могут быть и другие люди, не следившие за происходящим, вот ссылка на ЛОРовский срачЪ 2017 года (уже шесть лет прошло, однако) https://www.linux.org.ru/forum/web-development/13199140 Там всё достаточно подробно написано, особенно в комментах. Если кто не знает, я там в роли топик-стартера (и вообще под ником Croco).

parent From МихалыЧЪ profile Fri Sep 22 09:30:51 2023 pencil

Re: Видимо, вы не следили за этой историей

Сходил по ссылке, долго смотрел этот пинг-понг,ещё раз убедился, что Бог создал людей разными, иначе все давно бы уже жили в коммуне. А если по доброму упереться рогом и идти своей дорогой, то случаются удивительные вещи: и стены отворяются, и мечты сбываются. Даром только сыр в мышеловке, а свой мир надо строить самому и БЫТЬ в нём Хозяином. И я ненавижу яндекс и гугл. Если гугл выкручивает руки, то яндекс как бандит приходит в твой дом и ведёт себя как оккупант. Поэтому я выбрал вивалди. Давно хочу разобраться во всём и делать не зависимо от расставленных "флажков". У добрых людей должна быть альтернатива, поэтому им надо объединяться и строить свой мир.

parent From Andrey V. Stolyarov profile Fri Sep 22 10:30:44 2023 pencil

userpic

Re: Видимо, вы не следили за этой историей

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


pencil

пояснение


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

Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда.

Андрей Михайлович Столяров в библиотеке Мошкова

Авторские права © Андрей Викт. Столяров, 2009 — 2024