Посты с тэгом development


[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики

О Python


Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для БРПС (быстрой разработки прикладных средств), а также для использования в качестве скриптового и связующего языка для подключения существующих компонентов или сервисов. Python поддерживает модули и пакеты, тем самым поощряя модульность программы и повторное использование кода.

О данной статье


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

Имея это в виду, в этой статье представлен «топ-10» тонких, трудных для обнаружения ошибок, которые могут допустит


[Перевод] Объяснение задачи на Python с собеседования

Салют, хабровчане! В преддверии запуска нового потока по курсу «Web-разработчик на Python» хотим поделиться новым полезным переводом. Поехали!



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

def f(x, l=[]):
    for i in range(x):
        l.append(i * i)
    return l
>>> f(2)
>>> f(3, [0, 1, 2])
>>> f(3)


Вопрос: Что выведет этот код? Читать дальше →


[Из песочницы] Django development server и тестирование HTTPS

Здравствуйте уважаемое сообщество,

Выбрав фреймворк Django для разработки корпоративного сайта, я столкнулся с проблемой тестирования его работы по протоколу HTTPS при использовании встроенного веб-сервера. Несмотря на поддержку работы с безопасными соединениями в Django, поставляемый в комплекте веб-сервер не обслуживает запросы по HTTPS.

Первое, что пришло в голову, поднять полноценный веб-сервер (например, Apache) для разработки и тестирования, но что если не хочется отказываться от удобств и простоты использования встроенного веб-сервера Django?

Поиск в Интернете по запросу «django + https» выдал несколько статей датированных 2009 и



Как скрыть wxMediaCtrl

Задача

Вчера постала передо мной интересная задача. Нужно было скрыть wxMediaCtrl, который занимается проигрыванием видео на форме. Вообще, поскольку в wxPython все, что рисуется, является окном (window), посмотрел в методы wxWindow.

В лоб

Ну, логично предположить, что для скрытия понадобится метод Hide(), но тут-то и обнаружились грабли. Hide() действительно прячет контрол, для чего он и предназначен, но, с другой стороны, ламает позиционирование во всех сайзерах, из-за чего у меня все другие контролы поплыли. Конечно, если сайзеры отсутствуют, и все позиционирование делается в абсолютных координатах - никаких проблем, Hide() подойдет, но в моем случае - нет.

Неожиданное решение


Fabric — пара прикладных рецептов

Хабы: Python

Сегодня неожиданно понял, что скрипты — это сила (спустя несколько месяцев использования fabric). На самом деле 30 минут потраченные на написание адекватного сценария избавляют от многих совокупных часов повторения ненужных действий. Для упрощения жизни адептов python'а существует такой прекрасный модуль как fabric. И я хочу поделиться парой кусков своего fab-файла как пример упрощения жизни девелопера.

Это будут функции: «умный» комментатор локальных файлов и git-коммитер.
Читать дальше →



wxPython: Gif-анимация и прозрачность

Кратко об анимации в wxPython

Дяденька делает анимацию на wxPython
В wxPython средства для работы с анимацией имеются в виде пакета wx.animate. Пакет довольно нехитрый - всего парочка классов, из которых чаще всего в работе используются 2:

  1. wx.animate.Animation - инкапсулирует параметры анимации, а также поддерживает загрузку анимации из файла. Поддерживает Gif и Ani форматы анимаций.


Wirbel - кина не будет: электричество кончилось

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

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

Все, что может быть интересно о языке, красноречиво рассказывает предыдущий кратенький обзор. Попытаться написать на вирбеле програмку, которая решает квадратное уравнение у меня получилось, но только тогда, когда я самостоятельно реализовал алгоритм извлечения квадратного корня числа =)

Стоит отметить, что исходники компилятора, которые, как уже упоминалось, имеют в своей основе C++, читать довольно приятно. Немец пи


Wirbel - компилируемый Python. Немножко о языке и установке.

Немножко о языке
Ну, не совсем Python, точнее совсем не Python, но синтаксически идентичен, за исключением некоторых ограничений, которые накладывает собой компилируемость в бинарник, а также нескольких новых возможностей. Автором языка и компилятора является немецкий разрбаботчик по имени Матиас Кеттнер, что нетрудно догадаться по картинке.  Вот короткий список характеристик, а заодно и отличий от Python 2.х:
  • print - функция. Поэтому print("Hello, world!")
  • Бинарный код, не требующий рантайма и совместимый с C++
  • Списки типизированы, так что [1, 2, 3, "string"] создать не получится
  • Есть сигнатуры функций, а поэтому def x(a), и def x(a, b) - две разные функции
  • Кортежи изменяемы и могут включать разные типы данных, в отличие от списков: (1, true, "Hi")


Как перейти c PHP на Python


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

Как работает php?
Для начала, примем во внимание, что PHP изначально задумывался и разрабатывался исключительно как язык для веб-разработки, и в 99.9% случаев для этого и используется (можно, конечно, писать и GUI-приложения, например, для этого есть GTK-биндинги).

Гово


Встроенный Django сервер тормозит на Windows 7


Столкнулся с такой вот проблемой, что встроенный сервер Django очень долго обрабатывает запросы в операционной системе Windows 7. Ситуация примерно такая. Запускаем сервер:
python ./manage.py runserver 127.0.0.1:3333
Заходим на сайт:
http://localhost:3333/
После этого получаем контент только после долгой задержки, что не очень приятно в процессе активной разработки или тестирования сайта. Оказывается, проблема возникает из-за, кто бы подумал, IPv6, так как понятие localhost в контексте наличия разных протоколов уже не такое однозначное. Поэтому делаем 2 шага:

1. Раскомментируем строчки (у кого они не раско