Pull to refresh
0
totten @tottenread⁠-⁠only

User

Send message

Роуминг в сетях WiFi — 802.11i/r/k/v/OKC, что нам действительно нужно и как это распознать

Reading time10 min
Views75K
Когда речь заходит о роуминге, под этим понятием обычно скрывается два различных процесса. В мире сотовых сетей, который пришёл к нам раньше, под роумингом подразумевается способность работать в «чужой» сети, а вовсе не бесшовная миграция между базовыми станциями (handover). Незаметное перемещение между БС сотовой сети настолько естественно, что о нём вообще мало вспоминают.

В мире WiFi дела обстоят иначе, и под роумингом обычно подразумевают незаметное для пользователя перемещение между точками доступа одной сети — BSS transition, хотя повсеместное введение SMS-авторизации в ближайшем будущем должно подтолкнуть операторов к внедрению стандарта роуминга между чужими сетями WiFi в стиле сотовой инфраструктуры и на базе её идентификации.

Далее следует описание существующих технологий роуминга и способы их выявления на незнакомом оборудовании, предполагается, что читатель знаком с базовыми принципами работы WiFi.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments18

Итерируем все и вся

Reading time4 min
Views65K
image
Насколько я успел понять по собственному опыту, при переходе на Python с другого языка программирования порой сложно привыкнуть к его специфическому подходу к циклам. Например, взять тот же самый for, который работает совершенно по-другому, нежели в других языках. Возьму на себя смелость рассказать о том, что мне самому поначалу было сложно осознать, а тем более использовать в своем коде — итераторы. Вещь на самом деле очень полезная, надо только уметь правильно ей пользоваться! ;)

АПД: Только сейчас заметил, что тема функционального программирования сегодня популярна как никогда :) Спасибо товарищу uj2 за раскрытие такой интересной темы, поддерживаю!
Панеслася!
Total votes 56: ↑50 and ↓6+44
Comments25

Итерируемый объект, итератор и генератор

Reading time10 min
Views180K
Привет, уважаемые читатели Хабрахабра. В этой статье попробуем разобраться что такое итерируемый объект, итератор и генератор. Рассмотрим как они реализованы и используются. Примеры написан на Python, но итераторы и генераторы, на мой взгляд, фундаментальные понятия, которые были актуальны 20 лет назад и еще более актуальны сейчас, при этом за это время фактически не изменились.


Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments8

Как работает yield

Reading time6 min
Views668K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Total votes 141: ↑136 and ↓5+131
Comments41

Python: Работа с базой данных, часть 1/2: Используем DB-API

Reading time6 min
Views521K
часть 1/2: Используем DB-API часть 2/2: Используем ORM
Python DB-API – это не конкретная библиотека, а набор правил, которым подчиняются отдельные модули, реализующие работу с конкретными базами данных. Отдельные нюансы реализации для разных баз могут отличаться, но общие принципы позволяют использовать один и тот же подход при работе с разными базами данных.

В статье рассмотрены основные методы DB-API, позволяющие полноценно работать с базой данных. Полный список можете найти по ссылкам в конец статьи.

Требуемый уровень подготовки: базовое понимание синтаксиса SQL и Python.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments38

Web Scraping с помощью python

Reading time7 min
Views562K

Введение


Недавно заглянув на КиноПоиск, я обнаружила, что за долгие годы успела оставить более 1000 оценок и подумала, что было бы интересно поисследовать эти данные подробнее: менялись ли мои вкусы в кино с течением времени? есть ли годовая/недельная сезонность в активности? коррелируют ли мои оценки с рейтингом КиноПоиска, IMDb или кинокритиков?
Но прежде чем анализировать и строить красивые графики, нужно получить данные. К сожалению, многие сервисы (и КиноПоиск не исключение) не имеют публичного API, так что, приходится засучить рукава и парсить html-страницы. Именно о том, как скачать и распарсить web-cайт, я и хочу рассказать в этой статье.
В первую очередь статья предназначена для тех, кто всегда хотел разобраться с Web Scrapping, но не доходили руки или не знал с чего начать.

Off-topic: к слову, Новый Кинопоиск под капотом использует запросы, которые возвращают данные об оценках в виде JSON, так что, задача могла быть решена и другим путем.
Читать дальше →
Total votes 40: ↑31 and ↓9+22
Comments48

Учим робота готовить пиццу. Часть 1: Получаем данные

Reading time23 min
Views9.7K


Автор изображения: Chuchilko


Не так давно, после завершения очередного конкурса на Kaggle — вдруг возникла идея попробовать сделать тестовое ML-приложение.
Например, такое: "помоги роботу сделать пиццу".


Разумеется, основная цель этого ровно та же — изучение нового.


Захотелось разобраться, как работают генеративные нейронные сети (Generative Adversarial Networks — GAN).


Ключевой идеей было обучить GAN, который по выбранным ингредиентам сам собирает картинку пиццы.


Ну что ж, приступим.

Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments4

Автоматизация рыбной ловли для World of Warcraft

Reading time5 min
Views85K
Познакомился с World of Warcraft очень давно и люблю его весь, но одна вещь больше всего не давала мне покоя — рыбная ловля. Это нудное повторяющееся действие, где ты просто нажимаешь на кнопку рыбной ловли и тыкаешь на поплавок раз в 5-15 секунд. Мой навык разработки рос, а ситуация с рыбной ловле так и не улучшалась с каждым годом что я играл, поэтому я решил убить двух зайцев сразу — начать осваивать python и всё же сделать бота для себя.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments89

Второе издание книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения»

Reading time7 min
Views15K
image Привет, Хаброжители! В том году мы делали обзор книги Эрика Мэтиза. На данный момент вышло новое издание с исправленными опечатками и листингами. Сама книга показывает базовые принципы программирования, знакомит со списками, словарями, классами и циклами, учит создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную «стрелялку» с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации.

Внутри отрывок из книги «Знакомство с Django»
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

PYCON RUSSIA 2017: видео всех докладов и презентации

Reading time8 min
Views9K
16-17 июля в 95 км от Москвы прошла пятая международная конференция python-разработчиков PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, как прошел PyCon-2017.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Как я SQLAlchemy удобной сделал

Reading time10 min
Views53K

Не секрет, что SQLAlchemy — самая популярная ORM на Python. Она позволяет писать куда более продвинутые вещи, чем большинство Active Record собратьев. Но плата за это — более сложный код, и в простых задачах вроде CRUD это напрягает.


О том, как я сделал Алхимию удобной, воспользовавшись опытом лучших Active Record ORM, читайте под катом.


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments22

10 основных ошибок, совершаемых Django-разработчиками

Reading time12 min
Views102K


В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.

Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments62

8 навыков, необходимых в профессии Data Scientist

Reading time4 min
Views19K
Светлана Шаповалова, редактор блога «Нетологии», адаптировала статью Dave Holtz, в которой он рассказал о восьми навыках, которые помогут начать карьеру Data Scientist.

Интересна профессия Data Scientist? Самое время начать её изучать: Томас Дэвенпорт и Дж. Патил, известные лидеры области, в статье для Harvard Business Review назвали Data Scientist «самой желанной профессией XXI века».

Но как стать дата-сайентистом? Если верить большинству источников, создастся впечатление, что понадобится, как минимум, ученая степень в самых разных областях: от разработки программного обеспечения, обработки данных, работы с базами данных и статистики до машинного обучения и визуализации данных.


Читать дальше →
Total votes 35: ↑16 and ↓19-3
Comments9

Именованные кортежи. Пишем код на Python чище

Reading time6 min
Views117K

В стандартной библиотеке питона содержится специализированный тип "namedtuple", который, кажется, не получает того внимания, которое он заслуживает. Это одна из прекрасных фич в питоне, которая скрыта с первого взгляда.



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

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments13

Программа PYCON RUSSIA готова: 25 докладов от спикеров из Disney, Facebook, Spotify, PyPy, Тинькофф Банк, Яндекс

Reading time8 min
Views4.7K
Осталось чуть меньше месяца до пятого российского PyConRu. Конференция пройдет 16-17 июля в отеле «Cronwell Яхонты Таруса» в 95 км от Москвы (до места проведения и обратно будет трансфер).

В программе сейчас 25 докладов. Вот некоторые из спикеров: Paul Hildebrandt (Walt Disney Animation Studios, США), Łukasz Langa (Facebook, США), Nina Zakharenko (Venmo, США), Lynn Root (Spotify, США), Maciej Fijałkowski (PyPy, ЮАР), Андрей Степанов (Тинькофф Банк), Александр Кошкин (Positive Technologies), Кирилл Борисов (Яндекс), Елизавета Шашкова (JetBrains), Михаил Юматов (ЦИАН), Игорь Новиков (Scalr), Олег Чуркин (Rambler&Co).

До 30 июня билет стоит 15 500 рублей. Потом стоимость повышается. Самое время посмотреть на программу и зарегистрироваться, если вы откладывали это. Под катом коротко о всех докладах конференции.


Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments2

Использование Python и Excel для обработки и анализа данных. Часть 1: импорт данных и настройка среды

Reading time7 min
Views194K
Если Вы только начинаете свой путь знакомства с возможностями Python, ваши познания еще имеют начальный уровень — этот материал для Вас. В статье мы опишем, как можно извлекать информацию из данных, представленных в Excel файлах, работать с ними используя базовый функционал библиотек. В первой части статьи мы расскажем про установку необходимых библиотек и настройку среды. Во второй части — предоставим обзор библиотек, которые могут быть использованы для загрузки и записи таблиц в файлы с помощью Python и расскажем как работать с такими библиотеками как pandas, openpyxl, xlrd, xlutils, pyexcel.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments6

Использование Python и Excel для обработки и анализа данных. Часть 2: библиотеки для работы с данными

Reading time10 min
Views331K
Первая часть статьи была опубликована тут.

Как читать и редактировать Excel файлы при помощи openpyxl


ПЕРЕВОД
Оригинал статьи — www.datacamp.com/community/tutorials/python-excel-tutorial
Автор — Karlijn Willems

Эта библиотека пригодится, если вы хотите читать и редактировать файлы .xlsx, xlsm, xltx и xltm.

Установите openpyxl using pip. Общие рекомендации по установке этой библиотеки — сделать это в виртуальной среде Python без системных библиотек. Вы можете использовать виртуальную среду для создания изолированных сред Python: она создает папку, содержащую все необходимые файлы, для использования библиотек, которые потребуются для Python.

Перейдите в директорию, в которой находится ваш проект, и повторно активируйте виртуальную среду venv. Затем перейдите к установке openpyxl с помощью pip, чтобы убедиться, что вы можете читать и записывать с ним файлы:
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments2

Вырастаем над проблемами Python

Reading time4 min
Views13K
Привет, Хабр! Меня зовут Дмитрий Климинский, я работаю back-end разработчиком в Avito. Сегодня я хочу поделиться с вами впечатлениями от нашей поездки на конференцию PyCon CZ 2017, которая прошла в Праге. Мне давно хотелось узнать, какие темы обсуждают зарубежные коллеги, чем они отличаются от “нашей” повестки. И это стало возможным, когда меня в составе небольшой команды разработчиков отправили в Чехию. Конечно, оказалось, что перед зарубежными коллегами стоят такие же задачи и вопросы. Но вот угол зрения докладчиков и те акценты, которые они расставляют, показались мне интересными. Под катом — короткие заметки по интересным докладам, особенности чешской конференции и несколько фото.


Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments10

Автоматизация IP-сети. Часть2 – Мониторинг скорости открытия Веб страниц

Reading time3 min
Views10K
image alt Продолжаем серию статей по доступной автоматизации в IP-сети. У каждого из инженеров, работающих с сетью Интернет, так или иначе периодически возникает потребность измерения скорости загрузки Веб странницы. Для этого существует множество инструментов, один из них это утилита wget. Например, для измерения скорости загрузки можно из консоли (Unix/Linux) воспользоваться такой командой:

[root@localhost ~]# wget -E -H -p -Q300K --user-agent=Mozilla --no-cache --no-cookies --delete-after --timeout=15 --tries=2 habrahabr.ru 2>&1 | grep Downloaded
Downloaded: 7 files, 411K in 0.3s (1.22 MB/s)

Следует отметить, что ограничение Q300K достаточное чтобы понять скорость загрузки, особенно если сетевая задержка до сайта более 10мс. При этом результаты скорости будут не очевидны если количество скаченной информации меньше 100K.

Но что, если есть потребность отслеживать скорость загрузки ресурса на постоянной основе? Вопрос можно попробовать решить при помощи небольшого скрипта, системы мониторинга (умеющей запускать скрипты) и гидроизоляционного скотча.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Книга «Автостопом по Python»

Reading time6 min
Views26K
image Привет, Хаброжители! Мы издали книгу, составленную на основе одноименного онлайнового руководства и содержащую наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python и чего вы от него хотите.

Это руководство не предназначено для того, чтобы обучить вас языку Python (мы приведем ссылки на множество хороших ресурсов, которые помогут вам в этом), оно скорее представляет собой (безапелляционное) руководство от специалиста, где рассматриваются популярные инструменты и лучшие практики нашего сообщества. Аудитория этой книги разнообразна — от новичков до программистов Python среднего уровня, которые либо хотели бы внести свой вклад в развитие программного обеспечения (ПО) с открытым исходным кодом, либо начинают карьеру или создают компанию и собираются писать на Python (однако для рядовых пользователей Python также будут полезными часть I и глава 5).
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments15

Information

Rating
Does not participate
Location
Россия
Registered
Activity