что можно сделать на django
Почему вам стоит выбрать фреймворк Django для своего следующего проекта
Авторизуйтесь
Почему вам стоит выбрать фреймворк Django для своего следующего проекта
Senior Python Developer в Akvelon
Django (Джанго) — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.
Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка — DRY (англ. Don’t repeat yourself)
Веб-фреймворк Django используется в сайтах Instagram, Disqus, Mozilla, The Washington Times, Pinterest, YouTube, Google и др.
Архитектура Django похожа на «Модель-Представление-Контроллер» (MVC). Контроллер классической модели MVC примерно соответствует уровню, который в Django называется Представление (англ. View), а презентационная логика Представления реализуется в Django уровнем Шаблонов (англ. Template). Из-за этого уровневую архитектуру Django часто называют «Модель-Шаблон-Представление» (MTV).
Основные возможности Django
Django Rest Framework для создания API
Django Rest Framework (DRF) — это библиотека, которая работает со стандартными моделями Django для создания гибкого и мощного API для проекта. Эта статья поможет понять структуру DRF и дать вводные данные для начала его использования
API DRF состоит из трёх слоев:
Когда не стоит использовать Django
Если все вышесказанное – не про ваш проект, то, вполне вероятно, Django вам подойдет.
Из личного опыта: идеальное применение Djnago для бэкенд разработки — написание бэкенда на хакатоне. Очень много встроенных фич и расширений, максимально удобная и быстрая разработка по сравнению с другими языками и фреймворками. Как мы знаем, на хакатоне время очень ограниченно.
Проекты на Django для начинающих и опытных разработчиков
Навыки разработки на Python и Django крайне полезны. Но одного лишь изучения теории недостаточно – очень важно подкреплять полученные знания практикой, а для этого нужны идеи конкретных проектов.
Django, как и любой другой фреймворк, лучше всего осваивать, работая над реальными проектами: так вы получите опыт и подготовитесь к настоящей коммерческой разработке. В этой статье мы собрали несколько любопытных идей, которые вы сможете воплотить в жизнь.
Проекты на Django для начинающих
1. Рассылка электронных писем на Python
Идея: автоматизировать отправку электронных писем, учитывая бизнес-требования.
Программа должна принимать список адресов и имен адресатов. После составления шаблона письма в него подставляются имена получателей, а затем письма автоматически рассылаются по указанным адресам.
2. Инструмент для работы с регулярными выражениями
Изучать регулярные выражения просто и полезно. В приложении вам нужно будет предоставить два поля ввода: для исходной строки и самого регулярного выражения. На выходе мы получаем результат работы выражения.
3. Авторизация на Django
Идея: реализовать шаблон системы авторизации, чтобы потом использовать её в любом веб-приложении с минимальными изменениями. Сейчас каждый веб-сайт призывает пользователей создавать аккаунты, следовательно, такой шаблон будет очень полезен.
4. Генератор HTML-страниц
Идея: реализовать интерфейс, где пользователь сможет ввести нужный текст и, нажав кнопку, сгенерировать из текста HTML-страницу с какими-нибудь стилями. Такое приложение будет полезно для быстрого создания документации.
5. Счётчик калорий на Python
Идея: такое приложение – отличная возможность понаблюдать за расходом калорий в течение дня. Пользователь будет добавлять продукты, которые съел в течение дня, а приложение — считать калории. В дальнейшем можно добавить функцию для учёта силовых тренировок, пробежек и ходьбы, чтобы пользователь видел, сколько калорий он сжёг.
Марк Лутц «Изучаем Python»
Скачивайте книгу у нас в телеграм
6. Мессенджер на Django
Идея: простое приложение с возможностью создания чатов, где пользователи будут общаться в реальном времени. Нет необходимости сохранять все предыдущие сообщения – можно отображать лишь несколько последних чатов, удаляя старые.
7. Сохранение паролей
Идея: построить сайт, который будет хранить все пароли, используемые на других сайтах. Пароли не должны храниться в незашифрованном виде – разработайте алгоритм шифрования.
8. Система управления больницей на Django
Идея: веб-приложение для управления работой больницы. У системы будет интерфейс для создания аккаунта врача и добавления записей о пациентах. Здесь следует предусмотреть возможность быстрого поиска по записям.
9. Автоматическое размещение постов в Twitter
Идея: создайте бота для автоматического размещения постов через Twitter API. Вы также можете использовать другой API, чтобы размещать в постах цитаты, забавные стихи и т.п. Сделайте так, чтобы между твитами были интервалы по нескольку часов.
10. Подсветка кода
Идея: постройте сайт, интерфейс которого позволит писать код на Python. Реализуйте функцию подсветки синтаксиса, и у вас получится отличный вспомогательный инструмент.
11. Книжный каталог на Python
Идея: в этом проекте вы создаёте CRUD-приложение, что потребует от вас умения работать с базами данных и серверами. Это приложение будет вести учёт всех книг в библиотеке, контролировать возврат книг читателями, рассчитывать штрафы и т.д.
Проекты на Django среднего уровня
1. Программирование сокетов на Python
Идея: сокеты позволяют установить соединение между клиентом и сервером для обмена данными. В большинстве случаев они пригождаются при создании чатов.
2. Список дел на Django
Идея: с помощью данного приложения пользователь сможет отслеживать выполнение всех запланированных задач. Создать приложение можно на HTML, CSS и JavaScript, а запустить — на localhost при помощи Django или Flask.
3. Толковый словарь
Идея: занимаясь таким проектом, вы будете пользоваться различными API из Интернета. Приложение должно предоставлять толкование слов, а также их антонимы и синонимы.
4. Железнодорожная справочная система
Идея: индийская железнодорожная система предоставила нам API на railapi.com, с которым можно собрать всю актуальную информацию о статусе рейса, номер PNR, и т.д. Наш проект – веб-приложение, которое использует этот API и предоставляет всю информацию о поездах по запросам пользователей.
5. Автозаполнение резюме на Python
Идея: такое приложение будет помогать студентам в заполнении резюме, автоматически подставляя в него информацию и формируя pdf-документ для скачивания.
6. Приложение для заметок
Идея: здесь вам потребуется разработать приложение с дружелюбным интерфейсом для создания заметок. Вам необходимо продумать функционал для добавления, редактирования и удаления заметок. Также вы можете предусмотреть вставку изображений.
7. Приложение для составления тестов
Идея: сайт, на котором пользователь сможет поиграть в викторину. Вам потребуется добавить в тест несколько вопросов, после чего пользователь пройдёт его и отправит результат. В конце мы должны подсчитать баллы за тест.
8. Блог
Идея: сайт-блог – отличный проект для вашего портфолио. Продумайте дизайн сайта так, чтобы он соответствовал определённой теме. Также можно добавить функционал администратора и возможность оставлять комментарии.
Продвинутые проекты на Django
1. Интернет-магазин одежды с возможностью оплаты
Идея: умение создавать онлайн-магазины — востребованный навык. Такое веб-приложение предполагает возможность осуществлять покупки, так что придётся настроить платёжный модуль для обработки транзакций.
2. Интерактивные карты
Идея: интерактивная карта с анимацией, использующая различные данные. Это довольно сложная задача, так как внешний вид должен меняться в соответствии с действиями пользователя.
3. Социальная сеть на Django
Идея: социальная сеть – это платформа, которая позволяет людям общаться, заводить друзей и выражать свои мысли при помощи текста, картинок и т.д. Создавая соцсеть, следует подумать о безопасности данных пользователей, ведь они будут использовать приложение для личных переписок.
4. Клон Pinterest на Django
Идея: разработайте красивое приложение, в котором пользователи смогут демонстрировать свои таланты, размещая фотографии, картины и т.д. У пользователей должна быть возможность лайкать посты и подписываться на авторов, чтобы видеть в ленте их последние работы.
5. Веб-приложение «агрегатор новостей»
Идея: вы можете создать агрегатор новостей, который будет использовать веб-краулер. Агрегатор новостей поможет собирать данные или новостные статьи с нескольких сайтов.
6. Веб-приложение на основе местоположения
Идея: вы можете создать приложение для навигации, которое задействует карту для измерения расстояния между двумя местами и отобразит кратчайший маршрут. Навигация используется в приложениях по доставке продуктов, а ещё она может проложить маршруты к ближайшим магазинам.
7. Система управления контентом
Идея: попробуйте создать собственную CMS на Django! Начать можно с малого, а затем постепенно добавлять модули, наращивая функционал.
8. Видео-чаты
Идея: веб-приложение, в котором можно находить друзей и совершать видеозвонки. Работая над этим приложением, вы научитесь реализовывать трансляцию видео. Будет интересно!
Вывод
На этом закончим наш перечень идей проектов на Django. В нашем списке представлены идеи для специалистов разных уровней: и для тех, кто только начал свой путь в создании веб-приложений, и для продвинутых разработчиков.
Надеемся, эта подборка вам пригодится. Удачи!
11 проектов на Django для начинающих
Создать собственный проект — это лучший способ изучить Django или любой другой фреймворк. Проектно-ориентированный подход к обучению вообще значительно лучше простого проглатывания теоретических концепций.
Фреймворки призваны упростить нам жизнь. Но любой фреймворк сначала нужно освоить. Если вы с этим справитесь, дальше все будет идти легко и весело.
Выполнив несколько реальных проектов с фреймворком, вы получите много опыта и полезных знаний.
Мы провели небольшое исследование и собрали множество идей проектов, которыми поделимся с вами. Предлагая вам идеи, мы рассчитываем, что что вы уже хорошо разбираетесь в основах языка Python и теперь хотите освоить веб-разработку с помощью Django.
Стоит отметить, что сами по себе идеи ничего не стоят. Любой из вас может провести мозговой штурм и найти много идей на миллион долларов, но все они будут бесполезны, пока вы их не реализуете.
В данной статье мы постараемся вам дать не только идеи, но и ресурсы, которые помогут их реализовать.
1. Блог на Django
Если вы новичок в Django, то данный проект для вас особенно хорош. Используя Django, можно полностью с нуля создать сайт-блог.
Блог — это сайт, на котором вы можете публиковать статьи, а также обновлять, редактировать или удалять их. Там будет домашняя страница с названиями всех статей, а для открытия какой-нибудь из них нужно будет кликнуть мышью по названию.
Вы сейчас как раз находитесь на аналогичном сайте и можете создать такой же блог, используя Django. Для этого вам надо знать основы Python и иметь базовые знания по технологиям фронтенда, HTML и CSS.
Преимущество Django состоит в том, что вам не придется создавать админ-панель для вашего сайта. Для этого у Django есть встроенные функции и вы легко сможете их использовать.
Подробнее с данным проектом вы можете ознакомиться в статье «How to Create a Blog Using the Django Framework».
2. To-do приложение на Django
Создание простого и интересного to-do приложения — это отличный способ изучить новую технологию. To-do — это просто список дел или задач, которые вы планируете выполнить.
Очень вероятно, что вы это уже знаете и сами пользовались или пользуетесь подобным приложением. Или хотя бы составляли такой список от руки. Теперь вы можете попробовать сами автоматизировать эту задачу при помощи специального приложения.
С помощью Django вы можете создать полноценное to-do приложение и использовать его для собственных нужд, чтобы не забывать важные дела. Такое приложение пригодится многим людям.
Для создания подобного приложения вам не нужно быть экспертом в Django. Вполне достаточно будет знать основы работы с этим фреймворком.
Если вас это интересует, то вот подробный гайд по созданию такого приложения.
3. Клон сайта Hacker News
Если у вас нет собственных крутых идей, то хороший способ делать проекты на Django — создавать клоны уже существующих сайтов и приложений. То есть вы можете создать клон любого понравившегося вам сайта.
Такие проекты помогут вам разобраться во внутренней работе понравившихся вам сайтов и приложений.
Мы нашли хороший туториал по созданию клона сайта Hacker News. Если вам такая мысль интересна, то, следуя инструкциям, вы сможете создать подобный сайт с нуля.
После выполнения данного проекта вы сможете создавать клоны и других сайтов. Делая такие вещи самостоятельно, вы приобретете уверенность и подготовку для более сложных проектов.
4. Система входа на сайт
Если вы Django-разработчик, то должны знать, как создать систему входа на сайт или в приложение. Собственно, каждый backend-разработчик должен знать, как делаются такие вещи, поскольку это используется почти в каждом коммерческом проекте.
Итак, если вы этого еще не умеете, вам следует этому научиться. Мы нашли видео на YouTube, в котором вас научат, как за 10 минут создать полнофункциональную страницу входа в систему.
Посмотрите этот великолепный видеотуториал и внимательно его изучите, потому что это вам пригодится.
5. Портфолио разработчика
Нам кажется, что создание сайта-портфолио — вообще хорошая идея. При поиске работы его можно будет использовать вместо резюме.
А как насчет реализации такого сайта на Django? Будет интересной затеей создать на Django сайт-портфолио и поместить в него все другие ваши проекты на Django. Когда будете искать работу или пойдете на собеседование, вам будет, что показать потенциальному работодателю! Это повысит ваши шансы получить желаемую работу.
Видеокурс «Building a Personal Portfolio with Django» поможет вам создать красивое личное портфолио, чтобы продемонстрировать свои навыки разработки на Python.
Марк Лутц «Изучаем Python»
Скачивайте книгу у нас в телеграм
6. Чат-бот на Django
Многие сайты и приложения используют чат-ботов для взаимодействия со своими клиентами. А вы когда-нибудь задумывались над тем, как их делают?
Кстати, если вы не знаете, что такое чат-бот, то знайте: это программа, которая общается с юзером с помощью голосовых или текстовых методов. Это программа, имитирующая человеческую речь, в том числе письменную, с помощью искусственного интеллекта и других технологий.
Чат-бот может определять намерения пользователя и извлекать данные и соответствующие объекты, содержащиеся в запросе пользователя. Это приносит огромную пользу бизнесу.
Создать чат-бота и реализовать его на своем сайте также можно при помощи Django.
Это несколько более продвинутый проект. Если вы новичок в программировании, то мы не рекомендуем сразу браться за него. Но если вы уже выполнили несколько проектов и приобрели некоторый уровень уверенности в своих навыках программирования, то можете попробовать свои силы в реализации чат-бота.
Мы надеемся, что это видео поможет вам в реализации столь интересного проекта.
От редакции Pythonist. Рекомендуем серию статей по теме: «Чат-бот на Python (Deep Learning + TensorFlow)».
7. «Погодное» приложение на Django
Допустим, вы уже завершили некоторые базовые проекты, такие как блог, список дел и еще ряд простых приложений. Пора взяться за что-то посерьезнее.
Например, можно создать приложение для отображения погоды в основных городах мира. Это будет полезно пользователям, которым необходимо знать, какая погода сейчас в том или ином городе.
Для облегчения выполнения этого проекта вы можете воспользоваться какими-нибудь API-интерфейсами. (API-интерфейс — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой).
Вы вполне можете создать свой проект на Django и интегрировать его с некоторыми API. Кто-то, вероятно, уже создал полезные ресурсы с API-интерфейсом, и вы отлично можете их использовать в своем проекте.
Создав такое приложение, вы разберетесь в концепции API и научитесь использовать их в своих проектах. Эти знания будут очень ценными, если вы захотите стать веб-разработчиком.
Описание процесса создания подобного приложения мы нашли для вас на YouTube:
8. Магазин на Django
Вы когда-нибудь пользовались сайтами электронной коммерции, такими как Amazon? На таких сайтах люди могут покупать или продавать товары через Интернет и отправлять деньги и данные для выполнения подобных транзакций.
Сайт Amazon имеет множество функций. Он полностью изменил наш подход к покупке или продаже товаров. Если у вас есть продукт для продажи, вы можете продавать его на eCommerce-сайтах, подобных Amazon. Но вы можете и сами создать сайт с похожим функционалом.
Даже если у вас нет товаров для продажи, вы можете сделать такой проект просто для практики. Создайте онлайн-магазин при помощи уже имеющихся у вас навыков Django. Это будет хороший проект, который научит вас многим полезным вещам.
Мы нашли видео, которое поможет вам создать такой сайт. Потренируйтесь сейчас, а потом зарабатывайте на собственном интернет-магазине (или на создании таких магазинов для других людей).
9. Социальная сеть на Django
Все мы пользуемся социальными сетями, верно? А вы знаете, что многие популярные сайты, такие как Instagram, YouTube, Pinterest и многие другие работают на Python и Django?
Вы тоже можете создать свою социальную сеть при помощи фреймворка Django. Если у вас есть оригинальная идея социальной сети, просто выполните этот проект и создайте свое приложение. Может, оно станет следующим Instagram или Facebook, кто знает?
Будет здорово, если вы создадите социальную сеть для себя и своих друзей, чтобы иметь возможность поиграться с ней. Тогда по ходу дела вы сможете прислушиваться к предложениям друзей и улучшать приложение.
Этот проект отлично ляжет в ваше портфолио. Надеемся, этот видеотуториал поможет вам создать собственную соцсеть.
10. Сайт для подписки на видео на Django
На сайте видеоподписок вы можете подписаться на выбранные каналы, заплатив определенную сумму, — так же, как на NetFlix. Django можно полноценно использовать для создания подобного сайта.
Выполняя этот проект, вы сможете узнать, как использовать API, как работать с платежами, как обрабатывать данные и многое другое.
Вы научитесь интегрировать в свой проект платежный шлюз, например Stripe, создавать страницы оформления заказа, настраивать периоды оплаты, работать с интерфейсом Stripe, обрабатывать платежи, анализировать данные платежей, отменять подписки и т.д.
Если вы хотите создать сайт с подписками на видео при помощи Django, вам может пригодиться это видео.
11. Онлайн-школа на Django
В этом проекте вы создадите онлайн-школу, в которой учителя смогут создавать задания, а учащиеся — выполнять их и просматривать результаты. Для создания подобного веб-приложения вы можете использовать свои навыки работы с Django.
Выполнив этот проект, вы научитесь создавать многопользовательскую систему с помощью Django Rest Framework и React. Таким образом, вы узнаете много нового о структуре Rest Django, а также кое-что о React.
Такой проект улучшит ваши навыки и frontend-, и backend-разработки. Если вы хотите стать fullstack веб-разработчиком Django, мы рекомендуем вам заняться этим проектом. Следующий плейлист поможет вам в работе.
12. Размещение созданных вами сайтов
Доставку программного продукта клиенту обычно называют развертыванием на веб-хостинге. Другими словами, это процесс публикации кода в Интернете, чтобы каждый мог получить доступ к вашему проекту.
Даже если у вас нет коммерческих целей, вам следует опубликовать ваши проекты и сделать их доступными для всех.
Благодаря этому при составлении портфолио вы сможете добавлять в него ссылки на свои проекты. А потенциальные работодатели смогут перейти по любой из ссылок и увидеть проделанную вами работу.
Это важно, потому что укрепляет доверие к вам как к специалисту. Увидев портфолио реализованных вами проектов, люди поймут, что вы опытный веб-разработчик. В результате ваши шансы получить работу повысятся.
Кроме того, как веб-разработчик, вы должны уметь самостоятельно развертывать сайты в Интернете.
Это не так дорого, как кажется. Для обычного развертывания ваших приложений вы можете использовать бесплатные платформы, такие как Python Anywhere или Heroku.
Если вы уже выполнили несколько проектов на Django, разверните их в Интернете с помощью этого простого руководства.
Заключение
Вы считаете, что уже готовы взяться за большой проект? Возьмите любую из этих идей и приступайте к работе. Если вам нужна работа в области программирования, но у вас нет опыта, то выполнение подобных проектов вернее всего поможет вам получить место.
Высоконагруженные сайты и приложения на Python / Django (29 проектов)
Наша компания довольно давно занимается разработкой больших веб-приложений на Python / Django. В рунете крайне мало информации об этом замечательном языке программирования и фремворке на его основе. Мы решили исправить эту ошибку и рассказать о популярных высоконагруженных сайтах на этой технологии, а также дать много интересных технических подробностей. Для удобства сравнения сайтов между собой мы приводим еще и немного статистики к каждому из проектов. В целом сайтов на Python / Django, конечно, очень много в мире, мы охватим только наиболее интересные по нашему мнению.
Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
Pinterest (cоциальная сеть)
Python как язык программирования и в качестве фреймворка был выбран Django. Хостинг – Amazon. За основную систему управления базами данных взята MySQL, кэширование объектов выполняет memcached, а коллекций объектов – Redis. Solr используется как поисковая платформа, а Hadoop – для реализации поисковых и контекстных механизмов, анализа данных.
Немного о статистике:
В штате работают более чем 140 сотрудников по последним данным. Около 11-ти миллионов уникальных посетителей в неделю на декабрь 2011. 500 виртуальных машин в EC2, 410 Терабайт пользовательских данных или 80 миллионов различных объектов хранится в Amazon S3. На июль 2013 года Pinterest имеет около 70 миллионов пользователей, согласно французскому агентству Semiocast. Итого, Pinterest становится 4-ой по популярности социальной сетью в США после Facebook, Twitter и LinkedIn.
Disqus (сервис)
Python как язык программирования и в качестве фреймворка был выбран Django. Операционная система – Linux. За основную систему управления базами данных взята PostgreSQL, кэширование объектов выполняет memcached, как и в случае с Pinterest. За балансировку нагрузки отвечает HAProxy, за репликацию данных – Slony.
Немного о статистике:
В штате работают 33 человека. Число зарегистрированных пользователей растет и на данный момент составляет 50 миллионов человек. Сайт получает примерно 17 тысяч запросов в секунду. Более 144 миллионов уникальных посещений в месяц только с территории США. Около 750 000 сайтов и блогов.
Instagram (фото- и видео-приложение)
За основную операционную систему взят Ubuntu Linux 11.04. Python как язык программирования в качестве фреймворка был выбран Django. За основную систему управления базами данных взята PostgreSQL, кэширование объектов выполняет опять же memcached, а Redis выступает в качестве дополнительного хранилища данных. За балансировку нагрузки отвечает HAProxy. Проект использует инфраструктуру Amazon, в частности EC2, ELB, Route, S3 и CloudFront. За поисковую платформу взят Solr. Для работы с задачами используется Gearman.
Немного о статистике:
Все начиналось с одного небольшого и слабого сервера и двоих разработчиков. В первый же день было зарегистрировано около 25 000 пользователей. Сегодня же Instagram пользуются более 200 миллионов человек — более 7 миллионов пользователей ежедневно. Около 20 миллиардов фотографий было опубликовано, и 60 миллионов публикуется ежедневно. Facebook приобрел сервис за 1 миллиард долларов в апреле 2012 года.
Reddit (новостной сайт)
Python как язык программирования в качестве фреймворка был выбран Pylons. За основную систему управления базами данных взята также PostgreSQL, кэширование объектов выполняет memcached. RabbitMQ используется для автономной обработки данных. За балансировку нагрузки отвечает HAProxy. За поисковую платформу взят Amazon CloudSearch.
Немного о статистике:
Около 112 миллионов уникальных посещений в месяц. 5,46 миллиардов просмотров страниц в месяц. Reddit пользуются 2,89 миллиона человек. И все это обслуживает команда, состоящая из 28 человек.
Dropbox (облачное хранилище данных)
И Dropbox сервер и клиентское приложение написаны на Python. Клиент использует средства разработки GUI, такие как wxWidgets и Cocoa и другие важные библиотеки Python такие как Twisted, ctypes и pywin32. Dropbox зависит от librsync библиотеки, которая написана на C. Информация о файлах содержится в хранилище, реализованном на базе MySQL. Для хранения самих файлов используется Amazon S3.
Немного о статистике:
Штат состоит из 110 сотрудников. Более 50 миллионов зарегистрированных пользователей. Каждые 3 минуты более чем миллион файлов сохраняются с использованием сервиса. 500 миллионов файлов сохраняются ежедневно.
Pitchfork (музыкальный электронный журнал)
Python как язык программирования в качестве фреймворка был выбран Django. Хостинг – Amazon. Основной системой управления базами данных была выбрана MySQL. В дополнение используется PostgreSQL. За кэширование объектов отвечает Redis. В качестве поисковой платформы используется ElasticSearch и Solr. Также используются сервисы Amazon (EC2, RDS, SES).
Немного о статистике:
Проект имеет более 14,5 миллионов посещений в месяц (580 тысяч в день), из них 5,5 уникальных (410 тысяч в день). Просмотр страниц составляет 38,5 миллионов в месяц (1,6 миллиона в день). На март-апрель 2014 года количество зарегистрированных пользователей составляет 4,3 миллиона.
Lanyrd (портал)
Python как язык программирования и в качестве фреймворка был выбран Django. За основную систему управления базами данных взята PostgreSQL, кэширование объектов выполняет memcached. Redis используется в связке с Celery для хранения промежуточных результатов задач, которые выполняет Celery в асинхроном режиме. За балансировку нагрузки отвечает HAProxy. Проект использует инфраструктуру Amazon, в частности S3. За поисковую платформу взят Solr.
Немного о статистике:
Команда разработчиков состоит из всего 6 человек, как заявляет Andrew Godwin в своей презентации. Около 900 000 уникальных посетителей в месяц на март 2014 года, максимальное значение было в октябре 2013го и составляло немногим более миллиона посетителей (http://www.trafficestimate.com/lanyrd.com). Ежедневный просмотр страниц составляет около 55 000.
Mozilla (программное обеспечение)
Компания Mozilla использует различные языки программирования, в том числе и Python, который используется широко: от написания сборочных скриптов до сайта компании, Webmaker и других компонентов, а также сервера синхронизации – минималистичное WSGI приложение использующее Paste для разворачивания на хостинге и Sqlite3 в качестве базы данных.
Немного о статистике:
На сегодняшний день проектами Mozilla пользуются более 500 миллионов человек. Это весьма большой показатель, если учесть конкуренцию. Проектами Mozilla занимаются более тысячи разработчиков.
Yelp (портал с элементами социальной сети)
За основную операционную систему взят Ubuntu Linux. Python как язык программирования и в качестве фреймворка был выбран Django. За основную систему управления базами данных взята MySQL. Также Yelp использует сервисы Amazon, в частности S3 для хранения логов и фотографий, и EMR. В качестве поисковой платформы используется Solr/Lucene. За балансировку нагрузки отвечает HAProxy и LVS.
Немного о статистике:
Посещаемость сайта составляет около 200 миллионов человек в месяц, из них порядка 120 миллионов уникальных посещений. (https://www.quantcast.com/yelp.com). За все время работы проекта написано более 53 миллионов отзывов пользователями по всему миру.
Foursquare (социальная сеть с функцией геопозиционирования)
Проект написан на нескольких языках, в том числе и Python, который используется для автоматизации операционных задач и других процессов. CentOS Linux является основной операционной системой. HAProxy отвечает за распределение нагрузки и API-запросов. За основную систему управления базами данных взята MongoDB, кэширование вычислительных процессов выполняет Memcache. Часть информации, а именно пользовательские фотографии, хранится в Amazon S3. Анализом занимается Hadoop. За поисковую платформу взяты Solr и Elasticsearch. Для поиска по гео-индексам используется библиотека s2 от Google в связке с PostGIS. Kestrel отвечает за обработку асинхронных задач.
Немного о статистике:
Штат состоит примерно из 140 сотрудников. По данным за 2013 год проектом занимались около 40 тысяч разработчиков. Пользователей около 45 миллионов. Общее количество чек-инов по всему миру 5 миллиардов, и примерно 3 миллиона добавляется каждый день.
Rdio (музыкальный сервис)
Rdio использует несколько языков программирования. В частности, часть Бэкенда написана на Python и в качестве фреймворка выбран Django. Для хранения информации используется несколько баз данных – MongoDB и MySQL. Redis был выбран в качестве альтернативы memcached.
Немного о статистике:
Каталог из более чем 20 миллионов песен. Ежедневно около 200 тысяч просмотров страниц. На территории Соединенных Штатов около 300 тысяч людей пользуются сервисами проекта в течение месяца.
Google (поисковая система)
Google использует множество языков программирования. Так как создатель Python работал одно время в Google, легко предположить, что и этот язык программирования используется. Так и есть. На Python написана часть YouTube и поискового движка, а также много других компонентов. Вкратце, используется LevelDB как основная система управления базами данных. Также используется Closure для работы с JavaScript, это своего рода набор инструментов, созданный разработчиками Google.
Немного о статистике:
Статистика Google известна всем и везде, но приведем несколько цифр. Ежемесячно через поиск проходит 12,477 миллиардов запросов. Google занимает около 67% поискового рынка Соединенных Штатов. Уникальных посещений за месяц – 191 миллион человек. Штат компании составляет 53,891 человек.
Quora (социальный сервис «Вопросы и ответы»)
Python как язык программирования. Хостинг – Amazon. За основную систему управления базами данных взята MySQL, кэширование объектов выполняет memcached. За балансировку нагрузки отвечает HAProxy.
Немного о статистике:
Штат состоит из 72 сотрудников. Число уникальных посещений за февраль 2014 года составляет более одного миллиона. Ежемесячно сервисом Quora пользуются 1,126,00 людей (данные за 2013).
Подведем итог
Как видите, довольно много известных проектов использует Python / Django и это вполне оправданно. Python – очень интересный современный язык программирование, который сейчас очень быстро набирает популярность, как на западе, так и в рунете. Про преимущества Python / Django мы уже писали ранее небольшую заметку. На данный момент мы наблюдаем большой спрос на программирование на Python / Django, ведь это качество! Спрос на проекты рождает и спрос на специалистов.
Если Вы хотите разработать высоконагруженный проект, то мы рекомендуем рассмотреть Python / Django в качестве технической платформы. Ну а для коллег, если Вы хотите стать программистом или освоить новый язык программирования – Python будет одним из наилучших вариантов.
Курсы Python. В нашей школе стартует пятимесячный курс обучения «Разработка веб-приложений на Python / Django» — еще есть несколько мест. Чтобы записаться пишите на info@digitov.com
Новые статьи Чтобы получать наши новые статьи раньше других или просто не пропустить новые публикации — подписывайтесь на нас в Facebook, VK и Twitter.
Курсы по программированию Совсем скоро в нашей бизнес-школе Digitov стартуют курсы: Хочу стать Junior PHP Developer!, Symfony 2. Гибкая разработка и Ruby on Rails. По рельсам к профессиональной разработке. Подписывайтесь на курсы сейчас и сможете купить их со скидкой.



