Стажировка в WB—Tech
Привет!
Здесь ты найдешь материалы для обучения по направлению Backend.
Если появились вопросы, пиши в Slack в канал #backend. Надеемся, ты справишься и станешь частью команды.
Успехов в обучении!
HTML&CSS
Вы проходите программу подготовки backend специалиста, и первым делом вам нужно разобраться с основами HTML и CSS. Достаточно иметь базовое представление о разметке и описании стилей.
Ресурсы для изучения
Видео-курс по HTML
15 уроков по HTML Basics.
Видео-курс по CSS
23 урока по CSS Basics.
Python
Почти всю серверную часть проекта пишем на Python. Это язык программирования высокого уровня, сочетает в себе возможности объектно-ориентированного и функционального программирования. Мы используем ветку 3.х.
Все учебники ниже хорошие. Выбери любой, который ближе по стилю изложения и легче понимать. Можешь прочитать и все 4 учебника, но это не обязательно 🙂
Ресурсы для изучения
Изучаем Python. Программирование игр, визуализация данных, веб-приложения
Очень простой учебник на русском языке.
Простой Python. Современный стиль программирования
Учебник немного сложнее, тоже на русском языке.
M. Lutz. Learning Python, 5th Edition
Классический учебник на английском языке, 1500+ страниц.
The Hitchhiker’s Guide to Python!
Тоже хороший учебник, на английском языке.
Официальная документация
Внимательно изучить документацию.
Видео-курсы
- Курс на Stepik про основы и применение Python.
- Курс на Stepik по программированию на Python.
- Курс по алгоритмам и структурам данных от преподавателя МФТИ.
PyPi
Разобраться, что это такое и как использовать.
PEP8
Изучить руководство по стилю кода.
Virtualenv
Утилита для создания изолированного виртуального окружения Python. Разобраться, что это такое и как использовать.
Дополнительно
- Туториалы для продвинутых разработчиков Python.
- Бесплатная еженедельная рассылка с лучшими новостями, статьями, инструментами и библиотеками Python.
- Библиотека видео-курсов Python.
Linux и командная строка
На серверах мы всегда используем Linux. На рабочих станциях — Linux или MacOS. Из Linux дистрибутивов используем Ubuntu/Debian. Все дальнейшее обучение есть смысл проводить на Linux.
Для начала лучше всего будет установить Ubuntu и разобраться с тем, как пользоваться, как устанавливать программы и т.д. Также важно овладеть консолью, хотя бы на начальном уровне.
Ресурсы для изучения
Основы Ubuntu
Русскоязычная документация по Ubuntu.
Видео-курс
Курс на Stepik “Введение в Linux”.
Компьютерные сети и работа серверов http
Основы компьютерных сетей.
Ресурсы для изучения
Видео-курс лекций преподавателя Уральского университета Андрея Созыкина
Django
Django — это один из основных фреймворков, которые мы используем на сервере. Написан на Python.
Ресурсы для изучения
Официальный туториал от создателей фреймворка
Туториал на английском языке или его перевод на русский язык.
Туториал от Django Girls
Краткий туториал на русском языке.
Дополнительно
- Tango with Django — это руководство для начинающих по веб-разработке с использованием платформы веб-приложений на основе Python и Django.
- Django Rocks — туториалы и статьи по теме Django.
Если покажется, что туториала мало, есть также масса руководств и видео-уроков, которые можно погуглить. Главное брать материалы по не очень старым версиям Django 1.8 и выше.
SQL
Нужно знать основы одной из SQL баз данных. Мы используем PostgreSQL. И основы языка SQL. В чистом виде его редко придется применять, но понимание языка очень важно.
Ресурсы для изучения
Видео-курс лекций преподавателя Уральского университета Андрея Созыкина
Основы SQL.
Управление и процессы
Git
Система контроля версий, которую мы используем.
Ресурсы для изучения
Руководство с примерами
Курс обучения Git на русском языке.
ProGit Book
Книга на английском или русском языке.
Бонус
Игра, обучающая работе с Git.
Виртуализация
Для виртуализации серверов используем Docker.
Ресурсы для изучения
Видео-урок по основам Docker
Все, что нужно знать про Docker за 46 минут.
Финальный тест
Спасибо, что прочитал материалы. Если чувствуешь, что готов к финальному заданию, переходи по ссылке. Там тебя ждет файл с финальным тестом.
Напомним, мы не контролировали твое обучение, и как быстро ты сделаешь задание — нам тоже не важно. Делай в своем темпе и пиши, как будет готово.