Содержание
- Ejudge marking error фоксфорд
- Вопрос:
- Комментарии:
- Ответ №1:
- FAQ (часто задаваемые вопросы)
- Что такое ejudge?
- Зачем мне делать эти задачи?
- Как зарегистрироватьcя?
- Я нашел ошибку или уязвимость в системе проверки.
- Система проверки выглядит некрасиво!
- Стартовая страница и/или этот FAQ выглядят некрасиво!
- Я похакал этот сервер!
- А сколько баллов мне дадут за %action%?
- Почему нет языка %language_name%? Я умею погромировать только на нем!
- Что означает valgrind рядом с gcc при отправке ответа на C или C++?
- Почему тесты проходят так медленно?
- У меня ошибка компиляции, но на моем компьютере все работает!
- У меня ошибка нарушения безопасности!
- У меня тест не прошел, где смотреть ошибку?
- У меня правильная программа, но тесты не проходят (на моем компьютере работает)!
- Что делать с задачей, у которой статус «ожидает подтверждения»?
- У меня появилась идея, как улучшить свое решение, можно мне отправить еще одно? Учтется ли оно как лишняя попытка?
- Я нашел ошибку в условии/условие не отображается.
- Я нашел ошибку в тесте.
- У меня идея для теста / Я написал некорректную программу, но она прошла все тесты.
- У меня есть идея для задачи!
- Кажется, я нашел пасхалку. Мне за это что-нибудь причитается?
- Почему мое решение отклонили?
- Почему дисквалифицировали мое решение?
- Но ведь невозможно написать 2 программы по одному условию, чтобы они не были похожи!
- Я просто взял решение друга, чтобы посмотреть, как он сделал, но писал код сам!
- Я сдал код первым, я не мог ни у кого списать!
- Задача %exercise% решается слишком просто на языке %language_name%, а я пишу на %other_language_name% и там тяжелее!
- За что снижаются баллы?
- Я сделал все задачи, а мне не дали баллов!
- Сколько мне дадут баллов, если задачи в модуле сделаны частично?
- Систем начисления баллов несправедлива!
- У меня проект состоит из нескольких файлов, как мне их отправить?
- Я списал, а мое решение не дисквалифицировали и засчитали задачу!
- Что означает сообщение «NOTE: The file checksum has been changed» в файле с ответом?
- Я не нашел ответа на свой вопрос.
- Онлайн школа ФОКСФОРД отзывы
- Настя
Ejudge marking error фоксфорд
#c #scanf #fork
Вопрос:
Почему этот код может генерироваться Runtime Error в ejudge? Эта программа подсчитывает количество stdin введенных слов. Слова могут быть разделены любым количеством ‘ ‘ и ‘n’ . Похоже fork() , это может вызвать проблему, но я не уверен, почему я не получаю ту же ошибку на своем компьютере.
ejudge использует gcc — простой C, 64-разрядный, используя -std=c11 или -std=gnu11
В стандартном входном потоке задается текстовая строка, состоящая из слов (последовательность символов, не являющихся пробелами), между которыми может быть любое количество пробелов, включая строки.
Вам нужно рассчитать количество слов, если вы знаете, что их не более 255, и вывести это значение в стандартный поток вывода.
Используйте создание новых процессов, чтобы каждый процесс считывал не более одного слова, например, используя scanf(«%s»,…).
Вы можете вывести результат только из процесса, который был запущен первым (т. Е. из исходной программы).
Полученная программа должна вернуться с кодом возврата 0.
Размер каждого слова не превышает 4096 байт.
Комментарии:
1. Почему вы закрываетесь вручную stdout ? Это может привести к ошибке в некоторых системах, когда ваша программа завершает работу и пытается закрыть ее снова. Кроме того, можете ли вы предоставить более подробную информацию об ошибке, которую вы получаете?
2. Кроме того, обратите внимание, что stdin может не получиться EOF даже после того, как закончатся фактические входные данные, это опять же зависит от среды.
3. Статус выхода ограничен 255. Это не сработает, если длина файла превышает 255 строк.
4. Это решение не будет работать, потому что stdio использует буферизацию ввода. scanf() может буферизировать больше входных данных, чем возвращаемое слово, и следующий дочерний процесс не начнет чтение с того места, на котором он остановился.
5. Я думаю if (i == 1) , так и должно быть if (i == 0) .
Ответ №1:
Переписал алгоритм, и он сработал! В первой версии было сделано много ненужных вилок. Например, если предполагалось 6, то создавалось 12.
Источник
FAQ (часто задаваемые вопросы)
Что такое ejudge?
Это сервер проверки задач, разработанный Александром Черновым из МГУ. Одна из самых распространенных систем для проведения олимпиад. Системе уже больше 10 лет.
При желании вы можете скачать с официального сайта виртуалку и открыть свой сервер проверки, со Scala и программистками.
Зачем мне делать эти задачи?
Чтобы проверить свои навыки программирования и получить баллы. Ну и в некоторых задачах придется думать, что может пойти не так.
Как зарегистрироватьcя?
- Зайти на страницу регистрации, ввести логин и почту
- Войти, используя логин и присланный на почту пароль
- Отредактировать свои данные
- Ввести свои настоящие данные
- Подтвердить регистрацию
После одобрения регистрации модератором можно будет зайти в систему с главной страницы. Рекомендуется сменить пароль, который был прислан при регистрации.
Я нашел ошибку или уязвимость в системе проверки.
Проинформируйте преподавателя о ней. Возможно, это проблема касается только этого сервера. Если нет — то, пожалуйста, сообщите об этом разработчику системы на github (создайте тикет описанием проблемы с шагами воспроизведения).
Система проверки выглядит некрасиво!
Ну, что поделать. Система старая, дизайнера в ней не было. Вы можете разработать свой дизайн, реализовать его и обкатать на виртуалке.
Стартовая страница и/или этот FAQ выглядят некрасиво!
Раньше это были вообще голые hmtl-страницы без стилей, но благодаря Александру Маковскому они выглядят более пристойно. Если у вас есть предложение, как улучшить внешний вид этих страниц — шлите свои варианты с нескучными обоями на почту.
Я похакал этот сервер!
Хорошо, что хоть кто-то это умеет делать. Пожалуйста, почините все обратно и шлите подробную историю своего хака. Вознаграждение будет.
Пожалуйста, ломайте со своего аккаунта. Ужесточать регистрацию и превращать ejudge в продолжение анекдота про столовую и солонки не хочется.
Экплоиты, особенно приводящие к DoS, старайтесь по максимуму проверять на виртуалке — вы же не хотите подгадить своим одногруппникам, обвалив сервер и задержав им сдачу заданий?
А сколько баллов мне дадут за %action%?
Все хорошие и/или полезные действия будут поощряться. Точное количество баллов определяется преподавателем, главное — не забывайте его своевременно информировать о своих нестандартных действиях.
Почему нет языка %language_name%? Я умею погромировать только на нем!
Язык программирования может отсутствовать по одной из трех причин: он не поддерживается системой проверки, не является безопасным (например, C#) или не распространен.
Список для первых двух категорий смотрите в документации/коде ejudge. Насчет последней категории — обсуждаемо, но учтите, что какой-нибудь Pascal включаться точно не будет, а на 1-2 курсе был предмет «Алгоритмические языки и программирование», в рамках которого студенты должны были усвоить языки программирования C и C++.
Теоретически возможен вариант, когда вы пишете на своем любимом языке, но потом транслируете его исходный код в исходный код на языке, поддерживаемым системой. В таком случае решение будет принято, однако вам нужно предоставить исходный код оригинала и инструкцию по трансляции оригинала в сданное решение. Разумеется, это то еще извращение и делать так настоятельно не рекомендуется.
Что означает valgrind рядом с gcc при отправке ответа на C или C++?
Valgrind — это программа для динамического обнаружения утечек и других ошибок при работе с памятью. Все программы на C и C++ запускаются в ее окружении, поэтому работают медленее. Но зато вам говорят, где у вас проблема при работе с памятью.
Почему тесты проходят так медленно?
Во-первых, программы на C и C++ запускаются в окружении valgrind (см. вопрос про него).
Во-вторых, вы на сервере не один (особенно если это конец семестра/модуля).
В-третьих, у всех запускаемых программ ограничиваются ресурсы (чтобы ваша программа по вычислению суммы двух чисел не сжирала всю память на сервере).
У меня ошибка компиляции, но на моем компьютере все работает!
Убедитесь, что вы написали код с учетом общепринятых стандартов (и например там нет какого-нибудь мусора от известного производителя ПО) и не используете нестандартные библиотеки.
Убедитесь, что вы прочли лог компилятора, который выдала вам система проверки и решили все проблемы.
Дайте посмотреть ваш код лучшему программисту в вашей группе. Если это внезапно вы, то пишите преподавателю.
У меня ошибка нарушения безопасности!
Наверно, вы лезете куда не стоит. Читаете больше файлов, чем надо, создаете лишние файлы, пингуете сервер и т.п.
Если вы пишете на питоне, то тогда это может означать, что вы получили исключение. Интерпертатор питона пытается вам выдать stacktrace, и при этом читает системные файлы (что ему запрещает делать модуль безопасности).
У меня тест не прошел, где смотреть ошибку?
Нажимайте на буквы в табличке!
У меня правильная программа, но тесты не проходят (на моем компьютере работает)!
Вы внимательно прочитали условие? Скачали тест и отладили программу, по шагам выполняя ее? Обратили внимание на поток ошибок (буква E)? Локализовали ошибку в тесте? Уверены, что ошибка не может быть вызвана каким-нибудь неопределенным поведением или особенностями компилятора? Вы попросили помощи у одногруппников?
Если на все вопросы вы можете с чистейшей совестью ответить «да», тогда высылайте всю информацию преподавателю, с подробным описанием того, что в тесте не так, как должно быть и почему.
Что делать с задачей, у которой статус «ожидает подтверждения»?
Этот статус означает, что ваше решение прошло все тесты, но преподаватель пока еще не посмотрел его исходный код и не одобрил его. Можно делать другие задачи и ждать, когда эта будет проверена преподавателем.
У меня появилась идея, как улучшить свое решение, можно мне отправить еще одно? Учтется ли оно как лишняя попытка?
Если вы присылаете еще одно решение, которое прошло все тесты, то предыдущее решение, прошедшее все тесты, не учитывается как попытка. Таким образом, можно бесплатно дополнять свое решение, например, добавлять поясняющие комментарии, рефакторить или наводить красоту. Проверяется только последнее решение.
Я нашел ошибку в условии/условие не отображается.
Пишите преподавателю, где ошибка, и почему вы считаете, что это ошибка.
Я нашел ошибку в тесте.
Опишите преподавателю максимально подробно, в чем именно заключается ошибка в тесте и какой на самом деле должен быть ответ.
У меня идея для теста / Я написал некорректную программу, но она прошла все тесты.
Отлично! Если вы уверены, что ситуация подходит под условие задачи, то высылайте преподавателю:
- исходный код, который прошел все тесты (и номер решения);
- описание случая, когда код будет работать некорректно;
- входные данные для теста, который покрывает этот случай — текстовый файл;
- выходные данные для теста — текстовый файл;
- исправленный исходный код, который проходит тест.
В качестве альтернативы вы можете предложить изменения в тексте условия задачи, которые исключат этот случай.
У меня есть идея для задачи!
Очень хорошо. Обсудите идею с товарищами. Обсудите с преподавателем и подумайте, куда эту задачу лучше приткнуть.
Возможно, задача потянет на ДЗ.
Кажется, я нашел пасхалку. Мне за это что-нибудь причитается?
Пасхалки — это прикольно. Возможно, они есть даже на этой странице. Первый, кто на потоке нашел пасхалку, получит баллы.
Почему мое решение отклонили?
Причин может быть несколько: вы не выполнили какое-нибудь условие задачи (например, в условии написано «выделять память только один раз», а вы выделяете ее на каждый чих), вы прислали обфусцированный код, вы прислали код, в котором захардкожены все тесты, в вашем коде есть какая-то неимоверная дичь, от которой захотелось выколоть себе глаза и т.д.
Если вы считаете отклонение несправедливым, самый справедливый суд в лице преподавателя готов рассмотреть вашу аппеляцию: шлите ее на почту.
Почему дисквалифицировали мое решение?
Проверяющая система решила, что ваш код очень похож на чужой, и есть сомнения, что решение вы выполнили полностью самостоятельно. Статус «дисквалифицировано» означает, что преподаватель посчитал так же.
Если вы считаете дисквалификацию несправедливой, самый справедливый суд в лице преподавателя готов рассмотреть вашу аппеляцию (присылайте ее на почту в свободной форме). Имейте в виду, что решение может быть пересмотрено и в худшую для вас сторону. Если вы отправите чужой код еще раз, то за модуль ejudge вы не получите баллов вообще (даже если потом полностью и честно сделаете сами).
Дополнительные вопросы по этой теме:
Но ведь невозможно написать 2 программы по одному условию, чтобы они не были похожи!
Я просто взял решение друга, чтобы посмотреть, как он сделал, но писал код сам!
Я сдал код первым, я не мог ни у кого списать!
Задача %exercise% решается слишком просто на языке %language_name%, а я пишу на %other_language_name% и там тяжелее!
Черт побери, так решите ее на %language_name%, в чем проблема-то? Выбирайте инструмент под задачу.
За что снижаются баллы?
Баллы снижаются за количество попыток (но некоторое число попыток на задачу — бесплатно), за отклонение решения, за выполнение модуля не в срок.
Я сделал все задачи, а мне не дали баллов!
К сожалению, преподавателю иногда надо спать и заниматься другими менее приятными делами, поэтому он реагирует не мгновенно. Задачи проверяются массово в конце модуля и иногда в середине.
Сколько мне дадут баллов, если задачи в модуле сделаны частично?
Баллы начисляются только за полностью выполненный модуль, в котором все задачи проходят все тесты, а исходных код проверен преподавателем.
Систем начисления баллов несправедлива!
Опишите максимально подробно, в чем именно заключается несправедливость, и как это можно, на ваш взгляд, решить. Присылайте свои предложения на почту преподавателю.
У меня проект состоит из нескольких файлов, как мне их отправить?
К сожалению, это ограничение системы ejudge. Возможно, кто-то невнимательно прочитал документацию. Если вы найдете способ, как настроить ejudge так, чтобы он корректно обрабатывал проекты из нескольких файлов — пишите.
Большинство языков позволяют создать программу, полностью расположенную в одном файле. Соответственно, вы можете найти/написать скрипт, который пакует ваш проект в один файл (или сделать это вручную).
Я списал, а мое решение не дисквалифицировали и засчитали задачу!
Это можно рассматривать как уязвимость системы проверки. При явке с повинной вам не только оставят баллы, но еще и сверху накинут. Но, разумеется, надо описать, как вы это сделали.
Что означает сообщение «NOTE: The file checksum has been changed» в файле с ответом?
Это служебное сообщение системы ejudge о том, что контрольная сумма файла ответа на тест была изменена во время тестирования.
Но, разумеется, никто его не менял и это баг системы, о котором было доложено разработчику.
На корректность вашей программы это сообщение никак не влияет. Если программа завалилась на этом тесте — надо ее исправить, если нет — не надо.
Я не нашел ответа на свой вопрос.
Задавайте его в чате. Возможно он потом попадет в этот FAQ.
Источник
Онлайн школа ФОКСФОРД отзывы
Настя
Сейчас все кинулись в репетиторство. Кому-то это удается, а кто-то вроде онлайн школы ФОКСФОРД оказался настолько оторванным от реальности вообще и от детей в частности, что диву даешься. Я выскажу свое личное мнение о том, почему вам нужно держаться подальше от этой пародии на обучение.
Когда зашла на сайт, сначала оторопела: Оксфорд? Но потом поняла: название просто придумано так, чтобы люди, как и я, читали неправильно и потом ассоциировали это образовательное нечто с одний из старейший университетов мира. Честно говоря, меня это покоробило. Уже один этот момент заставил бы меня развернуться и уйти — что это за бездарности, которые могут вылезти только за счет чужого имени? Выходит, сами они ничего из себя не представляют? Но я осталась — из чисто спортивного интереса. И знаете, вот после такого шока меня уже не впечатлил список крутых партнеров школы — если они связались с подделкой, копией, репликой если хотите, значит не так все хорошо в их королевствах.
Смотрю историю ФОКСФОРДа — а почему она заканчивается 2016-м годом? Сдохла фритюрница?
Школа хвастается исследованием некоей Synopsis group, якобы которая определила преподавателей школы как лучших в России. Странно, ведь, насколько я смогла узнать, «Российская Компания Synopsis проводник инновационных технологий в области медицины и фармации». Причем тут дополнительное образование? Да и исследование, выложенное на сайте, вообще не похоже на настоящее и не имеет даты проведения. В общем, опять подделка, господа.
На сайте гордо выставлены цифры, сколько часов занятий провели их педагоги, сколько страниц теории настрочили, да сколько задач придумали. Ребята, кому вы мозги полощите? Я знаю учителя, проработавшего 45 лет в школе, да так и не научившегося преподавать — всю жизнь зачитывал учебники. А уж о теоретиках и придумщиках задач уже анекдоты ходят, когда предлагают сложить яблоки со стульями, да теорию оторванную от реальности продвигают. Мне как родителю плевать на эти цифры.
И снова: 95% учеников Онлайн школы ФОКСФОРД поставило «5» учителю, но, правда, в 2015-2016 учебном году. Что-то меня сомнение гложет: в спячку они, что ли залегли на пять лет?
Страница «Выбрать способ подготовки» — просто детский сад! Простецкий алгоритм для первоклассника подставляет готовые ответы на ваши действия, а потом выводит стандартный ответ, одинаковый для всех вариантов: «Чтобы начать учиться, надо зарегистрироваться. Выберите удобный способ регистрации и введите свои данные, а я сделаю все остальное». Кого вы хотели удивить? Первоклашку? Настолько несерьезного отношения я еще не встречала.
Слушайте, а какая хрень эта их «Партнерская программа»! Во-первых, сразу режет глаза «онлайн-школа на 3-11 классов» — русский язык, видимо, не конек школы. Во-вторых вообще не понятно, в чем суть: какая-то таблица с расценками и огромная кнопка «Хочу стать веб-мастером!». Чего? Каким веб-мастером? Для чего? Что это вообще? А как вам это: «Покупка репетиторов 600-1150₽». Так они все — рабы, купленные на распродаже?
Ладно, посмотрим на курсы, которые проводит Онлайн школа ФОКСФОРД.
Взяла первый попавшийся — математика 11 класс. Не пойму, как интенсивное обучение может состоять из одного-единственного занятия в неделю? Это что за сонный интенсив такой? А вообще всем этим кандидатам и докторам кто-нибудь рассказывал об особенностях детской психики? Если бы так было, то занятие не длилось бы 3 часа — за это время (вам любой скажет) ребенок, даже в 11 классе, потеряет сосредоточенность и его внимание размажется, как масло на тосте. Ой, а за 12 тысяч вас научат только решать только задания №13-19, и все. Ах, да, вам еще нужно знать математику на 60 баллов, иначе вас научить не смогут.
Но за математику вы хотя бы знаете, сколько заплатите, а вот «гарантированный» курс стоит. «Выгодно!».
Знаете, вот больше не хочется бродить по сайту Онлайн школы ФОКСФОРД — все настолько примитивно, настолько дешево, настолько оторвано от реальности, что аж укачивает (мягко говоря). Уже и так понятно, что все эти ученые мужи понятия не имеют, кто такие дети и что с ними делать — одни считают их несмышлеными обезьянками, а другие — маленькими взрослыми.
Я уверена, что не будет толку от обучения в этой школе — только деньги потеряете, да драгоценное время, которое могли бы потратить на действительно серьезную подготовку к экзаменам.
Источник
Отвечать в конференциях и заводить новые темы может любой участник, независимо от наличия регистрации на сайте 7я.ру.
Технические проблемы в Фоксфорде
Взяли курс до 31 августа. В записи.
Столкнулись с техпроблемами.
Сразу оговорюсь, что источника интернета у нас два. Пробовали соответственно то один то другой.
.Зависало видео, не открывались презентации, ответы на вопросы тоже зависали.
Причем пробовали на планшете (самсунг) и макбуке. Компа нет. Ерунда везде одинаковая.
Ну и как после этого покупать их курсы?
Есть ли у вас тех проблемы с фоксфордом и как вы их решаете?
22.08.2018 18:05:49,
26 комментариев
Мы на 2 компьютерах смотрели. До 15 августа все работало, потом уехали на некоторое врем. В пятницу (24 августа) вернулись и решили продолжит просмотр, но все зависает.
26.08.2018 19:41:33, Вредный ёжик
Смотрю, у многих проблемы с просмотром с планшета. Мой смотрит в основном с планшета, уже второе лето.
Что-то там «не так, как с компа», но лекции смотреть вполне нормально.
Есть ли сейчас за проблемы, не знаю, ребёнок уехал.
23.08.2018 11:54:14, Helen May
Спасибо, еще минус в адрес планшета(
23.08.2018 11:59:00, Зака
Да я, вроде как, «за» выступала
23.08.2018 12:24:12, Helen May
Не знаю, я рассматриваю вариант не только лекции, но и задания, презентации….с планшетом удобнее, взять можно куда угодно, но если не все показывает, то для меня это минус скорее.
23.08.2018 15:06:21, Зака
Вчера возникли) Не открылся предпоследний урок из курса. Ужасно жаль(( Решать никак не будем, ибо сегодня дочка уедет на дачу до сентября. Так и не досмотрим(
23.08.2018 09:50:40, Лиметт
Вы на компьюторе или планшете смотрите?
23.08.2018 11:11:40, Зака
Ноут
23.08.2018 11:43:39, Лиметт
Нда….неприятно……не хотелось бы с таим столкнуться в течение учебного года
23.08.2018 11:47:06, Зака (не вошла)
Я в прошлом году покупала распродажный курс, думала, что ребенок летом посмотрит. Но летом на даче был только планшет, на котором курс не шел.
22.08.2018 22:42:49, Вероятность
А мой как раз с планшета смотрит. Уже второе лето.
Сейчас, правда, проверить не могу — ребёнок умотал.
23.08.2018 11:51:27, Helen May
В этом году получалось смотреть на планшете Самсунг, а в прошлом (или, возможно, позапрошлом) не могли ничего открыть на айпаде.
23.08.2018 12:11:44, Вероятность
на айпаде без проблем
Но вообще-то, конечно, это не правильно — детей и так трудно сподвигнуть на доп. занятия, а тут ещё и проблемы с просмотром.
23.08.2018 12:25:37, Helen May
Ну да, мой мальчик не расстроился совершенно. И я тогда честно проверяла, что не работает.
Но я покупала тогда курс совсем дешево, так что по стоимости он отбился даже на паре просмотренных еще в Москве уроков.
23.08.2018 12:50:13, Вероятность
За лето платили? Летом же бесплатно все.
23.08.2018 19:37:21, Красно Солнышко
Я примерно в начале мая покупала курс заканчивающегося учебного года, но это давно уже было, скорее, перед позапрошлым летом.
23.08.2018 21:39:44, Вероятность
Я не помню когда я курсы подключала, но все они бесплатные были.
23.08.2018 22:31:29, Красно Солнышко
Спасибо!
23.08.2018 11:12:21, Зака
Дочь летом два курса смотрела, один скидочный, другой бесплатный. Проблема была пару раз с презентацией в математике. писала в техподдержку, ей присылали ссылку на скачивание презентации. И в домашке по химии была один раз ошибка, тоже помогли. Но она смотрела с компа или ноутбука, с планшета там что-то не так открывалось.
22.08.2018 22:31:23, Понечка
С планшетом, я понимаю, хуже, не годится он для учения.
А как быстро техподдержка реагирует?
23.08.2018 11:13:24, Зака
математику она в конце июня-июле смотрела, реагировали очень быстро, не больше часа. С домашкой в августе чуть дольше, в течении дня, и долго выясняли какие-то технические параметры. Я сути не знаю, знаю только что с браузера Фаерфокс дочь перешла на Хром по их рекомендации.
23.08.2018 11:32:36, Понечка
Спасибо!
23.08.2018 11:57:55, Зака
В этот раз несколько курсов подключала до 31 августа. Проблем не было. Однако все они по промокодам, бесплатно, поэтому если бы и были бы, не расстроилась бы. Дареному коню…
22.08.2018 21:23:06, Красно Солнышко
Вы на компьютере смотрите? Спасибо!
23.08.2018 11:15:19, Зака
планшет, например. сегодня опять зависало видео. на планшете минут 20 висело. я уже не знаю что и думать. в чем причина. на макбуке не висло.
23.08.2018 19:07:13, Зака
Время прочтения
10 мин
Просмотры 23K
Recovery mode
Из песочницы
В одном
нецентральном
отдаленном регионе нашей необъятной страны как-то раз проходил очередной региональный этап Всероссийской олимпиады школьников по информатике и программированию. До 2014 года всё было хорошо, проводили олимпиаду на старой системе, написанной в далеких 2004 годах очень одаренным программистом, на Delphi. С тех пор его никто не менял — работал, ну и ладно. В 2014 году решили попробовать ejudge. Поднимать всё с исходников не стали, решили взять готовое, образ для виртуальной машины. Всё было хорошо, все работало.
Но тут наступил 2015 год, в котором некоторые пункты проведения олимпиады немножко, совсем чуть-чуть поменяли, и нужные «человеки» об этих изменениях узнали только за 1-2 дня до начала…
Тут-то и начинается самое веселое.
Дело в том, что почти все эти изменения касались только нас двоих(я + ripatti).
Я отвечал за сервер (fedora19, ejudge) и его работоспособность, он отвечал за подготовку тестов, конфигурации туров в целом. У него в этом довольно богатый опыт.
Итак, пойду по хронологическому порядку.
21 января, среда
Меня спрашивают, смогу ли я поднять сервер для олимпиады на базе выделенных машин университета, на что я отвечаю отрицательно, ибо времени оставалось мало, и среда для меня может быть незнакомой (думал, что там VMWare, а я только на Virtual Box мог). В общем, я не смог дать гарантию, что всё будет хорошо.
22 января, четверг
Узнаю, что появилось такое понятие, как токены. Это означало лишь одно: решения участников должно проверяться во время тура, а не после. Вспомнив прошлогодний тур, решил, что один сервер всё потянет. В прошлом году же ничего не упало, все сработало, все были довольны. Начал работать над сервером. Привез машину (железо) в стены университета.
пояснение
Сервер с ejudge я поднял в стенах своего лицея, в прошлом году, заранее, до олимпиады. Поэтому на прошлом региональном этапе было принято испробовать готовое решение.
Вечером узнаю от напарника, что предыдущая версия ejudge (2.3) не удовлетворяет требованиям. Как раз к этому времени Александр Чернов выложил рабочую версию. Даже специально завел новый репозиторий со всеми настройками пробного тура. Было очень заманчиво, потому что у меня в голове была идея настроить старую версию. Решили собрать новую версию из исходников, так как готового образа не было. Тут начались первые проблемы.
Проблема: как пустить ssh по не 22 порту?
предыстория, решение (частичное)
Дело тут в университете. Они, как и любая организацию, блокируют 22 порт снаружи. Мы могли в стенах универа работать спокойно, а вот за стенами начились бы проблемы. Слава Богу, мой научный руководитель был администратором кластера, у которого был внешний IP, но доступ к нему был запрещен. Попросил его помочь, в итоге он нам полностью всё настроил. На самом деле, я попросил дать мне ssh доступ к кластеру (откуда я спокойно попадал на свой сервер по 22 порту), но ему очень не хотелось раздавать доступ налево-направо. Решили «кардинально решить проблему». Я ему даю все пароли, логины, а он обещал посмотреть. Да, человек я доверчивый.
На самом деле, я и сам пытался это сделать, но не смог.
Вырезки из того, что он потом прислал:
… в-третьих, настройки ssh-сервера хранятся в /etc/ssh/sshd_config, а не ssh_config, я добавил в первом
Port 22
Port 5000
PermitRootLogin noи все вывесилось как надо:
[root@localhost ssh]# service sshd status
Redirecting to /bin/systemctl status sshd.service
sshd.service — OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Thu 2015-01-22 21:01:38 YEKT; 4min 53s ago
Ур-р-а!
Порт 5000 для ssh свободен, я могу к нему зайти.
Но ни гитхаба, ни yum update, ничего…
Точнее, ночью я эти вещи не смог настроить.
В 7 утра позвонил (разбудил напарника), всё рассказал. Проблема стояла в том, что мы тупо не могли скомпилировать исходный код, ибо некотоые библиотеки отсутствовали, я стягивать их нельзя (ssh 5000). Пытался по одному, но там, блин, зависимости, очень хорошие.
Решили создать другой сервер с полными настройками ejudge (3.3) так, чтобы потом не пришлось заходить к серверу (она находилась в серверной, под замком, было проблематично получить физический доступ к машине).
23 января, пятница, начало пробного тура в 16:00
В 9 утра иду сдавать коллоквиум по Функану, декан что-то поставил, не смотрел. Вроде не «неуд».
В 10 часов начинаю собирать новый ejudge параллельно с Артемом. У него это получается чуть быстрее, я же остановился на мелком шаге и перестал дальше думать.
Вторая проблема.
Собрать ejudge весрии 3.3 из образа fedora19 c ejudge 2.3
Не стали удалять старую версию, просто начали ставить новую.
Стягиваем исходный код с гитхаба, запуск.
git clone https://github.com/blackav/ejudge.git
cd ejudge/
./fedora-configure
make
su
make install
#Вроде теперь надо просто запустить ejudge-control, но:
ejudge-control
Tue Jan 27 01:24:35 2015:info:ej-users 2.3.29, compiled Sat Dec 14 07:58:33 2013
mysql: SELECT config_val FROM config WHERE config_key = 'version' ;
Tue Jan 27 01:24:35 2015:info:ej-super-server 2.3.29, compiled Sat Dec 14 07:58:33 2013
Tue Jan 27 01:24:35 2015:info:configuration file parsed ok
Tue Jan 27 01:24:36 2015:info:ej-jobs 2.3.29, compiled Sat Dec 14 07:58:33 2013
Tue Jan 27 01:24:36 2015:info:ej-contests 2.3.29, compiled Sat Dec 14 07:58:33 2013
Tue Jan 27 01:24:36 2015:info:using files as the new-server database
Да, именно, ejudge-conrtol подцепил старую версию.
Всё заработало, заходим на веб версию — видим старое.
Переименовал папку, где находился старая версия бинарника. При этом преследовал 2 цели: сделать так, чтобы он пропал из путей и сделать бэкап старой версии.
Теперь запускаем заново ejudge-control, который находится в /usr/bin/ejudge-control:
[ejudge@localhost ~]$ ejudge-control start
2015-01-27T19:03:18Z:info:ej-users 3.3.1, compiled 2015-01-23 09:25:21
mysql: SELECT config_val FROM config WHERE config_key = 'version' ;
2015-01-27T19:03:18Z:info:ej-super-server 3.3.1, compiled 2015-01-23 09:25:21
2015-01-27T19:03:18Z:info:configuration file parsed ok
2015-01-27T19:03:19Z:info:ej-jobs 3.3.1, compiled 2015-01-23 09:25:21
2015-01-27T19:03:19Z:info:ej-contests 3.3.1, compiled 2015-01-23 09:25:21
2015-01-27T19:03:19Z:info:using files as the new-server database
Ещё немножко шаманства, и пробный тур готов!
Это мы сказали, когда время было примерно 17:00.
Я побежал с дистрибутивом в серверную. Прихожу, а там экран только потух. Думал, уснул монитор. Всё хуже — только что сисадмин по непонятной мне причине отрубил питание у моего железа. Теперь я жду, пока windows server 2008 загрузится, дальше копирую, импортирую в virtual box, запускаю, проставляю статические адреса, настраиваю ssh. Из-за того, что в прошлый раз мне его настраивал мой науч.рук (Юлдашев Артур Владимирович), в этот раз пришлось потратить кучу времени. Усугублялось всё это тем, что в серверной у меня не было возможности погуглить.
Время 17:45, пробный тур почти закончился, у нас сервер до сих пор не встал… Поступают множество звонков — отвечаем, мол, всё, закругляемся, сервер не успеем поднять.
Время 18:00, сервер ещё не встал. Собрались с другими жюри, думаем, как выйти из этой ситуации.
Было решено следующее: Мы с Артемом не спим, допиливаем пробный тур и первый, приготовим всё к 10, с 10:00 по 11:00 запускаем пробный тур, а в 11:00 запускаем 1 тур. Так мы лишились сна на 2 ночь.
Попрощались и поехали домой. Дома стали заново всё настраивать, настроили. К утру всё было готово.
24 января, суббота, 1 тур (официальное расписание)
Начинается пробный тур, и тут мы, наконец, поняли, с чем имеем дело.
Токены
Что это такое?
В прошлом году была следующая ситуация: участник отправляет исходный код на тестирующую систему, которая, в свою очередь, проверяет только на тестах, которые показаны на примере к задаче. Если посылка их не проходит, то она не становится в очередь для полной проверки. Поэтому наш почетный один сервер спокойно справлялся со всей нагрузкой(всего было 150 участников).
В этом году мы должны были проверять решение сразу на всех тестах. Чтобы участники не злоупотребляли этим, было введено это понятие — токены. Это, так сказать, право посмотреть результат своей посылки. Он был равен 10. То есть, я могу посылать решение задачи сколько угодно раз, но посмотреть смогу лишь 10 раз. Последующие посылки на свой страх и риск.
Пробный тур начался, а у нас задержка сервера уже 15 минут. То есть участник отправляет решение на сервер, а оно там проверяется только через 15 минут. Не испугались мы этого. А зря. Подумали, что пройдет.
Я делаю Reload contest, сбрасываю весь очередь посылок. При этом никому об этом не сообщил. В итоге за 10 минут до конца пробного тура нас снова забрасывают посылками. Тихонько закрываем контест, открываем контест 1 тура.
11:00, 1 тур
Буквально через 15-20 минут приходят несколько посылок, появляется нехорошая очередь. Артем сразу дал понять. В первой задаче, в самой легкой, как ожидалось, всего 48 тестов. Решение есть в лоб, который набирает 50 баллов из 100, а есть хорошее решение, до которого нужно додуматься. Но об этом большинство должно было узнать только после того, как их решение получило TLE. Как вы поняли, одна посылка задачи А, решенная в лоб, занимало у сервера 24 секунды. Таких посылок становилось всё больше и больше, стали поступать вопросы к жюри по поводу времени тестирования. Артем всё грамотно пояснил, отправил сообщение для всех. Но даже при этом, почти каждый отправил хотя бы одно «халявное» решение А. И тут очередь закономерно начал возрастать. Сперва 15 минут, потом резко 45. Все, особенно участники, были обеспокоены, напряжены, недовольны. В первую очередь нами. Артем в это время сидел дома, я был на месте и слышал в свой адрес почти всё, что должен был услышать. Начали думать, нужно как-то попытаться выходить из ситуации. Нашли нужную статью в документации, но не смогли воспользоваться. После этого мы просто закрыли глаза на 30 вопросов и ждали, когда всё это закончится.
Наконец, закончился! Задержка проверки — 1 час. Участник должен был отправить решение за час до конца, чтобы успеть посмотреть протокол проверки.
16:00, иду в актовый зал. Встречаю недовольные глаза. Ещё бы, я только что лишил детей выхода на финал. Как на меня ещё можно было смотреть. С одним очень известным учителем пересекся, рассказал, в чем проблема, какие есть решения — распараллелить. Пожелал мне удачи.
Всем объявили о проблеме, открыто. Сказали, что мы не ожидали таких нагрузок и тому подобное. Сразу же начали думать, искать выход из положения.
Вариант №1. Поставить в каждом дисплейном классе по 1 серверу, в больших классах — по 2. После олимпиады все результаты соберем, проблем с сетью не будет ни у кого, нагрузку можно будет снизить в порядок, что и даст возможность отвечать всем требованиям на 100%. Очевидны изъяны: сейчас суббота, почти все дисплейный классы уже закрыты, в том числе серверная. Серверов у нас под рукой нет, образов 2 тура тоже. Дисплейные классы находятся слишком далеко друг от друга, в 3 корпусах. Про доступ по ssh можно и не говорить. 2 тур начинается в понедельник 9 утра, железно. За утро понедельника такое дело не сделать, ибо нас всего лишь двое.
Вариант №2: подключить вычисляющие узлы к основному серверу. Этот случай идеальный. Ничего не нужно менять в плане организации олимпиады. Единственная проблема — создать эти вычисляющие узлы.
Под рукой тогда ничего не было. 1 звонок — и через час у нас 13 ноутбуков, core-i7, по 8 ГБ ОЗУ. Единственный образ машины, который у меня был — образ пробного тура.
20:00, сидим на кафедре, настраиваем сервер для 1 ноутбука. Позвонили Артему, пусть приезжает, помогает мне всё настроить (я не умел настраивать тур). Вдруг в голову организатора приходит мысль — дом же пустой (жена с внуками прилетает только воскресенье днем), пойдем ко мне, на ночь.
Все довольны, точнее, мы с Артемом. С нами едет ещё один учитель, помогать нам.
25 января, ночь — день
Взяли с собой 7 ноутов, приехали, распаковались. Приготовили нам вкусную еду, и мы, набравшись сил, начали.
Настроили 2-й тур, скинули образ в накопитель и задумались, а может попробовать распараллелить?
Времени много, сил, вроде, тоже.
А теперь самое интересное. Как устроен ejudge.
Есть служба (демон), отвечающий за компиляцию, запуск, тестирование программ — ej-super-run. Данные он берет из /home/judges/, где обычно расположены конфигурационные файлы, тесты, чекеры и присланные решения.
Не знаю, какой именно процесс отвечает за веб-интерфейс, но мы запускали ejudge-control, который запускал всю систему. Вдаваться в подробности не стал.
Под распараллеливанием предлагалось расшарить папку /home/judges/. Причем не важно как — SSHFS, Samba, NFS.
Но для этого нужно собрать заново с определенным ключом рабочие узлы, как их называют в распределенных системах — slaves. Лабораторные работы по ОС включали в себя создание сетевых папок при помощи NFS и Samba. Я с легкостью принялся за самбу и тут же уперся в первую проблему, которую уже лень было решать. бросив его, принялся за NFS. Закономерно было ожидать, что тут я тоже встречу множество проблем. Осталось последнее, более знакомое мне SSHFS. Знакомо потому, что с SSH я как-то дружил, часто работал с ним.
Открыл первый туториал, все настроил.
Сперва убедимся, директория /home/judges/ пуст, иначе очищаем её.
sshfs ejudge@192.168.1.11:/home/judges/ /home/judges/
После этого директория /home/judges/ становится общей с серверным. Для полного удобства можно смонтировать его, но мы этого не стали делать, ибо уже утро.
Если нужно указать другой порт, то следует добавить параметр -p
sshfs -p 5000 ejudge@192.168.1.11:/home/judges/ /home/judges/
В случае с нашим сервером это было актуально.
И, Слава Богу, заработало!
В качестве сервера выбрали один ноут, в качестве slave — другой. Речь идет и виртуальных машинах, поднятых на них.
Через веб интерфейс запустил 2 посылки (с while(true), чтобы выдавал на всех тестах TLE), которую сам же сервер и выполнил, засекли время. Запустили ej-super-run на рабочем узле, снова отправили на перепроверку 2 задачи — счастье.
Рабочий узел подхватил посылку, начал тестировать. Время проверки почти в 2 раза меньше, 30 секунд против 50.
Следующим шагом связали рабочий узел с реальным сервером, ведь теперь 5000 порт нам не страшен.
Начали заливать на остальные ноуты, попутно оптимизируя настройки. Хотели скрипт красивый написать, который легко мог бы прописать все настройки, но, увы — кривые руки на то и кривые, что такие вещи сразу не могут сделать. Все настройки прописывал руками. На сервере остановили процесс ej-super-run, пусть занимается только веб интерфейсом.
Далее мы задумались: на каждом ноуте имеется 4 ядра, 1 рабочий узел может проверять только в однопоточном режиме.
Дай человеку гору золота, он ещё одну захочет
Либо мы поднимаем 1 виртаульную машину, даем ему много ресурсов, а в ней распараллеливаем по ядрам, либо просто поднимаем 2 виртуальные машины, по 2 ядра.
Нам было всё равно, насколько ускорялась система — в 2 или 3 раза, если всё равно машин у нас много. Решили остановиться на достигнутом, поднимать по 2 машины на ноуте. Когда все 7 ноутбуков были готовы, мы решили себя наградить сном в 12 часов.
26 января, 08:30
Уже свеженький, в университете, Артем тоже приехал. Достали все 13 ноутов, ребята из «службы по сетям» оперативно обжали провода, настроили сеть, в итоге 12 из них уже были в сети, 13-ый ноут выхода в интернет так и не получил, провод, видимо, был старый. Быстро поднял 7 первых, после чего веб интерфейс начал ужасно тормозить, видимо sshfs скачивал к себе всю директорию, которая была довольно-таки пухленькой.
2 тур начался, у нас уже 14 рабочих узлов! Тихонько стал подключать узлы к системе, по одному, чтобы не перегружать систему.
Очереди на сервере не превышало 10 одновременно выполнявшихся тестирований. То есть, в принципе, достаточно и 5 ноутов, чтобы провести полноценный тур.
Приходили из телевидения, им сказали, что у нас 24 рабочих узла. Пришлось до конца олимпиады поднять все, чтобы сдержать слово.
В итоге 2-й тур участники написали гораздо лучше, чем 1-й, хотя в 1-м туре был участник, который написал на 400, а на 2 туре, набрали только 370.
Альтернатива
На самом деле, всем всё было давно известно, и для этого даже прибегли к помощи Яндекса. Последний принимал заявки от регионов, которые не могли самостоятельно провести региональный этап по новым требованиям. Заявки нужно было подать за 10 дней до олимпиады, поэтому мы этот способ не рассматривали. К Яндексу обратились 26 регионов.
Также сказали, что в других регионах тоже не всё хорошо, баллы низкие в целом.
Вот так мы, технические жюри, позорно провели региональный этап Всероссийской олимпиады.
Вывод
UPD:
Список ошибок:
1) Как студент, у которого в программе обучения есть распараллеливание задачи(openMP, MPI), я должен был понять, что на 1 машине олимпиаду провести нельзя
2) Похоже, нужно ещё раньше начинать интересоваться, самому ходить, узнавать, что нового, а не ждать, пока позвонят. Дело в том, что в этом году я специально, за месяц, а то и за 2, интересовался насчет РОИ, но мне ничего толкового не сообщили.
Как нельзя проводить олимпиаду или настройка ejudge с распределением вычислений
В одном нецентральномотдаленном регионе нашей необъятной страны как-то раз проходил очередной региональный этап Всероссийской олимпиады школьников по информатике и программированию. До 2014 года всё было хорошо, проводили олимпиаду на старой системе, написанной в далеких 2004 годах очень одаренным программистом, на Delphi. С тех пор его никто не менял — работал, ну и ладно. В 2014 году решили попробовать ejudge. Поднимать всё с исходников не стали, решили взять готовое, образ для виртуальной машины. Всё было хорошо, все работало.
Но тут наступил 2015 год, в котором некоторые пункты проведения олимпиады немножко, совсем чуть-чуть поменяли, и нужные «человеки» об этих изменениях узнали только за 1-2 дня до начала…
Тут-то и начинается самое веселое.
Дело в том, что почти все эти изменения касались только нас двоих(я + ripatti).
Я отвечал за сервер (fedora19, ejudge) и его работоспособность, он отвечал за подготовку тестов, конфигурации туров в целом. У него в этом довольно богатый опыт.
Итак, пойду по хронологическому порядку.
21 января, среда
Меня спрашивают, смогу ли я поднять сервер для олимпиады на базе выделенных машин университета, на что я отвечаю отрицательно, ибо времени оставалось мало, и среда для меня может быть незнакомой (думал, что там VMWare, а я только на Virtual Box мог). В общем, я не смог дать гарантию, что всё будет хорошо.
22 января, четверг
Узнаю, что появилось такое понятие, как токены. Это означало лишь одно: решения участников должно проверяться во время тура, а не после. Вспомнив прошлогодний тур, решил, что один сервер всё потянет. В прошлом году же ничего не упало, все сработало, все были довольны. Начал работать над сервером. Привез машину (железо) в стены университета.
Вечером узнаю от напарника, что предыдущая версия ejudge (2.3) не удовлетворяет требованиям. Как раз к этому времени Александр Чернов выложил рабочую версию. Даже специально завел новый репозиторий со всеми настройками пробного тура. Было очень заманчиво, потому что у меня в голове была идея настроить старую версию. Решили собрать новую версию из исходников, так как готового образа не было. Тут начались первые проблемы.
Проблема: как пустить ssh по не 22 порту?
Дело тут в университете. Они, как и любая организацию, блокируют 22 порт снаружи. Мы могли в стенах универа работать спокойно, а вот за стенами начились бы проблемы. Слава Богу, мой научный руководитель был администратором кластера, у которого был внешний IP, но доступ к нему был запрещен. Попросил его помочь, в итоге он нам полностью всё настроил. На самом деле, я попросил дать мне ssh доступ к кластеру (откуда я спокойно попадал на свой сервер по 22 порту), но ему очень не хотелось раздавать доступ налево-направо. Решили «кардинально решить проблему». Я ему даю все пароли, логины, а он обещал посмотреть. Да, человек я доверчивый.
На самом деле, я и сам пытался это сделать, но не смог.
Вырезки из того, что он потом прислал:
… в-третьих, настройки ssh-сервера хранятся в /etc/ssh/sshd_config, а не ssh_config, я добавил в первом
Port 22
Port 5000
PermitRootLogin no
и все вывесилось как надо:
[root@localhost ssh]# service sshd status
Redirecting to /bin/systemctl status sshd.service
sshd.service — OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Thu 2015-01-22 21:01:38 YEKT; 4min 53s ago
В 7 утра позвонил (разбудил напарника), всё рассказал. Проблема стояла в том, что мы тупо не могли скомпилировать исходный код, ибо некотоые библиотеки отсутствовали, я стягивать их нельзя (ssh 5000). Пытался по одному, но там, блин, зависимости, очень хорошие.
Решили создать другой сервер с полными настройками ejudge (3.3) так, чтобы потом не пришлось заходить к серверу (она находилась в серверной, под замком, было проблематично получить физический доступ к машине).
23 января, пятница, начало пробного тура в 16:00
В 9 утра иду сдавать коллоквиум по Функану, декан что-то поставил, не смотрел. Вроде не «неуд».
В 10 часов начинаю собирать новый ejudge параллельно с Артемом. У него это получается чуть быстрее, я же остановился на мелком шаге и перестал дальше думать.
Вторая проблема.
Не стали удалять старую версию, просто начали ставить новую.
Стягиваем исходный код с гитхаба, запуск.
Да, именно, ejudge-conrtol подцепил старую версию.
Всё заработало, заходим на веб версию — видим старое.
Переименовал папку, где находился старая версия бинарника. При этом преследовал 2 цели: сделать так, чтобы он пропал из путей и сделать бэкап старой версии.
Теперь запускаем заново ejudge-control, который находится в /usr/bin/ejudge-control:
Ещё немножко шаманства, и пробный тур готов!
Это мы сказали, когда время было примерно 17:00.
Я побежал с дистрибутивом в серверную. Прихожу, а там экран только потух. Думал, уснул монитор. Всё хуже — только что сисадмин по непонятной мне причине отрубил питание у моего железа. Теперь я жду, пока windows server 2008 загрузится, дальше копирую, импортирую в virtual box, запускаю, проставляю статические адреса, настраиваю ssh. Из-за того, что в прошлый раз мне его настраивал мой науч.рук (Юлдашев Артур Владимирович), в этот раз пришлось потратить кучу времени. Усугублялось всё это тем, что в серверной у меня не было возможности погуглить.
Время 17:45, пробный тур почти закончился, у нас сервер до сих пор не встал… Поступают множество звонков — отвечаем, мол, всё, закругляемся, сервер не успеем поднять.
Время 18:00, сервер ещё не встал. Собрались с другими жюри, думаем, как выйти из этой ситуации.
Было решено следующее: Мы с Артемом не спим, допиливаем пробный тур и первый, приготовим всё к 10, с 10:00 по 11:00 запускаем пробный тур, а в 11:00 запускаем 1 тур. Так мы лишились сна на 2 ночь.
Попрощались и поехали домой. Дома стали заново всё настраивать, настроили. К утру всё было готово.
24 января, суббота, 1 тур (официальное расписание)
Начинается пробный тур, и тут мы, наконец, поняли, с чем имеем дело.
Что это такое?
В прошлом году была следующая ситуация: участник отправляет исходный код на тестирующую систему, которая, в свою очередь, проверяет только на тестах, которые показаны на примере к задаче. Если посылка их не проходит, то она не становится в очередь для полной проверки. Поэтому наш почетный один сервер спокойно справлялся со всей нагрузкой(всего было 150 участников).
В этом году мы должны были проверять решение сразу на всех тестах. Чтобы участники не злоупотребляли этим, было введено это понятие — токены. Это, так сказать, право посмотреть результат своей посылки. Он был равен 10. То есть, я могу посылать решение задачи сколько угодно раз, но посмотреть смогу лишь 10 раз. Последующие посылки на свой страх и риск.
Пробный тур начался, а у нас задержка сервера уже 15 минут. То есть участник отправляет решение на сервер, а оно там проверяется только через 15 минут. Не испугались мы этого. А зря. Подумали, что пройдет.
Я делаю Reload contest, сбрасываю весь очередь посылок. При этом никому об этом не сообщил. В итоге за 10 минут до конца пробного тура нас снова забрасывают посылками. Тихонько закрываем контест, открываем контест 1 тура.
11:00, 1 тур
Наконец, закончился! Задержка проверки — 1 час. Участник должен был отправить решение за час до конца, чтобы успеть посмотреть протокол проверки.
16:00, иду в актовый зал. Встречаю недовольные глаза. Ещё бы, я только что лишил детей выхода на финал. Как на меня ещё можно было смотреть. С одним очень известным учителем пересекся, рассказал, в чем проблема, какие есть решения — распараллелить. Пожелал мне удачи.
Всем объявили о проблеме, открыто. Сказали, что мы не ожидали таких нагрузок и тому подобное. Сразу же начали думать, искать выход из положения.
Вариант №1. Поставить в каждом дисплейном классе по 1 серверу, в больших классах — по 2. После олимпиады все результаты соберем, проблем с сетью не будет ни у кого, нагрузку можно будет снизить в порядок, что и даст возможность отвечать всем требованиям на 100%. Очевидны изъяны: сейчас суббота, почти все дисплейный классы уже закрыты, в том числе серверная. Серверов у нас под рукой нет, образов 2 тура тоже. Дисплейные классы находятся слишком далеко друг от друга, в 3 корпусах. Про доступ по ssh можно и не говорить. 2 тур начинается в понедельник 9 утра, железно. За утро понедельника такое дело не сделать, ибо нас всего лишь двое.
Вариант №2: подключить вычисляющие узлы к основному серверу. Этот случай идеальный. Ничего не нужно менять в плане организации олимпиады. Единственная проблема — создать эти вычисляющие узлы.
Под рукой тогда ничего не было. 1 звонок — и через час у нас 13 ноутбуков, core-i7, по 8 ГБ ОЗУ. Единственный образ машины, который у меня был — образ пробного тура.
20:00, сидим на кафедре, настраиваем сервер для 1 ноутбука. Позвонили Артему, пусть приезжает, помогает мне всё настроить (я не умел настраивать тур). Вдруг в голову организатора приходит мысль — дом же пустой (жена с внуками прилетает только воскресенье днем), пойдем ко мне, на ночь.
Все довольны, точнее, мы с Артемом. С нами едет ещё один учитель, помогать нам.
25 января, ночь — день
Взяли с собой 7 ноутов, приехали, распаковались. Приготовили нам вкусную еду, и мы, набравшись сил, начали.
Настроили 2-й тур, скинули образ в накопитель и задумались, а может попробовать распараллелить?
Времени много, сил, вроде, тоже.
А теперь самое интересное. Как устроен ejudge.
Есть служба (демон), отвечающий за компиляцию, запуск, тестирование программ — ej-super-run. Данные он берет из /home/judges/, где обычно расположены конфигурационные файлы, тесты, чекеры и присланные решения.
Не знаю, какой именно процесс отвечает за веб-интерфейс, но мы запускали ejudge-control, который запускал всю систему. Вдаваться в подробности не стал.
Под распараллеливанием предлагалось расшарить папку /home/judges/. Причем не важно как — SSHFS, Samba, NFS.
Но для этого нужно собрать заново с определенным ключом рабочие узлы, как их называют в распределенных системах — slaves. Лабораторные работы по ОС включали в себя создание сетевых папок при помощи NFS и Samba. Я с легкостью принялся за самбу и тут же уперся в первую проблему, которую уже лень было решать. бросив его, принялся за NFS. Закономерно было ожидать, что тут я тоже встречу множество проблем. Осталось последнее, более знакомое мне SSHFS. Знакомо потому, что с SSH я как-то дружил, часто работал с ним.
Сперва убедимся, директория /home/judges/ пуст, иначе очищаем её.
После этого директория /home/judges/ становится общей с серверным. Для полного удобства можно смонтировать его, но мы этого не стали делать, ибо уже утро.
Если нужно указать другой порт, то следует добавить параметр -p
В случае с нашим сервером это было актуально.
И, Слава Богу, заработало!
В качестве сервера выбрали один ноут, в качестве slave — другой. Речь идет и виртуальных машинах, поднятых на них.
Через веб интерфейс запустил 2 посылки (с while(true), чтобы выдавал на всех тестах TLE), которую сам же сервер и выполнил, засекли время. Запустили ej-super-run на рабочем узле, снова отправили на перепроверку 2 задачи — счастье.
Рабочий узел подхватил посылку, начал тестировать. Время проверки почти в 2 раза меньше, 30 секунд против 50.
Следующим шагом связали рабочий узел с реальным сервером, ведь теперь 5000 порт нам не страшен.
Начали заливать на остальные ноуты, попутно оптимизируя настройки. Хотели скрипт красивый написать, который легко мог бы прописать все настройки, но, увы — кривые руки на то и кривые, что такие вещи сразу не могут сделать. Все настройки прописывал руками. На сервере остановили процесс ej-super-run, пусть занимается только веб интерфейсом.
Далее мы задумались: на каждом ноуте имеется 4 ядра, 1 рабочий узел может проверять только в однопоточном режиме.
Дай человеку гору золота, он ещё одну захочет
Либо мы поднимаем 1 виртаульную машину, даем ему много ресурсов, а в ней распараллеливаем по ядрам, либо просто поднимаем 2 виртуальные машины, по 2 ядра.
Нам было всё равно, насколько ускорялась система — в 2 или 3 раза, если всё равно машин у нас много. Решили остановиться на достигнутом, поднимать по 2 машины на ноуте. Когда все 7 ноутбуков были готовы, мы решили себя наградить сном в 12 часов.
26 января, 08:30
Уже свеженький, в университете, Артем тоже приехал. Достали все 13 ноутов, ребята из «службы по сетям» оперативно обжали провода, настроили сеть, в итоге 12 из них уже были в сети, 13-ый ноут выхода в интернет так и не получил, провод, видимо, был старый. Быстро поднял 7 первых, после чего веб интерфейс начал ужасно тормозить, видимо sshfs скачивал к себе всю директорию, которая была довольно-таки пухленькой.
2 тур начался, у нас уже 14 рабочих узлов! Тихонько стал подключать узлы к системе, по одному, чтобы не перегружать систему.
Очереди на сервере не превышало 10 одновременно выполнявшихся тестирований. То есть, в принципе, достаточно и 5 ноутов, чтобы провести полноценный тур.
Приходили из телевидения, им сказали, что у нас 24 рабочих узла. Пришлось до конца олимпиады поднять все, чтобы сдержать слово.
В итоге 2-й тур участники написали гораздо лучше, чем 1-й, хотя в 1-м туре был участник, который написал на 400, а на 2 туре, набрали только 370.
Альтернатива
На самом деле, всем всё было давно известно, и для этого даже прибегли к помощи Яндекса. Последний принимал заявки от регионов, которые не могли самостоятельно провести региональный этап по новым требованиям. Заявки нужно было подать за 10 дней до олимпиады, поэтому мы этот способ не рассматривали. К Яндексу обратились 26 регионов.
Также сказали, что в других регионах тоже не всё хорошо, баллы низкие в целом.
Вот так мы, технические жюри, позорно провели региональный этап Всероссийской олимпиады.
Источник
Ejudge marking error фоксфорд
#c #scanf #fork
Вопрос:
Почему этот код может генерироваться Runtime Error в ejudge? Эта программа подсчитывает количество stdin введенных слов. Слова могут быть разделены любым количеством ‘ ‘ и ‘n’ . Похоже fork() , это может вызвать проблему, но я не уверен, почему я не получаю ту же ошибку на своем компьютере.
ejudge использует gcc — простой C, 64-разрядный, используя -std=c11 или -std=gnu11
В стандартном входном потоке задается текстовая строка, состоящая из слов (последовательность символов, не являющихся пробелами), между которыми может быть любое количество пробелов, включая строки.
Вам нужно рассчитать количество слов, если вы знаете, что их не более 255, и вывести это значение в стандартный поток вывода.
Используйте создание новых процессов, чтобы каждый процесс считывал не более одного слова, например, используя scanf(«%s»,…).
Вы можете вывести результат только из процесса, который был запущен первым (т. Е. из исходной программы).
Полученная программа должна вернуться с кодом возврата 0.
Размер каждого слова не превышает 4096 байт.
Комментарии:
1. Почему вы закрываетесь вручную stdout ? Это может привести к ошибке в некоторых системах, когда ваша программа завершает работу и пытается закрыть ее снова. Кроме того, можете ли вы предоставить более подробную информацию об ошибке, которую вы получаете?
2. Кроме того, обратите внимание, что stdin может не получиться EOF даже после того, как закончатся фактические входные данные, это опять же зависит от среды.
3. Статус выхода ограничен 255. Это не сработает, если длина файла превышает 255 строк.
4. Это решение не будет работать, потому что stdio использует буферизацию ввода. scanf() может буферизировать больше входных данных, чем возвращаемое слово, и следующий дочерний процесс не начнет чтение с того места, на котором он остановился.
5. Я думаю if (i == 1) , так и должно быть if (i == 0) .
Ответ №1:
Переписал алгоритм, и он сработал! В первой версии было сделано много ненужных вилок. Например, если предполагалось 6, то создавалось 12.
Источник
#c #scanf #fork
Вопрос:
Почему этот код может генерироваться Runtime Error
в ejudge? Эта программа подсчитывает количество stdin
введенных слов. Слова могут быть разделены любым количеством ' '
и 'n'
. Похоже fork()
, это может вызвать проблему, но я не уверен, почему я не получаю ту же ошибку на своем компьютере.
ejudge использует gcc — простой C, 64-разрядный, используя -std=c11 или -std=gnu11
Задача:
В стандартном входном потоке задается текстовая строка, состоящая из слов (последовательность символов, не являющихся пробелами), между которыми может быть любое количество пробелов, включая строки.
Вам нужно рассчитать количество слов, если вы знаете, что их не более 255, и вывести это значение в стандартный поток вывода.
Используйте создание новых процессов, чтобы каждый процесс считывал не более одного слова, например, используя scanf(«%s»,…).
Вы можете вывести результат только из процесса, который был запущен первым (т. Е. из исходной программы).
Полученная программа должна вернуться с кодом возврата 0.
Размер каждого слова не превышает 4096 байт.
Мой код:
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
#define DBG(args...) fprintf(stderr, args)
//#define DBG(args...)
int main(int argc, char* argv[])
{
int status;
pid_t pid;
pid_t first_child;
for (int i = 0; i < 256; i) {
pid = fork();
if (pid == 0) { // child continue reading
char str[4097];
if (scanf("%s", str) != EOF)
continue;
exit(1);
} else {
if (i == 1) {
first_child = pid;
}
if (wait(amp;status) == first_child) {
break;
} else {
exit(WEXITSTATUS(status) 1);
}
}
}
fprintf(stdout, "%in", WEXITSTATUS(status));
fflush(stdout);
fclose(stdout);
return 0;
}
Комментарии:
1. Почему вы закрываетесь вручную
stdout
? Это может привести к ошибке в некоторых системах, когда ваша программа завершает работу и пытается закрыть ее снова. Кроме того, можете ли вы предоставить более подробную информацию об ошибке, которую вы получаете?2. Кроме того, обратите внимание, что
stdin
может не получитьсяEOF
даже после того, как закончатся фактические входные данные, это опять же зависит от среды.3. Статус выхода ограничен 255. Это не сработает, если длина файла превышает 255 строк.
4. Это решение не будет работать, потому что stdio использует буферизацию ввода.
scanf()
может буферизировать больше входных данных, чем возвращаемое слово, и следующий дочерний процесс не начнет чтение с того места, на котором он остановился.5. Я думаю
if (i == 1)
, так и должно бытьif (i == 0)
.
Ответ №1:
Переписал алгоритм, и он сработал! В первой версии было сделано много ненужных вилок. Например, если предполагалось 6, то создавалось 12.
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
// #define DBG(args...) fprintf(stderr, args)
#define DBG(args...)
int main(int argc, char* argv[])
{
int status;
pid_t first_pid;
pid_t pid = fork();
if (pid != 0) {
wait(amp;status);
printf("%in", WEXITSTATUS(status));
return 0;
}
for (int i = 0; i < 256; i) {
char str[4097];
if (scanf("%s", str) == EOF) {
DBG("PID %in", pid);
exit(0);
}
pid = fork();
if (pid != 0)
break;
}
DBG("PID %i waitingn", pid);
wait(amp;status);
exit(WEXITSTATUS(status) 1);
}
Настя
Сейчас все кинулись в репетиторство. Кому-то это удается, а кто-то вроде онлайн школы ФОКСФОРД оказался настолько оторванным от реальности вообще и от детей в частности, что диву даешься. Я выскажу свое личное мнение о том, почему вам нужно держаться подальше от этой пародии на обучение.
Когда зашла на сайт, сначала оторопела: Оксфорд? Но потом поняла: название просто придумано так, чтобы люди, как и я, читали неправильно и потом ассоциировали это образовательное нечто с одний из старейший университетов мира. Честно говоря, меня это покоробило. Уже один этот момент заставил бы меня развернуться и уйти — что это за бездарности, которые могут вылезти только за счет чужого имени? Выходит, сами они ничего из себя не представляют? Но я осталась — из чисто спортивного интереса. И знаете, вот после такого шока меня уже не впечатлил список крутых партнеров школы — если они связались с подделкой, копией, репликой если хотите, значит не так все хорошо в их королевствах.
Смотрю историю ФОКСФОРДа — а почему она заканчивается 2016-м годом? Сдохла фритюрница?
Школа хвастается исследованием некоей Synopsis group, якобы которая определила преподавателей школы как лучших в России. Странно, ведь, насколько я смогла узнать, «Российская Компания Synopsis проводник инновационных технологий в области медицины и фармации». Причем тут дополнительное образование? Да и исследование, выложенное на сайте, вообще не похоже на настоящее и не имеет даты проведения. В общем, опять подделка, господа.
На сайте гордо выставлены цифры, сколько часов занятий провели их педагоги, сколько страниц теории настрочили, да сколько задач придумали. Ребята, кому вы мозги полощите? Я знаю учителя, проработавшего 45 лет в школе, да так и не научившегося преподавать — всю жизнь зачитывал учебники. А уж о теоретиках и придумщиках задач уже анекдоты ходят, когда предлагают сложить яблоки со стульями, да теорию оторванную от реальности продвигают. Мне как родителю плевать на эти цифры.
И снова: 95% учеников Онлайн школы ФОКСФОРД поставило «5» учителю, но, правда, в 2015-2016 учебном году. Что-то меня сомнение гложет: в спячку они, что ли залегли на пять лет?
Страница «Выбрать способ подготовки» — просто детский сад! Простецкий алгоритм для первоклассника подставляет готовые ответы на ваши действия, а потом выводит стандартный ответ, одинаковый для всех вариантов: «Чтобы начать учиться, надо зарегистрироваться. Выберите удобный способ регистрации и введите свои данные, а я сделаю все остальное». Кого вы хотели удивить? Первоклашку? Настолько несерьезного отношения я еще не встречала.
Слушайте, а какая хрень эта их «Партнерская программа»! Во-первых, сразу режет глаза «онлайн-школа на 3-11 классов» — русский язык, видимо, не конек школы. Во-вторых вообще не понятно, в чем суть: какая-то таблица с расценками и огромная кнопка «Хочу стать веб-мастером!». Чего? Каким веб-мастером? Для чего? Что это вообще? А как вам это: «Покупка репетиторов 600-1150₽». Так они все — рабы, купленные на распродаже?
Ладно, посмотрим на курсы, которые проводит Онлайн школа ФОКСФОРД.
Взяла первый попавшийся — математика 11 класс. Не пойму, как интенсивное обучение может состоять из одного-единственного занятия в неделю? Это что за сонный интенсив такой? А вообще всем этим кандидатам и докторам кто-нибудь рассказывал об особенностях детской психики? Если бы так было, то занятие не длилось бы 3 часа — за это время (вам любой скажет) ребенок, даже в 11 классе, потеряет сосредоточенность и его внимание размажется, как масло на тосте. Ой, а за 12 тысяч вас научат только решать только задания №13-19, и все… Ах, да, вам еще нужно знать математику на 60 баллов, иначе вас научить не смогут.
Но за математику вы хотя бы знаете, сколько заплатите, а вот «гарантированный» курс стоит… «Выгодно!».
Знаете, вот больше не хочется бродить по сайту Онлайн школы ФОКСФОРД — все настолько примитивно, настолько дешево, настолько оторвано от реальности, что аж укачивает (мягко говоря). Уже и так понятно, что все эти ученые мужи понятия не имеют, кто такие дети и что с ними делать — одни считают их несмышлеными обезьянками, а другие — маленькими взрослыми.
Я уверена, что не будет толку от обучения в этой школе — только деньги потеряете, да драгоценное время, которое могли бы потратить на действительно серьезную подготовку к экзаменам.
20
После оплаты не отвечают на сообщения (при этом активны в скайпе).
Я оплатила первые (слава Богу только десять) занятий. В ходе первого урока возникла проблема доступа в интерактивную доску IDroo. На все мои письма не отвечают (даже написала их учредителям) — хотя в скайпе они активны. До оплаты звонили чуть ли не каждый день. А после оплаты всё… молчание… Концов не найти. Фоксфорд не дорожит своей репутацией. Ниже приведу текст моего письма. На него до сих пор нет ответа…
Письмо:
«У меня возникло большое осложнение с работой с интерактивной доской — никак не получается связаться по ней с нашим репетитором.
Вчера по скайпу со мной пыталась связаться ваш сотрудник. Я сначала ее заблокировала, так как меня никто не предупредил, что это Ваш сотрудник.
Репетитор мне потом объяснила, что это она должна мне по скайпу отправить ссылку приглашения на интерактивную доску.
Я восстановила её и написала ей сообщение по скайпу, что жду от нее ссылку.
Весь день и до сегодняшнего момента ответа я не получила…
В связи с этим вчера я также написала по скайпу менеджеру о своей проблеме — ситуация такая же — молчание… (при этом в скайпе она была активна!!!).
Хочу обратить внимание: когда я оплатила первые десять занятий (на тот момент по оплате со мной общался тот же менеджер), никто мне также не перезвонил. Я сама перезванивала в Ваш офис и спрашивала какие дальнейшие шаги.
У меня возникает сразу вопрос — где обещанное оперативное реагирование Ваших сотрудников?
В связи с этим прошу Вас разобраться с моим вопросом и принять соответствующие меры.
Большая просьба — хотелось бы всё таки получить доступ к IDroo с моим репетитором не в последний момент.»
Содержание страницы
- 1. Почему именно Фоксфорд?
- 1.1. Как учиться онлайн на сайте foxford.ru?
- 1.2. Личный кабинет Foxford
- 1.3. Мобильное приложение Фоксфорд
- 2. Курсы на сайте foxford.ru
- 2.1. Для детей 1-4 классов
- 2.2. Для детей 5-9 классов
- 2.3. Для 10-11 класса
- 3. Бесплатные курсы Фоксфорд
- 4. Дополнительные услуги Foxford
- 4.1. Профориентация
- 4.2. Летний образовательный лагерь
- 4.3. Повышение квалификации
- 4.4. Онлайн-тесты
- 4.5. Домашняя школа
- 5. Стоимость обучения на сайте Фоксфорда
- 6. Как оплатить обучение на сайте foxford.ru?
- 6.1. Оплата обучения в личном кабинете
- 6.2. Другие способы оплаты онлайн-курсов
- 7. Бонусы Фоксфорда
- 7.1. Скидки
- 7.2. Курсы для учителей
- 7.3. Реферальная программа
- 8. Жалобы на Фоксфорд
- 9. Контролирующие органы и законы
- 9.1. Пользовательское соглашение foxford.ru
- 9.2. Служба поддержки
- 9.3. Безопасность
- 10. Фоксфорд это развод?
- 11. Заключение
- 12. Фоксфорд отзывы
Онлайн-школа Фоксфорд – это инновационные программы для подготовки школьников к ЕГЭ, ОГЭ и участию в олимпиадах. Обучение проводится онлайн. Можно выбрать как индивидуальные занятия с репетитором, так и обучающие курсы.
Эта школа будет полезна и родителям, ведь здесь вы можете получить неоценимые знания о воспитании и развитии детей, а учителя смогут повысить свою квалификацию и пройти курсы профпереподготовки. Онлайн-школа является проектом Нетология Групп и резидентом «Сколково». Но что если Фоксфорд — это развод? Попробуем выяснить в обзоре.
Почему именно Фоксфорд?
Онлайн-школа Фоксфорд – это не просто площадка, где вы можете найти репетитора и подтянуть свои знания в школьной программе. Это платформа онлайн-обучения, которая позволяет школьникам полностью подготовиться к сдаче ЕГЭ, ОГЭ и олимпиадам. Занятия разработаны специально для подготовки к поступлению детей на бюджетное отделение лучших университетов РФ. Обучение на сайте foxford.ru ведут лучшие преподаватели страны, эксперты ОГЭ, ЕГЭ, составители олимпиад и преподаватели лучших ВУЗов в России. Школьники, получившие дополнительное образование в Фоксфорде без труда поступают на бюджет в МГУ, НИУ, МФТИ, МГТУ, ВШЭ и т.д.
Обучаться на сайте вы можете с любого устройства, подключенного к сети интернет, в удобное для вас время. Здесь есть разные варианты обучения: курсы для школьников и учителей, индивидуальное репетиторство, домашняя школа, участие в олимпиадах. Проект стартовал в 2009 году и за время своей работы выпустил более 280 000 студентов, которые поступили в лучшие вузы России. Онлайн-школа имеет государственную лицензию на образовательную деятельность.
Как учиться онлайн на сайте foxford.ru?
Чтобы учиться, необходимо зарегистрироваться на платформе, выбрать программу обучения, оплатить ее, и получить доступ к урокам. На foxford.ru реализованы несколько программам обучения, которые разработаны для индивидуальных и групповых занятий. Рассмотрим подробнее доступные программы обучения:
- Курсы. Выбрав любой курс из программы Фоксфорд, вы получите онлайн-доступ к обучению в определенные часы. Курсы будут доступны и в записи, чтобы можно было просмотреть урок в любое удобное время. После каждого урока вам будет выдано домашнее задание, которое проверяется преподавателем. Каждый курс содержит определенное количество занятий.
- Мини-группы. Уроки в форме онлайн-занятий, но в небольшом кругу учеников. Группа собирается в соответствии с уровнем подготовки, поэтому каждому будет комфортно учиться с остальными участниками.
- Репетиторы. Занятия с репетитором проходят по персональной программе в удобное для ученика время. В ходе занятия с индивидуальным репетитором вы сможете улучшить свои оценки, а также подготовиться к ЕГЭ, ОГЭ или участию в олимпиаде. На сайте Фоксфорд вы найдете репетитора по любому школьному предмету.
- Домашняя школа. Полностью заменяет школу. Можно проходить школьную программу онлайн.
- Занятия для учителей. На foxford.ru каждый учитель может пройти курсы повышения квалификации и переподготовки. Здесь доступны как бесплатные занятия, так и платное дистанционное обучение.
Личный кабинет Foxford
Для получения доступа к личному кабинету необходимо зарегистрироваться на сайте Фоксфорд. Для этого следует нажать кнопку «Войти» в правом верхнем углу страницы. Потребуется заполнить регистрационную форму, где нужно указать являетесь ли вы школьником, родителем или учителем, а также заполнить поля «Фамилия и имя», «Электронная почта». После заполнения всех данных необходимо принять условия соглашения и политику конфиденциальности и нажать кнопку «Зарегистрироваться».
После регистрации на платформе и подтверждения e-mail адреса вам будет открыт доступ в личный кабинет. Здесь вы можете выбирать учебную программу, редактировать свои персональные данные и оплачивать обучение. После выбора и оплаты программы обучения доступ к урокам вам будет также предоставлен через личный кабинет. Здесь же вы можете просматривать уроки в записи. Все общение с преподавателем или куратором также будет проходить посредством личного кабинета.
Мобильное приложение Фоксфорд
Онлайн-школа запустила по два мобильных приложения для Android и iOS. Первое мобильное приложение это «Фоксфорд курсы», которое позволяет проходить обучение онлайн в любом удобном месте. Функционал приложения полностью поддерживает все функции официального сайта. Здесь вы можете выбирать для себя программы обучения, оплачивать их, просматривать уроки в записи, общаться с учителем, отслеживать успеваемость и т.д. Приложение распространяется бесплатно, скачать его можно в App Store или Google Play.
Вторым мобильным приложением является «Фоксфорд учебник». Здесь собраны все материалы учебной программы с первого по одиннадцатый класс. При скачивании учебника вы можете указать цель занятий и выбрать предмет. В справочнике есть 8 предметов и тренажер по ЕГЭ. С этим приложением вы подготовитесь к любым экзаменам и сможете быстро найти информацию по учебной программе. Помимо текстовых материалов, в учебнике можно просматривать видео с объяснениями по теме. Приложение распространяется бесплатно, и скачать его можно в Google Play или AppStore. Подключение тренажера по ЕГЭ стоит 299 руб.
Курсы на сайте foxford.ru
В онлайн-школе представлены курсы по всем предметам школьной программы с пятого по одиннадцатый класс. Чтобы охватить все важные моменты, можно купить безлимитный абонемент на все программы определенного класса. То есть если ваш ребенок учится в 6 классе, вы покупаете безлимитный абонемент для шестого класса и имеете доступ к занятиям по всем предметам шестого класса. Также на foxford.ru есть курсы подготовки к ЕГЭ и ОГЭ, подготовки к поступлению в определенные ВУЗы, развивающие и профильные курсы. Есть программа обучения и для младших школьников (1-4 класс), и для дошкольников. Рассмотрим, чему же можно научиться на сайте Фоксфорд.
Для детей 1-4 классов
Онлайн-занятия для младших школьников в Фоксфорде организованы таким образом, чтобы каждый ребенок смог полюбить учебу и не скучал на уроках. Вы можете сами выбрать формат обучения для своего ребенка – с репетитором, курсы или мини-группы. А чтобы от учебы были только положительные эмоции, в уроках используется мгновенное вознаграждение. Рассмотрим подробно, какие курсы есть для младших школьников в Фоксфорде.
Путь супергероя
В основу курса входит знакомство детей с анатомией и физиологией человека через движение и физические упражнения. Так, с самого детства ребенок сможет научиться правильно делать различные физические упражнения, а также узнает, как работают мышцы и как их тренировать. Школьник поймет, зачем вообще нужна физическая активность, как стать сильным и выносливым.
Лаборатория юного гения
Курс отлично подойдет для детей от 5 лет, которые проявляют любознательность и желание познавать мир вокруг. На занятиях будут проводиться различные опыты и эксперименты. Так ребенок сможет непринужденно через игру узнать о некоторых законах физики и химии.
Биология своими руками
Через игру дети смогут расширить кругозор, а также понять, как устроен мир. Под руководством преподавателя школьники проведут свой первый научный опыт.
Английский
Программа изучения английского языка разработана с учетом возрастных особенностей детей 1-4 классов. Здесь ребятам точно не будет скучно, ведь все занятия проходят в игровой форме. Благодаря такому подходу у детей проснется интерес к изучению иностранного языка и прогресс в освоении языка будет виден сразу.
Программирование игр начального уровня на языке Scratch
Если вы хотите, чтобы ребенок с детства осваивал компьютерный код, тогда стоит записать его на курсы программирования игр начального уровня на языке Scratch от школы Фоксфорд. За год ребенок с нулевого уровня поднимется на несколько ступеней в освоении программного кода, разберется в работе компьютера, хранении данных, а также в том, как работать с презентациями и создавать игры и мультфильмы.
Для детей 5-9 классов
Чтобы ребенок не зубрил предмет, а именно его понимал, школа Фоксфорд предлагает курсы, на которых школьнику будут объяснены простым языком сложные предметы. Таким образом, ребенок сможет, подтянуть оценки, участвовать в олимпиадах и просто разобраться в предмете глубже, чем это возможно в школе. Рассмотрим, какие курсы для школьников предлагает онлайн-сервис Фоксфорд.
Подготовка к олимпиадам
На сайте Фоксфорд можно записаться на курсы по подготовке к олимпиадам по большинству существующих школьных программ и для любого класса, начиная с пятого.
Подготовка к ЕГЭ/ОГЭ
Онлайн-платформа помогает подготовиться к сдаче экзаменов ЕГЭ и ОГЭ на 100 баллов, причем как индивидуально, так и в групповых занятиях.
Репетиторы
Школа подбирает репетитора для улучшения отметок, решения домашних заданий и достижения любых школьных целей. Репетитор вместе с вами определит цель занятий и составит индивидуальный план уроков. Родитель может подключаться к занятиям при желании.
Английский язык
Школа Фоксфорд предлагает курсы по изучению английского языка для разных возрастных групп, в том числе и для школьников 5-9 классов. Ребята не просто освоят школьную программу, но и смогут свободно заговорить на английском зыке.
Углубленное изучение предметов
С помощью курсов от Фоксфорда можно выйти за рамки школьного обучения по разным предметам. Это значит, что предмет будет изучен всесторонне и досконально. Такой подход поможет ребенку в будущем поступить в любое учебное заведение без стресса и паники.
Для 10-11 класса
В возрасте 15-17 лет молодые люди начинают готовиться к сдаче ЕГЭ и поступлению в различные учебные заведения. Чтобы это время было проведено с пользой, а подготовка шла максимально успешно, необходима помощь специалистов, которые отлично разбираются в том или ином предмете. Именно для этого и организованы курсы для школьников 10-11 класса на онлайн-сервисе Фоксфорд.
Подготовка к олимпиадам
Первые места на некоторых олимпиадах позволяют поступить в ВУЗ без ЕГЭ, причем зачисление ВУЗы для олимпиадников идет весной, еще до начала сдачи ЕГЭ. Таким образом, у школьников появляется двойной шанс поступить в выбранный ВУЗ. В Фоксфорде готовят школьников, которые занимают первые места во Всероссийской олимпиаде «Всерос», позволяющей поступить в ВУЗ без конкурса.
Программирование
Курсы программирования позволяют освоить базовые конструкции программирования, а также написать под руководством преподавателя несколько программ. На занятиях изучается как теоретическая основа, так и практические навыки. Курс программирования на сайте Фоксфорд представлен в программе начального и продвинутого уровня.
Английский
Углубленное изучение английского языка в старших классов всегда имеет определенную цель – выиграть олимпиаду, сдать ЕГЭ, сдать экзамен и получить международный сертификат, сдать ДВИ, занять первое место на Всероссийской олимпиаде. Все это возможно с онлайн-курсами в школе Фоксфорд.
Развивающие курсы
Помимо школьных дисциплин, вы можете пройти такие курсы так мнемототехника, эффективное чтение, искусство общения, курс мобильной фотографии, создание мультфильмов, шахматы и хендмейд.
Бесплатные курсы Фоксфорд
В онлайн-школе Фоксфорд регулярно проводятся бесплатные курсы для учеников и учителей. Бесплатные акции действует в течение ограниченного времени. В период проведения акции можно выбрать для себя курс по математике, по русскому языку по химии и другим предметам. Вне акции все курсы платные, но благодаря выгодной партнерской программе на сайте foxford.ru можно обучаться бесплатно. Однако в любое время доступны бесплатные консультации при выборе нового курса для всех учеников.
Дополнительные услуги Foxford
В школе есть дополнительные услуги:
- Олимпиады и конкурсы.
- Статьи и новости в блоге.
- Дни открытых дверей.
- Пробные ЕГЭ.
- Учебники.
- Повышение квалификации и методические материалы (для учителей).
- Бесплатные консультации и др.
Профориентация
Если ваш ребенок еще не определился с профессией, вы можете предложить ему пройти бесплатный тест по профориентации. Этот тест помогает определить интересы ребенка и выбрать дальнейший вектор в профессиональной деятельности. Тест длится всего несколько минут, за которые нужно ответить на несложные вопросы. После прохождения вы можете посетить вебинар «Как найти свое будущее». Он проводится руководителем профориентационного центра МРАРТ «Личность». На вебинаре вы сможете узнать основные тренды рынка труда и востребованность разных профессий.
Летний образовательный лагерь
Отправив ребенка на летние каникулы в лагерь Фоксфорд, вы обеспечите ему интересный отдых и очные занятия с сильнейшими преподавателями российских вузов. Во время отдыха в летнем лагере дети прокачивают свои знания и навыки, восполняют пробелы, учатся смотреть на вещи по-другому. Здесь не заставляют зубрить, а учат понимать, ведь каждый ребенок общается с преподавателем напрямую в неформальной обстановке. В программу летнего лагеря входят не только занятия, но и походы, соревнования, развлекательные мероприятия и т.д.
Повышение квалификации
Сервис Фоксфорд предоставляет обучение не только школьникам, но и предлагает доступное образование для преподавателей. Курсы повышения квалификации и переподготовки позволят вам стать настоящим профессионалом. При прохождении курсов повышения квалификации или профессиональной переподготовки вы получите сертификат установленного образца, который станет жемчужиной вашего портфолио.
Онлайн-тесты
На сайте доступно тестирование по разным школьным предметам: химии, математике, физике, русскому языку, английскому языку и биологии. Ученикам предлагается различный уровень сложности: от вводного до олимпиадного.
Домашняя школа
В домашней школе Фоксфорд вы можете проходить онлайн-обучение с пятого по одиннадцатый класс. Обучение здесь отличается индивидуальной обучающей программой, наличием персонального куратора, живым общением с преподавателем и т.д. Домашняя школа прекрасно подходит для детей на семейном или заочном обучении, юным спортсменам, артистам или путешественникам, а также детям, показавшим отличные результаты в обычной школе, которым уже скучно и неинтересно обучаться в общеобразовательном учреждении. Также домашняя школа идеально подойдет детям, которые не любят ходить в школу или не могут посещать ее по состоянию здоровья.
Стоимость обучения на сайте Фоксфорда
Стоимость обучения зависит от курса, преподавателя, продолжительности обучения и уровня программы. Курсы базового уровня стоят от 200 руб. в месяц. Курсы подготовки к ЕГЭ в среднем стоят 2000 руб. в месяц. Курсы подготовки к олимпиадам стоят от 1500 руб. в месяц. Обучение в домашней школе обойдется минимум в 36000 руб. в год.
Как оплатить обучение на сайте foxford.ru?
Чтобы оплатить обучение, необходимо выбрать курс и записаться на него. Вы можете оплатить программу из личного кабинета. Любой из курсов можно оплатить онлайн одним платежом или получить кредит на образование. Занятия в домашней школе с 2018 года можно оплатить материнским капиталом.
Оплата обучения в личном кабинете
Для оплаты курсов в личном кабинете перейдите в свой аккаунт и зайдите на вкладку «Программы обучения». Здесь вы увидите все программы, на которые вы записаны. Чтобы оплатить курс, кликните на кнопку «Оплатить» и вы будете перенаправлены на страницу оплаты. Оплатить обучение в личном кабинете Фоксфорда можно банковской картой MasterCard, Visa, Мир или через платежные системы: ЮMoney, Сбербанк Онлайн, QIWI Wallet, WebMoney и Альфа Банк.
Также любой курс можно купить в кредит через Сбербанк и банк Тинькофф, для этого необходимо перейти на вкладку «Оплатить по частям». После этого вам придется заполнить анкету, выбрав срок кредитования. Взять кредит можно на 6 или 12 месяцев, предложение доступно только гражданам Российской Федерации.
Другие способы оплаты онлайн-курсов
Услуги сервиса Фоксфорд можно оплатить наличными. Для этого на странице оплаты выберите вкладку «Наличные», укажите свой номер телефона и адрес электронной почты. На указанный номер телефона вам придет SMS с кодом подтверждения платежа. Далее нужно ввести свои данные и для вас будет сформирован счет на оплату. Его необходимо распечатать и оплатить в любом салоне магазина «Связной».
Бонусы Фоксфорда
Среди зарегистрированных пользователей онлайн-школа Фоксфорд регулярно проводит акции, конкурсы, олимпиады и дарит скидки. Следить за акциями можно в личном кабинете, перейдя на вкладку «Акции». На данный момент на foxford.ru проводится несколько акций, которые позволят получить призы и приятные бонусы.
Скидки
При оплате курса занятий на новый учебный год каждый может получить скидку на обучение. Сейчас некоторые курсы онлайн-школы можно купить со скидкой до 80%. Также можно получить скидку 10% на первую покупку занятий с репетитором по промокоду ETORAZVOD10. Кроме того, по промокоду ETORAZVOD вы получите скидку 10% на первую покупку курсов.
Курсы для учителей
Пока все ученики на каникулах до конца лета учителя могут получить бесплатный и неограниченный доступ к 200+ популярным курсам по одной подписке.
Реферальная программа
При помощи реферальной программы вы можете обучаться на foxford.ru бесплатно. При регистрации на сайте для вас будет сформирована индивидуальная ссылка, по которой вы можете приглашать на сервис своих друзей и знакомых. Поделитесь ссылкой и получите 2000 руб. за каждую покупку вашего реферала. Эти средства вы можете потратить на оплату курса или репетитора.
Приглашенный вами реферал также получит 2000 руб. на оплату первого заказа. Чем больше друзей вы пригласите, тем больше бонусов заработаете, а значит, значительно сэкономите на обучении. Рассказывайте своим друзьям, как здорово учиться в Фоксфорде и делитесь своей реферальной ссылкой. Ваша активность будет щедро вознаграждена, и вы сможете выбрать любимый предмет и изучать его бесплатно. В реферальной программе может принимать участие любой зарегистрированный пользователь сервиса Фоксфорд.
Кроме того, в рамках партнерской программы от CPA-сети Admitad доступны следующие вознаграждения:
- курсы для преподавателей — 50-150 рублей;
- покупка репетиторов — 3-15%;
- покупка курсов — 3-15%;
- экстернат и домашняя школа — 3-15%.
Жалобы на Фоксфорд
Фоксфорд – это популярная онлайн-школа, где дети могут проходить как отдельные курсы, так и полностью учиться в экстернате. На платформе организовано онлайн-обучение по школьным дисциплинам, а также занятия с репетиторами в режиме реального времени. Благодаря инновационным методикам обучения и высокопрофессиональным педагогам, студенты получают результативную подготовку к сдаче ЕГЭ, ОГЭ и участию в школьных олимпиадах.
Проект Фоксфорд помогает и учителям. Здесь есть курсы по повышению квалификации и профпереподготовки. Интересен проект будет и родителям, которые смогут здесь узнать много нового о воспитании детей, посетить открытые уроки и отслеживать успеваемость своего ребенка. Онлайн-школа имеет много положительных отзывов в интернете. Как дети, так и их родители довольны школой и качеством преподавания. В последние годы многие родители предпочитают переводить своих детей на домашнее образование, и Фоксфорд становится незаменимым помощником в этом случае. Однако в интернете есть и жалобы на онлайн-школу. Некоторые родители отзываются о школе негативно, и заявляют, что их дети не смогли эффективно обучаться по программам.
Администраторы проекта на такие жалобы отвечает просто. Конечно, во многом эффективность обучения в онлайн-школе зависит как от самого ребенка, так и от его родителей. При онлайн-обучении основным фактором успеха является родительский контроль, ведь именно они должны контролировать просматривает ли ребенок уроки, выполняет ли домашнее задание, есть ли пробелы в знаниях и как он в целом относится к онлайн-обучению. Не все дети готовы обучаться онлайн и задача родителей – привить ребенку ответственность и самостоятельность. Если вы сами не можете контролировать успеваемость своего ребенка, сотрудники школы Фоксфорд рекомендуют подключить куратора, который будет отслеживать посещаемость, успеваемость и давать родителям конкретные рекомендации по учебному процессу.
В целом же отзывы о школе в интернете положительные. Родители заявляют, что дети действительно смогли подготовиться к сдаче важных экзаменов и поступить в лучшие университеты страны. Среди преимуществ родители и ученики выделяют:
- Разнообразие курсов и обучающих программ.
- Сильные преподаватели.
- Удобный график обучения.
- Подключение дополнительных курсов.
- Отсутствие необходимости приобретать учебные материалы.
- Доступные цены.
Родители отмечают, что в отличие от простых образовательных школ и наемных репетиторов, в Фоксфорде делается все возможное чтобы поддержать интерес ребенка к изучаемому предмету. Здесь регулярно проводятся интересные мастер-классы и вебинары, организовываются интерактивные экскурсии и квесты. Все это помогает ребенку закрепить пройденный материал и подстегивает интерес к изучению предмета, что повышает уровень знаний ребенка и помогает ему изучать предметы не по принуждению, а по интересу.
Если появятся новые отзывы об онлайн-школе Фоксфорд, то мы обязательно опубликуем информацию в социальных сетях. Подпишитесь, чтобы ничего не пропустить!
Контролирующие органы и законы
Школа альтернативного образования является проектом «Центра онлайн-обучения Нетология Групп». Школа ведет свою образовательную деятельность на основании лицензии выданной департаментом образования города Москвы от 6 апреля 2016 года. Лицензия позволяет организации предоставлять дополнительное образование детей и взрослых, а также дополнительное профессиональное образование. Онлайн-школа Фоксфорд действует в соответствии с российским законодательством, правовыми актами и законами Российской Федерации.
- Проверить юридическую информацию и реквизиты ООО «Центр онлайн-обучения Нетология Групп»
- Посмотреть лицензию онлайн-школы Фоксфорд
Пользовательское соглашение foxford.ru
Услуги альтернативного образования в онлайн-школе Фоксфорд предоставляет «Центр онлайн-обучения Нетология-групп». Эта компания является администратором сервиса и предлагает обучение по выбранным программам. Пользовательское соглашение «Центра онлайн-обучения Нетология-групп» опубликовано в свободном доступе на foxford.ru. Этот документ четко определяет права и обязанности обеих сторон и является полноценным двусторонним договором между администратором сервиса и зарегистрированным пользователем.
При регистрации в онлайн-школе необходимо тщательно ознакомиться с этим документом, принять все его условия и положения. Если вы не согласны с каким-либо пунктом, необходимо прекратить использование сайта. Рассмотрим основные положения пользовательского соглашения. Регистрируясь в онлайн-школе Фоксфорд, пользователь должен понимать, что он использует сервисы на свой страх и риск. Все услуги предоставляются «как есть» и администратор не гарантирует, что сайт будет полностью отвечать требованиям и целям пользователя. Администратор не гарантирует, что сервис будет работать непрерывно, без ошибок и сбоев.
При использовании всех сервисов Фоксфорда пользователь должен понимать и признавать то что все содержимое сайта защищено авторским правом, правом на товарный знак и другими правами на результаты интеллектуальной деятельности. В связи с этим пользователь соглашается, что он не имеет права на содержание сайта, а значит, не может его передавать, копировать, модифицировать или изменять. Также пользователям запрещено извлекать любую материальную выгоду от продажи, распространения или копирования материалов.
В соответствии с данным соглашением все возникающие споры стороны будут решать путем переговоров. Сторона, у которой возникли претензии, обязана направить другой стороне сообщение с указанием возникших претензий и разногласий. Сообщение должно быть направлено на адрес электронной почты. Если ответ на данное сообщение не поступит в течение 30 рабочих дней, либо стороны не смогут прийти к соглашению по возникшим претензиям, спор подлежит разрешению в судебном порядке.
Служба поддержки
Со службой поддержки Фоксфорда вы можете связаться в разделе «Помощь». Связавшись с сотрудником службы поддержки, вы можете перенести или отменить занятия, а также задать любой интересующий вас вопрос. Для более быстрой связи со службой поддержки нажмите на оранжевый квадрат в правом нижнем углу любой страницы. В открывшемся меню выберите опцию чат и напишите свой вопрос. Можно позвонить в службу поддержки по телефону, через форму обратной связи, заказать обратный звонок или написать через социальные сети. Служба поддержки сервиса реагирует в течение нескольких минут и решает любые вопросы пользователя максимально быстро.
Безопасность
На сайте реализована многоступенчатая система защиты личных данных, которая позволяет надежно сохранить личные и платежные данные пользователя без опаски взлома. Все защищенные страницы ресурса находятся под надежной защитой команды профессионалов, которые непрерывно мониторят попытки несанкционированного проникновения и своевременно принимают все меры защиты. По оценке поисковых систем сайт Фоксфорд является абсолютно безопасным.
Фоксфорд это развод?
Центр альтернативного образования Фоксфорд признан одной из ведущих онлайн-школ России. В школе обучаются тысячи учеников с 1 по 11 классы. Сервис можно рассматривать как альтернативу обычной школе. Платформа позволяет получать как обычное среднее образование, так и дополнительное в форме онлайн-курсов или занятий с репетитором. Здесь могут обучаться и учителя. Здесь собраны прекрасные программы повышение квалификации и профессиональной переподготовки.
Проанализировав отзывы в интернете, мы не нашли негативных сообщений по поводу онлайн-школы Фоксфорд. Школа работает в соответствии с российским законодательством и является официально зарегистрированным учебным заведением. Именно поэтому школа не является разводом, и можно смело записывать своих детей на обучение по программам центра альтернативного образования.
Заключение
Онлайн-обучение в школе Фоксфорд позволяет получить серьезную базу знаний без необходимости отправлять ребенка на учебу за границу или платить за его обучение большие деньги. Вы можете выбрать здесь необходимые для вас курсы, подтянуть ребенка по определенным предметам для поступления в желаемый университет, а также для сдачи самых главных экзаменов в жизни. Хорошее образование детей — приоритетная цель любого родителя. Конечно, получить образование можно и в обычной средней школе, но без дополнительных занятий ребенок вряд ли сможет поступить в хороший университет и добиться успехов во взрослой жизни. Если вы хотите своим детям самого лучшего и заботитесь о том, чтобы они смогли реализовать себя в будущем, уделите пристальное внимание их образованию.
Онлайн-школу Фоксфорд можно смело назвать одним из самых лучших учебных заведений России. Если ваш ребенок и не хочет ходить в школу, онлайн-обучение станет для вас спасением, ведь ребенок сможет заниматься удаленно и получать огромную базу знаний от ведущих преподавателей страны, а это значит, что он сможет стать выдающейся личностью в будущем.