python для системного администратора

Post on 14-Nov-2014

14.705 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Андрей Григорьев

Разработчик

Python для системного администратора

Немного про Python

Beautiful is better than ugly.Explicit is better than implicit.

Simple is better than complex.Complex is better than complicated.

Flat is better than nested.Sparse is better than dense.

Readability counts....

The Zen of Python, by Tim Peters

Где используется

● Yandex, Google, Yahoo, Reddit, ...● Множество сайтов на Django, Flask, и др.● Игры - Eve Online, World of Tanks, Battlefield 2,

Civilisation IV● Оригинальный BitTorrent (<5.3), Deluge● OpenStack● SAGE Mathematics● Mercurial, Bazaar, Graphite, Scons, Chef,

Puppet, MoinMoin, GNU Mailman, ...

Python для системного администратора?

Bash - основной инструмент системного администратора.

Когда не достаточно Bash — используй Python.

Немного википедии

● Интерпретируемый ● Ориентирован на повышение производительности разработчика и читаемости кода

● Мультипарадигменный (ООП, ФП, АОП)● Минималистичный синтаксис● Богатая стандартная библиотека● Множество модулей на все случаи жизни

Где используется в Яндексе

● Веб-сервисы, где производительность не критична (внутренние сервисы, телепрограмма, паспорт, ...)

● Инфраструктурные сервисы (централизованная система аутентификации и авторизации, ...)

● Утилиты (tank, sky, ...)● Скрипты мониторинга

Использование Python

● python и ipython● Ввод/вывод● Namespaces, globals, locals, dir● Модули и пакеты● Что происходит внутри● Отладка скриптов

Основы языка

● Типы данных● Условные операторы● Циклы и итераторы● Функции и лямбды● Генераторы и декораторы● ООП● Исключения

Стандартные модули

● os, sys, shutil, glob● itertools, collections, functools● time, datetime● zlib● timeit.Timer и %timeit

Работа со строками

● Python 2 - str и unicode● Python 3 - bytes и str● Форматирование строк● Модуль string● Регулярные выражения● CSV, XML и JSON

Работа с сетью

● HTTP (urllib, requests)● TCP/UDP (socket)● SSH (paramiko)● Web-фреймворки● Sync/Async

Базы данных

● sqlite3, MySQLdb, oursql, psycopg2● Django ORM● SQLAlchemy

Андрей Григорьев

Разработчик

ei-grad@yandex-team.ru

Спасибо

top related