Простейший движок сайта на Lazarus

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Простейший движок сайта на Lazarus

Сообщение Nik » 07.03.2013 18:29:21

Дело было вечером, делать было нечего... Собственно, мой примерчик написания FastCGI-приложения, похожего на заготовку CMS на Lazarus + fpWeb.

http://petrochenko.ru/lazarus/lazarus-cms.html

Если кому-то интересно - welcome :)
Последний раз редактировалось Nik 18.01.2014 09:38:53, всего редактировалось 1 раз.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Простейший движок сайта на Lazarus

Сообщение Little_Roo » 07.03.2013 19:31:06

Заманячево !!! :D :D
Оформите статью - и в ПОСЛЕДНИЕ НОВОСТИ !!!!

Вкусно :!: , особенно если ЭТО поможет на сайте (к которому доступ по FTP парольному, но практически безлимитному) развернуть-установить firebird (Электронный дневник и пр.), и ............... наслаждайтесь гимназисты-родители(а ареал распространения данных особей от эстонии...тьфу... до Курил-Камчатки)

После праздников пробую!
............................................................

Не, так просто и хорошо НЕ БЫВАЕТ :( :( :( :( Грабли где ????
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 638
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Простейший движок сайта на Lazarus

Сообщение amateur » 07.03.2013 23:13:38

ээх я думал чет новенькое.

fpWeb пилится давно и связка очень интересная получается. Но, вскользь "поэкспериметос" и сравнив с пхп пока на пхп остановился. Есть плюсы но есть и минусы. Приблизительный подсчет по использованию памяти чуток больше чем в пхп. Плюс реализация fpWeb посложнее чем с пхп. Сколько клиентов держать одновременно можно х.з.
Хотя задумка интересна. Но размер файлика чуток смущает (наследие лазаря). По крайней мере у меня в связкой с бд...

Но идея хороша. Кстати сорцы классные лежат то ли на испанском то ли итальянском сайте (пока нарыл нормальные примеры, благо хром позволяет лазить по всем форумам).
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Простейший движок сайта на Lazarus

Сообщение SSerge » 08.03.2013 07:05:03

Little_Roo писал(а):наслаждайтесь гимназисты-родители

Оно вот именно что заманчиво, но на деле есть куча подводных камней.
Провокационный вопрос - что будет, если по какой-то причине пользователь введет ваше CGI в бесконечный цикл? Бросит. Запустит новый процесс. И так - раз 200-500.
Скрипты PHP то через определенное время или если зажмут слишком много памяти, сервером будут остановлены и сброшены, а вот CGI... Эта ж музыка будет вечной. :mrgreen:
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Простейший движок сайта на Lazarus

Сообщение Nik » 09.03.2013 13:19:21

Набросал своё видение плюсов и минусов Pascal-CGI в сравнении с PHP. Обновил исходную статью: http://petrochenko.ru/lazarus/lazarus-cms.html

Провокационный вопрос - что будет, если по какой-то причине пользователь введет ваше CGI в бесконечный цикл? Бросит. Запустит новый процесс. И так - раз 200-500.
Скрипты PHP то через определенное время или если зажмут слишком много памяти, сервером будут остановлены и сброшены, а вот CGI... Эта ж музыка будет вечной.


SSerge
Пожалуй, это главный недостаток. Но продуманная обработка исключений его должна свести риск к минимуму. Кстати говоря, у меня был случай, когда PHP-скрипт таки вешал сервак, несмотря на все лимиты на время выполнения. Точно сейчас не помню, в чём было дело (вроде кто-то долбился в корявый скрипт из вне и получился своеобразный DDoS). Так что это не фтальный недостаток CGI-подхода. Плюс, наверное, можно написать модуль в Апачу, который будет следить за pascal-приложением и при необходимости его перезапустить автоматически (а может уже и есть что-то подобное, просто я не знаю :) ).

amateur
Но размер файлика чуток смущает (наследие лазаря). По крайней мере у меня в связкой с бд...

У меня вполне нормальный размер получился - 300 Кбайт с копейками для демо-проги. При работе с БД будет больше, да, но вряд ли это так уж критично.

Little_Roo
особенно если ЭТО поможет на сайте (к которому доступ по FTP парольному, но практически безлимитному) развернуть-установить firebird (Электронный дневник и пр.)

Тоже, кстати, думал про электронный дневник, когда писал демку. Недавно помогал местной школе с внедрением распило-шедевра фирмы Аверс, так натурально не знал, смеяться, или плакать над этим чудом программерской мысли (кому интересно - скачайте у них с оф.сайта методичку по работе с АРМ.Директор - гляньте скрины форм). Если бы не откаты кому-то в местном руководстве, такие проги бы не выдержали конкуренции даже со студенческими разработками. Но у нас, увы, их очень настойчиво (читай - под страхом увольнения директора школы) рекомендуют к установке. Так и захотелось сделать OpenSource-аналог и продвинуть его взамен этой гадости. Было бы время, реально бы занялся, но одному не потянуть.
Последний раз редактировалось Nik 18.01.2014 09:39:14, всего редактировалось 1 раз.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Простейший движок сайта на Lazarus

Сообщение Little_Roo » 09.03.2013 13:35:17

Nik писал(а):(кому интересно - скачайте у них с оф.сайта методичку по работе с АРМ.Директор - гляньте скрины форм).


Скачал.... Улыбнуло :)
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 638
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Простейший движок сайта на Lazarus

Сообщение Nik » 09.03.2013 13:46:52

Скачал.... Улыбнуло


Вам смешно, а людям с этим каждый день работать :) :( Я-то ладно, поставил, настроил, показал, что и где. А учителя даже с методичкой разобраться не могут во многих вещах. И ЭТО продают за дофига денег. Правда, собственно у электронного журнала web-морда, она немного приличнее, но удобство примерно на том же уровне.
Ладно, что-то мы оффтопить начали :)
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Простейший движок сайта на Lazarus

Сообщение Brainenjii » 09.03.2013 20:33:30

amateur писал(а):Но размер файлика чуток смущает

Какая связь между размером файлика и жизнью? Никто ж не скачивает его, он спокойненько работает себе на сервере
amateur писал(а):Сколько клиентов держать одновременно можно

fclWeb начинает отдавать ошибки при >100 конкурентных подключений - проверяется утилитой siege (разумеется зависит от возможностей железа).
SSerge писал(а):введет ваше CGI в бесконечный цикл?

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

Обработка исключений/защита от дурака - PHP изначально динамически типизированный язык. Там исторически принято в первую очередь проверять и перепроверять всё. Ну и средств, и прямо в языке, и фреймворках, предостаточно.
По поводу библиотек для веб, FPC и PHP. Под PHP однозначно больше. Поищите что-нибудь для создания pdf/каптч/OAuth и т.п.
Правка на лету - и не нужно на боевой сервер постоянно заливать обновления... На дому все тестируется превосходно.

Вообще, сервер на паскале + nginx (правда я пользуюсь не fclWeb-FCGI, a велосипедом для SCGI) при прочих равных выдержал ~4000 запросов/сек при 1000 конкурентных подключений, когда как apache + php - около 300. nginx + php-fpm не пробовал. Возможно там и больше, поскольку nginx + perl ничтоже сумняшеся выдал 10000 запросов/сек (макс. установленный в моём конфиге nginx'a)
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Простейший движок сайта на Lazarus

Сообщение Nik » 10.03.2013 15:05:59

Правка на лету - и не нужно на боевой сервер постоянно заливать обновления... На дому все тестируется превосходно.

Так это понятно, что тестируется не на продакшене. Но в момент заливки (новой версии) FastCGI-приложения Apache приходится останавливать. Во всяком случае, я на своём локальном серваке не смог заменить прогу без остановки Apache. CGI заменяется без проблем, а FastCGI - лочится.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Простейший движок сайта на Lazarus

Сообщение amateur » 11.03.2013 00:41:23

Какая связь между размером файлика и жизнью?
лирика, ээх размерчики :)
Полноценный доступ к дбфнику (вроде просмотрщика) уложившись в менее 5 кб на дельфине делали ? Без вин ап... :))) На заре "комунизма" делал такое (пардон на заре обучения). Матерые програмеры диву давались как полноценный интерфейс да еще с доступом к базе и такой размер :roll: . Кода сказал как писал ржали долго...


А так повторюсь идея хороша но все от рук зависит (чем кривее тем интереснее :twisted: )...

кстати пхп не настолько плох... и это не единственная вещица для веба...

пардон за офтоп.
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Простейший движок сайта на Lazarus

Сообщение SSerge » 11.03.2013 07:43:42

Brainenjii писал(а):Это ошибка и должна быть исправлена


Естественно, это ошибка. Но, допущенная в CGI, будет иметь фатальные последствия без какой либо возможности диагностики, что произошло, а в тексте на том же PHP - выявляется через обычный лог апача.

Ну, а любая программа - коллекция ошибок. :D Даже если автор программы уверен, что их там нет.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Простейший движок сайта на Lazarus

Сообщение Brainenjii » 11.03.2013 08:23:51

а чем лог апача не позволит вычленить и воспроизвести проблемную сессию клиента? Когда только начинал так и делал - сохранял каждый запрос каждого пользователя, а потом "прогонял" их автоматом. Под отладчиком находил AV.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Простейший движок сайта на Lazarus

Сообщение SSerge » 11.03.2013 08:32:20

Brainenjii писал(а):вычленить и воспроизвести проблемную сессию клиента?


логировать параметры POST вообще-то не любая инсталляция апача может; к тому же ошибку при определеннных обстоятельствах можно не поймать на этапе тестирования.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Простейший движок сайта на Lazarus

Сообщение Brainenjii » 11.03.2013 08:36:22

внезапно и программа, стоящая у клиента может упасть при неявных обстоятельствах, так что, не разрабатывать теперь? :-D Логировать параметры POST может и сам программист - дел на полчаса. Включать/выключать при желании можно и опциями компилятору.
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Простейший движок сайта на Lazarus

Сообщение SSerge » 11.03.2013 08:41:08

Brainenjii
Ща мы эдак уже сколько иносказательно крутимся вокруг утверждения "При использовании данной технологии нужно быть предельно аккуратным и хорошо понимать, ради чего и когда ее стоит применять". :D
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

След.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

Рейтинг@Mail.ru