LINUX.ORG.RU

А почему такие ограничения в выборе средств разработки ?

может я хочу писать на CL и не "использовать check/Valgrind/m4/etc"

И ещё просветите неуча - что такое "артефакты проектирования".

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

Главное называется "Протоколы вычислительных сетей", а столько мусора внутри, шо ппц. Зачем такое загромождение ?

"Создание системы автоматическ_ое_ тестирован_ие_ созданной реали_Щ_ации протокола и проведение тестов. " - не по-русски как-то.

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

> Мэйл скажи - отправлю diff с исправленными опечатками.

Спасибо (mstu@sevik.ru), но ещё нет нужды --- это глубочайшая бета, которая подлежит полному переписыванию.

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

> А почему такие ограничения в выборе средств разработки ? может я хочу писать на CL и не "использовать check/Valgrind/m4/etc"

1. Потому что если их не ограничивать -- всё будет на C#. Средства не ограничиваются в курсовых и дипломных проектах.

2. См. раздел о назначении работы. Последний пункт.

3. Erlang был в другом курсе, где был уместен. Я долго раздумывал о написании SMTP-сервера на CL/Haskell, но в итоге отказался по ряду причин.

> И ещё просветите неуча - что такое "артефакты проектирования".

Всё, что придумано и нарисовано в конструкторском разделе.

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

> 1. Потому что если их не ограничивать -- всё будет на C#. Средства не ограничиваются в курсовых и дипломных проектах.

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

PS: дифф отправил, могу потом снова вычитать более финальную версию =) Лучше кстати разбивайте строки на 80 колонках - легче диффы будет читать.

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

> пусть пишут под моно

java/erlang/etc.

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

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

> а почему бы и нет ? Сделайте ограничение - должно использоваться ПО не нарушающее лицензии - пусть пишут под моно.

Начнём с осмысленности идеи SMTP-сервера на mono.

> Я так понимаю всё-таки суть задачи научить проектировать и писать программы, а не уметь писать мейкфайлы и пользоваться valgrindом.

Проектирование программ они как-то освоили. И кодирование. Кодирование того, что на проектировали -- в среднем нет.

Цель этой работы включает и написание мейкфайлов с валгнидом.

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

> java/erlang/etc

Варирование через платформы --- это моя мысль позапрошлого сезона. Сейчас я считаю её (в этом курсе) неуместной.

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

> Начнём с осмысленности идеи SMTP-сервера на mono.

а какая осмысленность никому не нужного SMTP-сервера на Си ?

> Цель этой работы включает и написание мейкфайлов с валгнидом.

дело ваше, но таким насильственным подходом вы скорее привьёте отвращение к этим в общем-то неплохим средствам.

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

С ненасильственным получается незнакомство ни с чем, кроме VS 200x в дефолтной поставке. (и они уже поняли это.)

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

Респект, товарищ! Правильное и нужное дело делаешь.

anonymous
()
Ответ на: комментарий от sv75

> С ненасильственным получается незнакомство ни с чем, кроме VS 200x в дефолтной поставке. (и они уже поняли это.)

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

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

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

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

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

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

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

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

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

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

Кроме того, у нас параллельно (по другому курсу) kernel hacking. Будете и там требовать разнообразия инструментов?

Я ещё раз повторяю -- вы цитируете мои же мысли 2-3 летней давности. Я уже их испытал на практике. Результат: от среднего до плохого. Вскрылась, например, такая проблема: студенты (большинство) не умеют пользоваться ни одной из платформ, которую хотят использовать.

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

PS Как я уже сказал, вы тратите впустую своё время, поскольку я уже спорило с сам собой ровно на эту же тему, и решение на этот сезон уже принял.

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

Re^8: Поругайте учебное задание

>> А зачем? Ведь парсится только конкретная полученная команда.

>> А если придёт только HELO, а имя домена за ней отправится только через час?


> Как придёт, так парсеру и отдай.


Ладно, конец большинства команд можно найти по \n. А как быть с DATA в SMTP?

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

Re^2: Поругайте учебное задание

> 1. Потому что если их не ограничивать -- всё будет на C#. Средства не ограничиваются в курсовых и дипломных проектах.

Кстати, можно ввести ограничение: для каждого языка, не являющегося C, принимается только одна работа на нём. Т.е. не более одной работы на додиезе, на жабе, на лиспе, на перле и т.д. :)

gaa ★★
()
Ответ на: Re^2: Поругайте учебное задание от gaa

Я делал лимиты на языки/платформы (менее жёсткие). Пришел к выводу, что педагогического смысла в этом около нуля.

> Ладно, конец большинства команд можно найти по \n. А как быть с DATA в SMTP?

Парсер вполне можно запускать только по параметрам команды, после выделение её идентификатора (и я уже дал такую подсказку на лекции).

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

> Как я уже сказал, вы тратите впустую своё время, поскольку я уже спорило с сам собой ровно на эту же тему, и решение на этот сезон уже принял

ок =) ну чем смогу - помогу.

> Кроме того, у нас параллельно (по другому курсу) kernel hacking. Будете и там требовать разнообразия инструментов?

Совершенно другая область - узкоспециализированная.

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

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

Средний студент предпочтет скорее нечто типа Делфи. Квалифицированные программисты используют UNIX-like стэк приложений, даже для разработки под Винду. Все дешево, надежно, сердито и продумано за 30 то лет. MS это понял и развивает ПаверШелл. В случае с FOSS, кроме того, не надо тратить время на бюрократию, обосновывая необходимость закупки компонентов этого стека - варез то в серьезных конторах запретили, маски-шоу никому не нужно.

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

> Совершенно другая область - узкоспециализированная.

Но это тоже, кстати, не практикум по программированию на (уже якобы изученной) платформе.

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

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

забавно. если вы мне сможете доказать, что написанный вами SMTP или POP3 клиент указанного уровня для платформы POSIX будет объективно лучше моего, написанного для Win32 на MSVC, я съем свою шляпу*.

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

> PS Как я уже сказал, вы тратите впустую своё время, поскольку я уже спорило с сам собой ровно на эту же тему, и решение на этот сезон уже принял.

вы думаете мы спорим с вами? :)

*) шляпы у меня нет но по такому случаю куплю

// wbr

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

> забавно. если вы мне сможете доказать, что написанный вами SMTP или POP3 клиент указанного уровня для платформы POSIX будет объективно лучше моего, написанного для Win32 на MSVC, я съем свою шляпу.

1. Как минимум он может быть скомпилирован и запущен на разных системах.

2. Это не задача на реализацию SMTP-сервера. Видимо я в этом тексте не достаточно ясно указал место это задачи в курсе. Хотя и пытался.

3. Ставить для Win32 bison/latex/и т.д. -- мучительно лень в учебном классе.

3. Изучение Win32 было в другом курсе. К чему повторяться?

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

Re^4: Поругайте учебное задание

>> Ладно, конец большинства команд можно найти по \n. А как быть с DATA в SMTP?

> Парсер вполне можно запускать только по параметрам команды, после выделение её идентификатора (и я уже дал такую подсказку на лекции).


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

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

> вы думаете мы спорим с вами? :)

Судя по флейму по рус/енг -- нет, скорее с друг с другом. :P

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

> Судя по флейму по рус/енг -- нет, скорее с друг с другом. :P

это мы ещё до самого главного не дошли, до мирового кризиса..

// wbr

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

Re^6: Поругайте учебное задание

> Я написал выше, чего они в этом случае не поймут.

Ну а я выше предложил задачу, на которой они поймут нужность select-а :)

gaa ★★
()
Ответ на: Re^4: Поругайте учебное задание от gaa

> Ну тут, в принципе, дело твоё. Я просто хочу замолвить словечко за тех, кому как и мне select покажется излишним, и они соорудят несколько потоков с блокирующим чтением.

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

// wbr

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

Re^6: Поругайте учебное задание

>> Ну тут, в принципе, дело твоё. Я просто хочу замолвить словечко за тех, кому как и мне select покажется излишним, и они соорудят несколько потоков с блокирующим чтением.

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


А оно там есть? Пардон, тогда несколько процессов.

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

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

Хмм.. они таймеры поставят?

sv75 ★★★★★
() автор топика
Ответ на: Re^6: Поругайте учебное задание от gaa

> А оно там есть?

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

> Пардон, тогда несколько процессов.

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

// wbr

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

> Хмм.. они таймеры поставят?

таймеры какие? RT? через timer_cretae()? ну-ну... только не удивляйтесь обилию выводов "&^%$%^$ какое %^$%^$ ваш Linux &^$%^$ не понятно!".

// wbr

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

Re^8: Поругайте учебное задание

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

Для студенческой курсовой успех -- это если она не сегфолтится в случае, отличном от номинального, а ты о масштабируемости :)

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

Так это они сами придумают для борьбы с ТЗ. Я им это связку (блокирование + таймеры) не предлагаю :)

Блокирующие операции в потоках будут разрешены для POP3 сервера. Исключительно по причине меньшего времени на выполнение работы. Соотвественно, требование ограничения времени там, вероятно, не ставится. Хотя... возможно, и там не стоит потакать лени. Надо ещё подумать.

Всем спасибо за мысли.

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

> Блокирующие операции в потоках будут разрешены для POP3 сервера. Исключительно по причине меньшего времени на выполнение работы. Соотвественно, требование ограничения времени там, вероятно, не ставится. Хотя... возможно, и там не стоит потакать лени. Надо ещё подумать.

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

// wbr

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

>> Пардон, тогда несколько процессов.

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

Апач так работает - и для среднего портала перформанс более чем достаточный. poll/select ведь нужен для обучения конечным автоматам насколько я понял?

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

Re^8: Поругайте учебное задание

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

> poll/select ведь нужен для обучения конечным автоматам насколько я понял?

А каким образом связаны poll/select и конечные автоматы?

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

> poll/select ведь нужен для обучения конечным автоматам насколько я понял?

Никоим образом.

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

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

Разумно говорите. Ладно, буду думать.

sv75 ★★★★★
() автор топика
Ответ на: Re^8: Поругайте учебное задание от gaa

>> Апач так работает - и для среднего портала перформанс более чем достаточный.

>Учитывая то, что в "среднем портале" основные тормоза приходятся на пыхпыхскрипты, лишний форк у апача заметно на общую производительность не повлияет.

Да даже и на статике лишний форк это копейки.

>> poll/select ведь нужен для обучения конечным автоматам насколько я понял?

>А каким образом связаны poll/select и конечные автоматы?

Вообще не связаны, но разве есть какая-то другая абстракция для построения асинхронного безтредового сервера?

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

Re^10: Поругайте учебное задание

>>А каким образом связаны poll/select и конечные автоматы?

> Вообще не связаны, но разве есть какая-то другая абстракция для построения асинхронного безтредового сервера?


Компьютер -- это вообще такая бааальшая машина состояний.

gaa ★★
()
Ответ на: Re^10: Поругайте учебное задание от gaa

>>>А каким образом связаны poll/select и конечные автоматы?

>> Вообще не связаны, но разве есть какая-то другая абстракция для построения асинхронного безтредового сервера?

>Компьютер -- это вообще такая бааальшая машина состояний.

Состояний у ЦПУ не так уж и много - что так есть кроме регистров?

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

>Ещё есть внешяняя (для ЦПУ) память :(

Это не состояние ЦПУ, а "входной алфавит".

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

> асинхронного безтредового сервера?

О, я понял, нагрузку на делающих POP3 сервер мы уменьшим, решив за них вопрос сколько должно быть тредов (1).

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

>> асинхронного безтредового сервера?

>О, я понял, нагрузку на делающих POP3 сервер мы уменьшим, решив за них вопрос сколько должно быть тредов (1).

"Безтредового" - я это условно сказал, в реакторах всегда несколько вспомогательных тредов есть. Или ты серьезно?

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

> "Безтредового" - я это условно сказал, в реакторах всегда несколько вспомогательных тредов есть. Или ты серьезно?

ммм... а зачем в реакторе [как шаблоне проектирования] нужны вспомогательные потоки? причём в обязательном порядке.

// wbr

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

Я про треды, работающие с сокетами, конечно. Хотя, может и вообще хватит 1-ой.

sv75 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.