Задания для самостоятельной работы
Здесь вам предстоит освоиться с редактированием страниц в markdown (поверьте, пригодится), но главное -- вам нужно будет написать о себе, своих интересах и уже имеющихся навыках и опыте.
Объем вашего ответа -- на ваше усмотрение. Это не анкета и строго по пунктам писать совсем не обязательно, но постарайтесь раскрыть следующие темы:
Вы уже знаете, что весной с вами "начнут случаться" проекты. Это что-то пока непонятное, хотя можно разузнать у старших товарищей. Только год от года много перемен, поэтому все равно не очень информативно получится. Но вот вам в расписании поставили "проектный семинар". Наверное, тут-то расскажут "как есть". Что вы сами ожидаете от проектного семинара? Что для вас важно, а что -- пустая трата времени? Честно.
Формат семинара. Как вы сами видите идеальный формат для такого не совсем обычного курса?
Про информационную поддержку курса. Вы уже знаете правила и тд. Прокомментируйте. Наверняка же вы это уже сделали между собой в чатиках. Нам тоже интересно. К слову, можно и в рабочем чате -- он и для этого тоже.
После института я планирую стать ... Раскройте подробнее, даже если нет такой профессии, опишите, что вы для себя хотите в будущем: через 3 и 10 лет после окончания. И окончания чего: бакалавриата, магистратуры, аспирантуры?
В МИЭМе в разгаре проектный год. Активность в проектах начинается в августе-октябре, защиты -- в основном в апреле. В конце января (в этом году из-за эпидемии перенесли на февраль) проходит постерная сессия. В проектах значимую роль играют студенты четвертого курса, они закончат институт в июне. Сейчас для вас лучшее время и познакомиться с темами проектов, с коллективами и руководителями. Собрать для себя в единую картину: кто чем занимается из руководителей, какие они ведут проекты, на базе каких лабораторий, как они ведут проекты, кто работает в их проектах. Узнать, что они говорят и про содержание работы, и про то, как она ведется. Узнать историю проектов, если они многолетние.
Чтобы структурировать эту работу, напишите в Wiki (второе задание на вашей странице) ваш "дневник знакомства с проектами". Там должно быть три основных части (заголовки первого уровня):
То есть, это задание вы будете делать постепенно, но промежуточные сроки там будут.
Что нужно на каждом этапе:
До указанного срока (ориентируйтесь на 10 февраля) вам нужно составить общую картину по проектной деятельности в МИЭМ и по ближайшим к вам ресурсным центрам -- в частности.
В какой роли вы видите себя в проектах в ближайшее время (1-2 курсы) и в развитии (3-4 и дальше)? Заметьте, одна и та же роль может быть в совершенно разных проектах.
Какая тематика вас интересует? Безотносительно вашей текущей готовности работать в соответсвующих проектах. Например, вас интересует devops или администрирование, а вы только начали знакомиться с Linux. Пусть это не мешает вам интересоваться этими проектами и стремиться получить в них опыт.
В какой роли вы могли бы вступить в проект? То есть, что вы можете делать уже сейчас или можете относительно быстро доучиться?
Какие проекты вы видите для себя наиболее интересными в целом? Это значит, что вам интересна тематика и вы видите, что можете там сейчас или в обозримом (до лета) будущем включиться в работу.
Проведите предварительное общение с командами и руководителями проектов ДО постерной сессии.
Срок выполнения: 6 марта 2022 г.
Опишите ваше посещение постерной сессии 15-17 февряля. Желательно учесть следующие вопросы, но в целом жесткий план не предусмотрен.
Данная работа направлена на ознакомление студентов с механизмом проведения заданий с автоматической проверкой.
Задача - написать на Python программу, печатающую строку “Hello, world!”
Данная работа направлена на ознакомление студентов с приёмами работы с API на языке Python.
>>> res.text
'{"coord":{"lon":73.3715,"lat":54.9914},"weather":[{"id":800,"main":"Clear","description":"ясно","icon":"01n"}],"base":"stations","main":{"temp":258.14,"feels_like":251.62,"temp_min":258.14,"temp_max":258.14,"pressure":1032,"humidity":85},"visibility":10000,"wind":{"speed":3,"deg":170},"clouds":{"all":0},"dt":1643928630,"sys":{"type":1,"id":8960,"country":"RU","sunrise":1643943149,"sunset":1643975297},"timezone":21600,"id":1496153,"name":"Омск","cod":200}'
RUS:
ENG:
Данная работа направлена на ознакомление студентов с приёмами работы с форматом данных JSON на языке Python.
Взять файлы с данными о прошлом курсе, найти в них данные о конкретном студенте любом из списка и сохранить в файл в формате JSON следующие данные:
Общий смысл - прочитали данные из файла с данными прошлого курса, нашли среди них рандомного студента из списка (почта студента передаётся в программу как аргумент командной строки с названием "email"), нашли/посчитали данные, перечисленные в задании, сформировали из них JSON, сохранили в файл.
Пример вызова вашей программы с аргументов командной строки:
# запуск программы для поиска данных о человеке с почтовым адресом prybakov@miem.hse.ru
python solution.py -email prybakov@miem.hse.ru
Формат JSON, который нужно сохранить в файл:
{
"E-mail" : "prybakov@miem.hse.ru"
"zulip-message-count" : 12
"jitsi-classes-count" : 11
"git-commit-count" : 10
}
# пример
git config user.name "Пётр Рыбаков"
git config user.email prybakov@miem.hse.ru
# вызов программы с интерпретатором по умолчанию
python main.py
# вызов с интерпретатором вашего виртуального окружения. venv в пути к интрпретатору -
# название виртуального окружения, заданное при его инициализации
/home/prsem/prybakov/venv/bin/python3 /home/prsem/prybakov/script.py
IP-адрес: 172.18.130.53
Порт: 5120
Имя пользователя: prsem
Пароль: horsebattery
Пример команды для подключения (работает в терминале на Linux/MacOS X/Windows 10):
ssh prsem@172.18.130.53 -p 5120 -i .ssh/id_rsa
Обратите внимание: после ключа -i следует путь к файлу с приватным ключом. В windows терминал обычно открывается с директорией C:\Users\имя_пользователя , поэтому можно создать в данной директории папку /.ssh (именно с точкой в названии) и поместить туда свой приватный ключ, назвав id_rsa
Тогда не придётся каждый раз указывать его явным образом
Подключение в OpenVPN на MacOS/Linux:
openvpn --config client-config.ovpn
Возможно, потребуется sudo (на дистрибутивах Linux).
На MacOS необходимо предварительно поставить brew, а через него уже openvpn. Возможно, ещё и с драйверами повозиться. К сожалению, вам придётся гуглить и/или искать кого-то, кто эту задачу уже решил. Начать можете попробовать с этого материала
https://www.tutorialspoint.com/How-do-I-get-an-ISO-8601-date-in-string-format-in-Python - пример работы с функцией, возвращающей текущее время/дату и время/дату в формате ISO 8601. Почти то, что должна делать ваша программа, только ваша должна будет сохранять эти данные в ваш HTML-файл.
https://losst.ru/kak-podklyuchitsya-po-ssh - подключение к серверу по SSH. В статье говорится про MacOS и Linux, но в данный момент точной такой же SSH-клиент есть и в консоли администратора Windows.
https://www.alexgur.ru/articles/3097/ - создать папку в командной строке Linux
https://devpractice.ru/python-lesson-17-virtual-envs/ - установка и использование различных инструментов для создания виртуального окружения Python, в т.ч. venv
https://python-scripts.com/virtualenv - подробнее об устройстве и назначении виртуального окружения Python
https://timeweb.com/ru/community/articles/chto-takoe-cron - что такое cron/crontab
Сгенерирутей страницу, содержащую следующие сведения:
В данном случае речь не о заполнении реальными данными, а о создании на странице вёрстки, которая далее будет заполняться данными.
Сгенерированная страница публикутся тем же способом, что и в 4 задании.
Наилучшим решением будет модифицировать ваш код, сделанный в 4 задании, и закоммитить в репозиторий мини-проекта (если вдруг код для 4 задания вы клали не туда по какой-то причине).
Единый гайд по генерации HTML-страницы и графиков
Единый гайд по генерации HTML-страницы и графиков
Источник, по которому будем сверять данные об активности - portfolio.miem.hse.ru
Генерируемая вашим скриптом страница, доступная по URL со схемой https://ivt21.stats.auditory.ru/%имя_почты%/%имя_почты%.html
Пример URL:
https://ivt21.stats.auditory.ru/prybakov/prybakov.html
Для каждого отображаемого параметра (в т.ч. на графиках) требуется привести ваши индивидуальные данные.
Zulip
Jitsi
Taiga
Git
URL API: http://94.79.54.21:3000
Документ с описанием функций API цифрового следа и структуры возвращаемых данных
Для обращения к API необходим токен. Токен есть в документе.
URL API: https://track.miem.hse.ru/api/v1
Документация API Taiga: https://docs.taiga.io/api.html