Рубрика «python» - 350

Mock на английском значит «имитация», «подделка». Модуль с таким названием помогает сильно упростить тесты модулей на Питоне.

Принцип его работы простой: если нужно тестировать функцию, то всё, что не относится к ней самой (например, чтение с диска или из сети), можно подменить макетами-пустышками. При этом тестируемые функции не нужно адаптировать для тестов: Mock подменяет объекты в других модулях, даже если код не принимает их в виде параметров. То есть, тестировать можно вообще без адаптации под тесты.

Такое поведение — уже не надувные ракетные установки, а целая надувная земля, вокруг которой могут летать испытуемые ракеты и самолёты.

Российские надувные макеты ракетных и радарных установок

Читать полностью »

Kyiv.py #6. Небольшой имхо отчёт о встрече

Несмотря на дату, мероприятие оказалось не шуткой, хотя я ехал с некоторым недоверием :) 6-й KyivPy действительно состоялся и, в целом, прошёл удачно. Практически все доклады были свежи и интересны и практически все докладчики хорошо и доступно излагали свои мысли. Читать полностью »

Наверное всем, кто хоть раз интересовался Python, известно про GIL — его одновременно и сильное и слабое место.
Не мешая однопоточным скриптам работать, он ставит изрядные палки в колеса при многопоточной работе на CPU-bound задачах (когда потоки выполняются, а не висят попеременно в ожидании I/O и т.п.).
Подробности хорошо описаны в переводе двухгодичной давности. Побороть GIL в официальной сборке Python для настоящего распараллеливания потоков мы не можем, но можно пойти другим путем — запретить системе перебрасывать потоки Python между ядрами. В общем пост из серии, «если не нужно, но очень хочется» :)
Если вы знаете про processor/cpu affinity, пользовались ctypes и pywin32, то ничего нового не будет.
Читать полностью »

Здравствуй, %username%!

Недавно меня посетила идея

Многие новички не хотят изучать Си (да и вообще все языки-компиляторы) из-за того, что даже после внесения незначительной правки, нужно перекомпилировать программу, что отнимает немало времени.
У интерпретаторов такого изъяна нет. У некоторых языков, например у python, есть даже интерактивный интерпретатор, котороый вообще позволяет не думать о второстепенных командах, по запуску приложения, и полностью отдаться процессу изучения языка.
Но что мешает написать интерпретатор (конечно это мы делать не будем) для Си?
Читать полностью »

В прошлой статье я рассказал о возможном способе снимать централизованные резервные копии конфигураций с маршрутизаторов MikroTik. Казалось бы на этом можно и успокоиться, но для некоторых филиалов руководство требует сиюминутного восстановления работы в случае выхода из строя любого участка сети. Первое, что приходит в голову — само собой, нужно иметь рядом две одинаковые железки. Однако вторая логичная мысль — использовать VRRP не подходит в силу ряда причин, одна из которых использование IPSec. Значит нужно снова шаманить костыль и синхронизировать конфигурацию в полуручном режиме, то есть скриптоваться.
Читать полностью »

в 21:19, , рубрики: python, python3, метки: ,

Пользователь eyeofhell недавно написал статью Python vs Ruby
Знатный холивар получился. Не могу не поддержать. Сначала думал написать в комментарии — но ответ вышел слишком объемным.

Читать полностью »

image

Ты современный Web-разработчик?

Задай себе вопросы:

  • Готов ли ты перейти на PHP 5.4?
  • Стоит ли переходить на MariaDB?
  • Как работает Python с вебсокетами, базами под нагрузкой?
  • Что дает Google Closure Templates?
  • Как запустить большой проект на Ruby?
  • Можешь ли спроектировать успешный HighLoad проект?
  • Сможешь ли создать распределенный офис разработки проектов?
  • Как успешно внедрить Kanban и Scrum в небольшой команде

Читать полностью »

Недавно захотелось вспомнить свое «шпионское» детство и хотя бы базово изучить разные методы шифрования. И первым выбор пал на шифр Виженера. Сам по себе он не является чрезвычайно сложным, но достаточно долго считался криптоустойчивым. Века эдак с XV и к самому XIX, пока некто Казиски полностью не взломал шифр.
Однако ограничим цитирование Википедии только описанием самого алгоритма.

Метод является усовершенствованным шифром Цезаря, где буквы смещались на определенную позицию.
Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига.
Читать полностью »

Python vs Ruby Данная флеймообразующая статья призвана собрать в одном месте актуальную информацию по преимуществам Python над Ruby и Ruby над Python. Основываясь на собственном многолетнем опыте использования обоих языков, я постарался ограничить сравнение языками как таковыми и их стандартными библиотеками — сравнение web фреймворков, сред разработки и доступных библиотек не включены в статью, так как здесь и без меня немало копий сломано.
Читать полностью »

DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и веб-разработки.
Участникам DevConf предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям веб-разработки, послушав доклады от основателей этих технологий, приехавших в Москву со всего мира.

В рамках DevConf 2012 — 9 июня 2012 пройдут 5 конференций:

DevConf::PHP()
DevConf::Perl()
DevConf::Python()
DevConf::Ruby()
DevConf::JS()

9 июня 2012 года в рамках DevConf пройдет группа уникальных мастер-классов.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js