Pull to refresh
1
0
Send message

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Reading time17 min
Views199K
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

Эта статья глубже и детальней предыдущих и поэтому может быть интересна не только новичкам, но и достаточно опытным Python-разработчикам.

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

Я постарался рассмотреть тонкости и нюансы, которые освещаются далеко не во всех книгах и курсах, и, в том числе, отсутствуют в уже опубликованных на Habrahabr статьях на эту тему.

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры

85% сотрудников забивает на системы управления проектами. Как мы делаем свою

Reading time5 min
Views32K
Последние 10 лет для ведения проектов мы пользовались такими системами как YouTrack, Jira, Asana, Slack, SmartSheet, BaseCamp, Trello и даже белой доской, а также постоянно тестировали что-то новое. По нашему мнению, главная проблема всех систем управления в том, что люди в компании попросту забивают на её использование. А было бы здорово, если информация на все отделы распространялась из одной системы и вся команда сама активно постоянно ей пользовалась.

И настал момент, когда на выходных решили сделать свой инструмент для планирования и управления. Мы были уверены, что на эффективность команды из 30 человек действительно сильно влияет система ведения задач.

Для начала хотели реализовать 2 вещи:

  • Секундомеры на каждой задаче, потому что было ощущение, что это позволит точнее понимать как расходуется время в команде;
  • Универсальность. Предполагали, что отдел разработки, поддержки и все остальные отделы могут работать в одной системе.



Мы с головой ушли в это ответвление компании, разработка идёт уже 10 месяцев, а с нового года взяли ещё человека на мобильные версии. Сейчас открыто бета-тестирование, более 50 команд активно пользуется нашей системой. Под катом хотим поделиться тем, что у нас получилось и рассказать о том, какие кастомные подходы к управлению проектами оказались провальными.
Читать дальше →

Подборка полезных слайдов про Linux

Reading time1 min
Views47K
Недавно мы опубликовали перевод журнала про инструменты отладки для Linux, а теперь предлагаем подборку полезных слайдов для начинающих Linuxоводов от того же автора.


Читать дальше →

Лабораторная работа «Обучаемся настраивать сети в GNU/Linux»

Reading time9 min
Views48K
Никто не любит длинные вступления, поэтому сразу к сути.
В данной импровизированной лаборатории я хотел бы осветить работу с сетями в GNU/Linux
и рассмотреть следующие темы:

  1. Изучаем vlan. Строим сеть между vm1, vm2 в одном vlan. Пингуем, ловим пакеты, изучаем заголовки.
  2. Разбиваем vm1 vm2 на разные vlan. Настраиваем intervlan routing с помощью R1.
  3. Iptables. Настраиваем маскарад. Имитируем выход во внешние сети.
  4. Iptables. Настраиваем port forwarding для сервисов на vm1 и v2, которые находятся за NAT.
  5. Iptables. Настраиваем security zones. Изучаем tcp сессии.


З.Ы. все люди ошибаются, я открыт для ваших комментариев, если я написал какую-то глупость, готов ее исправить!
Читать дальше →

Балансировка нагрузки с Pacemaker и IPaddr (Active/Active cluster)

Reading time5 min
Views33K


Хочу рассказать вам еще об одном способе балансировки нагрузки. Про Pacemaker и IPaddr (ресурс-агент) и настройке его для Active/Passive кластера сказано уже и так достаточно много, но информации по организации полноценного Active/Active кластера, используя этот модуль я нашел крайне мало. Постараюсь исправить эту ситуацию.


Для начала расскажу подробнее чем такой метод балансировки примечателен:


  • Отсутсвие внешнего балансировщика — На всех нодах в кластере настраивается один общий виртуальный IP-адрес. Все запросы отправляются на него. Ноды отвечают на запросы на этот адрес случайно и по договоренности между ссобой.
  • Высокая доступность — Если одна нода падает ее обязаности подхватывает другая.
  • Простота настройки — Настройка осуществляется всего в 3-5 команд.
Читать дальше →

Конец халяве: I Also Know What You Download (часть 2)

Reading time7 min
Views81K
UPDATE: пост обновлен 11 мая 2017.

Примерно с месяц назад я написал пост про один нехороший сервис, которой отслеживает скачанные торренты. Появился повод написать небольшое продолжение.

NOTE: далее немного воды, и про баржу, и про канал, так что можно сразу переходить к разделу «Переходим к сути».

Не смотря на то, что многие писали, что по их ip-адресам статистика «левая», у меня все было очень даже правильно. Неприятно, когда на тебя собирают такую статистику. Поэтому вопрос о необходимости постепенного переползания на VPN для меня был очевиден, оставалось только решить на какой именно.

В этом пути и возникло интересное продолжение по теме.

image
Читать дальше →

Application Insights. Про аналитику и другие новые инструменты

Reading time6 min
Views13K
Около года назад я написал небольшую статью про использование превью версии Azure сервиса диагностики и мониторинга Application Insights (AI). С тех пор в AI появилось очень много интересных дополнений. И вот, чуть больше месяца назад, AI наконец получил General Availability.


Читать дальше →

Правильный путь становления безопасника: от ламера до практического эксплойтинга

Reading time4 min
Views41K
Приветствую, тебя %хабраюзер%. Прочитал я тут статью на хабре «Экзамен для будущих «русских хакеров» в Московском Политехе». И мой мозг вошел в бесконечный цикл непонимания происходящего. То ли я сейчас заглянул на школофорум «хакеров», то ли действительно на хабр. Уж извините, с таким подходом текущему поколению вайтов просто некому будет заменить.

В данной статье я хотел бы написать, как по моему скромному мнению (ранее багхантера на стороне блэков) стоило бы действительно начинать путь. И ни к в коем случае не с Kali linux ( как оказываются преподают в политехе столицы.

Если вам интересен отчасти и мой путь, добро пожаловать под кат.
Читать дальше →

Автоматизация нагрузочного тестирования: связка Jmeter + TeamCity + Grafana

Reading time4 min
Views17K


Изображение: Flickr

В нашем блоге на Хабре мы продолжаем рассказывать о построении DevOps-культуры в компании — например, в одном из последних топиков мы описывали то, какие задачи решаем с помощью системы SaltStack. Сегодня речь пойдет о другой интересной теме — автоматизации нагрузочного тестирования с помощью связки нескольких готовых инструментов.

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views113K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →

Windows Performance Station или как я учил комп работать эффективно

Reading time9 min
Views47K
image

Здравствуйте, уважаемые читатели! Вот я и добрался до Хабра и хочу поведать здесь историю своего проекта. Многие аспекты собственного опыта и работы приходится описывать довольно общими терминами, чтобы не задеть коммерческую тайну тех организаций, о которых идёт речь.

Суть данного рассказа в том, чтобы поделиться найденным методом решения проблемы производительности компьютеров на Windows и рассказать про подход, который позволил сделать данное решение полностью универсальным и индивидуальным для каждого пользователя. На написание кода и подбор наиболее эффективных механизмов потребовалось около 2х лет ежедневной работы, а также консультации и помощь от большого количества моих товарищей из разных IT областей, за что им огромное спасибо.
Читать дальше →

Как найти свою первую работу программистом? От резюме до испытательного срока

Reading time9 min
Views237K
image

Все знают, что сейчас программирование — это супервостребованная и супероплачиваемая профессия. Но немногие знают, что вакансий для начинающих очень мало. Все работодатели хотят, чтобы к ним пришёл человек, который уже что-то умеет. Напишет код, который не надо выкидывать. Джуниорских вакансий (не требующих опыта работы) мало, и конкуренция здесь очень большая. С одной стороны, существует огромная потребность в программистах. С другой — в начале карьеры вы можете столкнуться со сложностями. Работодатели обращают внимание в первую очередь на тех, у кого в резюме уже есть строчка о прошлом месте работы. Если у вас её нет, будет сложно.

Из собственного опыта скажу, что я окончил хороший университет и ожидал, что меня сразу завалят предложениями о работе. Но моё резюме вызывало минимальный интерес. Я получил два приглашения на собеседования, и никто меня не отрывал с руками.

Итак, как же новичку получить первую работу?
Читать дальше →

Как я парсил всю базу данных игр Metacritic-а

Reading time6 min
Views20K
Metacritic — англоязычный сайт-агрегатор, собирающий отзывы о музыкальных альбомах, играх, фильмах, телевизионных шоу и DVD-дисках. (с википедии).

Использованные библиотеки: lxml, asyncio, aiohttp (lxml — библиотека разбора HTML страниц с помощью Python, asyncio и aiohttp будем использовать для асинхронности и быстрого извлечения данных). Также будем активно использовать XPath. Кто не знает, что это такое, отличный туториал.
Читать дальше →

«Ультимативный DNS-дайджест»: 45 материалов с Хабра и других ресурсов

Reading time6 min
Views11K
Совсем недавно мы рассказали о том, как команда нашего IaaS-провайдера автоматизировала работу с DNS-записями в хостинг-панели.

Опыт создания новой услуги по предоставлению бесплатного сервиса DNS-хостинга сподвиг нас к беглому анализу публикаций на Хабре, которые затрагивали те или иные аспекты работы DNS. Мы собрали эти материалы вместе с англоязычными дополнениями в очередной «ультимативный» дайджест от 1cloud.

В прошлых выпусках мы собрали практические материалы в SSLVPN-дайджест.

Читать дальше →

Python: коллекции, часть 2/4: индексирование, срезы, сортировка

Reading time10 min
Views190K
Часть 1 Часть 2 Часть 3 Часть 4
imageДанная статья является продолжением моей статьи "Python: коллекции, часть 1: классификация, общие подходы и методы, конвертация".

В данной статье мы продолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python.

Для кого: для изучающих Python и уже имеющих начальное представление о коллекциях и работе с ними, желающих систематизировать и углубить свои знания, сложить их в целостную картину.

ОГЛАВЛЕНИЕ:


  1. Индексирование
  2. Срезы
  3. Сортировка
Читать дальше →

Высшее образование и ИТ — текущие реалии и перспективы, мнения и опыт экспертов

Reading time21 min
Views88K
image

В сфере информационных технологий некоторое время назад стали появляться мнения о малой эффективности профильного высшего образования. В результате часть молодых людей верит в то, что можно в любой момент бросить ВУЗ и запустить успешный ИТ-стартап. Есть и те, кто просто не хочет идти в ВУЗ, полагая, что нужно сразу устраиваться на работу стажером, обучаясь премудростям программирования по мере необходимости. Но эффект выжившего подкрепляется единичными успешными примерами.

В этих суждениях присутствует известная доля юношеского максимализма, а возможно, даже подтасовка фактов. Есть разные мнения на этот счет, у каждого свой опыт. Да и если разобраться, сама роль высших учебных заведений может быть истолкована по-разному. Кто-то считает, например, что они непременно должны быть чуть ли не бизнес-инкубаторами.

Мы пообщались с представителями российских компаний и попросили высказать свое отношение по поводу того, что происходит с российским ИТ-образованием сегодня, насколько оно соответствует рыночным реалиям. Мы также выяснили, кому они отдают предпочтения при приеме на работу и многое другое.
Читать дальше →

Перевод учебника по алгоритмам

Reading time1 min
Views167K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →

Stepic.org в Telegram: как мы разрабатывали бота и что из этого получилось

Reading time3 min
Views27K
Зимой 2016 года у нас в Stepic.org возникла идея сделать для наших учащихся персонального помощника, поэтому мы позвали студента СПбАУ РАН Константина Чаркина на стажировку, результатом которой видели Telegram-бота. Это потом всё вышло из под контроля и появился набор стикеров и каналы по курсам… Но обо всём по порядку!


Читать дальше →

Information

Rating
Does not participate
Registered
Activity