Культурный офтопик
 help / color / mirror / Atom feed
* [room] Вопрос по PHP (или I Hate PHP)
@ 2007-02-11  1:16 Денис Смирнов
  2007-02-11  5:40 ` Anatol B. Bazyukin
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-11  1:16 UTC (permalink / raw)
  To: культурный
	офтопик

Пишу код:

<?php
$a = strlen("привет");
$b = strlen("привет привет");
echo $a." ".$b;
?>

естественно в utf-8. Выдает он, разумеется, '12 25'. Разумеется
аналогичный код в perl если не забыть про use utf8 дает более правильный
ответ.

Какой кувалдой долбануть PHP, чтобы str* с уникодом работала как надо, а
не черт знает как?

/me начинает радоваться что изначально у меня большая часть кода
генерируется, а логики на PHP минимум -- написать компилятор будет вполне
реально. Свалю на perl опять, блин. Он хоть и уродец, но зато логику как
его авторов, так и авторов большинства модулей я могу понять.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
<drF_ckoff> вы мне мозги не парьте, они у меня и так слабые


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-11  1:16 [room] Вопрос по PHP (или I Hate PHP) Денис Смирнов
@ 2007-02-11  5:40 ` Anatol B. Bazyukin
  2007-02-11 20:43   ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Anatol B. Bazyukin @ 2007-02-11  5:40 UTC (permalink / raw)
  To: культурный
	офтопик

Здравствуйте, Денис.

Вы писали 11 февраля 2007 г., 4:16:24:


ДС> Какой кувалдой долбануть PHP, чтобы str* с уникодом работала как надо, а
ДС> не черт знает как?

http://ru2.php.net/strlen ?


-- 
С уважением,
 Anatol                          



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-11  5:40 ` Anatol B. Bazyukin
@ 2007-02-11 20:43   ` Денис Смирнов
  2007-02-12  6:00     ` Eugene Prokopiev
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-11 20:43 UTC (permalink / raw)
  To: Anatol B. Bazyukin,
	культурный
	офтопик

On Sun, Feb 11, 2007 at 08:40:01AM +0300, Anatol B. Bazyukin wrote:

ABB> ДС> Какой кувалдой долбануть PHP, чтобы str* с уникодом работала как надо, а
ABB> ДС> не черт знает как?
ABB> http://ru2.php.net/strlen ?

Спасибо, то что надо.

Как же все-таки запущено... Нет чтобы сделать как в perl -- флажок для
каждой переменной "это utf-8".

Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
библиотек чтобы на ocaml каком писать... :)

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
ЗАКОН МЕЙЕРА
 Усложнять - просто, упрощать - сложно.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-11 20:43   ` Денис Смирнов
@ 2007-02-12  6:00     ` Eugene Prokopiev
  2007-02-13 10:02       ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Eugene Prokopiev @ 2007-02-12  6:00 UTC (permalink / raw)
  To: культурный
	офтопик

Денис Смирнов пишет:
> On Sun, Feb 11, 2007 at 08:40:01AM +0300, Anatol B. Bazyukin wrote:
> 
> ABB> ДС> Какой кувалдой долбануть PHP, чтобы str* с уникодом работала как надо, а
> ABB> ДС> не черт знает как?
> ABB> http://ru2.php.net/strlen ?
> 
> Спасибо, то что надо.
> 
> Как же все-таки запущено... Нет чтобы сделать как в perl -- флажок для
> каждой переменной "это utf-8".
> 
> Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
> библиотек чтобы на ocaml каком писать... :)

Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким 
количеством библиотек и с несколько меньшим количеством языков, среди 
которых, помимо Java, есть и функциональные (Scala и CAL - аналог 
хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской 
вроде как на том же поприще подвизался), и много еще какие, если же 
того, что надо все же нет, то есть, например, ANTLR ;)

Вот хостиг с Java - да, дороже LAMP выйдет ...

-- 
С уважением, Прокопьев Евгений



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-12  6:00     ` Eugene Prokopiev
@ 2007-02-13 10:02       ` Денис Смирнов
  2007-02-13 12:21         ` Damir Shayhutdinov
                           ` (4 more replies)
  0 siblings, 5 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-13 10:02 UTC (permalink / raw)
  To: культурный
	офтопик

On Mon, Feb 12, 2007 at 09:00:12AM +0300, Eugene Prokopiev wrote:

>> Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
>> библиотек чтобы на ocaml каком писать... :)
EP> Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким 
EP> количеством библиотек и с несколько меньшим количеством языков, среди 
EP> которых, помимо Java, есть и функциональные (Scala и CAL - аналог 
EP> хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской 
EP> вроде как на том же поприще подвизался), и много еще какие, если же 
EP> того, что надо все же нет, то есть, например, ANTLR ;)
EP> Вот хостиг с Java - да, дороже LAMP выйдет ...

Зря боишься :) О JVM я думаю больше всего. А твоими стараниями думаю более
осознанно :)

Из последнего твоего разъяснения и вкуривания докуметации я уяснил для
себя что:

 - Java как язык мне очень нравится для построения платформы;
 - Java категорически не нравится собственно для написания web-приложения.
   В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
   скриптовый язык из которого генерировать код на жабе я смогу. А где
   нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
   на жабе;
 - Генерировать самому код для JVM -- гм, а что, есть для этого
   более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
   более-менее эффективные (умеющие задействовать при необходимости фишки
   как сановской, так и IBM'овской реализации)?
 - То, что считается общепринятым методом разработки web-приложений на
   Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
   использовать как CGI нельзя. Остается FastCGI или встраивать в свое
   приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
   предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
   самостоятельно.

По поводу цены хостинга -- это я для себя, а мне хостинг не нужен.
Перестанет ресурсов хватать -- ещё пару гиг и второй двухядерник воткну на
f.i :) А LAMP идет нафиг. У меня скоро на PHP будет условный рефлекс --
кидаться в произносящего всем что попадется под руку. От MySQL я давно
отказался в пользу постгреса, благо опять же если речь о своих проектах а
не о виртуальном хостинге -- преимущества очевидны (у меня есть триггеры и
по две страницы текста).

Что мне, кстати, очень понравилось в Java -- очень хороший набор
параметризуемых классов для различных структур данных. А также сам подход
к ООП с разделением интерфейсов и собственно классов. Удобно это.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Эээ... большая просьба к любителям меня толковать: не надо.
		-- mike in community@



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 10:02       ` Денис Смирнов
@ 2007-02-13 12:21         ` Damir Shayhutdinov
  2007-02-13 16:16           ` Денис Смирнов
  2007-02-13 18:29         ` Andrey Rahmatullin
                           ` (3 subsequent siblings)
  4 siblings, 1 reply; 29+ messages in thread
From: Damir Shayhutdinov @ 2007-02-13 12:21 UTC (permalink / raw)
  To: культурный
	офтопик

> Из последнего твоего разъяснения и вкуривания докуметации я уяснил для
> себя что:
>
>  - Java как язык мне очень нравится для построения платформы;
>  - Java категорически не нравится собственно для написания web-приложения.
>    В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>    скриптовый язык из которого генерировать код на жабе я смогу. А где
>    нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>    на жабе;
Есть JSP, есть сервлеты. JSP - это аналог php, только вставки там
делаются не на убогом PHP, а на Java, также есть возможность расширять
синтаксис этого jsp своими "тегами" и есть хорошая интеграция с Java
Beans и сессиями.

>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>    более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>    более-менее эффективные (умеющие задействовать при необходимости фишки
>    как сановской, так и IBM'овской реализации)?
>  - То, что считается общепринятым методом разработки web-приложений на
>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>    самостоятельно.
Веб-приложения на Java сделанные в виде сервлетов/JSP отлично
запускаются в среде контейнера сервлетов. То есть для обработки
запроса порождается очередной экземпляр сервлета и вызываются его
методы. Затраты на порождение близки к затратам на вызов метода new +
времени инициализации конструктора.

Контейнер сервлетов Tomcat может подключаться бэкэндом к  апачу (через
jk-коннекторы), и у него уже есть штатный load balancing. А может быть
и обычным веб-сервером, даже с поддержкой https.

Есть еще другие контейнеры - но с ними я особенно не работал, так что не знаю.

> Что мне, кстати, очень понравилось в Java -- очень хороший набор
> параметризуемых классов для различных структур данных. А также сам подход
> к ООП с разделением интерфейсов и собственно классов. Удобно это.
Главное не увлекаться.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 12:21         ` Damir Shayhutdinov
@ 2007-02-13 16:16           ` Денис Смирнов
  2007-02-13 16:37             ` Damir Shayhutdinov
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-13 16:16 UTC (permalink / raw)
  To: smoke-room

On Tue, Feb 13, 2007 at 03:21:35PM +0300, Damir Shayhutdinov wrote:
>>  - Java категорически не нравится собственно для написания web-приложения.
>>    В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>>    скриптовый язык из которого генерировать код на жабе я смогу. А где
>>    нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>>    на жабе;
DS> Есть JSP, есть сервлеты. JSP - это аналог php, только вставки там
DS> делаются не на убогом PHP, а на Java, также есть возможность расширять
DS> синтаксис этого jsp своими "тегами" и есть хорошая интеграция с Java
DS> Beans и сессиями.

Ну сервлеты мне хотя бы понятны. JSP это такой же кошмар что и PHP. Идея
мешать код и данные меня категорически не устраивает. Я сейчас пишу вот
так:

=============================================================================
[requires]
[templates]
tpl => firm_edit.tmpl
[cgi_param]
name
	form	str	default(NULL)
	firmname	str	default(NULL)
param
	do_update	str	default(0)
	id	int	min(0)
update
	uraddr	str	default(NULL)
	ogrn	str	default(NULL)	min(1)
	kpp	str	default(NULL)
	gendir_f	str	default(NULL)
	gendir_i	str	default(NULL)
	gendir_o	str	default(NULL)
	buh_f	str	default(NULL)
	buh_i	str	default(NULL)
	buh_o	str	default(NULL)
[php]
<?php
if( !$edb->is_counteragent_id($param['id']) )
{
	redirect();
	exit();
}

if( $param['do_update'] === 'yes' )
{
	$where['counteragent_id'] = $param['id'];
	$db->update('firms', $update, $where);
	$db->update('counteragents', $name, $where);
	redirect("firm_show.php?id=".$param['id']);
}

$tpl->param($edb->get_counteragent($param['id']));
$tpl->value('accounts', $edb->get_counteragent_active_accounts($param['id']);
=============================================================================

Разумеется код для объекта edb тоже генерирутся из высокоуровневого
описания. cgi_param генерирует констрейнты для проверки валидности
переданых пользователем значений.

На все приложение, в котором используется такой стиль, есть всего
несколько хоть чуточку нетривиальных функций на PHP. Остальное вот в таком
линейном стиле, который запросто можно автоматически сконвертировать хоть
в basic, хоть в haskell.

>>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>>    более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>>    более-менее эффективные (умеющие задействовать при необходимости фишки
>>    как сановской, так и IBM'овской реализации)?
>>  - То, что считается общепринятым методом разработки web-приложений на
>>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>>    самостоятельно.
DS> Веб-приложения на Java сделанные в виде сервлетов/JSP отлично
DS> запускаются в среде контейнера сервлетов. То есть для обработки
DS> запроса порождается очередной экземпляр сервлета и вызываются его
DS> методы. Затраты на порождение близки к затратам на вызов метода new +
DS> времени инициализации конструктора.
DS> Контейнер сервлетов Tomcat может подключаться бэкэндом к  апачу (через
DS> jk-коннекторы), и у него уже есть штатный load balancing. А может быть
DS> и обычным веб-сервером, даже с поддержкой https.
DS> Есть еще другие контейнеры - но с ними я особенно не работал, так что не знаю.

(со злобным выражением лица и стуча ложкой по столу) хочу FastCGI!

>> Что мне, кстати, очень понравилось в Java -- очень хороший набор
>> параметризуемых классов для различных структур данных. А также сам подход
>> к ООП с разделением интерфейсов и собственно классов. Удобно это.
DS> Главное не увлекаться.

:) Ну, положим увлекаться с _интерфейсами_ в отличии от наследования
вполне безопасно, и не уродует код.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Documentation - The worst part of programming.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 16:16           ` Денис Смирнов
@ 2007-02-13 16:37             ` Damir Shayhutdinov
  2007-02-14 19:07               ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Damir Shayhutdinov @ 2007-02-13 16:37 UTC (permalink / raw)
  To: культурный
	офтопик

> Ну сервлеты мне хотя бы понятны. JSP это такой же кошмар что и PHP. Идея
> мешать код и данные меня категорически не устраивает. Я сейчас пишу вот
> так:
Ну а что мешает из этого сервлет сделать?

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

> >> Что мне, кстати, очень понравилось в Java -- очень хороший набор
> >> параметризуемых классов для различных структур данных. А также сам подход
> >> к ООП с разделением интерфейсов и собственно классов. Удобно это.
> DS> Главное не увлекаться.
>
> :) Ну, положим увлекаться с _интерфейсами_ в отличии от наследования
> вполне безопасно, и не уродует код.
Да ну, я видел примеры misuse и overuse и интерфейсов, и
классов-фабрик в больших проектах. Когда шаблонное мышление в
сочетании с программированием на паттернах приводит к
неподдерживаемости кода человеком, отличающимся по строению паттернов
мышления от автора.

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

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 10:02       ` Денис Смирнов
  2007-02-13 12:21         ` Damir Shayhutdinov
@ 2007-02-13 18:29         ` Andrey Rahmatullin
  2007-02-14 19:03           ` Денис Смирнов
  2007-02-14 15:11         ` Michael Shigorin
                           ` (2 subsequent siblings)
  4 siblings, 1 reply; 29+ messages in thread
From: Andrey Rahmatullin @ 2007-02-13 18:29 UTC (permalink / raw)
  To: smoke-room

[-- Attachment #1: Type: text/plain, Size: 357 bytes --]

On Tue, Feb 13, 2007 at 01:02:15PM +0300, Денис Смирнов wrote:
>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>    более-менее удобные средства (типа тех что есть в .NET)?
Тыпрачо?

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Неполное цитирование приводит к неправильному пониманию.
		-- ldv in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-14 19:03           ` Денис Смирнов
@ 2007-02-14 14:59             ` Andrey Rahmatullin
  2007-02-15 10:26               ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Andrey Rahmatullin @ 2007-02-14 14:59 UTC (permalink / raw)
  To: smoke-room

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

On Wed, Feb 14, 2007 at 10:03:43PM +0300, Денис Смирнов wrote:
> Основная фишка .NET, делающая его вообще интересным -- это то что бинарник
> это такой же объект как и все остальные.
А, так бы и сказал, что в рантайме генерить.

> Тебе ничего не мешает набором
> стандартных вызовов:
>  - сгенерировать некий код;
>  - выполнить этот код (и будет работать JIT-компилятор!);
>  - записать код в виде exe-шника;
>  - прочитать код из exe-шника;
>  - модифицировать (!) этот код;
Знаю :)

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Пользуйтесь, кому не страшно ;-)
		-- vvzhy in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 10:02       ` Денис Смирнов
  2007-02-13 12:21         ` Damir Shayhutdinov
  2007-02-13 18:29         ` Andrey Rahmatullin
@ 2007-02-14 15:11         ` Michael Shigorin
  2007-02-15 10:45           ` Денис Смирнов
  2007-02-17 17:22         ` Alexander Borovsky
  2007-02-18 14:22         ` Eugene Prokopiev
  4 siblings, 1 reply; 29+ messages in thread
From: Michael Shigorin @ 2007-02-14 15:11 UTC (permalink / raw)
  To: культурный
	офтопик

On Tue, Feb 13, 2007 at 01:02:15PM +0300, Денис Смирнов wrote:
>  - Java как язык мне очень нравится для построения платформы;

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

>  - То, что считается общепринятым методом разработки web-приложений на
>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>    самостоятельно.

Здрасьте, ты томкат-то хоть в глаза видел? :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-14 19:07               ` Денис Смирнов
@ 2007-02-14 15:15                 ` Michael Shigorin
  2007-02-15 10:45                   ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Michael Shigorin @ 2007-02-14 15:15 UTC (permalink / raw)
  To: культурный
	офтопик

On Wed, Feb 14, 2007 at 10:07:09PM +0300, Денис Смирнов wrote:
> А, ты про это... Хех. Это основное за что я не люблю ООП как
> таковой.  Писать хорошо, писать хорошей командой отлично, а вот
> читать чужой плохой код... Может быть посложнее чем просто
> поток сознания на хрен знает сколько строк кода в одной функции
> :)

Одна из причин, по которым Ruby понравилось -- читать чужое
обычно /интересно/, а не просто возможно.

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

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

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 18:29         ` Andrey Rahmatullin
@ 2007-02-14 19:03           ` Денис Смирнов
  2007-02-14 14:59             ` Andrey Rahmatullin
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-14 19:03 UTC (permalink / raw)
  To: культурный
	офтопик

On Tue, Feb 13, 2007 at 11:29:07PM +0500, Andrey Rahmatullin wrote:

>>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>>    более-менее удобные средства (типа тех что есть в .NET)?
AR> Тыпрачо?

Основная фишка .NET, делающая его вообще интересным -- это то что бинарник
это такой же объект как и все остальные. Тебе ничего не мешает набором
стандартных вызовов:
 - сгенерировать некий код;
 - выполнить этот код (и будет работать JIT-компилятор!);
 - записать код в виде exe-шника;
 - прочитать код из exe-шника;
 - модифицировать (!) этот код;

.NET содержит в себе очень хорошие заготовки. Мелкософт не смог довести
его до ума, плюс у винды самой по себе ядро мастдайное :) А так задел для
того чтобы порвать LAMP на задаче корпоративных web-проектов у них был.
Только реализовать кишка тонка оказалась.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Автором программы были выявлены недокументированные возможности...


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 16:37             ` Damir Shayhutdinov
@ 2007-02-14 19:07               ` Денис Смирнов
  2007-02-14 15:15                 ` Michael Shigorin
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-14 19:07 UTC (permalink / raw)
  To: культурный
	офтопик

>> Ну сервлеты мне хотя бы понятны. JSP это такой же кошмар что и PHP. Идея
>> мешать код и данные меня категорически не устраивает. Я сейчас пишу вот
>> так:
DS> Ну а что мешает из этого сервлет сделать?

Да в общем-то, наверное, ничего. Из такого типа-кода можно вообще что
угодно сделать.

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

(Задумчиво) а может действительно попробовать...

> >>> Что мне, кстати, очень понравилось в Java -- очень хороший набор
> >>> параметризуемых классов для различных структур данных. А также сам подход
> >>> к ООП с разделением интерфейсов и собственно классов. Удобно это.
> DS>> Главное не увлекаться.
>> :) Ну, положим увлекаться с _интерфейсами_ в отличии от наследования
>> вполне безопасно, и не уродует код.
DS> Да ну, я видел примеры misuse и overuse и интерфейсов, и
DS> классов-фабрик в больших проектах. Когда шаблонное мышление в
DS> сочетании с программированием на паттернах приводит к
DS> неподдерживаемости кода человеком, отличающимся по строению паттернов
DS> мышления от автора.
DS> Проще говоря, прослойка абстракций становится настолько большая, что
DS> путь между вызовами методов объектов проследить не представляется
DS> возможным.

А, ты про это... Хех. Это основное за что я не люблю ООП как таковой.
Писать хорошо, писать хорошей командой отлично, а вот читать чужой плохой
код... Может быть посложнее чем просто поток сознания на хрен знает
сколько строк кода в одной функции :)

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

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
ПЕРВОЕ ПРАВИЛО ИСТОРИИ
 История не повторяется - это историки повторяют друг друга.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-14 14:59             ` Andrey Rahmatullin
@ 2007-02-15 10:26               ` Денис Смирнов
  2007-02-15 16:02                 ` Andrey Rahmatullin
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-15 10:26 UTC (permalink / raw)
  To: smoke-room

On Wed, Feb 14, 2007 at 07:59:08PM +0500, Andrey Rahmatullin wrote:

>> Основная фишка .NET, делающая его вообще интересным -- это то что бинарник
>> это такой же объект как и все остальные.
AR> А, так бы и сказал, что в рантайме генерить.

Не обязательно в рантайме, в том-то и фенька. Захотел -- в рантайме
сгенерил, захотел -- dll'ку али exe'шник с результатом записал. Всякие
zend optimizer'ы и прочая аналогичная муть нервно курит в сторонке
завистливо поглядывая.

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

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

Эх, сделали бы они его портируемым и с не таким страшным API... Глядишь
можно было бы сказать что Microsoft сделала целый один архиполезный для
community продукт. За подобную платформу не жалко было бы и заплатить...

>> Тебе ничего не мешает набором
>> стандартных вызовов:
>>  - сгенерировать некий код;
>>  - выполнить этот код (и будет работать JIT-компилятор!);
>>  - записать код в виде exe-шника;
>>  - прочитать код из exe-шника;
>>  - модифицировать (!) этот код;
AR> Знаю :)

:)

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Есть множество программ, работающих в wine.
		-- lav in community@


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-14 15:11         ` Michael Shigorin
@ 2007-02-15 10:45           ` Денис Смирнов
  0 siblings, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-15 10:45 UTC (permalink / raw)
  To: shigorin,
	культурный
	офтопик

On Wed, Feb 14, 2007 at 05:11:41PM +0200, Michael Shigorin wrote:

>>  - Java как язык мне очень нравится для построения платформы;
MS> Ты Мишку Бочкарёва поспрошай, какие расклады по времени выходят
MS> как для домашнего использования и небольших команд.

Да в общем-то там и так грабли видны :( Потому я и предпочел в результате
писать на PHP -- исключительно из-за предсказуемости и возможности нанять
народ по рубль кучка со словами "хочу такую либу -- вот тест -- чтобы
завтра было". Но все равно долго нервы мои не выдержат.

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

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

Перспективнее всего завязываться на что-то вроде OCaml, но силенок таки
доизучать его до возможности более-менее на нем писать пока нету. А на
Java я смог начать писать после часу чтения, несмотря на то что последний
раз писал на ней hello world не помню сколько лет назад.

>>  - То, что считается общепринятым методом разработки web-приложений на
>>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>>    самостоятельно.
MS> Здрасьте, ты томкат-то хоть в глаза видел? :)

Честно? Мне сказали что "как CGI низя", я поверил, и в его сторону не
смотрел.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Господа, добавленные в Cc, прошу вас высказать свою точку зрения.
		-- ldv in #4806


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-14 15:15                 ` Michael Shigorin
@ 2007-02-15 10:45                   ` Денис Смирнов
  0 siblings, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-15 10:45 UTC (permalink / raw)
  To: shigorin,
	культурный
	офтопик

On Wed, Feb 14, 2007 at 05:15:05PM +0200, Michael Shigorin wrote:

>> А, ты про это... Хех. Это основное за что я не люблю ООП как
>> таковой.  Писать хорошо, писать хорошей командой отлично, а вот
>> читать чужой плохой код... Может быть посложнее чем просто
>> поток сознания на хрен знает сколько строк кода в одной функции
>> :)
MS> Одна из причин, по которым Ruby понравилось -- читать чужое
MS> обычно /интересно/, а не просто возможно.

Любопытно.

>> Ну тут уж увы. Средств чтобы чайник не мог написать что-то
>> ужасное пока не придумали. Разве что спец решения, в которых
>> вообще ничего особо писать нельзя, только мышой в окошки тыкать
>> :)
MS> Эт да, уж на что тот же питон через что гланды пытается
MS> зафиксировать лесенкой перед удалением -- а и то мусор 
MS> написать не проблема. :)

:)

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Тяжела и неказиста
Жизнь простого программиста


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-15 10:26               ` Денис Смирнов
@ 2007-02-15 16:02                 ` Andrey Rahmatullin
  2007-02-17 11:55                   ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Andrey Rahmatullin @ 2007-02-15 16:02 UTC (permalink / raw)
  To: smoke-room

[-- Attachment #1: Type: text/plain, Size: 723 bytes --]

On Thu, Feb 15, 2007 at 01:26:52PM +0300, Денис Смирнов wrote:
> Не обязательно в рантайме, в том-то и фенька. Захотел -- в рантайме
> сгенерил, захотел -- dll'ку али exe'шник с результатом записал.
Ну это я тоже знаю :)

> Соответственно возможности для оптимизации почти неограничены. Стоимость
> использования всяческих регекспов (если они статичные а не сами по себе
> динамически генерятся) сразу падает, и прочие аналогичные радости.
Меня как раз испугало, когда я узнал, как работают регекспы, XmlSerializer
и ещё что-то. Впрочем, недавно я узнал про sgen.exe.

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(8):

Даже драки мне нравятся куда больше линуксконфа.
		-- aen in devel@

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-15 16:02                 ` Andrey Rahmatullin
@ 2007-02-17 11:55                   ` Денис Смирнов
  0 siblings, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-17 11:55 UTC (permalink / raw)
  To: культурный
	офтопик

On Thu, Feb 15, 2007 at 09:02:00PM +0500, Andrey Rahmatullin wrote:

>> Соответственно возможности для оптимизации почти неограничены. Стоимость
>> использования всяческих регекспов (если они статичные а не сами по себе
>> динамически генерятся) сразу падает, и прочие аналогичные радости.
AR> Меня как раз испугало, когда я узнал, как работают регекспы, XmlSerializer
AR> и ещё что-то. Впрочем, недавно я узнал про sgen.exe.

Главное что  при большом желании все подобное можно для себя написать.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Я не делаю бессмысленных вещей.
Спорных - возможно, но смысл есть всегда.
		-- ldv in sisyphus@


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 10:02       ` Денис Смирнов
                           ` (2 preceding siblings ...)
  2007-02-14 15:11         ` Michael Shigorin
@ 2007-02-17 17:22         ` Alexander Borovsky
  2007-02-24 11:51           ` Денис Смирнов
  2007-02-18 14:22         ` Eugene Prokopiev
  4 siblings, 1 reply; 29+ messages in thread
From: Alexander Borovsky @ 2007-02-17 17:22 UTC (permalink / raw)
  To: культурный
	офтопик

On 2/13/07, Денис Смирнов <mithraen@> wrote:
> On Mon, Feb 12, 2007 at 09:00:12AM +0300, Eugene Prokopiev wrote:
>
> >> Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
> >> библиотек чтобы на ocaml каком писать... :)
> EP> Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким
> EP> количеством библиотек и с несколько меньшим количеством языков, среди
> EP> которых, помимо Java, есть и функциональные (Scala и CAL - аналог
> EP> хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской
> EP> вроде как на том же поприще подвизался), и много еще какие, если же
> EP> того, что надо все же нет, то есть, например, ANTLR ;)
> EP> Вот хостиг с Java - да, дороже LAMP выйдет ...
>
> Зря боишься :) О JVM я думаю больше всего. А твоими стараниями думаю более
> осознанно :)
>
> Из последнего твоего разъяснения и вкуривания докуметации я уяснил для
> себя что:
>
>  - Java как язык мне очень нравится для построения платформы;
>  - Java категорически не нравится собственно для написания web-приложения.
>    В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>    скриптовый язык из которого генерировать код на жабе я смогу. А где
>    нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>    на жабе;
>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>    более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>    более-менее эффективные (умеющие задействовать при необходимости фишки
>    как сановской, так и IBM'овской реализации)?

Уже есть groovy (компилируемый в байткод для jvm, похож на ruby)

>  - То, что считается общепринятым методом разработки web-приложений на
>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>    самостоятельно.

Есть Grails (нечто смахивающее на Rails, но на groovy)

>
> По поводу цены хостинга -- это я для себя, а мне хостинг не нужен.
> Перестанет ресурсов хватать -- ещё пару гиг и второй двухядерник воткну на
> f.i :) А LAMP идет нафиг. У меня скоро на PHP будет условный рефлекс --
> кидаться в произносящего всем что попадется под руку. От MySQL я давно
> отказался в пользу постгреса, благо опять же если речь о своих проектах а
> не о виртуальном хостинге -- преимущества очевидны (у меня есть триггеры и
> по две страницы текста).
>
> Что мне, кстати, очень понравилось в Java -- очень хороший набор
> параметризуемых классов для различных структур данных. А также сам подход
> к ООП с разделением интерфейсов и собственно классов. Удобно это.

Ещё можно попробовать Ruby on Rails, в нём неплохоре разделения логики
и представления (работает как FastCGI).

-- 
Best regards,
Alexander Borovsky

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-13 10:02       ` Денис Смирнов
                           ` (3 preceding siblings ...)
  2007-02-17 17:22         ` Alexander Borovsky
@ 2007-02-18 14:22         ` Eugene Prokopiev
  2007-02-19  6:40           ` Eugene Prokopiev
  2007-02-19 11:02           ` Денис Смирнов
  4 siblings, 2 replies; 29+ messages in thread
From: Eugene Prokopiev @ 2007-02-18 14:22 UTC (permalink / raw)
  To: культурный
	офтопик

Денис Смирнов пишет:
> On Mon, Feb 12, 2007 at 09:00:12AM +0300, Eugene Prokopiev wrote:
> 
> 
>>>Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
>>>библиотек чтобы на ocaml каком писать... :)
> 
> EP> Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким 
> EP> количеством библиотек и с несколько меньшим количеством языков, среди 
> EP> которых, помимо Java, есть и функциональные (Scala и CAL - аналог 
> EP> хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской 
> EP> вроде как на том же поприще подвизался), и много еще какие, если же 
> EP> того, что надо все же нет, то есть, например, ANTLR ;)
> EP> Вот хостиг с Java - да, дороже LAMP выйдет ...
> 
> Зря боишься :) О JVM я думаю больше всего. А твоими стараниями думаю более
> осознанно :)
> 
> Из последнего твоего разъяснения и вкуривания докуметации я уяснил для
> себя что:
> 
>  - Java как язык мне очень нравится для построения платформы;
>  - Java категорически не нравится собственно для написания web-приложения.
>    В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>    скриптовый язык из которого генерировать код на жабе я смогу. А где
>    нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>    на жабе;
>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>    более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>    более-менее эффективные (умеющие задействовать при необходимости фишки
>    как сановской, так и IBM'овской реализации)?

http://java-source.net/open-source/bytecode-libraries

>  - То, что считается общепринятым методом разработки web-приложений на
>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>    самостоятельно.

http://docs.codehaus.org/display/JETTY/Embedding+Jetty

Я не пойму, чего ты так цепляешься за FastCGI. Чем это принципиально 
отличается от HttpServlet.do*? Сделай поверх сервлетов любое API, 
которое тебе будет удобно, в FastCGI ты же ведь тоже наверное не в 
терминах ввода/вывода символов работаешь ...

-- 
С уважением, Прокопьев Евгений



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-18 14:22         ` Eugene Prokopiev
@ 2007-02-19  6:40           ` Eugene Prokopiev
  2007-02-24 12:02             ` Денис Смирнов
  2007-02-19 11:02           ` Денис Смирнов
  1 sibling, 1 reply; 29+ messages in thread
From: Eugene Prokopiev @ 2007-02-19  6:40 UTC (permalink / raw)
  To: культурный
	офтопик

Eugene Prokopiev пишет:
> Денис Смирнов пишет:
> 
>>On Mon, Feb 12, 2007 at 09:00:12AM +0300, Eugene Prokopiev wrote:
>>
>>
>>
>>>>Вот обижусь на все эти языки, уйду в отпуск, и начну писать себе набор
>>>>библиотек чтобы на ocaml каком писать... :)
>>
>>EP> Боюсь показаться навязчивым, но есть такая платформа - JVM ;) c жутким 
>>EP> количеством библиотек и с несколько меньшим количеством языков, среди 
>>EP> которых, помимо Java, есть и функциональные (Scala и CAL - аналог 
>>EP> хаскела без части syntax sugar, кстати и небезызвестный г-н Луговской 
>>EP> вроде как на том же поприще подвизался), и много еще какие, если же 
>>EP> того, что надо все же нет, то есть, например, ANTLR ;)
>>EP> Вот хостиг с Java - да, дороже LAMP выйдет ...
>>
>>Зря боишься :) О JVM я думаю больше всего. А твоими стараниями думаю более
>>осознанно :)
>>
>>Из последнего твоего разъяснения и вкуривания докуметации я уяснил для
>>себя что:
>>
>> - Java как язык мне очень нравится для построения платформы;
>> - Java категорически не нравится собственно для написания web-приложения.
>>   В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>>   скриптовый язык из которого генерировать код на жабе я смогу. А где
>>   нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>>   на жабе;
>> - Генерировать самому код для JVM -- гм, а что, есть для этого
>>   более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>>   более-менее эффективные (умеющие задействовать при необходимости фишки
>>   как сановской, так и IBM'овской реализации)?
> 
> 
> http://java-source.net/open-source/bytecode-libraries

а в Java 6 есть такое - 
http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html

хотя и раньше jasper (компилятор JSP в байт-код) и ant как-то 
выкручивались, используя, как я понимаю, недокументированные классы из 
tools.jar

в некоторых случаях для динамической генерации кода удобнее AOP, см. 
AspectJ и Spring AOP

>> - То, что считается общепринятым методом разработки web-приложений на
>>   Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>>   использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>>   приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>>   предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>>   самостоятельно.
> 
> 
> http://docs.codehaus.org/display/JETTY/Embedding+Jetty
> 
> Я не пойму, чего ты так цепляешься за FastCGI. Чем это принципиально 
> отличается от HttpServlet.do*? Сделай поверх сервлетов любое API, 
> которое тебе будет удобно, в FastCGI ты же ведь тоже наверное не в 
> терминах ввода/вывода символов работаешь ...

Кстати, встраивание http-сервера в приложение - не такая глупая мысль, 
как поначалу кажется. Многие проекты это практикуют, правда я не могу 
вспомнить ни одного, кто бы использовал свой наколенный http-сервер. В 
большинстве случаев встраивают Jetty, и я не могу придумать причины для 
написания своего http-сервера вместо него. С учетом использования NIO 
его конкурентом в плане производительности должен быть скорее nginx, 
нежели apache, хотя задачи выжать из него максимум пока у меня не было.

Я встраивал Jetty, правда не прямо в свой Java-код, а в контекст 
Спринга. И наблюдаю интересную тенденцию: многие проекты уже используют 
Spring/XBean или Hivemind в качестве механизма конфигурирования 
отказываясь от изобретения собственных велосипедов. Меня, как 
пользователя Spring, это очень радует. Логика работы контекста и 
синтаксис его описания в Spring разделены, т.е. xml - только один из 
возможных способов его описания. Еще поддерживается никем вроде не 
используемый формат properties, а одни веселые ребята сделали реализацию 
Ruby-подобного синтаксиса - 
http://svn.trampolinesystems.com/springy/trunk/README

Сейчас для одного совсем маленького web-проекта я использую DWR, там 
работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.

-- 
С уважением, Прокопьев Евгений



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-18 14:22         ` Eugene Prokopiev
  2007-02-19  6:40           ` Eugene Prokopiev
@ 2007-02-19 11:02           ` Денис Смирнов
  1 sibling, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-19 11:02 UTC (permalink / raw)
  To: культурный
	офтопик

On Sun, Feb 18, 2007 at 05:22:30PM +0300, Eugene Prokopiev wrote:

>>  - Java как язык мне очень нравится для построения платформы;
>>  - Java категорически не нравится собственно для написания web-приложения.
>>    В общем-то это пофиг, потому как я не ленивый, и сделать некий простой
>>    скриптовый язык из которого генерировать код на жабе я смогу. А где
>>    нужна хоть чуть-чуть нетривиальная логика не выпендриваться, а писать
>>    на жабе;
>>  - Генерировать самому код для JVM -- гм, а что, есть для этого
>>    более-менее удобные средства (типа тех что есть в .NET)? Да ещё и
>>    более-менее эффективные (умеющие задействовать при необходимости фишки
>>    как сановской, так и IBM'овской реализации)?
EP> http://java-source.net/open-source/bytecode-libraries

Понял, буду смотреть и думать.

>>  - То, что считается общепринятым методом разработки web-приложений на
>>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>>    самостоятельно.
EP> http://docs.codehaus.org/display/JETTY/Embedding+Jetty

А вот это интересно.

EP> Я не пойму, чего ты так цепляешься за FastCGI. Чем это принципиально 
EP> отличается от HttpServlet.do*? Сделай поверх сервлетов любое API, 
EP> которое тебе будет удобно, в FastCGI ты же ведь тоже наверное не в 
EP> терминах ввода/вывода символов работаешь ...

Собственно мне все равно http или fastcgi. Fastcgi хорошо разве что тем,
что тот же nginx может к нему по unix sockets цепляться. Это удобно. А
внутреннее API это уже вопрос другой, разумеется оно должно быть
высокоуровневое, но об этом я даже и не говорю -- подразумевается что уж с
чем-чем, а с этим проблем нет (а если оно мне не понравится обертку с
более удобным для меня видом я быстром напишу).

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
<Voins> wow, gvy уже и в bugtraq засветился :)) никогда его там раньше
        не видел :)


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-17 17:22         ` Alexander Borovsky
@ 2007-02-24 11:51           ` Денис Смирнов
  0 siblings, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-24 11:51 UTC (permalink / raw)
  To: культурный
	офтопик

On Sat, Feb 17, 2007 at 07:22:25PM +0200, Alexander Borovsky wrote:

AB> Уже есть groovy (компилируемый в байткод для jvm, похож на ruby)

Гм.

>>  - То, что считается общепринятым методом разработки web-приложений на
>>    Java мне не нравится ну совсем. JVM поднимается не шустроб поэтому
>>    использовать как CGI нельзя. Остается FastCGI или встраивать в свое
>>    приложение http-сервер. Я псих, и могу пойти даже на второе, хотя
>>    предпочел бы FastCGI. Как я понимаю писать мне его поддержку придется
>>    самостоятельно.
AB> Есть Grails (нечто смахивающее на Rails, но на groovy)

Маньяки :)

>> Что мне, кстати, очень понравилось в Java -- очень хороший набор
>> параметризуемых классов для различных структур данных. А также сам подход
>> к ООП с разделением интерфейсов и собственно классов. Удобно это.
AB> Ещё можно попробовать Ruby on Rails, в нём неплохоре разделения логики
AB> и представления (работает как FastCGI).

Буду думать.

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
ЗАКОН ЛАБОРАТОРИИ ФЕТА
 Никогда не пытайтесь повторить удачный эксперимент.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-19  6:40           ` Eugene Prokopiev
@ 2007-02-24 12:02             ` Денис Смирнов
  2007-02-24 15:28               ` Eugene Prokopiev
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-24 12:02 UTC (permalink / raw)
  To: культурный
	офтопик

On Mon, Feb 19, 2007 at 09:40:42AM +0300, Eugene Prokopiev wrote:
>> http://java-source.net/open-source/bytecode-libraries
EP> а в Java 6 есть такое - 
EP> http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html
EP> хотя и раньше jasper (компилятор JSP в байт-код) и ant как-то 
EP> выкручивались, используя, как я понимаю, недокументированные классы из 
EP> tools.jar

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

EP> в некоторых случаях для динамической генерации кода удобнее AOP, см. 
EP> AspectJ и Spring AOP

Гляну.

>> http://docs.codehaus.org/display/JETTY/Embedding+Jetty
EP> Кстати, встраивание http-сервера в приложение - не такая глупая мысль, 
EP> как поначалу кажется. Многие проекты это практикуют, правда я не могу 
EP> вспомнить ни одного, кто бы использовал свой наколенный http-сервер. В 
EP> большинстве случаев встраивают Jetty, и я не могу придумать причины для 
EP> написания своего http-сервера вместо него. С учетом использования NIO 
EP> его конкурентом в плане производительности должен быть скорее nginx, 
EP> нежели apache, хотя задачи выжать из него максимум пока у меня не было.

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

В общем это очень похоже на то что мне подойдет. Сделаю пару простых
тестовых приложений, потом уже подумаю.

Только вот я не понял, конструктор Server берет один аргумент 'port'? А ip
адрес кто сожрал? Ну ладно, для тех задач что я прямо сейчас делаю мне это
пофиг. А для тех что собираюсь, изоляции серверов побольше хотелось бы.

EP> Я встраивал Jetty, правда не прямо в свой Java-код, а в контекст 
EP> Спринга. И наблюдаю интересную тенденцию: многие проекты уже используют 
EP> Spring/XBean или Hivemind в качестве механизма конфигурирования 
EP> отказываясь от изобретения собственных велосипедов. Меня, как 
EP> пользователя Spring, это очень радует. Логика работы контекста и 
EP> синтаксис его описания в Spring разделены, т.е. xml - только один из 
EP> возможных способов его описания.

Это не может не радовать.

EP> Сейчас для одного совсем маленького web-проекта я использую DWR, там 
EP> работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
EP> на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
EP> JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
EP> него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
EP> чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
EP> Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.

%-)

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Конечно, можно сделать fork+pipe, но это уже совсем другая история.
		-- ldv in devel@



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-24 12:02             ` Денис Смирнов
@ 2007-02-24 15:28               ` Eugene Prokopiev
  2007-02-25  9:18                 ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Eugene Prokopiev @ 2007-02-24 15:28 UTC (permalink / raw)
  To: культурный
	офтопик

> EP> а в Java 6 есть такое - 
> EP> http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html
> EP> хотя и раньше jasper (компилятор JSP в байт-код) и ant как-то 
> EP> выкручивались, используя, как я понимаю, недокументированные классы из 
> EP> tools.jar
> 
> Как я понял речь не о генерировании байт-кода, а о вызове компилятора,
> если  правильно понял описание.

да

> Только вот я не понял, конструктор Server берет один аргумент 'port'? А ip
> адрес кто сожрал? Ну ладно, для тех задач что я прямо сейчас делаю мне это
> пофиг. А для тех что собираюсь, изоляции серверов побольше хотелось бы.

Этот конструктор для самых ленивых, им лучше не пользоваться ;)

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

Еще лучше предварительно ознакомиться с 
http://docs.codehaus.org/display/JETTY/Architecture

> EP> Сейчас для одного совсем маленького web-проекта я использую DWR, там 
> EP> работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
> EP> на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
> EP> JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
> EP> него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
> EP> чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
> EP> Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.
> 
> %-)

Не годится? ;)

-- 
С уважением, Прокопьев Евгений


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-24 15:28               ` Eugene Prokopiev
@ 2007-02-25  9:18                 ` Денис Смирнов
  2007-02-25 21:55                   ` Eugene Prokopiev
  0 siblings, 1 reply; 29+ messages in thread
From: Денис Смирнов @ 2007-02-25  9:18 UTC (permalink / raw)
  To: культурный
	офтопик

On Sat, Feb 24, 2007 at 06:28:58PM +0300, Eugene Prokopiev wrote:

EP> Этот конструктор для самых ленивых, им лучше не пользоваться ;)

Понял :) 

EP> Лучше принудительно указывать требуемый коннектор, тогда и привязка к 
EP> адресу будет.
EP> Еще лучше предварительно ознакомиться с 
EP> http://docs.codehaus.org/display/JETTY/Architecture

35  /**  Blocking NIO connector.
36   * This connector uses efficient NIO buffers with a traditional blocking thread model.
37   * Direct NIO buffers are used and a thread is allocated per connections.
38   * 
39   * This connector is best used when there are a few very active connections.

Гм, конкурент nginx говоришь? ;) С точностью до наоборот -- это как раз
то, что лучше всего себя чувствует когда стоит backend'ом для nginx, в
этом случае разгоняется. А если на эту штуковину напустить несколько тысяч
активных юзверей, и машинка будет не pSeries, или санки какие, то сдохнем
сразу.

> EP>> Сейчас для одного совсем маленького web-проекта я использую DWR, там 
> EP>> работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
> EP>> на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
> EP>> JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
> EP>> него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
> EP>> чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
> EP>> Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.
>> %-)
EP> Не годится? ;)

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

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Официальной позиции OOO ALT Linux в этом списке рассылки нет и не будет.
		-- ldv in sisyphus@


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-25  9:18                 ` Денис Смирнов
@ 2007-02-25 21:55                   ` Eugene Prokopiev
  2007-02-25 22:16                     ` Денис Смирнов
  0 siblings, 1 reply; 29+ messages in thread
From: Eugene Prokopiev @ 2007-02-25 21:55 UTC (permalink / raw)
  To: культурный
	офтопик

Денис Смирнов пишет:
> On Sat, Feb 24, 2007 at 06:28:58PM +0300, Eugene Prokopiev wrote:
> 
> EP> Этот конструктор для самых ленивых, им лучше не пользоваться ;)
> 
> Понял :) 
> 
> EP> Лучше принудительно указывать требуемый коннектор, тогда и привязка к 
> EP> адресу будет.
> EP> Еще лучше предварительно ознакомиться с 
> EP> http://docs.codehaus.org/display/JETTY/Architecture
> 
> 35  /**  Blocking NIO connector.
> 36   * This connector uses efficient NIO buffers with a traditional blocking thread model.
> 37   * Direct NIO buffers are used and a thread is allocated per connections.
> 38   * 
> 39   * This connector is best used when there are a few very active connections.
> 
> Гм, конкурент nginx говоришь? ;) С точностью до наоборот -- это как раз
> то, что лучше всего себя чувствует когда стоит backend'ом для nginx, в
> этом случае разгоняется. А если на эту штуковину напустить несколько тысяч
> активных юзверей, и машинка будет не pSeries, или санки какие, то сдохнем
> сразу.

Я не про BlockingChannelConnector вообще-то, а например, про 
SelectChannelConnector ;)

Можно прочесть еще вот это - 
http://www.webtide.com/downloads/whitePaperAjaxJetty.html

NIO позволяет обслужить меньшим количеством потоков больше запросов. 
Т.е. пытается обыграть Erlang на его поле ;) . Да, подход Erlang с 
практически неограниченным количеством легких потоков изящнее, но NIO, 
похоже, в большинстве случаев работает не хуже.

>>EP>> Сейчас для одного совсем маленького web-проекта я использую DWR, там 
>>EP>> работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
>>EP>> на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
>>EP>> JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
>>EP>> него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
>>EP>> чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
>>EP>> Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.
>>
>>>%-)
> 
> EP> Не годится? ;)
> 
> Много слоев. 

2 - это немного (если не считать переходники JS<->Java, JSON<->JavaBeans 
и JavaBeans<->БД, но они взяты готовыми). Я с трудом представляю себе 
задачу, в которой не требовалось бы разделять UI и основную логику 
работы (разве что последняя отсутствует - например, простая форма для 
ввода данных в БД)

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

Т.е. свой DSL и его интерпретатор/компилятор на java/php/... ?

-- 
С уважением, Прокопьев Евгений


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [room] Вопрос по PHP (или I Hate PHP)
  2007-02-25 21:55                   ` Eugene Prokopiev
@ 2007-02-25 22:16                     ` Денис Смирнов
  0 siblings, 0 replies; 29+ messages in thread
From: Денис Смирнов @ 2007-02-25 22:16 UTC (permalink / raw)
  To: культурный
	офтопик

On Mon, Feb 26, 2007 at 12:55:05AM +0300, Eugene Prokopiev wrote:

EP> Я не про BlockingChannelConnector вообще-то, а например, про 
EP> SelectChannelConnector ;)

А, я его по той ссылочке не нашел.

EP> Можно прочесть еще вот это - 
EP> http://www.webtide.com/downloads/whitePaperAjaxJetty.html
EP> NIO позволяет обслужить меньшим количеством потоков больше запросов. 

Угу, теперь понял.

EP> Т.е. пытается обыграть Erlang на его поле ;) . Да, подход Erlang с 
EP> практически неограниченным количеством легких потоков изящнее, но NIO, 
EP> похоже, в большинстве случаев работает не хуже.

У Erlang преимущество другое -- распределнность возведенная в абсолют. А
по производительности пытаться обогнать nginx дело неблагодарное, лучше
его использовать как фронтенд. Ну или быть полным психом, и встраивать его
код в свой :)

Мне больше нравится первое.

>>EP>>> Сейчас для одного совсем маленького web-проекта я использую DWR, там 
>>EP>>> работа ведется не в терминах http-запросов, а скорее в терминах RPC. GUI 
>>EP>>> на HTML (еще лучше здесь будет смотреться XUL), клиентская логика на 
>>EP>>> JavaScript, серверная - Java (точнее контекст Spring со встроенными в 
>>EP>>> него бинами Jetty, DWR, самого Spring и моими). Собственно DWR нужен, 
>>EP>>> чтобы из JavaScript дергать Java-код (бины, размещенные в контексте 
>>EP>>> Spring) и наоборот. Не факт, что тебе это подойдет, но посмотри.
>>>>%-)
> EP>> Не годится? ;)
>> Много слоев. 
EP> 2 - это немного (если не считать переходники JS<->Java, JSON<->JavaBeans 
EP> и JavaBeans<->БД, но они взяты готовыми). Я с трудом представляю себе 
EP> задачу, в которой не требовалось бы разделять UI и основную логику 
EP> работы (разве что последняя отсутствует - например, простая форма для 
EP> ввода данных в БД)

Логично.

>> Сходу не въехать, а при том я бы хотел оставить портируемость
>> большей части своего кода между языками. Да, я знаю что я псих.
EP> Т.е. свой DSL и его интерпретатор/компилятор на java/php/... ?

Ага, компилятор. Как я посмотрел в реальном приложении типа "простой
документооборот для малого бизнеса", например, объем логики хоть и
большой, но она вся тривиальная. И если писать такое на каком-нибудь PHP,
то проверка параметров, и простейшая работа с БД будут занимать большую
часть кода. На конструкции где полсотни строк кода валидации параметров, а
потом строк пять реального кода я уже даже смотрю спокойно.

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

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
God is Real, unless declared as Integer.


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2007-02-25 22:16 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-11  1:16 [room] Вопрос по PHP (или I Hate PHP) Денис Смирнов
2007-02-11  5:40 ` Anatol B. Bazyukin
2007-02-11 20:43   ` Денис Смирнов
2007-02-12  6:00     ` Eugene Prokopiev
2007-02-13 10:02       ` Денис Смирнов
2007-02-13 12:21         ` Damir Shayhutdinov
2007-02-13 16:16           ` Денис Смирнов
2007-02-13 16:37             ` Damir Shayhutdinov
2007-02-14 19:07               ` Денис Смирнов
2007-02-14 15:15                 ` Michael Shigorin
2007-02-15 10:45                   ` Денис Смирнов
2007-02-13 18:29         ` Andrey Rahmatullin
2007-02-14 19:03           ` Денис Смирнов
2007-02-14 14:59             ` Andrey Rahmatullin
2007-02-15 10:26               ` Денис Смирнов
2007-02-15 16:02                 ` Andrey Rahmatullin
2007-02-17 11:55                   ` Денис Смирнов
2007-02-14 15:11         ` Michael Shigorin
2007-02-15 10:45           ` Денис Смирнов
2007-02-17 17:22         ` Alexander Borovsky
2007-02-24 11:51           ` Денис Смирнов
2007-02-18 14:22         ` Eugene Prokopiev
2007-02-19  6:40           ` Eugene Prokopiev
2007-02-24 12:02             ` Денис Смирнов
2007-02-24 15:28               ` Eugene Prokopiev
2007-02-25  9:18                 ` Денис Смирнов
2007-02-25 21:55                   ` Eugene Prokopiev
2007-02-25 22:16                     ` Денис Смирнов
2007-02-19 11:02           ` Денис Смирнов

Культурный офтопик

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/smoke-room/0 smoke-room/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 smoke-room smoke-room/ http://lore.altlinux.org/smoke-room \
		smoke-room@lists.altlinux.org smoke-room@lists.altlinux.ru smoke-room@lists.altlinux.com smoke-room@altlinux.ru smoke-room@altlinux.org smoke-room@altlinux.com
	public-inbox-index smoke-room

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.smoke-room


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git