Времена, когда веб-приложение делал разработчик в соло остались в прошлом. Продукты стали сложнее, темпы разработки и ожидания пользователей выросли.
Сейчас все чаще для разработки сколько-нибудь сложных веб-сервисов формируют команду из разных специалистов. Чем больше компания, тем больше специализаций в команде встречается.
➡️ Давайте разберемся, кто есть кто на примере того, как устроены команды на наших коммерческих проектах.
Сейчас все чаще для разработки сколько-нибудь сложных веб-сервисов формируют команду из разных специалистов. Чем больше компания, тем больше специализаций в команде встречается.
➡️ Давайте разберемся, кто есть кто на примере того, как устроены команды на наших коммерческих проектах.
👍6❤1
⚔️Битва фреймворков: Django vs FastAPI
Использовать чужой код в Python можно и нужно. Библиотеки и фреймворки с opensource лицензиям позволяют экономить сотни и даже тысячи часов разработчиков при создании веб-приложения.
Если при использовании библиотеки разработчик сам выбирает какие функции когда вызывать, то фреймворк решает за него — даёт «скелет» проекта и, наоборот, сам вызывает код, написанный разработчиком.
Как правило, фреймворки объемнее, больше и сложнее отдельной библиотеки. Фреймворки состоят из множества модулей и подсистем.
Для веб-разработки самые известные фреймворки ➡️ Django и FastAPI.
📎 Есть ещё микрофреймворк Flask, но по факту он уже не актуален и для новых проектов нет никаких причин выбирать его, а не FastAPI или Django. Flask можно использовать в учебных целях для первого пет-проекта, т.к. у него низкий порог входа.
⁉️Что лучше: FastAPI или Django? Что лучше: ложка или вилка? Наушники или колонки? Эти вопросы одинаково нелепы.
Вместо этого лучше спросим «Чем FastAPI отличается от Django?» и «Когда мне использовать FastAPI, а когда — Django?». Надо разобраться.
⚡️Django
➡️Django — это фреймворк на Python для создания «жирных» сервисов с кучей логики, где нужны декомпозиция, готовые «батарейки» и автоматически сгенерированная админка.
➡️Django включает в себя ORM, панель администратора и шаблонизатор для создания HTML-страниц. Эти функции ускоряют разработку. В Django реализована философия «все включено».
➡️Для валидации и сериализации данных, особенно при активном использовании API интеграций, стоит использовать свежую батарейку Django Ninja.
Известные проекты, написанные с использованием Django:
📌 Youtube
📌 Instagram*
📌 Google Search
📌 Dropbox
📌 Spotify
⚡️FastAPI
➡️FastAPI — это современный веб-фреймворк для создания API-интерфейсов на Python. Он достаточно прост в использовании, предлагает мощный современный набор инструментов для разработки API и не требует использования реляционных баз данных.
➡️За счёт асинхронности FastAPI даёт заметный выигрыш по скорости в сравнении с Django при общении бэкенда по API с другими сервисами. К ним относятся сервисы реального времени и микросервисы.
➡️Появление FastAPI буквально «взорвало» отрасль веб-разработки своим необычным новом подходом. Ключевое из них — глубокая интеграция с библиотекой Pydantic.
Сейчас эти подходы FastAPI буквально становятся стандартом в отрасли. Их портируют даже на старые фреймворки типа Django — там есть Django-Ninja, она повторяет многие фичи FastAPI, но уже поверх Django.
➡️ Библиотека Pydantic обеспечивает автоматическую проверку запросов, сериализацию и десериализацию данных. Это уменьшает количество ошибок, упрощает код и позволяет автоматически генерировать документацию к API.
Известные проекты, написанные с использованием FastAPI:
📌 Microsoft Azure
📌 Netflix
Итак, фреймворки очень разные и нужны в разных случаях.
✅Выбирайте Django, если:
✏️ Заранее известно, что проект будет большой
✏️ Разрабатывать будет большая или средняя команда, которая до этого не работала вместе
✏️ Если нужна реляционная база данных
✏️ Нужна готовая админка к базе данных
⚡️ Познакомиться с Django можно на мини-курсах «Знакомство с Django: ORM», «Django», «Продвинутая вёрстка в Django»
✅Выбирайте FastAPI, если:
✏️ Важна асинхронность
✏️ Планируется много интеграций по API с другими веб-сервисами
✏️ Пишете микро-сервис с API
✏️ Используете нереляционные базы данных
*деятельность организации Meta Platforms Inc и ее продуктов Instagram и Facebook запрещена в Российской Федерации.
Использовать чужой код в Python можно и нужно. Библиотеки и фреймворки с opensource лицензиям позволяют экономить сотни и даже тысячи часов разработчиков при создании веб-приложения.
Если при использовании библиотеки разработчик сам выбирает какие функции когда вызывать, то фреймворк решает за него — даёт «скелет» проекта и, наоборот, сам вызывает код, написанный разработчиком.
Как правило, фреймворки объемнее, больше и сложнее отдельной библиотеки. Фреймворки состоят из множества модулей и подсистем.
Для веб-разработки самые известные фреймворки ➡️ Django и FastAPI.
📎 Есть ещё микрофреймворк Flask, но по факту он уже не актуален и для новых проектов нет никаких причин выбирать его, а не FastAPI или Django. Flask можно использовать в учебных целях для первого пет-проекта, т.к. у него низкий порог входа.
⁉️Что лучше: FastAPI или Django? Что лучше: ложка или вилка? Наушники или колонки? Эти вопросы одинаково нелепы.
Вместо этого лучше спросим «Чем FastAPI отличается от Django?» и «Когда мне использовать FastAPI, а когда — Django?». Надо разобраться.
⚡️Django
➡️Django — это фреймворк на Python для создания «жирных» сервисов с кучей логики, где нужны декомпозиция, готовые «батарейки» и автоматически сгенерированная админка.
➡️Django включает в себя ORM, панель администратора и шаблонизатор для создания HTML-страниц. Эти функции ускоряют разработку. В Django реализована философия «все включено».
➡️Для валидации и сериализации данных, особенно при активном использовании API интеграций, стоит использовать свежую батарейку Django Ninja.
Известные проекты, написанные с использованием Django:
📌 Youtube
📌 Instagram*
📌 Google Search
📌 Dropbox
📌 Spotify
⚡️FastAPI
➡️FastAPI — это современный веб-фреймворк для создания API-интерфейсов на Python. Он достаточно прост в использовании, предлагает мощный современный набор инструментов для разработки API и не требует использования реляционных баз данных.
➡️За счёт асинхронности FastAPI даёт заметный выигрыш по скорости в сравнении с Django при общении бэкенда по API с другими сервисами. К ним относятся сервисы реального времени и микросервисы.
➡️Появление FastAPI буквально «взорвало» отрасль веб-разработки своим необычным новом подходом. Ключевое из них — глубокая интеграция с библиотекой Pydantic.
Сейчас эти подходы FastAPI буквально становятся стандартом в отрасли. Их портируют даже на старые фреймворки типа Django — там есть Django-Ninja, она повторяет многие фичи FastAPI, но уже поверх Django.
➡️ Библиотека Pydantic обеспечивает автоматическую проверку запросов, сериализацию и десериализацию данных. Это уменьшает количество ошибок, упрощает код и позволяет автоматически генерировать документацию к API.
Известные проекты, написанные с использованием FastAPI:
📌 Microsoft Azure
📌 Netflix
Итак, фреймворки очень разные и нужны в разных случаях.
✅Выбирайте Django, если:
✏️ Заранее известно, что проект будет большой
✏️ Разрабатывать будет большая или средняя команда, которая до этого не работала вместе
✏️ Если нужна реляционная база данных
✏️ Нужна готовая админка к базе данных
⚡️ Познакомиться с Django можно на мини-курсах «Знакомство с Django: ORM», «Django», «Продвинутая вёрстка в Django»
✅Выбирайте FastAPI, если:
✏️ Важна асинхронность
✏️ Планируется много интеграций по API с другими веб-сервисами
✏️ Пишете микро-сервис с API
✏️ Используете нереляционные базы данных
*деятельность организации Meta Platforms Inc и ее продуктов Instagram и Facebook запрещена в Российской Федерации.
🔥8❤4👍1
🔥Мы запустили новую реферальную программу!
Дарим бонус за каждого друга, который запишется на курс по вашей реферальной ссылке и пройдет первые три месяца обучения!
Какие условия?
🎁5000 рублей за каждого друга.
🎁 А другу — скидка 5000 рублей на оплату курса
Что нужно сделать?
⚡️Зарегистрироваться или авторизоваться на сайте Devman
На странице появится персональная реферальная ссылка. Нужно отправить ее другу. Ссылка многоразовая, её можно разослать всем друзьям, которые хотят стать Питонистами.
⚡️ Попросить друга оставить заявку на курс по Вашей реферальной ссылке
Наш менеджер свяжется с другом, ответит на вопросы и проследит, чтобы он получил скидку на обучение.
⚡️ Написать нам в Telegram, подтвердить зачисление друга и отправить заявку на вознаграждение
Мы пришлем бонус после того, как друг пройдет первые три месяца обучения.
❗️Реферальная программа не распространяется на мини-курсы.
Остались вопросы?
Подробные условия можно почитать здесь.
А еще вы можете написать нам, чтобы все уточнить!
Дарим бонус за каждого друга, который запишется на курс по вашей реферальной ссылке и пройдет первые три месяца обучения!
Какие условия?
🎁5000 рублей за каждого друга.
🎁 А другу — скидка 5000 рублей на оплату курса
Что нужно сделать?
⚡️Зарегистрироваться или авторизоваться на сайте Devman
На странице появится персональная реферальная ссылка. Нужно отправить ее другу. Ссылка многоразовая, её можно разослать всем друзьям, которые хотят стать Питонистами.
⚡️ Попросить друга оставить заявку на курс по Вашей реферальной ссылке
Наш менеджер свяжется с другом, ответит на вопросы и проследит, чтобы он получил скидку на обучение.
⚡️ Написать нам в Telegram, подтвердить зачисление друга и отправить заявку на вознаграждение
Мы пришлем бонус после того, как друг пройдет первые три месяца обучения.
❗️Реферальная программа не распространяется на мини-курсы.
Остались вопросы?
Подробные условия можно почитать здесь.
А еще вы можете написать нам, чтобы все уточнить!
🔥3
Какого цвета слово❓
Начинающий разработчик не может сразу начать писать идеальный код. Так что посмотрев на свои первые проекты несколько месяцев или лет спустя, вам точно захочется улучшить программный продукт и причесать код. Давайте возьмем проект такого вот начинающего программиста и прокачаем его.
🌟Продукт — игра «Какого цвета слово». Это развивающая игра, где не важно что написано, но надо назвать цвет, которым написано. Попробуйте — это не так-то просто!
➡️ Пример веб-версии. В ней ответ вводится пользователем. В оффлайне часто играют с карточками или смотрят слайды на экране — тогда надо называть голосом, за подсчетом очков при этом следит ведущий.
Нина совсем недавно начала обучаться Python и сделала вариант для игры оффлайн. То, что получилось у Нины покажем в следующем сообщении.
➡️ Ссылка на код: https://replit.com/@repldevman/WhatColor
⚡️Первая игра прошла на ура!
И вот спустя несколько месяцев Нина вспомнила про игру и решила похвастаться перед друзьями. Но вот только слова и цвета зашиты в код, в нем много копипасты и нет возможности быстро менять задержку между кадрами. Да и игра получается слишком короткая.
А вот было бы здорово, чтобы можно было генерировать случайные последовательности слов! Или может даже получится добавить ввод ответа и подсчет очков?
💫Давайте возьмёмся все вместе, улучшим код и доработаем продукт так, чтобы им захотелось пользоваться.
➡️Пишите код, делитесь ссылками на свои проекты, записывайте гифки, предлагайте фичи — и посмотрим, что у нас получится! А мы вернемся с нашей версией во вторник!
Начинающий разработчик не может сразу начать писать идеальный код. Так что посмотрев на свои первые проекты несколько месяцев или лет спустя, вам точно захочется улучшить программный продукт и причесать код. Давайте возьмем проект такого вот начинающего программиста и прокачаем его.
🌟Продукт — игра «Какого цвета слово». Это развивающая игра, где не важно что написано, но надо назвать цвет, которым написано. Попробуйте — это не так-то просто!
➡️ Пример веб-версии. В ней ответ вводится пользователем. В оффлайне часто играют с карточками или смотрят слайды на экране — тогда надо называть голосом, за подсчетом очков при этом следит ведущий.
Нина совсем недавно начала обучаться Python и сделала вариант для игры оффлайн. То, что получилось у Нины покажем в следующем сообщении.
➡️ Ссылка на код: https://replit.com/@repldevman/WhatColor
from time import sleep
print("\u001b[31m оранжевый")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[38;5;214m зеленый")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[38;5;226m красный")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[36m синий")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[34m фиолетовый")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[35m желтый")
sleep(1)
print('\033[2J')
print('\u001b[4A', end='')
print("\u001b[0m Конец игры")
⚡️Первая игра прошла на ура!
И вот спустя несколько месяцев Нина вспомнила про игру и решила похвастаться перед друзьями. Но вот только слова и цвета зашиты в код, в нем много копипасты и нет возможности быстро менять задержку между кадрами. Да и игра получается слишком короткая.
А вот было бы здорово, чтобы можно было генерировать случайные последовательности слов! Или может даже получится добавить ввод ответа и подсчет очков?
💫Давайте возьмёмся все вместе, улучшим код и доработаем продукт так, чтобы им захотелось пользоваться.
➡️Пишите код, делитесь ссылками на свои проекты, записывайте гифки, предлагайте фичи — и посмотрим, что у нас получится! А мы вернемся с нашей версией во вторник!
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Вот какая игра получилась у Нины ⬆️
Давайте посмотрим какие проблемы в коде прежде всего стоит поправить:
➡️ вынести часто используемые коды в константы
➡️ структурировать код с помощью if - main
➡️ избавиться от копипасты с помощью цикла и функции
https://replit.com/@repldevman/UpgradedWhatColor#main.py
После рефакторинга кода мы расширили функционал:
➡️ Добавили функционал для случайного выбора слова и цвета с помощью функции
➡️ Количество раундов игры и время задержки между кадрами вынесли в аргументы командной строки с помощью библиотеки argparse.
Друзья, совсем не увидели активности на интерактиве😢 Укажите, пожалуйста, почему не приняли участие, чтобы мы в следующий раз выбрали другой формат. Свои варианты и пожелания пишите в комментариях ➡️
➡️ вынести часто используемые коды в константы
➡️ структурировать код с помощью if - main
➡️ избавиться от копипасты с помощью цикла и функции
https://replit.com/@repldevman/UpgradedWhatColor#main.py
import argparse
import random
from time import sleep
WORDS = ("красный", "оранжевый", "желтый", "зеленый", "синий", "фиолетовый")
COLOR_CODES = (
"\u001b[38;5;226m",
"\u001b[31m",
"\u001b[38;5;214m",
"\u001b[32m",
"\u001b[34m",
"\u001b[35m",
)
CLEAR_CODE = "\033[2J"
UP_CODE = "\u001b[4A"
CLEAR_COLOR_CODE = "\u001b[0m"
def parse_arguments():
parser = argparse.ArgumentParser(
description='Игра "Назови цвет"')
parser.add_argument('-s', '--sleep_delay', type=int, default=1,
help='задержка между словами в секундах')
parser.add_argument('-n', '--words_amount', type=int, default=10,
help='количество слов в последовательности')
return parser.parse_args()
def print_word_with_delay(word, color_code, sleep_delay):
print(f"{color_code} {word}")
sleep(sleep_delay)
print(CLEAR_CODE)
print(UP_CODE, end="")
def main():
args = parse_arguments()
for _ in range(args.words_amount):
print_word_with_delay(
word=random.choice(WORDS),
color_code=random.choice(COLOR_CODES),
sleep_delay=args.sleep_delay,
)
print(CLEAR_COLOR_CODE, end="")
print("Конец игры")
if __name__ == '__main__':
main()
После рефакторинга кода мы расширили функционал:
➡️ Добавили функционал для случайного выбора слова и цвета с помощью функции
random.choice(). ➡️ Количество раундов игры и время задержки между кадрами вынесли в аргументы командной строки с помощью библиотеки argparse.
Друзья, совсем не увидели активности на интерактиве😢 Укажите, пожалуйста, почему не приняли участие, чтобы мы в следующий раз выбрали другой формат. Свои варианты и пожелания пишите в комментариях ➡️
❤1
Почему не приняли участие в интерактиве?
Anonymous Poll
19%
Не нравятся интерактивы в принципе
14%
Слишком сложно, нет времени разбираться
29%
Простой проект, уже такое неинтересно
38%
Непонятно, что нужно было сделать
⚡️Библиотеки Python. Не изобретайте велосипед
➡️Библиотеки (англ. package) бывают стандартными — те, которые входят в поставку вместе с интерпретатором Python, и сторонними.
Сторонние библиотеки в большинстве случаев можно найти в индексе PyPI. На данный момент в PyPI уже более полумиллиона готовых библиотек.
➡️Фреймворки для Python — это тоже особые библиотеки. Основное свойство фреймворка — перехват управления потоком исполнения программы.
Вот, например, библиотеки и фреймворки команды Девмана.
В «Основах Python» вы столкнетесь со сторонними библиотеками
🧩Бывает, что сторонние библиотеки настолько сильно повлияли на python-сообщество, что их добавляют в стандартную поставку. Так очень популярная библиотека для асинхронного кода `asyncio` стала стандартной в версии 3.4.
❗️Библиотеками с открытым кодом можно и нужно пользоваться, если нет прямого запрета для конкретного проекта.
☑️Использование библиотек значительно экономит время на разработку, а значит итоговый продукт получится дешевле и будет сделан раньше — это крайне важно для бизнеса.
☑️А ещё итоговый продукт будет стабильнее работать, т.к. библиотеку скорее всего уже много раз протестировали и выявили все критичные баги.
Знание, опыт использования и навык быстро осваивать новые библиотеки — это один из столпов разработки на Python!
🟡Срок жизни библиотек не вечен. Иногда контрибьютеры перестают выделять время на поддержку, библиотека становится несовместима с новыми версиями языка и отмирает. А иногда появляются конкуренты, которые настолько хорошо выполняют свою работу, что вытесняют предшественника.
👉🏻Яркий пример – `unittest`
👉🏻Микрофреймворк Flask практически проиграл мощному и лёгкому FastAPI. FastAPI рванул вперёд за счёт глубокой интеграции библиотеки `Pydantic`, которая уже стала новым стандартом веба.
👉🏻Позиции вышеупомянутого `asyncio
👉🏻А всем известный `requests`
➡️Делитесь в комментариях, за какими новыми библиотеками будущее Python?
➡️Библиотеки (англ. package) бывают стандартными — те, которые входят в поставку вместе с интерпретатором Python, и сторонними.
Сторонние библиотеки в большинстве случаев можно найти в индексе PyPI. На данный момент в PyPI уже более полумиллиона готовых библиотек.
➡️Фреймворки для Python — это тоже особые библиотеки. Основное свойство фреймворка — перехват управления потоком исполнения программы.
Вот, например, библиотеки и фреймворки команды Девмана.
В «Основах Python» вы столкнетесь со сторонними библиотеками
Pillow, num2words, transliterate, smtplib, faker и др.🧩Бывает, что сторонние библиотеки настолько сильно повлияли на python-сообщество, что их добавляют в стандартную поставку. Так очень популярная библиотека для асинхронного кода `asyncio` стала стандартной в версии 3.4.
❗️Библиотеками с открытым кодом можно и нужно пользоваться, если нет прямого запрета для конкретного проекта.
☑️Использование библиотек значительно экономит время на разработку, а значит итоговый продукт получится дешевле и будет сделан раньше — это крайне важно для бизнеса.
☑️А ещё итоговый продукт будет стабильнее работать, т.к. библиотеку скорее всего уже много раз протестировали и выявили все критичные баги.
Знание, опыт использования и навык быстро осваивать новые библиотеки — это один из столпов разработки на Python!
🟡Срок жизни библиотек не вечен. Иногда контрибьютеры перестают выделять время на поддержку, библиотека становится несовместима с новыми версиями языка и отмирает. А иногда появляются конкуренты, которые настолько хорошо выполняют свою работу, что вытесняют предшественника.
👉🏻Яркий пример – `unittest`
, который указан в документации Django, как библиотека для тестирования, уже по факту вытеснен `pytest`.👉🏻Микрофреймворк Flask практически проиграл мощному и лёгкому FastAPI. FastAPI рванул вперёд за счёт глубокой интеграции библиотеки `Pydantic`, которая уже стала новым стандартом веба.
👉🏻Позиции вышеупомянутого `asyncio
`тоже уже шатаются под натиском `anyio`. Системообразующая технология, кандидат на полное включение в стандартную поставку.👉🏻А всем известный `requests`
похоже скоро уступит место свежему`HTTPX`. ➡️Делитесь в комментариях, за какими новыми библиотеками будущее Python?
❤2
Вы уже используете `httpx` вместо `requests`?
Anonymous Poll
19%
Да, классная библиотека, уже пользуюсь!
63%
Нет, было бы здорово узнать про `httpx`
6%
Пробовал(а) `httpx`, но `requests` лучше всех
12%
Не сталкивался ни с тем, ни с другим
💥Обновили первый урок мини-курса «Основы Python».
Заменили онлайн IDE Repl.it, который тормозил, некорректно отображал ANSI коды и просто раздражал бесконечными подсказками и внезапными авто дополнениями. Представляем онлайн IDE — CodeHS!
✅ Преимущества CodeHS
— Позволяет писать код в браузере и передавать ссылку на него даже без регистрации
— Консоль работает шустро и корректно отображает ANSI коды для урока «Раскрутите планету»
— Работает с российскими электронными почтами yandex.ru, mail.ru и др.
— Не требует подтверждения аккаунта по почте или телефону
— Бесплатный сервис без ограничений на количество проектов и время использования
— Не требует установки софта на компьютер
— Не требует VPN для работы из РФ (не проверяли в новых регионах РФ)
— Не требует указывать номер банковской карты для регистрации
🔻Недостатки
— Регистрация выглядит немного запутанной (но мы сделали туториал в Энциклопедии)
— Сервис полностью на английском языке
— Нельзя импортировать сторонние библиотеки
— Работает только при стабильном интернете
☑️Подойдет для:
— Первых проектов и упражнений при обучении Python
— Быстрого прототипирования и экспериментов для разработки
— Если нужно запустить простой код в дороге с телефона или планшета (при наличии интернета)
Заменили онлайн IDE Repl.it, который тормозил, некорректно отображал ANSI коды и просто раздражал бесконечными подсказками и внезапными авто дополнениями. Представляем онлайн IDE — CodeHS!
✅ Преимущества CodeHS
— Позволяет писать код в браузере и передавать ссылку на него даже без регистрации
— Консоль работает шустро и корректно отображает ANSI коды для урока «Раскрутите планету»
— Работает с российскими электронными почтами yandex.ru, mail.ru и др.
— Не требует подтверждения аккаунта по почте или телефону
— Бесплатный сервис без ограничений на количество проектов и время использования
— Не требует установки софта на компьютер
— Не требует VPN для работы из РФ (не проверяли в новых регионах РФ)
— Не требует указывать номер банковской карты для регистрации
🔻Недостатки
— Регистрация выглядит немного запутанной (но мы сделали туториал в Энциклопедии)
— Сервис полностью на английском языке
— Нельзя импортировать сторонние библиотеки
— Работает только при стабильном интернете
☑️Подойдет для:
— Первых проектов и упражнений при обучении Python
— Быстрого прототипирования и экспериментов для разработки
— Если нужно запустить простой код в дороге с телефона или планшета (при наличии интернета)
🔥9👍5🥰1
Скидки 25% на мини-курсы «Основы Python», «Git и GitHub», «API веб-сервисов» и «Вёрстка для питониста» с 13 по 20 декабря! 🔥
🎅Скоро Новый год и мы спешим порадовать вас скидками на мини-курсы!
❄️«Основы Python». Изучите базовые конструкции языка и попрактикуетесь в отладке кода. Подойдет даже тем, кто не пробовал программировать!
👉Получить скидку можно здесь
❄️«Git и GitHub» поможет освоить инструменты, которые позволяют совместно работать над кодом и сохранять историю изменений, когда над проектом работают несколько разработчиков.
👉Получить скидку можно здесь
❄️ «API веб-сервисов» поможет научиться вытягивать данные, обрабатывать их и публиковать в интернете. Будет полезен начинающим программистам, тестировщикам и маркетологам.
👉Получить скидку можно здесь
❄️«Вёрстка для питониста» поможет научиться подключать работу фронтендеров к бекенду, писать парсеры и верстать из готовых шаблонов с Twitter Bootstrap.
👉Получить скидку можно здесь
☃️Выбирайте мини-курс для себя и делитесь с друзьями!
🎅Скоро Новый год и мы спешим порадовать вас скидками на мини-курсы!
❄️«Основы Python». Изучите базовые конструкции языка и попрактикуетесь в отладке кода. Подойдет даже тем, кто не пробовал программировать!
👉Получить скидку можно здесь
❄️«Git и GitHub» поможет освоить инструменты, которые позволяют совместно работать над кодом и сохранять историю изменений, когда над проектом работают несколько разработчиков.
👉Получить скидку можно здесь
❄️ «API веб-сервисов» поможет научиться вытягивать данные, обрабатывать их и публиковать в интернете. Будет полезен начинающим программистам, тестировщикам и маркетологам.
👉Получить скидку можно здесь
❄️«Вёрстка для питониста» поможет научиться подключать работу фронтендеров к бекенду, писать парсеры и верстать из готовых шаблонов с Twitter Bootstrap.
👉Получить скидку можно здесь
☃️Выбирайте мини-курс для себя и делитесь с друзьями!
🔥4
Всем привет!👋
Делимся последними обновлениями:
📩 Обновили почту для связи с нами. Теперь вместо dvmn.org@gmail.com принимаем письма на support@dvmn.org.
❗️ Все письма отправленные на старую почту мы не потеряем, они будут переадресованы на новый адрес.
📑Обновили пользовательское соглашение и политику конфиденциальности в соответствии с требованиями текущего законодательства
❗️ Обновление этих документов не повлияет на наше с вами взаимодействие и не изменит условия прохождения курса и мини-курсов!
Пользовательское соглашение — это документ, который устанавливает правила использования сайта.
Политика конфиденциальности — это документ, который устанавливает правила сбора, обработки и хранения персональных данных.
Делимся последними обновлениями:
📩 Обновили почту для связи с нами. Теперь вместо dvmn.org@gmail.com принимаем письма на support@dvmn.org.
❗️ Все письма отправленные на старую почту мы не потеряем, они будут переадресованы на новый адрес.
📑Обновили пользовательское соглашение и политику конфиденциальности в соответствии с требованиями текущего законодательства
❗️ Обновление этих документов не повлияет на наше с вами взаимодействие и не изменит условия прохождения курса и мини-курсов!
Пользовательское соглашение — это документ, который устанавливает правила использования сайта.
Политика конфиденциальности — это документ, который устанавливает правила сбора, обработки и хранения персональных данных.
❤5🔥5