Новини онлайн-курсів Mail.Ru Group на Stepik



Тепер онлайн-курси «Розробка на Java 1», «Розробка на Java 2» і «Аналіз безпеки веб-проектів» на платформі Stepik.org лежать у вільному доступі! Ми прибрали дедлайни, щоб ви пройшли курси в зручний час та отримали сертифікати. У найближчі десять днів ми перезапустим ще два онлайн-курсу. «Постановка завдань на розробку» відкриється 28 жовтня, а 3 листопада стануть доступні «Web-технологии».

Stepik.org — платформа онлайн-курсів. З її допомогою можна навчитися чому-небудь прямо з дому — потрібен лише доступ в інтернет. Автори розповідають матеріал на відеолекціях і пропонують виконати практичні завдання. Більшість курсів відкриті тільки у відведений час — це стимулює нерішучих учасників записуватися. Курс ділиться на модулі, які потрібно здавати в строк. Наявність дедлайнів підвищує мотивацію студентів. Справляються не всі сертифікати отримує в середньому 9% учнів. Відкритий доступ вирішує проблему часу, тепер потрібно тільки бажання.

Перший курс від Mail.Ru Group відкрився 1 вересня 2015 року. З цього моменту до нас записалися 50 000 чоловік, яким ми видали 4 500 сертифікатів. У лютому цього року на «Web-технології» зареєструвалося 8 500 осіб. Це в два рази більше середнього, тому ми хочемо розповісти про це курсі.

Ми створили «Web-технології», щоб познайомити початківців програмістів зі світом web і бекенд-розробкою на Python. У курсі ми знайомимо зі схемами роботи серверів. Окремий акцент ми робимо на розробку бекенду з використанням фреймворку Django. Ще ми розповідаємо основи фронтенд-розробки: html, css, js, а у додаткових розділах обговорюємо технологію Ajax і доставку Real-Time повідомлень.

Завдання курсу бувають різними: в одному місці ви вибираєте правильний варіант відповіді, в іншому — вносьте його в спеціальне поле, в третьому — пишете програму. В останньому випадку ви реалізуєте найпростіший сервер, налаштовуєте nginx для віддачі файлів або виконуєте іншу задачу за допомогою віртуальної машини і web-терміналу. Коли робота над завданням завершена, ви запускаєте тести. Якщо програма їх проходить, система ставить бали за успішне виконання. Час на виконання таких завдань обмежена.

Завдання на програмування взаємопов'язані. Протягом курсу ми крок за кроком робимо сервіс «Питань і відповідей» — спрощений Stack Overflow. На початку налаштовуємо nginx і gunicorn, потім развертываем Django-додаток, яке поступово допрацьовуємо. Ми пишемо моделі, додаємо перевірки авторизації і так далі. У курсі необхідно встановлювати софт, використовувати git, програмувати і налаштовувати web-сервери. Ми допоможемо освоїти деякі навички, але частина тим доведеться вивчити самостійно.

На курс йде багато часу, особливо у початківців розробників. Не всі витримують такий ритм роботи, і до кінця ентузіазм згасає. Так, перше завдання на створення echo-сервера вирішило 1 299 осіб, а одну з останніх — на обробку форм — лише 217. Так і дісталися до цієї задачі тільки 3 100 чоловік з 8 660.

Ось приклад однієї з задач:

  • розробити найпростіший TCP echo-сервер
Вимоги:

  • запускається на IP адресі 0.0.0.0 та TCP порту 2222
  • отримує повідомлення довжиною не більше 1024 байт і відправляє назад клієнтові
  • закриває з'єднання при отриманні повідомлення з текстом close
При такому формулюванні завдання нескладна: відкриваєте сокет, робите bind, в циклі робите accept, читаєте по 1024 байта і, якщо прийшла рядок 'close', закриваєте з'єднання.

У наступному завданні ми просимо змінити сервер:

  • змініть ваш echo-сервер так, щоб він міг працювати одночасно з 10 клієнтами
  • протокол передачі такої ж, як у попередній задачі
Щоб вирішити таку задачу, вам потрібно паралельно обробляти запити. У такому разі складності виникають навіть з тим, як правильно закрити з'єднання. Ми не обмежуємо реалізацію сервера, робіть fork або використовуйте потоки для вирішення так чи інакше, доведеться розбиратися в цій темі. На практиці клієнтів в тисячі разів більше, і відповідь сервера формується по складним правилами, але backend-розробник повинен вміти вирішувати такі завдання і розуміти роботу з сокетами, процесами і потоками.

Перший запуск курсу відбувся у лютому 2016. З тих пір на курс записались 8 660 людей, яким ми видали 507 сертифікатів, з них 353 з відзнакою. Сподіваємося, що курс «Web-технології» допоможе долучитися до світу web. Неважливо, чи хочете ви зайняти позицію junior-розробника або краще зрозуміти повсякденне життя. Записуйтеся!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.