Про курс
Flask – це зручний легкий фреймворк, який використовується для створення веб-додатків на Python. Перевагами Flask є легкість його вивчення, гнучкість у налаштуванні та модифікації, можливість для розробника повністю контролювати процес розробки.
У курсі «Flask» розглядається створення веб-програми з використанням цього зручного інструменту. Проходячи цей курс, ви навчитеся виконувати повний цикл розробки програми, починаючи з підготовки та налаштування оточення для розробки мовою Python, і закінчуючи упаковкою програми в контейнери Docker і розгортання його на серверах Heroku. Ви познайомитеся з принципами архітектури REST, особливістю роботи з базами даних, навчитеся тестувати ваш додаток та організовувати його багато поточну та асинхронну роботу.
Цей курс входить до спеціальності:
Попередні Вимоги
Для проходження курсу необхідні базові знання мови Python та основ ООП.
Ви навчитеся
- Створювати повноцінний веб-додаток з використанням Flask Framework.
- Використовувати шаблонізатор Jinja2.
- Проектувати свій веб-додаток згідно з принципами RESTful API.
- Організовувати валідацію даних користувача за допомогою Marshmallow.
- Використовувати бібліотеку SQLAlchemy та ORM технологію для організації роботи з базою даних.
- Розуміти, що таке міграції та виконувати міграції баз даних за допомогою Alembic та Flask-Migrate.
- Розрізняти способи аутентифікації в додатках REST і реалізовувати аутентифікацію та авторизацію, використовуючи JWT.
- Організовувати тестування RESTful програми за допомогою pytest та використовуючи Mock
- Розуміти, що таке Docker та Dockerfile.
- Організовувати упаковку своєї програми за допомогою Docker.
- Виконувати розгортання своєї програми на Heroku.
- Розуміти принципи організації багато поточної програми та організовувати багато поточність у програмі за допомогою Global Interpreter Lock (GIL) та ThreadPoolExecutor.
- Розуміти принципи асинхронного програмування, його переваги та недоліки. Використовувати асинхронні Python фреймворки для роботи з вашим додатком.
- 6 год 28 хв
- 10
- російська
Що входить до курсу
×
Ви дійсно бажаєте відкрити доступ до тестування за курсом Flask на 40 днів?
Навчитися налаштовувати середовище розробки та створювати прості веб-застосунки за допомогою Flask Framework та Jinja2 Templates. Також обговорити архітектуру веб-додатків.
Дізнатися, що таке архітектура REST і як вона працює, розглянути альтернативи REST: gRPC та GraphQL. Навчитися створювати RESTful API за допомогою Flask-RESTful. Почнемо знайомство з ORM SQLAlchemy та познайомимося зі SwaggerUI.
Дізнатися, навіщо потрібна валідація даних на сервері, якщо вона вже є на клієнтській частині, обговоримо, що таке серіалізація та десеріалізація даних. Покращимо структуру програми.
Повторити, що таке ORM і навіщо вона потрібна, познайомитися з патернами проектування, які використовуються в SQLAlchemy, навчитися робити складніші запити за допомогою ORM і дізнатися, як робити агрегаційні запити. Також обговорити підводне каміння роботи з ORM.
Дізнатися, що таке міграції та навіщо вони потрібні. Розібрати інструменти, які використовуються в Python для міграції даних. Також напишемо власні міграції.
Дізнатися, що таке аутентифікація та авторизація користувача, чим вони відрізняються один від одного. Також, розглянути способи та протоколи аутентифікації у веб-додатках та додати до нашого додатка аутентифікацію на базі JWT.
Розглянемо, які види тестування веб-додатків бувають, дізнаємося, які інструменти існують для тестування веб-додатків у Python і автоматизуємо запуск тестів за допомогою Continuous Integrations tools.
Дізнаємося, що таке Docker та Docker контейнер, розглянемо причини використання Docker, запакуємо наш Flask додаток у Docker контейнер і розгорнемо його на Heroku.
Дізнаємося, як ефективніше використовувати ресурси сервера/процесора, вивчимо способи прискорення Flask програми та розглянемо варіанти застосування кожного із способів. Також познайомимося з примітивами синхронізації в Python і поговоримо про GIL.
Познайомимося з асинхронним програмуванням у Python, розглянемо асинхронний фреймворк Sanic та обговоримо, коли краще застосовувати асинхронний підхід, а коли синхронний. Крім того, вивчимо концепти асинхронного програмування і які у нього переваги та недоліки перед синхронним підходом.
Запитання і відповіді
Онлайн курси мають низку переваг перед офлайн форматом:
- Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
- Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
- Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
- Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.
Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.
Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.
Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:
- новачки – від 3 до 6 місяців;
- ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
- професійні програмісти – до 1 місяця.
Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.
Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.
В залежності від того, скільки часу ви готові виділяти на навчання в день, ви зможете пройти програму за 3-8 місяців. Якщо у вас є певна база знань з ІТ, кількість необхідного часу буде меншою.
Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним.
Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.
Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.
Ще нижче ви знайдете Roadmap зі спеціальності – путівник, на якому зображені відео курси у вигляді дерева, що також вас легко зорієнтує у послідовності проходження курсів.
Якщо ви обираєте Live Online навчання з тренером, все дуже просто:
- відвідуйте всі заняття, вчасно виконуйте д/з;
- додатково дивіться відео уроки на ITVDN;
- після кожного уроку проходьте коротке тестування;
- практикуйтеся в Інтерактивному практикумі;
- спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
- в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
- в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.
А для тих, хто навчається онлайн з ментором, у нас додатково передбачена індивідуальна допомога HR-фахівця щодо підготовки до працевлаштування з першого дня навчання і до отримання першого job-оферу. Вона включає в себе допомогу в оформленні соцмереж, підготовці резюме, проведення пробної співбесіди, надання порад щодо пошуку роботи та самопрезентації тощо.
На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.
На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.
Ніяких вимог до вашого рівня англійської ми не висуваємо, оскільки всі навчальні матеріали йдуть російською або українською мовами. При цьому базові знання англійської будуть корисні для комфортного пошуку інформації в гуглі, читання документацій в інтернеті тощо.
На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.
Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.
Ні, знижки не додаються.
Відгуки наших студентів
Відгуки в DOU
4,9/5 - 195 відгуків
Відгуки в Facebook
5,0/5 - 704 відгуки
Відгуки в Google
4,9/5 - 814 відгуки