про курс
щоб бути ефективним веб-розробником, мало знати тільки синтаксис вибраної мови програмування, наприклад, Python. Для впевненої розробки веб-систем потрібно мати розуміння по всіх технологічних блоках, що працюють на різних шарах програми.
Цих шарів чимало-це сам Інтернет з його архітектурою і протоколами, це і серверні операційні системи Linux, і бекенд стек технологій, що включає в себе вибрану мову програмування, фреймворки, бази даних, системи планування виконання та інше, це і цілий спектр фронтенд-технологій.
Незалежно від того, працюєш ти бекенд або фронтенд розробником, тільки фундаментальне розуміння всіх верств системи дозволяє тобі бути ефективним, впевненим у своїх силах фахівцем, здатним до красивого вирішення завдань веб-розробки.
Мета цього курсу-дати тобі це розуміння.
для кого цей курс
цей курс створений спеціально для тебе, якщо:
- ти готовий до серйозного опрацювання веб-технологій
- ти ще не почав занурюватися в тему веб-розробки і хочеш почати це робити правильно — від фундаменту до першого поверху і вище
- ти вже почав вивчати мову програмування, але як повноцінно створювати веб-системи і як вони працюють, у тебе розуміння немає
- ти вже розробляєш веб-системи, але хочеш стати більш ефективним потужним бійцем, який розуміє, як все працює на всіх рівнях програми
введення
- про курс
- Як працювати на курсі
- просто про комп'ютерне залізо, біти та байти
- про операційні системи, GUI і терміналі
- встановлюємо Debian Linux в WSL
- Hex-редактори, файли та кодування
- програми та мови програмування
- компільовані та інтерпретовані мови програмування
- алгоритми
- основи Linux і bash
- grep
- чому це важливо розуміти
- Комп'ютерні мережі та обладнання
- Локальні та глобальні мережі
- мережеві протоколи
- IP протокол, NAT
- клієнт-сервер
- проксі-сервера і VPN
- DHCP
- DNS
- доменні зони
- система DNS серверів
- DNS-записи
- Як подивитися DNS записи будь-якого домену
- файл hosts і доменне ім'я localhost
- HTTP
- Вивчаємо HTTP з Telnet
- HTTP в Chrome Developer Tools
- HTTP2 і HTTP3
- URI і URL
- як дані передаються на сервер
- HTTPS
- аутентифікація та авторизація
- хеш-функції
- зберігання паролів, механізм аутентифікації
- Cookies-хто і як встановлює і використовує
- Робота Cookies, безпека
- цифровий підпис Cookies
- Фронтенд і бекенд. Компонени фронту і Бека
- HTML, CSS
- Запуск локального HTTP сервера
- робимо сайт, доступний всередині квартири без Інтернет
- HTML форми
- Chrome developer tools
- браузерний JavaScript
- Хакаем гру Dino в Google Chrome
- встановлення Python та налаштування vs Code
- знову про блокноті
- Про практику
- змінні
- про виведення даних в консоль
- типи даних, рядки
- масиви, цикли
- кортежі
- Робота з аргументами командного рядка, if-else
- множини
- словники
- функції
- області видимості змінних
- рекурсія
- Неймінг, type hinting, коментарі
- Об'єкти
- винятки
- пакети, модулі
- синтаксичний цукор
- Робота з датами і часом, таймзони
- зручні няшки стандартної бібліотеки
- Virtualenv, pip і сторонні бібліотеки
- Баги і робота з ними
- критерії хорошої програми
- Веб-сервер і сервер додатків
- CDN
- бази даних
- яку базу даних вибрати, SQL
- планувальники та черги завдань
- контейнеризація і Docker
- Постановка задачі
- Установка Windows Terminal
- пишемо HTTP сервер на голому Python
- про фреймворки
- Hello World на FastAPI
- створюємо HTML шаблон
- створюємо і стилізуємо форму логіна
- відправка і перевірка логіна і пароля
- зберігаємо користувача в Cookies
- читаємо Cookie запис на бекенді
- цифровий підпис Cookies
- хешування паролів
- JavaScript і AJAX
- SPA і JS фреймворки
- варіанти передачі даних у запиті
- веб-сокети
- Git
- Купівля та налаштування домену
- налаштування сервера
- Купівля та налаштування SSL сертифіката
- підсумки та висновки з курсу, напрямки подальшого розвитку
https://privatelink.de/?https://stepik.org/course/96018/promo#toc