OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 19:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 132 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 15 Январь, 2011 18:11 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Comdiv писал(а):
Alexey Veselovsky писал(а):
jsr это спецификация. Она текстовая и на английском :-)
Да, я могу реализации смешивать как угодно и запускать на разных jvm (jvm может называться jvm только после того как прошла сертификация и тестирование на соответствие спек на jvm).

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 19:10 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
Geniepro писал(а):
Выглядит уже неплохо, но смущает пустое тело цикла... :о)

2 Geniepro
Ну это как бы редуцированный вариант циклов такого рода:
while (сказалА) {сказатьБ}
где сказалА - функция, которая и делает и возвращает успешность делания
Мне нравится наглядность таких циклов и их безбрейковость.
Это как бы расширение (цикличное)
if сказалА then сказатьБ
Достаточно много ситуаций попадают под такой цикл.
while (ЕстьПорцияДанных(данные)) { обработатьДанные(данные) }
и т.п.
Главное, что можно избежать необходимости выполнять один и тот же код до входа в while и в теле цикла и т.д.
Ну а без тела цикла тоже иногда весьма кошерно:
while (Дышу) {} где функция Дышу и делает один такт дыхания :)
while (НямНям) {} :)

По-моему, нехорошо смешивать тело цикла с условием его продолжения -- это всё-таки разные сущности.
Вот ещё вариант неплохой:
Код:
string message; bool ok;
do
{
    message = TCPStreamIO.ReceiveString(streamin);
    ok      = (message != null);
    if (ok)
    {
        safeLogAppend(message);
        ok  = TCPStreamIO.SendMsg(streamout, message + "\n");
    }
}
while (ok);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 19:14 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Peter Almazov писал(а):
А не слишком ли вольно идет обращение с SrvIPStream?
Код:
if (SrvIPStream != null) {
//здесь SrvIPStream уже может быть == null: другой поток позаботился
}
Вполне возможно, в принципе. Ну тогда выпадет исключение, которое будет перехвачено и залогировано.
В принципе, можно вообще без проверок обойтись, но как-то совсем некрасиво будет -- сплошные эксепшены кругом...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 19:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Alexey Veselovsky писал(а):
Если же не брать десктопную мелочь, а брать сетевую инфраструктуру/телеком, то там всё давно хорошо (относительно конечно). Есть спецификации для компоненты. Ну, например rfc 3261 :-) Или XEP-0114. Или rfc 3525. И есть компоненты которые их реализуют. Они продаются, свободно распространяются и т.п. Из этих компонент строят инфраструктуру которая уже решает конкретную бизнес задачу.


Стандарты этого уровня достаточно вменяемые и реализуемые.
Например, стоимость реализации HTTP-сервера по стандарту - 3-4 чел-мес. Знаю лично, что за 2 мес. можно приемлемо поддержать стандарт, большую часть основных пунктов.

Тот же XML-разбор по стандарту поддержать - уже дороже. Но ещё в норме...
XML Query (который я, в общем, люблю) реализовать, с его алгеброй типов и проч., уже неподъёмно в разумные сроки. Это - для профильной тематики (СУБД-шные производители и проч.)

А CORB-ы всякие были горомоздчее в неск. раз.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 19:31 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Стандарты этого уровня достаточно вменяемые и реализуемые.
Например, стоимость реализации HTTP-сервера по стандарту - 3-4 чел-мес. Знаю лично, что за 2 мес. можно приемлемо поддержать стандарт, большую часть основных пунктов.

Не очень. Они кое-где противоречивы, кое-где с ошибками, и кое-где неоднозначны.
3-4 месяца -- очень оптимистично. Ну, т.е. возможно стандарту оно будет удовлетворять, но работать не будет :-)

Если что. у меня опыт разработки http-прокси сервера squid.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 19:46 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
С прокси, возможно, несколько сложнее - нужно учитывать какие-то "де-факто", которые в стандарте неоднозначны. Прокси ведь на середине между существующими серверами и клиентами.

У меня опыт реализации HTTP-сервера статики-динамики, который способен работать "на нормальном сайте". Как раз ситуация "большая часть важных пунктов" & 2 мес. работы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:03 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Geniepro писал(а):
По-моему, нехорошо смешивать тело цикла с условием его продолжения -- это всё-таки разные сущности.

Извините, но не совсем понял, точнее совсем не понял Ваше замечание :(
Может быть , если Вам интересно продолжать, укажите подробнее на то, что смущает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:05 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
С прокси, возможно, несколько сложнее - нужно учитывать какие-то "де-факто", которые в стандарте неоднозначны. Прокси ведь на середине между существующими серверами и клиентами.

У меня опыт реализации HTTP-сервера статики-динамики, который способен работать "на нормальном сайте". Как раз ситуация "большая часть важных пунктов" & 2 мес. работы.

Ну, видимо да. Тем более что прокси не абы какой. а кэширующий + он не только http...

Кстати! Если я таки осилю xmpp нормально завести под OpenBUGS'ом в рамках написания бота, то можно ли будет попробовать прикрутить ваш http-сервер чтобы логи конфы отдавать через http? А то O3 тащить на линукс как-то страшновато. Оно большое и страшное.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:06 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Чтобы отдавать динамику, требуется сервер отделить от ряда своих вещей.

А вот для статики его собрать можно хоть сейчас.
И под Win, и под Lin.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:09 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
Geniepro писал(а):
По-моему, нехорошо смешивать тело цикла с условием его продолжения -- это всё-таки разные сущности.

Извините, но не совсем понял, точнее совсем не понял Ваше замечание :(
Может быть , если Вам интересно продолжать, укажите подробнее на то, что смущает.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:13 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Илья Ермаков писал(а):
Чтобы отдавать динамику, требуется сервер отделить от ряда своих вещей.

А вот для статики его собрать можно хоть сейчас.
И под Win, и под Lin.

Статика. Нужно просто отдавать готовые лежащие html'ки из каталогов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:26 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Geniepro писал(а):
Ну как же? Ну вспомните, что такое цикл -- какие-то действия и некое условие, можно ли повторить выполнение этих действий.
Если выполнение этих действий совместить с вычислением условия их продолжения, то получится, что все яйца в одной корзине. Это может затруднить понимание алгоритма и снизить его пригодность к изменению/доработке...


Позвольте вначале повторить мой текст для наглядности.
albobin писал(а):
Ну это как бы редуцированный вариант циклов такого рода:
while (сказалА) {сказатьБ}
где сказалА - функция, которая и делает и возвращает успешность делания
Мне нравится наглядность таких циклов и их безбрейковость.
Это как бы расширение (цикличное)
if сказалА then сказатьБ
Достаточно много ситуаций попадают под такой цикл.
while (ЕстьПорцияДанных(данные)) { обработатьДанные(данные) }
и т.п.
Главное, что можно избежать необходимости выполнять один и тот же код до входа в while и в теле цикла и т.д.
Ну а без тела цикла тоже иногда весьма кошерно:
while (Дышу) {} где функция Дышу и делает один такт дыхания :)
while (НямНям) {} :)


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:31 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
То есть вас смущает, что в условии продолжения цикла используется функция в которой выполняются некоторые действия из как бы зоны ответственности тела цикла?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 20:52 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Geniepro писал(а):
albobin писал(а):
То есть вас смущает, что в условии продолжения цикла используется функция в которой выполняются некоторые действия из как бы зоны ответственности тела цикла?

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

Каких к примеру?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 21:02 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
Geniepro писал(а):
Так и до разных побочных эффектов скатиться недолго...
Каких к примеру?
Побочные эффекты -- это действия, которых никто не ожидал в данном месте.
Идёте себе, никого не трогаете -- бум! удар по почкам из-за угла от соседа, которого знаете сто лет. Неожиданно...

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 21:05 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
2 Geniepro
Может перекинуть наш диалог в новую открытую тему "Обобщённые циклы" для испытания суровым о(б)суждением ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 21:17 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Alexey Veselovsky писал(а):
Что-то я слабо понимаю, как можно что-то подключить статически в яве. Я знаю на практике, что реализации взаимозаменимы. Вообще опишите задачу которую вы хотите решить, а то слишком абстрактно рассуждаем.
Я ничего не хочу решать, просто удивился некоторым Вашим словам.
Исхожу из своего опыта работы с виртуальными машинами для мобильных устройств. Суть в том, что jsr ы реализуются не на яве, а, как правило, на чём-то более близком к железу, например си и си++, впрочем какая-то часть может быть и на яве. Поэтому мне очень интересно было бы узнать, как Вам удалось на практике связать разные реализации, и сможете ли Вы, к примеру, каким-то образом связать сановскую реализацию и эксельсиоровскую, сертифицированную сан.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 21:18 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Geniepro писал(а):
albobin писал(а):
Geniepro писал(а):
Так и до разных побочных эффектов скатиться недолго...
Каких к примеру?
Побочные эффекты -- это действия, которых никто не ожидал в данном месте.
Идёте себе, никого не трогаете -- бум! удар по почкам из-за угла от соседа, которого знаете сто лет. Неожиданно...

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


С побочными эффектами, поверьте, я хорошо знаком :( Программирование - моя повседневная работа.
Но тогда, следуя максимальной осторожности нельзя использовать в лог.выражениях условия цикла никаких функций :(
Но всё же , неужели нет ничего разумного в тех вариантах цикла о которых я говорил. Тем более , что в них нет по сути никакой новизны. Неужели практикующие программёры бросаются от них как чёрт от ладана, и какие такие основы они нарушают. только, пожалуйста, не про побочные эффекты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 21:23 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Comdiv писал(а):
Alexey Veselovsky писал(а):
Что-то я слабо понимаю, как можно что-то подключить статически в яве. Я знаю на практике, что реализации взаимозаменимы. Вообще опишите задачу которую вы хотите решить, а то слишком абстрактно рассуждаем.
Я ничего не хочу решать, просто удивился некоторым Вашим словам.
Исхожу из своего опыта работы с виртуальными машинами для мобильных устройств. Суть в том, что jsr ы реализуются не на яве, а, как правило, на чём-то более близком к железу, например си и си++, впрочем какая-то часть может быть и на яве. Поэтому мне очень интересно было бы узнать, как Вам удалось на практике связать разные реализации, и сможете ли Вы, к примеру, каким-то образом связать сановскую реализацию и эксельсиоровскую, сертифицированную сан.

jsr они же разные :-) Т.е. это же просто текстовое описание интерфейсов и семантики.
В т.ч. не для мобилок. В основном реализуются на яве.
Есть например JSR 32 -- спецификация на реализацию sip-либы. Там определен набор интерфейсов и семантики которую они должны реализовывать. Ну и все. Подгружаем конкретную реализацию, дергаем за интерфейсы. Больше нам о реализации знать ничего не надо.

И естественно это дело от jvm не зависит от никак. Если это конечно jvm а не какое-то левое не сертифицированное поделие.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Январь, 2011 22:14 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
2 Geniepro
Может перекинуть наш диалог в новую открытую тему "Обобщённые циклы" для испытания суровым о(б)суждением ?

Да как-то я не вижу связи между обобщёнными циклами и выполнением действий в внутри математических/логических выражений.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 132 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB