Стажировка в «Евростудио». Часть 3. Первые сложности

10 апреля 2018

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

Новый язык программирования

Дмитрий Д. начал презентацию со слайда «Почему ничего не готово?», чем «пощекотал» нервы строгим (но переживающим за каждого студента) наставникам. Однако, всё оказалось совсем не плохо: за отчётный период было проделано немало работы, и Дмитрий успел столкнуться с довольно сложной, но интересной проблемой, которую ему предстоит решить в ближайшее время — проблема ссылок на строку.

Суть проблемы:

Структура не может пережить ресурсы, которые она заимствует — нельзя скомбинировать исходный код и дерево и положить их в одну структуру, сказать, что это мой модуль и куда-то его перемещать. С ним практически вообще ничего нельзя делать, потому что дерево будет иметь железные ссылки на данные, которые нельзя переместить, пока дерево живое. И с этим надо что-то делать. Конечно, может встать вопрос — почему не копировать себе текст и не заморачиваться насчет времени заимствования? Этому препятствует аллокациия, которая является довольно медленной операцией, и потому делать это каждый раз не хотелось бы.

Как будем решать?

Лучшим решением в данном случае станет выделение куска памяти, где будут лежать копии объекта. Для ускорения процесса Дима воспользовался паттерном «Корова» (от cow — clone on write), что позволило устранить основные проблемы. Задача на ближайшее время — применить этот паттерн для всех синтаксических структур.

Каталог туристических маршрутов

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

Задачи, которые нужно решить до тестирования каталога:

  • Создать опцию редактирования своей точки, внесения комментариев, оценок и дополнений.
  • При создании маршрута настроить отображение маркеров в радиусе 50-100 км.
  • Для удобства пользователей форму редактирования лучше сделать в одном привычном месте — например, справа.

Для оптимизации работы Николай предложил посмотреть, как подобный процесс работает на Гугл-картах — каким образом там привязываются к конкретным точкам фотографии, сделанные людьми в этом месте. И самая главная задача — наполнить базу данными, чтобы были видны все плюсы и минусы интерфейса, а также «причесать» программу, подготовив ее к тестированию.

Сервис для собеседований

Артём начал с демонстрации страницы, предназначенной для соискателя. В соответствующие графы для выбранной вакансии нужно ввести свои имя, фамилию, контакты и выбрать нужную опцию: «отправить резюме» или «пройти тестирование». В свою очередь работодатель, получив отклик кандидата на вакансию, увидит дату загрузки данных. На отдельной странице отображается количество попыток тестирования, сделанных соискателем, потраченное им время и полученные результаты. Слева выведен список вопросов, которые попались кандидату, а справа — видео с ответами.

Наставники посоветовали Артёму добавить информацию о том, сколько вопросов из общей базы желает выбрать работодатель для тестирования на конкретную вакансию. Стажер также продемонстрировал, как работает с сервисом соискатель. Николай заметил, что работа практически готова к тестированию.

Остались мелочи:

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

Блокчейн в образовании

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

Судя по презентации, сервис обещает быть не только востребованным, но и удобным. Раздел, посвященный каждому учебному заведению, содержит перечень выпускников (пока он состоит из многократного повторения имени самого Андрея), даты окончания ими учебы и номера диплома. После того, как пользователь вводит фамилию и имя искомого лица, он получает данные о его обучении и номер документа об образовании.

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

Система для администрирования учебных расписаний

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

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

Сложности с оценкой задач — у всех

Николай Технический директор «Евростудио»

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

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

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

Поделиться
Отправить

Еще на эту тему

Стажировка студентов ВКИ в «Евростудио». Часть 7: Две предзащиты

Зачем две, если до этого студенты-практиканты несколько раз отрепетировали защиту в офисе и вроде бы внесли все правки от наставников? Отвечаем на вопрос в новом...

Стажировка в «Евростудио». Часть 1. Начало

Не можешь найти нужного кадра в команду? Обучи его! Многие боятся, что после этого кадр уйдёт, или что на обучении требуется слишком много...

Стажировка в «Евростудио». Часть 2. Проекты: ожидания и реальность

Мы продолжаем рассказывать о том, как проходит стажировка студентов ВКИ НГУ в отделе веб разработки «Евростудио». Когда пришло время защищать...

Вам нужен новый сайт? Продвижение проекта?