LINUX.ORG.RU

Thalassa CMS 0.1.20

 , ,


1

6

Вышел очередной релиз Thalassa CMS, сочетающей генератор статического HTML и CGI-программу для поддержки пользовательских комментариев. Thalassa CMS написана на C++ и, по заявлению автора, не имеет внешних зависимостей, не использует СУБД и не генерирует страниц со скриптами.

В новый релиз включены исходные тексты ytid.cgi - веб-приложения, позволяющего выбрать экземпляр invidious для просмотра видео с YouTube (по тексту ссылки на YouTube).

Thalassa CMS распространяется на условиях Croco's Individualistic Free Software License.

>>> Подробности

anonymous

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

Ответ на: комментарий от zx_gamer

http2 не сжимает, оно укорачивает хендшейк и мультиплексирует все запросы на хост в один. Грубо говоря тебе браузер шлет сразу запрос типа GET /1.png,/2.png,/3.png вместо трех отдельных запросов. Хорошая тема, советую поглядеть.

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

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

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

А зачем? В своем коде всегда лучше разбираться, чем в либах ковыряться. Если это какой-нибудь более-менее серьезный сайт, то время, которое надо потратить на реализацию «низухи» пренебрежимо мало. Какая разница, буду я использовать библиотеку, или руками напишу заголовок HTTP? Какая разница, буду я использовать библиотеку, или руками напишу парсинг URI? Все эти мелочи займут меньше часа, зато никаких лишних зависимостей + уверенность в том, что работать будет как ожидается.

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

Он бинарный. А это уже куча ненужных проблем. Чисто теоретически, nginx может заворачивать все в HTTP/2 или HTTP/3, но смысла в этом мало.

HTTP/1.1 отлично справляется с возлагаемой на него работой уже чуть ли не 30 лет.

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

На улице тоже можно прям на тротуаре срать, дождик всё равно всё смоет.

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

Ну а куда без шифрования-то? Модный броузер Lagrange много от чего зависит. Они не про зависимости, они про разметку контента и протокол. И да, тебе не понравится, они юникод-only.

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

у вас большой опыт в програмировании? Написать можно все быстро, а вот фиксить баги потом намного дольше. А библиотеки «просто так» никто не берет. Либы всегда изучаются изнутри, а потом уходят в прод. И в случае если ментейнеры уходят, то можно либу или самим поддерживать или перейти на что-то другое. Плюс библиотек на го и на С, в том, что они небольшие, с ними не так долго разбираться. Как и с php в эре до композеров и ооп головного мозга. Мы впринципе из-за этого и перебрались на го с пхп тогда.

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

с дебиана. но причем оно к теме? CSS/JS – это то, с чем сегодня нужно жить и впринципе то, что мне покупает бутерброды с икрой. Если отрицать современные технологии, то кроме имейлов/ирц/ннтп в интернете и делать нечего.

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

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

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

Для понимания, как это работает и как это можно реализовать — наверняка. Для работы, наверное, лучше взять стандартное решение, которое за тебя уже написали, протестировали, документировали и поддерживают. И если тебе понадобится нанять помощника, ты можешь прямо в вакансии написать «опыт работы с Х» и сэкономить ещё пару человекомесяцев* на ввод его в курс дела.

то время, которое надо потратить на реализацию «низухи» пренебрежимо мало

Говорят, что затраты на реализацию любой реально используемой системы гораздо меньше затрат на её поддержку, и чем система долговечнее, тем эффект сильнее. Тогда чем меньше тебе нужно поддерживать самому, тем лучше в долгосрочной перспективе. Код — это не актив, это обязательство (тм).


* на каждого нового сотрудника

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

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

Да это ещё что. Автор пишет

Freedom is for individuals. And individuals are for freedom.

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

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

к тому что на винде обычно у людей есть привычка качать рандомные exe и запускать их. А иногда даже и от администратора. Это же тот тоже недоверененый код, который вы по сути запускаете самостоятельно.

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

а если выйти на улицу, то на голову может упасть кирпич или машина может сбить. Сидеть в подвале и никуда не ходить?

Вы сами упомянули сэндбокс. И он сейчас очень хорош. это далеко не экзешник запустить рандомный. Да можно локалку просканировать из js и биткойн помайнить, но мы же параноики, у нас в локалке вланы настроены чтоб прятать там всякое непотребство.

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

В том и проблема. Поддержка либ недолговечна. Сегодня проект собирается, завтра нет. А это не интересно, интересно чтобы через 20 лет можно было написать make и все собралось с первого раза.

И лично для себя понял, что лучше с нуля написать несколько шаблонов, чем тащить, например, Boost в проект.

А «стандартное решение» понятие растяжимое. Стандарты тоже меняются. А вот то, что гарантирует ANSI C – это навсегда, то, что гарантирует C++98 – тоже навсегда. Да, проект будет на 100-300 строк длиннее, но это меньшее из зол.

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

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

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

Библиотеками надо решать то, что не входит в ответственность проекта. Например работа с СУБД. Тут либа – ок. А тянуть либы для всякой чепухи трехстрочной – себе дороже.

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

Большенство же таких случаев происходит от несоблюдения простейших правил. Например посмотреть налево и направо перед тем как перейти дорогу. А кирпичом по голове можно получить на стройке, когда каску не надеваете. Простейшие правила, понимаете? Зачем запускать недоверенный софт, когда его можно не запускать? Это же так просто.

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

Ну а куда без шифрования-то?

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

Ну и в-третьих: а давай понятия не подменять. Без шифрования - это совсем не то же самое, что без TLS. А TLS - это см. сюда: http://www.croco.net/fun/if_openssl_were_a_gui.png

Кстати, как раз на попытке собрать «модный браузер лагранж» я в своё время и сломался. В смысле, понял, что gemini придётся как-нибудь geminiться без меня.

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

Я там немного полистал комментарии в гостевой книге. Сломался на вопросе является ли окрашивание волос информационным насилием из-за обмана о настоящем цвете волос при посещении общественных мест.
Вспомнилось про Кристи Гламур с её кремом не дешевле 80 рублей. Но там хотя бы металлюги стебались. У Столярова в гостевухе непонятно, стебутся, или реально такие.

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

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

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

Был на ЛОРе такой Алфекс Каанокен. Отсутствие проверок это его тема кстати.

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

Если это ЦГИ процесс которого быстро завершается и ОС подчищает за ним ресурсы.. То это не проблема.
Освобождением ресурсов должна заниматься ОС.
А не дублировать логику ОС в своей программе с возможными багами.

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

Я там немного полистал комментарии в гостевой книге.

LOL знала бы почтеннейшая публика, что там творится в очереди на премод

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

Ну source таки open. Хотя лицензия да, отборная шиза.

this License DOES NOT ALLOW (and, furthermore, explicitly forbids) end-user licensees to take any actions on the Program other than explicitly mentioned in the list above, including, but not limited to, reading and otherwise examining the source code by any of the licensee’s employees and, generally, any use of the Program in its source code form for any purposes other than for building executable binaries of the same Program

arkhnchul ★★
()
Ответ на: удаленный комментарий

Поясни, пожалуйста, про realloc. Из posix:

The contents of the object shall remain unchanged up to the lesser of the new and old sizes. If the new size of the memory object would require movement of the object, the space for the previous instantiation of the object is freed.

Его cgi шляпа выйдет с ошибкой если realloc не сможет, а если сможет, ничего освобождать не надо.

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

чтобы через 20 лет можно было написать make и все собралось с первого раза

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

Nervous ★★★★★
()

cms/basesubs.cpp, между строками 366 и 367 пропущен break. На такой fall-through показывают предупреждение современные версии компиляторов. Это про такую фичу там написано «(idiotic) “new features” of later gcc versions»?

И tolower и toupper используются неправильно (у них «If the value of ch is not representable as unsigned char and does not equal EOF, the behavior is undefined»). По поводу интерпретации этих слов см. комментарий в glibc:

ISO C requires that the ctype functions work for `unsigned char' values and for EOF; we also support negative `signed char' values for broken old programs.

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

го не нужен, хватит его пиарить.

«Я тут попробовал надеть обувь не 43-го размера, и она вся либо натирает, либа на ноге болтается. Вы как это вообще носите? Вы все сумасшедшие что ли?» (с)

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

Во-первых, без шифрования существовать можно, в частности, на моих сайтах его нет и не будет.

Можно и без него обойтись, но вообще без него нельзя. Не стоит лишать людей приватности.

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

Так роутеры, каналы, VPNы — это «точка-тока». Ты ж сам первый будешь противником шифрования на роутере, потому как ты ключей в глаза не видел и как их сисадмин в шестнадцатиричке распечатал на какой стенке дампы повесил тоже не знаешь. А дальше, после приземления VPN'а чо, в открытом виде? И TLS — не прикладной протокол. Ты сетевую модель-то вспомни что-ли... И одно другому не мешает. И реализация, после всего геморроя с сертификатами и установкой соединения, у TLS как раз простая. Ты получаешь, собственно, сокет, ну и шли в него что хочешь. Для приложения как раз сокет TLS — штука сродни TCP-шному. Вот что геморра с открытием этого TLS-сокета там много, так это проблемы реализации.

Ну и в-третьих: а давай понятия не подменять. Без шифрования - это совсем не то же самое, что без TLS. А TLS - это см. сюда: http://www.croco.net/fun/if_openssl_were_a_gui.png

Ну это относится к конкретной реализации — OpenSSL. Тут я и спорить не буду, он большой, перегруженный (даже в третьей версии), нелогичный и плохо документированный. Лучше бы что-то другое, но «що маемо, то маемо». Да, плохо, надо что-то сильно лучше. Как оно лучше — ну можно обсудить, но это тема другого разговора. Если бы Лагранж тащил бы реализацию SSL/TLS с собой в пачке исходников, то, думаю, тебя бы это устроило. Ну да, удлиняет сборку.

Я-то как раз понятия не подменяю. «Протокол не нужен потому как самая популярная его реализация — редкостное говно» — ну так это ну детское какое-то заявление. «Китайский язык  — говно, потому как его хрен выучишь». Ну примерно такое же заявление.

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

Интересная аналогия но она тут не к месту. Го именно что не нужен, а кто на нём пишет - систематически оказывается малограмотным (как и пхписты, но пхп, в отличие от го, хотя бы имеет свою полезную нишу в виде «тяп-ляп и всё равно работает»). Исключения, конечно, бывают, но это исключения.

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

Го именно что не нужен, а кто на нём пишет - систематически оказывается малограмотным

Это пишет человек, утверждающий, что для получения адреса следующего байта памяти достаточно прибавить к указателю единицу…

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

На x86 так и есть. То что ты «прибавить единицу» воспринял как «написать +1 в исходнике на Си» - лишь вопрос взаимонепонимания, и вообще я считаю что в этом взаимонепонимании твоей вины больше чем моей (но и от свой не отказываюсь - если б я это объяснял каким-нить школьникам на уроках Си, я бы конечно перед этим объяснил им же, что запись «+1» к указателю на Си прибавляет не единицу, а sizeof, но на тебя эти детали не подумал распространить).

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

Мне эти абстрактные умствования про малограмотность разработчиков непонятны. У меня есть рабочий проект на Хуго, жалоб нет, ничего не ломается.

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

На x86 так и есть

Разве что в твоем уютном манямирке. В нашем мире это не так. Даже в реальном режиме адресация в x86 нелинейная

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

прибавляет не единицу, а sizeof

Это ничего не меняет.

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

Может хватит строить дурачка? Ты прекрасно понял о чём речь и теперь придумываешь дурацкие придирки чтобы придраться. Устройство адресации памяти x86 процов во всех их режимах можешь мне не объяснять.

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

Может хватит строить дурачка?

Я давно тебе об этом говорю. Рад, что до тебя наконец-то дошло :)

Ты прекрасно понял о чём речь и теперь придумываешь дурацкие придирки чтобы придраться

Указание на грубые ошибки – это не «придирки, чтобы придраться»

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

Может быть ты просто тролль?

Повторю: устройство адресации в x86 я знаю без тебя и очень давно. Для 16 бит вообще писал виртуалку с полной програмной эмуляцией всего, для 32 - уже прогу которая этой самой страничной трансляцией пользовалась (запускаясь из доса и переходя в защищённый режим). Для 64 практики, признаю, не было, только читал спецификации.

То, что ты называешь якобы ошибками - это либо проявления твоего троллизма, либо твоя неспособность понять уровни абстракции.

В первом случае тебе бесполезно что-то разъяснять, во втором - не знаю, но мне в любом случае надоело.

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

Проблема в том, что если у него настолько нулевая гигиена при работе с памятью, страшно подумать, что он там еще понаделал.

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

Там понаходили кучу утечек. С другой стороны, вообще насрать, там cgi.

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

Не стоит лишать людей приватности.

Повальное внедрение https на сайтах вместо http без иных причин, нежели «так дяди из гугла сказали», не имеет никакого отношения к чьей бы то ни было приватности, в особенности с учётом трекеров, всякой аналитики и вообще тьюринг-полноо исполнения в браузере. Кроме того, невозможно говорить ни о какой приватности в применении к пользователям Windows, iOS и Android, и никакая криптография тут в принципе не в силах ничего поменять. В имеющихся условиях криптобесие, основанное на SSL/TLS, вообще не даёт ничего кроме геморроя.

Так роутеры, каналы, VPNы — это «точка-тока»

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

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

Чушь собачья, я вообще-то сам себе сисадмин, это раз, и ключ может генериться без участия сисадминов, когда юзер не понимает, что происходит (т.е. почти всегда) - это два.

И TLS — не прикладной протокол.

Не знаю как насчёт TLS, я его в чистом виде в природе ни разу не встречал – только как часть https и (вот за это вообще убивать) SMTP с этой долбаной STARTTLS. И то, и другое - именно что протоколы прикладного уровня.

Ну это относится к конкретной реализации — OpenSSL

Это относится, во-первых, к идее, что партнёры по взаимодействию могут динамически договариваться об используемом наборе криптографических алгоритмов (как результат - постоянное «no overlap»). Во-вторых, это относится к идее глобальных CA. А в-третьих, это относится не к «конкретной реализации», а к SSL/TLS как сущности, реализация этого шизанутого монстра компактной быть не может в принципе.

Если бы Лагранж тащил бы реализацию SSL/TLS с собой в пачке исходников

Если бы те, не будем говорить кто, которые придумали, что нужно максимально упростить формат документов и протокол, но при этом походя вставили в спецификацию фразу, что, мол, TLS is mandatory, – так вот если бы они при этом были бы вынуждены все свои зависимости запаковать в каждый архив исходников (в том числе если что-то написано на питоне – то исходники питона), то, возможно, эти не будем говорить кто внезапно начали бы думать мозгом, а не задницей.

«Китайский язык — говно, потому как его хрен выучишь»

Вообще-то это именно так: китайский язык именно что говно, и ровно по этой причине.

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

вот потому я с моим сишником то и дебажу каждый его релиз по неделе :)

mrdeath ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.