Как стать автором
Обновить
124
126.3
Ольга @Serine

Сею хайлоад, бигдату и хаос

Отправить сообщение

Арррр!!! Денис Шевченко дал добро на адаптацию под формат курсов его офигительнейшей книги "О Haskell по-человечески". Так что курсу быть!

Если есть на примете знакомые функциональщики, готовые ревьюить главы и давать ценные советы, зови их сюда:

https://github.com/senjun-team/senjun-courses/issues/69

Подумаем, как интересно рассказать об этом в посте)

Спасибо, что предупредили! Да, перед реализацией обязательно выясним, что и как.

Поправили!

На данный момент готовы первые три главы. Как только накопим 5 глав, сразу их опубликуем и сделаем анонс. Следующие главы будут выходить постепенно по мере написания.

Спасибо за интерес к проекту! А у вас какой сервис? Очень любопытно посмотреть, кидайте ссылку. Вдруг еще кому будет полезен (считаю, таких площадок много не бывает).

Перед ответом сразу дисклеймер: да, мы стараемся обезопасить запуск кода. Но абсолютно точно мы не учли всех вариантов. Потихоньку будем латать дыры.

Отвечаю по пунктам.

Как мы контролиурем запускаемый код по ресурсам? Вызываем компиляцию, запуск и тесты не напрямую, а обернутыми в линуксовый таймаут. Типа такого: timeout 10s python ${file}_tests Ограничение по оперативке задается на старте контейнера.

Какие используем образы? Пока у нас получается так: 1 курс = 1 образ. Питон: python:3.12.0-slim, раст: rust:1.73.0-slim-buster, го: golang:1.21.6-bookworm.

Сразу ли чистим контейнеры? Контейнер мы чистим перед запуском пользовательского кода. Это сводится к удалению файлов в home директории.

Как обрабатываем необходимость работы с фс из кода задач? Код пользователя запускается из-под учетки с ограниченными правами. Она может писать только в свою home директорию. Которая чистится перед каждым новым запуском. Теоретически конечно за 10 секунд (до того, как сработает таймаут) ее можно очень хорошо завалить файлами. Чтобы процесс очистки потом выполнялся долго. Или чтобы иноды закончились. Но как бороться с этим, мы пока не придумали.

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

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

Спасибо! В ближайшее время пофиксим

Спасибо) Будем ждать критику и предложения!

Да, мы очень хотим сделать курс по C++. А скорее даже два, три или более логически связанных курса. Такой язык как C++ не запихнуть в средних размеров обучающую программу. Скоро начнем искать авторов)

Спасибо! Тегнем вас, как только появтся курс по яве.

Как только добавим логин через телеграм, пинганем вас) А между ботом и сайтом возможна синхронизация. Включить ее можно в личном кабинете.

Рекомендую взглянуть на это под другим углом. Четверо разработчиков на протяжении полутора лет делают курсы и площадку для них. Бесплатно. В свободное время. И размещают продукт своего труда в опенсорс. Поправь, если ошибаюсь, но это подтверждение делом, а не "восхваление на словах" ;)

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

Спасибо за багрепорт=) Постараемся это поправить. Видимо, хром находит первую картинку на странице и делает ее иконкой закладки. А первым jpg идет фотка автора курса. До этого есть лого сайта, но оно в виде тега <object>.

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

Я - математик, не программист и очень не хочу им становится

В таком случае эти курсы вам не помогут. Они ориентрованы на разработчиков.

По поводу описанной вами задачи. Финальная цель - анимированная картинка. А самостоятельное создание этой картинки именно путем программирования самоцелью не является. Так?

Тогда напрашивается вариант задизайнить и анимировать картинку в каком-нибудь Adobe After Effects, Photoshop или одном из других инструментов. Второй вариант - составить ТЗ и отдать на откуп студии/фрилансеру.

Ну и третий вариант. Посмотреть в сторону анимации в питоне. Вы упомянули C++ и намерение рендерить каждый кадр. Это 100% оверкил. А вот питон - язык, при разработке которого учитывается удобство для ученых. То есть тех, кто не хочет погружаться в программистские дебри, а хочет решить какую-то конкретную задачу.

Большое спасибо! Почитаем доку, попробуем прикрутить.

Большое спасибо за ссылку! Мы не знали про этот ресурс.

Наш подход немного отличается: мы считаем, что для закрепления материала очень эффективно встраивать online IDE по тексту глав.

Также кажется, что разнообразие бесплатных площадок - это хорошо, а не плохо.

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

В телеграме наши курсы можно проходить с помощью бота: https://t.me/sen_jun_bot

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

Информация

В рейтинге
26-я
Откуда
Россия
Зарегистрирована
Активность