 
				| # | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ | 
|---|---|---|---|---|---|
| 1 |  Новогодний Марафон - Вариант участия |  | |||
| С Новым годом! Выберите желаемый способ участия в Новогодем марафоне. Отчёт отправил: 30514. Tom Выполнено за 1 час. 40 мин. [Показать отчёт] Научился: Второй вариант, создать Робота Шарпа. | |||||
| 2 | Консольный Робот Шарп |  | |||
| На этом вебинаре мы разобрали принцип работы Робота Шарпа и почти написали сервис по компиляции и запуску программ. Отчёт отправил: 30514. Tom Выполнено за 2 час. 28 мин. [Показать отчёт] Научился: Научился компилировать в консоли программу на языке C#. Получил представление о работе Робота Шарпа. Создал папки init, wait, work, done. Заполнил их файлами с исходными кодами программ на Java и C# и тестовыми входными данными. Выполнил цикл работ по компиляции и запуску программ на Java и C#. | |||||
| 3 | Компиляция и запуск | 2 теста | |||
| На этом уроке мы ещё раз вручную выполним компиляцию и запуск программ. Именно это будет делать наш Робот Шарп. Отчёт отправил: 30514. Tom Выполнено за 51 мин. [Показать отчёт] Научился: Создал папку work, добавил в нее файл c текстом программы Program.cs и файлы test.0.in, test.1.in со входными данными. Выполнил компиляцию в консоли и вывел результаты работы программы в файлы test.0.out и test.1.out. | |||||
| 4 | Запуск процесса |  | |||
| На этом вебинаре мы начнём создавать ядро робота на языке C#. Выполним компиляцию и запуск программно. Отчёт отправил: 30514. Tom Выполнено за 57 мин. [Показать отчёт] Научился: Научился запускать программу с помощью класса Process. Создал проект RobotService, добавил класс Robot и в нем методы для компиляции программы и запуска тестов. | |||||
| 5 | Дружба роботов: Шарп + Ява | 1 тест | |||
| Дружба роботов: Шарп + Ява Отчёт отправил: 30514. Tom Выполнено за 1 час. 17 мин. [Показать отчёт] Научился: Создал класс RobotSharp для компиляции и запуска программ на языке C# и RobotJava для программ на Java. Реализовал запуск требуемого робота в зависимости от имени папки с исходными файлами. | |||||
| 6 | Конвейер для задач |  | |||
| На этом уроке мы сделаем конвеер для задач, создадим отдельные папки wait, work, done, по которым папка с задачей будет перемещаться. Отчёт отправил: 30514. Tom Выполнено за 49 мин. [Показать отчёт] Научился: Научился получать список папок с помощью Directory.GetDirectories. Научился перемещать папки с помощью Directory.Move. Реализовал конвейер задач. Менеджер робота сканирует папку wait на новые задачи, перемещает найденную папку в папку work. Запускает необходимого робота и перемещает результаты работы в папку done. | |||||
| 7 | Планирование базы данных |  | |||
| Начинаем планирование базы данных. Отчёт отправил: 30514. Tom Выполнено за 33 мин. [Показать отчёт] Научился: Выполнил планирование базы данных. | |||||
| 8 | Создание таблиц | 1 тест | |||
| Создаём таблицы в MySQL. Отчёт отправил: 30514. Tom Выполнено за 22 мин. [Показать отчёт] Научился: Создал таблицы user, task, test и prog в базе данных robot с помощью HeidiSQL. | |||||
| 9 | Первые записи в таблицах |  | |||
| Добавляем первые записи для последующего тестирования. Нужно добавить две задачи и два теста для каждой. Добавить одно решение. Отчёт отправил: 30514. Tom Выполнено за 37 мин. [Показать отчёт] Научился: Добавил двух пользователей в таблицу user, две задачи в таблицу task, два теста для каждой задачи в таблицу test и решение первой задачи от первого пользователя на языке java в таблицу prog. | |||||
| 10 | Запросы для PHP-функций | 3 теста | |||
| Формулируем список нужных нам РНР-функций. Пишем SQL запросы для каждой функции. Отчёт отправил: 30514. Tom Выполнено за 1 час. 43 мин. [Показать отчёт] Научился: Подготовил список необходимых PHP-функций и SQL-запросов. Добавил таблицу lang. Изменил таблицу prog, сделал primary key по полям user_id, task_id и lang. Для поля run_id установил unique key. | |||||
| 11 | Клиентская часть - HTML | 1 тест | |||
| На этом вебинаре Валера рассказал и показал, как создать FrontEnd на HTML + Bootstrap. Мы создадим три страницы: list, task, prog. Отчёт отправил: 30514. Tom Выполнено за 3 час. 10 мин. [Показать отчёт] Научился: Создал три html-страницы: list.html для списка задач, task.html для условия задачи и prog.html для решения задачи. | |||||
| 12 | Загрузка в HTML через AJAX |  | |||
| Написать JavaScript для загрузки данных в HTML. Отчёт отправил: 30514. Tom Выполнено за 2 час. 26 мин. [Показать отчёт] Научился: Реализовал загрузку списка задач в таблицу list.html. Для этого использовал jQuery и ajax для получения json из getTaskList.php. | |||||
| 13 | Причёсывание скрипта со списком задач | 1 тест | |||
| На этом уроке мы сделаем обзор написанного на прошлом уроке и доработаем скрипт, чтобы всё было красиво. Отчёт отправил: 30514. Tom Выполнено за 23 мин. [Показать отчёт] Научился: Перенес javascript-код из файла list.html в файл list.js. | |||||
| 14 | Загрузка данных на страницу с условием задачи. |  | |||
| На этом уроке мы загрузим данные на страницу с условием задачи. Отчёт отправил: 30514. Tom Выполнено за 52 мин. [Показать отчёт] Научился: Создал файл getTaskInfo.php, который возвращает условие задачи. Создал файл task.js, который загружает информацию на страницу task.html из getTaskInfo.php с помощью jQuery и ajax. | |||||
| 15 | Получение параметра из адресной строки через JS |  | |||
| На этом уроке мы считаем аргумент из адресной строки. Отчёт отправил: 30514. Tom Выполнено за 21 мин. [Показать отчёт] Научился: В файле list.html добавил номер задачи к ссылкам в таблице. В файле task.js реализовал извлечение номера задачи из url-адреса и передачу его через get-запрос в файл getTaskInfo.php. | |||||
| 16 | Установка заголовка |  | |||
| На этом уроке мы сделаем установку заголовка страницы через JavaScript. Отчёт отправил: 30514. Tom Выполнено за 11 мин. [Показать отчёт] Научился: Реализовал установку номера и названия задачи в заголовок страницы. | |||||
| 17 | Страница решения задачи - подготовка |  | |||
| На этом уроке мы подготовим код страницы prog.html для загрузки в неё данных через AJAX вызовы. Отчёт отправил: 30514. Tom Выполнено за 32 мин. [Показать отчёт] Научился: Заменил текст сообщений в файле prog.html на шаблоны. Создал файл getUserProgram.php, в котором разместил текст решения задачи. | |||||
| 18 | Загрузка программы |  | |||
| На этом уроке мы загрузим текст программы и другую информацию на страницу с решением задачи. Отчёт отправил: 30514. Tom Выполнено за 36 мин. [Показать отчёт] Научился: Реализовал загрузку информации на страницу prog.html из файлов getTaskInfo.php и getUserProgram.php с помощью jQuery и ajax. | |||||
| 19 | Отказ от AJAX |  | |||
| Мы сделали шаг назад ... 12-18 уроки курса теперь носят факультативный характер, их выполнять не обязательно :) И теперь делаем два шага вперёд. Реализуем всё то же самое на РНР и Smarty. Отчёт отправил: 30514. Tom Выполнено за 22 мин. [Показать отчёт] Научился: Познакомился с новой структурой проекта, где для формирования html-страниц используется php и smarty. | |||||
| 20 | Два веб-сервера |  | |||
| На этом уроке мы приступим к переделыванию robot-web части. Отчёт отправил: 30514. Tom Выполнено за 33 мин. [Показать отчёт] Научился: Создал две папки robot-web и robot-api в папке domains OpenServer. Перенес в них файлы из архива. | |||||
| 21 | Список задач на PHP |  | |||
| У нас создано "два сайта" на одном веб-сервере На этом урокемы загрузим и отобразим список задач, используя РНР. Отчёт отправил: 30514. Tom Выполнено за 24 мин. [Показать отчёт] Научился: Реализовал загрузку списка задач используя запрос http : //robot-api/index.php?class=Task&method=getTaskList и обработку и вывод полученных данных в файле http : //robot-web/list.php | |||||
| 22 | Шаблонизатор Smarty |  | |||
| На этом уроке мы скачаем и разместим шаблонизатор Smarty. Отчёт отправил: 30514. Tom Выполнено за 21 мин. [Показать отчёт] Научился: Научился использовать Smarty для вставки информации в цикле. Создал файл list.tpl, в котором разместил текст страницы для списка задач. Изменил list.php: для формирования страницы используется шаблон list.tpl и информация из api-функции getTaskList. | |||||
| 23 | Вызов API-функций из PHP |  | |||
| На этом уроке мы вынесем функционал api-запросов в отдельный файл. Отчёт отправил: 30514. Tom Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Создал файл call.php, добавил в него функцию call, которая выполняет запрос с требуемыми значениями класса, метода и параметров вызова. В файле list.php реализовал загрузку списка задач используя функцию call. | |||||
| 24 | Шаблонизация task.php |  | |||
| На этом уроке мы задействуем шаблонизатор для файла task.php Отчёт отправил: 30514. Tom Выполнено за 50 мин. [Показать отчёт] Научился: Создал файл task.tpl, в котором разместил шаблон для страницы task.php. Изменил task.php для использования Smarty и task.tpl. | |||||
| 25 | Шаблонизация prog.php |  | |||
| На этом уроке мы задействуем шаблонизатор для файла prog.php Отчёт отправил: 30514. Tom Выполнено за 37 мин. [Показать отчёт] Научился: Создал файл prog.tpl, перенес в него html-код и добавил шаблоны для Smarty. Изменил prog.php, реализовал в нем использование Smarty для вывода информации. | |||||
| 26 | Схема Базы Данных 2.0 |  | |||
| На этом уроке мы заново создадим базу данных, чтобы было красиво. Отчёт отправил: 30514. Tom Выполнено за 43 мин. [Показать отчёт] Научился: Создал базу данных, добавил таблицы, нарисовал схему. | |||||
| Итого: 26 видеоуроков | 13 час. 48 мин. 9 тестов | 5 чел. | |||
| Финалисты: Айдар, Yefim, Михаил Екимов, Rita, Tom . | |||||