Как стать автором
Обновить
19
0
Игорь Росляков @lock87

редактор

Отправить сообщение

Python: декорируем декораторы. Снова

Время на прочтение5 мин
Количество просмотров35K
В прошлом году на Хабре уже была очень развёрнутая статья в двух частях о декораторах. Цель этой новой статьи — cut to the chase и сразу заняться интересными, осмысленными примерами, чтобы успеть затем разобраться в примерах ещё более мудрёных, чем в предыдущих статьях.
Целевая аудитория — программисты, уже знакомые (например по C#) с функциями высшего порядка и с замыканиями, но привыкшие, что аннотации у функций — это «метаинформация», проявляющаяся только при рефлексии. Особенность Питона, сразу же бросающаяся в глаза таким программистам — то, что присутствие декоратора перед объявлением функции позволяет изменить поведение этой функции:



Как это работает?
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии16

5 советов по использованию декораторов в Python

Время на прочтение5 мин
Количество просмотров13K

Advanced советы по использованию декораторов в python. Будет полезно, как для новчиков, так и для самых продвинутых пользователей.

Читать далее
Всего голосов 10: ↑5 и ↓5+1
Комментарии9

Понимаем декораторы в Python'e, шаг за шагом. Шаг 2

Время на прочтение12 мин
Количество просмотров229K

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


Итак, в первой части данной статьи мы совершили базовое знакомство с декораторами, принципами их работы и даже написали свой вручную.
Однако, все декораторы, которые мы до этого рассматривали не имели одного очень важного функционала — передачи аргументов декорируемой функции.
Что ж, исправим это недоразумение!
Читать дальше →
Всего голосов 73: ↑67 и ↓6+61
Комментарии25

Мой опыт подготовки к экзамену по английскому CPE (Certificate of Proficiency in English) на уровень С2 и его сдачи

Время на прочтение23 мин
Количество просмотров19K

Are you suggesting coconuts migrate?
MPHG

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

«Непорядок», — подумал я. Так и родилась идея сдавать экзамен по английскому, но почему именно CPE? А не, скажем, CAE (Cambridge C1) или там TOEFL (американский общий тест на знание английского), IELTS (версия этого же экзамена, но от Cambridge).

О том, зачем это всё — и что вообще из всего этого вышло — здесь и пойдет речь. Заодно расскажу, как готовился, что помогло, а что — пустая трата денег и времени. Бонусом — пара рекомендаций фильмов, сериалов, художественной литературы и учебных материалов.

ОСТОРОЖНО — ТРАФИК, да‑да, под катом будет много картинок, личного мнения автора и его же несмешного юмора (придется потерпеть) — ответ на вопрос в КПДВ тоже там!

Добро пожаловать под кат
Всего голосов 25: ↑24 и ↓1+37
Комментарии35

Руководство по магическим методам в Питоне

Время на прочтение28 мин
Количество просмотров601K
Это перевод 1.17 версии руководства от Rafe Kettler.


Содержание


  1. Вступление
  2. Конструирование и инициализация
  3. Переопределение операторов на произвольных классах
  4. Представление своих классов
  5. Контроль доступа к атрибутам
  6. Создание произвольных последовательностей
  7. Отражение
  8. Вызываемые объекты
  9. Менеджеры контекста
  10. Абстрактные базовые классы
  11. Построение дескрипторов
  12. Копирование
  13. Использование модуля pickle на своих объектах
  14. Заключение
  15. Приложение 1: Как вызывать магические методы
  16. Приложение 2: Изменения в Питоне 3


Вступление


Что такое магические методы? Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя нижними подчеркиваниями (например, __init__ или __lt__). Ещё, они не так хорошо документированны, как хотелось бы. Все магические методы описаны в документации, но весьма беспорядочно и почти безо всякой организации. Поэтому, чтобы исправить то, что я воспринимаю как недостаток документации Питона, я собираюсь предоставить больше информации о магических методах, написанной на понятном языке и обильно снабжённой примерами. Надеюсь, это руководство вам понравится. Используйте его как обучающий материал, памятку или полное описание. Я просто постарался как можно понятнее описать магические методы.
Читать дальше
Всего голосов 143: ↑139 и ↓4+135
Комментарии59

Изучаем Docker, часть 1: основы

Время на прочтение6 мин
Количество просмотров587K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →
Всего голосов 62: ↑52 и ↓10+42
Комментарии26

Визуализация 5 алгоритмов сортировки на Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров41K

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

В статье вы посмотрите на реализацию и визуализацию пяти популярных алгоритмов сортировки: выбором, пузырьком, вставками, слиянием и быстрой сортировкой.

Код написан на Python, а графический интерфейс построен на Tkinter.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии4

Города в киберпространстве: образ города и разработка ПО

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2K

Уже почти 200 лет урбанисты проектируют города с учетом потребностей людей. UI/UX дизайнерам есть чему у них научиться.

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

Первую статью можно прочесть по ссылке: «Гайд по разработке ПО от градостроителя»

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

Учебное проектирование для джунов: как учить и зачем

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров25K

Привет! Меня зовут Андрей, я бэкенд-тимлид в KTS

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

В статье расскажу про методику обучения проектированию в нашей компании.

Читать далее
Всего голосов 32: ↑31 и ↓1+31
Комментарии10

Нагрузочный поединок между Tarantool 2.10 и Hazelcast 4.5.4

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.3K

Привет! Меня зовут Денис Макаров, я бэкенд-тимлид в KTS.

В прошлый раз мы сравнили Tarantool с Redis, а в этой статье решили провести тесты с Hazelcast.

Так же, как в прошлой статье, мы рассматриваем вариант Tarantool как замены: берём типичные кейсы работы с Hazelcast и реализуем такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами.

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии6

10 отличий качественного аудита от халтуры

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.1K

Привет, это Максим Павлов из KTS. Мы создаём IT-продукты для бизнеса. 

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

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии0

Ручная отладка мобильного фронтенда с нуля до PRO за 30 минут

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров15K

Привет! Меня зовут Виталий, я фронтенд-тимлид в KTS.

В статье расскажу об инструментах для отладки и ручного тестирования фронтенда на мобильных устройствах. Этот туториал в первую очередь пригодится фронтендерам и ручным тестировщикам.

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

• В responsive mode браузера на компьютере

• С помощью эмуляторов iOS и Android

• На физическом iPhone и Android-устройстве через USB

• С помощью Browserstack

Читать далее
Всего голосов 31: ↑31 и ↓0+31
Комментарии0

Как профессор Гарвардского университета стал ведущим охотником за пришельцами

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров6K

19 октября 2017 г. телескоп на острове Мауи зафиксировал объект, проникший в нашу Солнечную систему из другой части Галактики. Астрономы назвали его Оумуамуа, что в переводе с гавайского означает «разведчик» или «посланник», поскольку это был первый зафиксированный ими межзвёздный объект — единственный известный путешественник, преодолевший огромное расстояние между другой звёздной системой и нашей. Откуда он взялся — это лишь часть его загадки. Оумуамуа не подходил ни под одну из общепринятых астрономических категорий. Если это и был камень-астероид, то очень странный. По оценкам исследователей, его длина была не менее футбольного поля; его форму было трудно определить, но, похоже, он был длинным и тонким, как сигара. «Ни один из известных объектов в Солнечной системе не имеет таких экстремальных размеров», — пишет группа астрономов, обнаружившая этот объект.

Чем больше учёные изучали Оумуамуа, тем более странным он казался. Анализ её траектории показал, что за несколько недель до обнаружения Оумуамуа ускорялась по мере приближения к Солнцу, и её ускорение нельзя было объяснить только солнечной гравитацией. Такой дополнительный толчок — нормальное для кометы явление. Кометы — это комки из скалистой породы и снега, и когда они приближаются к Солнцу, лёд внутри них превращается в пар, выделяя газ, который и придаёт им ускорение. Но у Оумуамуа не было характерного кометного хвоста, и ни один из наблюдавших её телескопов не обнаружил ни водяного пара, ни угарного газа, ни других признаков сублимирующего льда. Учёные начали придумывать дикие идеи для объяснения наблюдаемых характеристик Оумуамуа: водородные айсберги и гигантские пылевые сгустки, плотность которых меньше плотности воздуха. Это было впечатляюще.

Читать далее
Всего голосов 7: ↑5 и ↓2+8
Комментарии16

Анализировать данные — это как варить пиво. Почему дата-анализ и пивоварение — одно и то же с техноизнанки

Время на прочтение10 мин
Количество просмотров15K

Три года я был эстонским пивоваром: придумывал рецепты и сам варил. Когда начал изучать Python, SQL и анализ данных, понял, что между подготовкой данных и подготовкой сусла много общего: оказывается, в цеху я занимался DS, но не подозревал об этом. Меня зовут Алексей Гаврилов, я сеньор дата-аналитик в ретейле. В этой статье расскажу, чем пивоварение и аналитика данных похожи изнутри.

Читать далее
Всего голосов 20: ↑19 и ↓1+38
Комментарии16

Чек-лист фронтендера при разработке рекламного спецпроекта

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.3K

Привет! Меня зовут Наташа, я фронтенд-разработчик в отделе рекламных спецпроектов KTS.

В отделе рекламных спецпроектов мы делаем множество сервисов в мини-приложениях VK, Одноклассниках, Телеграме, создаём лендинги.

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

Эта статья — подсказка, которая помогает не пропустить важные моменты, если ваша команда разрабатывает, тестирует и выпускает проекты на потоке — то есть много и часто. Возможно, эти советы пригодятся и вам.

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии0
2

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность