SlideShare una empresa de Scribd logo
1 de 112
Descargar para leer sin conexión
Введение в Python и 
Django Ляпун Тарас, Хмельницкий, 2014
Мой опыт
История Python 
• Появился в 1991 году 
• Автор - Гвидо Ван Россум 
• Назван в честь телешоу 
«Летающий цирк Монти Пайтона» 
• Python 1.0 - January 1994 
• Python 2.0 - October 16, 2000 
• Python 3.0 - December 3, 2008 
• Текущие версии: 
• Python 2.7.8 
• Python 3.4.1
“1991 - Dutch programmer Guido van Rossum 
travels to Argentina for a mysterious operation. 
He returns with a large cranial scar, invents 
Python, is declared Dictator for Life by legions 
of followers, and announces to the world that 
"There Is Only One Way to Do It." Poland 
becomes nervous.” 
– JAMES IRY «A Brief, Incomplete, and Mostly Wrong History of 
Programming Languages» 
http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly- 
wrong.html
Основные черты языка 
• Высокоуровневый 
• Интерпретируемый 
• Open Source (Python Software Foundation License) 
• Динамическая типизация 
• Автоматическое управление памятью 
• Полная интроспекция 
• Все является объектом
“Python is a programming language that lets 
you work more quickly and integrate your 
systems more effectively. You can learn to 
use Python and see almost immediate gains 
in productivity and lower maintenance 
–http://python.org/ 
cost.”
Главные преимущества 
• Ориентирован на повышение производительности 
разработчика и на читаемость кода 
• Компактный 
• Портируемость 
• Легко расширяемый с помощью CC++
Мультипарадигменный язык программирования 
• Структурное 
• Объектно-ориентированное 
• Функциональное 
• Императивное 
• Аспектно-ориентированное 
• Мета
Влияние других языков 
• ABC — отступы для группировки операторов, высокоуровневые структуры данных (map) 
• Modula-3 — пакеты, модули, использование else совместно с try и except, именованные 
аргументы функций 
• С, C++ — некоторые синтаксические конструкции 
• Smalltalk — объектно-ориентированное программирование; 
• Lisp — отдельные черты функционального программирования (lambda, map, reduce, filter и 
другие); 
• Fortran — срезы массивов, комплексная арифметика; 
• Miranda — списочные выражения; 
• Java — модули logging, unittest, threading, xml.sax стандартной библиотеки, совместное 
использование finally и except при обработке исключений, использование @ для декораторов; 
• Icon — генераторы.
Влияние на другие языки 
• Ruby 
• Boo 
• Groovy 
• ECMAScript (JavaScript) 
• CoffeeScript
Реализации 
PyS60 Pyjamas
Кто использует
Интерактивная консоль 1/3
Интерактивная консоль 2/3
Интерактивная консоль 3/3
Философия Python (PEP - 020)
Синтаксис
Типы и структуры данных 1/4
Типы и структуры данных 2/4
Типы и структуры данных 3/4
Типы и структуры данных 4/4
Приведение типов
Строки
Списки 1/3
Списки 2/3
Списки 3/3
Генераторы списков (List comprehension)
Словари 1/3
Словари 2/3
Словари 3/3
Условные операторы 
Нету switch’a
Циклы 1/2
Циклы 2/2
Функции
Обработка исключений
Классы 1/2
Классы 2/2 
• Классы являются объектами 
• Множественное наследование, mixins 
• Полиморфизм 
• Перегрузка операторов (например <, >, ==, +, -, *, etc) 
• Нету настоящих private методоватрибутов. По конвенции приватные 
методыатрибуты начинаются с _ (нижнего подчеркивания) 
• Нет полноценных интерфейсов, но есть абстрактные классы 
• ООП без заморочек 
• Метапрограммирование
Дескрипторы
Контекст менеджеры
Декораторы
Генераторы
Ленивые вычисления
Функциональное программирование 1/2
Функциональное программирование 2/2 
• Функция является объектом 
• Функция объект высшего порядка 
• Рекурсия (нет оптимизации хвостовой рекурсии) 
• Развитая обработка списков 
• Замыкания 
• Частичное применение функции (partial) 
• fn.py (https://github.com/kachayev/fn.py)
Система модулей 
# main.py 
from .utils import something 
from utils.date import something2 
from utils import * # не рекомендуется, но можно 
from any_lib import something3 
import utils.helpers as helpers 
something() 
helpers.something()
Стандартная библиотека 
socket, select, SocketServer, BaseHTTPServer, asyncore, 
asynchat, xmlrpclib, SimpleXMLRPCServer, urllib, httplib, ftplib, 
smtpd, poplib, impalib, json, getopt, optparse, argparse, 
fileimput, cmd, readline, subprocess, threading, multiprocessing, 
Queue, anydbm, pickle, csv, shelve, sqlite3, etc
Пример отличного API - json
Пример отличного API - requests
Где искать библиотеки 
• https://pypi.python.org/pypi - the Python Package Index 
• http://guide.python-distribute.org/ - The Hitchhiker’s 
Guide to Packaging 
• https://github.com/vinta/awesome-python - A curated list 
of awesome Python frameworks, libraries and software. 
• Bonus: https://github.com/bayandin/awesome-awesomeness
PIP
Virtualenv 
• Изолированное python окружение 
• Разные версии библиотек на разных проектах 
• virtualenvwrapper 
• В Python3 из коробки
PEP (Python Enhancement Proposal) 
• PEP - документ предоставляющий общую 
информацию о языке 
• Сначала создается PEP, потом новая фича языка 
• PEP-8 - правила оформления кода 
• PEP-3000 - описывает переход на Python 3 
• PEP-20 - zen of Python
GIL 
• Global Interpreter Lock 
• Python потоки - родные потоки (POSIX потоки на Unix) 
• Может быть только один выполняемый поток в одну 
единицу времени 
• Масштабируем процессами 
• Пишем асинхронный код, или используем «зеленые» 
треды
Debugging 
• pdb - встроенный отладчик 
• ipdb - ipython для встроенного отладчика 
• pudb - визуальный отладчик
Testing 
• unittest - стандартная библиотека 
• nose - утилиты для тестирования, test discovering 
• pytest - новая модная библиотека для тестирования 
• mamba - BDD 
• pyvows - BDD 
• Splinter - обертка над Selenium 
• mock - моки (в Python 3 из коробки) 
• httpretty - моки для веб ресурсов 
• tox - тестирование со всеми версиями Python
Linting 
• Flake8 - pep8, pyflakes 
• Pylint - analyzer 
• Prospector - everything together
Текстовые редакторы  IDE 
• vim + plugins 
• emacs + plugins 
• Sublime Text + plugins 
• PyCharm 
• Eclipse + PyDev plugin
Использование Python
«Классическая» веб - разработка
Асинхронные вебсетевые приложения 
Twisted 
gevent asyncio
Научные, математические вычисления
Научные, математические вычисления
Machine Learning 
scikit-learn 
PyBrain
Natural Language Processing 
NLTK Pattern
GUI 
TkInter 
PyQT
Базы данных 
peewee
Игры
DevOps
Web scrapping 
BeautifulSoup RoboBrowser 
MechanicalSoup
Как учить? 
https://www.python.org/
Как учить?
Как учить? 
http://learnpythonthehardway.org/
Как учить? 
http://www.learnpython.org/
Как учить? 
http://www.fullstackpython.com/
Как учить? 
http://www.checkio.org/
Как учить? 
http://www.pythonchallenge.com/
Быть в курсе
Конференции 1/3 
• PyCon Ukraine - http://ua.pycon.org (1-2 ноября) 
• Kyiv.py (27 сентября #13) 
• Kharkiv.py 
• Lviv.py 
• Odessa.py 
• http://meetup.com/uapycon/
Конференции 2/3 
• PyCon US (2003 год - 200 участников, 2013-2014 - 
2500) 
• EuroPython (с 2002 года) 
• New Zealand, Singapore, Argentina, Australia, 
Bangladesh, Brazil, Canada, China, Germany, Finland, 
France, India, Ireland, Italy, Japan, Philippines, Poland, 
South Africa, Taiwan, United Kingdom, Ukraine Venezuela 
Python
Конференции 3/3 
• SciPy 
• PyData 
• DjangoCon US 
• DjangoCon Europe
Кто использует
История Django 
• 2003 - появился (Adrian Holovaty, Simon Willison) 
• 2005 - первый релиз (лицензия BSD) 
• Июнь 2008 - Django Software Foundation 
• Текущая версия 1.6 
• В сентябре - 1.7
Django MVC 
• MVC - Model - View - 
Controller 
• MTV - Model - Template - View
Django CLI
Django ORM
Django ORM
Django ORM 
• Поддержка sqlite, mysql, postgresql, oracle 
• Active record 
• Транзакции 
• ForeignKey, OneToOneField, ManyToManyField 
• Авто создание базы, миграции (начиная с 1.7) 
• JsonField, ArrayField, HstoreField с помощью дополнительных 
библиотек 
• Multidatabase support
Django Routing
Django Views (function based)
Django Views (Class based)
Django Templates
Django Forms
Django Middleware
Django Middleware
Django Admin
Django Admin (Django-Suit)
Security 
• Cross site scripting (XSS) protection 
• Cross site request forgery (CSRF) protection 
• SQL injection protection 
• Clickjacking protection 
• SSL/HTTPS 
• Host header validation 
• Session security
MISC 
• Development server 
• Authentication, Authorization 
• Caching system 
• Testing Framework 
• RSS, Atom 
• Static pages 
• i18n, l10n 
• Pagination 
• Timezone 
• GeoDjango 
• Logging 
• Sending emails 
• Messages framework 
• Serialization 
• Sitemaps 
• Static file management 
• Signals 
• Sites framework 
• Context processors 
• Custom tags, filters
Django строительные блоки 
• pip install django-* 
• add to INSTALLED_APPS 
• register routing 
• ENJOY 
• https://www.djangopackages.com/
Best apps 
• Sentry - logging exceptions 
• Haystack - integrate search engines (ElasticSearch, Solr) 
• Tastypie, Django-Rest-Framework - REST 
• django-extensions - a lot of cool stuff 
• Celery - background jobs 
• sorl-thumbnail - thumbnails 
• django-storages - s3, gridfs, etc 
• django-debug-toolbar - кол-во запросов к базе, время загрузки, и т.д. 
• django-compressor - сжатие и обработка статики
Django готовые решения 
• Django CMS (+ Django 
Shop) 
• Mezzanine (+ Mezzanine 
Cart) 
• Oscar 
• Pinax 
• Djedi-CMS 
• Fein-CMS 
• Opps-CMS 
• Wagtail CMS 
• Widgy CMS
WSGI 
• Web Server Gateway Interface 
• Описывает как веб сервер общается с веб 
приложением 
• И как веб приложение компонуется для обработки 
запроса 
• PEP-3333
Deployment
Как учить? 
https://docs.djangoproject.com
Как учить? 
http://www.djangobook.com/
Как учить? 
http://www.tangowithdjango.com/
Как учить?
Как учить?
Вопросы 
• @tlyapun 
• github/lyapun 
• facebook/taras.lyapun

Más contenido relacionado

La actualidad más candente

Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Ontico
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоCodeFest
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Ontico
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовYandex
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
 
JPHP - О проекте на простом языке
JPHP - О проекте на простом языкеJPHP - О проекте на простом языке
JPHP - О проекте на простом языкеDmitry Zaytsev
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав БахмутовCodeFest
 
Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Fwdays
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Badoo Development
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентовNikolay Samokhvalov
 
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)Ontico
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6Nikolay Samokhvalov
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Fwdays
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Daniel Podolsky
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДNikolay Samokhvalov
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) АксеновAlex Chistyakov
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 

La actualidad más candente (20)

Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
 
Олег Бартунов и Иван Панченко
Олег Бартунов и Иван ПанченкоОлег Бартунов и Иван Панченко
Олег Бартунов и Иван Панченко
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
Sivko
SivkoSivko
Sivko
 
JPHP - О проекте на простом языке
JPHP - О проекте на простом языкеJPHP - О проекте на простом языке
JPHP - О проекте на простом языке
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
 
JPHP
JPHPJPHP
JPHP
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
"Мы два месяца долбались, а потом построили индекс" (c) Аксенов
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 

Destacado

Азбука вежливости
Азбука вежливостиАзбука вежливости
Азбука вежливостиPyNSK
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Alina Dolgikh
 
OhShit-situation или самомотивация, используя дробовик
OhShit-situation или самомотивация, используя дробовикOhShit-situation или самомотивация, используя дробовик
OhShit-situation или самомотивация, используя дробовикArtyom Lisovskij
 
Бинарность нашего мира и состояние осознанности
Бинарность нашего мира и состояние осознанностиБинарность нашего мира и состояние осознанности
Бинарность нашего мира и состояние осознанностиArtyom Lisovskij
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Olga Lavrentieva
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Yandex
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonPython Meetup
 
Дмитрий Пронин – Python для веба
Дмитрий Пронин – Python для вебаДмитрий Пронин – Python для веба
Дмитрий Пронин – Python для вебаYandex
 
Python: легко и просто. Красиво решаем повседневные задачи.
Python: легко и просто. Красиво решаем повседневные задачи.Python: легко и просто. Красиво решаем повседневные задачи.
Python: легко и просто. Красиво решаем повседневные задачи.Python Meetup
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer WargamingPython Meetup
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoAzamat Tokhtaev
 
Dictionary в Python. По мотивам Objects/dictnotes.txt
Dictionary в Python. По мотивам Objects/dictnotes.txtDictionary в Python. По мотивам Objects/dictnotes.txt
Dictionary в Python. По мотивам Objects/dictnotes.txtPython Meetup
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутSkillFactory
 
Python для анализа данных
Python для анализа данныхPython для анализа данных
Python для анализа данныхPython Meetup
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in DjangoKevin Harvey
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django IntroductionGanga Ram
 
Принципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DПринципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DAndreyGeonya
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Александр Дьяконов
 

Destacado (20)

Введение в Django
Введение в DjangoВведение в Django
Введение в Django
 
Азбука вежливости
Азбука вежливостиАзбука вежливости
Азбука вежливости
 
Flask, rest and data
Flask, rest and dataFlask, rest and data
Flask, rest and data
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
 
OhShit-situation или самомотивация, используя дробовик
OhShit-situation или самомотивация, используя дробовикOhShit-situation или самомотивация, используя дробовик
OhShit-situation или самомотивация, используя дробовик
 
Бинарность нашего мира и состояние осознанности
Бинарность нашего мира и состояние осознанностиБинарность нашего мира и состояние осознанности
Бинарность нашего мира и состояние осознанности
 
Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»Андрей Колешко «Что не так с Rails»
Андрей Колешко «Что не так с Rails»
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
 
Дмитрий Пронин – Python для веба
Дмитрий Пронин – Python для вебаДмитрий Пронин – Python для веба
Дмитрий Пронин – Python для веба
 
Python: легко и просто. Красиво решаем повседневные задачи.
Python: легко и просто. Красиво решаем повседневные задачи.Python: легко и просто. Красиво решаем повседневные задачи.
Python: легко и просто. Красиво решаем повседневные задачи.
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
 
Dictionary в Python. По мотивам Objects/dictnotes.txt
Dictionary в Python. По мотивам Objects/dictnotes.txtDictionary в Python. По мотивам Objects/dictnotes.txt
Dictionary в Python. По мотивам Objects/dictnotes.txt
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
 
Python для анализа данных
Python для анализа данныхPython для анализа данных
Python для анализа данных
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django Introduction
 
Принципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.DПринципы проектирования S.O.L.I.D
Принципы проектирования S.O.L.I.D
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
 

Similar a Введение в Python и Django

Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьAndrey Rebrov
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Ontico
 
Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Yury Bushmelev
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeIosif Itkin
 
Путь мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в GrammarlyПуть мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в GrammarlyVsevolod Polyakov
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действииNikita Lipsky
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Ontico
 
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python Meetup
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.Alexander Titov
 
Клиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhoneКлиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhonePavel Bashmakov
 
Cocoa Networking
Cocoa NetworkingCocoa Networking
Cocoa Networkingguest57eb8a
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)Ontico
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014Maxim Dementyev
 
Анатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей СмирновАнатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей СмирновOntico
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Andrey Smirnov
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюринpgdayrussia
 

Similar a Введение в Python и Django (20)

Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
 
Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.
 
Migrate!
Migrate!Migrate!
Migrate!
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
 
TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Путь мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в GrammarlyПуть мониторинга, DevOps club в Grammarly
Путь мониторинга, DevOps club в Grammarly
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действии
 
Golang
GolangGolang
Golang
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
 
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
 
DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.DevOps в Agile среде. Как, почему и когда инструменты помогают.
DevOps в Agile среде. Как, почему и когда инструменты помогают.
 
Клиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhoneКлиент-серверные приложения на iPhone
Клиент-серверные приложения на iPhone
 
Cocoa Networking
Cocoa NetworkingCocoa Networking
Cocoa Networking
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)
Архитектура бэкенда карт Sputnik.ru, Максим Дементьев (Спутник)
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014
 
Анатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей СмирновАнатомия веб-сервиса, Андрей Смирнов
Анатомия веб-сервиса, Андрей Смирнов
 
Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)Анатомия веб-сервиса (РИТ-2014)
Анатомия веб-сервиса (РИТ-2014)
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
 

Введение в Python и Django