Как стать автором
Обновить
2
0
Станислав Гордиенко @stagor

Пользователь

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

Android + Arduino = ♥

Время на прочтение4 мин
Количество просмотров145K
Не так давно Google открыл API для работы Android устройств с USB. Сегодня пришло время пощупать что же это такое и узнать какие возможности нам открываются.



Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии54

Проверка кармы пользователя сайта habrahabr.ru с помощью Python на Android

Время на прочтение2 мин
Количество просмотров25K
Я очень люблю язык программирования Python и так же люблю Android OS. Для меня было приятным открытием, что для этой ОС существует полноценный интерпретатор Python, но я постоянно откладывал знакомство с ним. В этой статье я хочу рассказать про основные принципы программирования на этом языке под эту ОС.

SL4A

Читать дальше →
Всего голосов 140: ↑123 и ↓17+106
Комментарии48

Тестирование проектов Django

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

Краткое содержание поста:
  1. тестирование веб-сайтов — это сложно и непонятно
  2. юнит-тесты в django
  3. тестовая БД и как с ней бороться
  4. smoke testing
  5. покрытие кода (code coverage)
Читать дальше →
Всего голосов 74: ↑70 и ↓4+66
Комментарии23

Руководство к дескрипторам

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

Краткий обзор


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

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

Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии5

10 причин, почему мы перешли на PyCharm

Время на прочтение3 мин
Количество просмотров87K
Совсем недавно мы начали плавный перевод разработки наших проектов с Eclipse + PyDev на PyCharm. Это такая замечательная среда разработки от компании JetBrains, которая специализируется на создании продуктов для программистов, в том числе всяких IDE.

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

Читать дальше →
Всего голосов 80: ↑72 и ↓8+64
Комментарии121

Пример использования KnockoutJS

Время на прочтение9 мин
Количество просмотров17K
День добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
Мне интересны детали
Всего голосов 42: ↑37 и ↓5+32
Комментарии14

Sikuli — program ANYTHING using GUI screenshoots

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

Сказка


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

К счастью, транспортная компания (которая не удосужилась составить четкого расписание) содержит сайт, на котором в реальном времени с помощью Google Maps можно узнать, где сейчас находится тот или иной автобус. И вот в один прекрасный день Ваше терпение лопается и Вы садитесь писать скрипт, который будет отправлять ту желанную SMS-ку. Но все не так просто. Придется долго повозиться, чтобы по карте и маленькому кружочку на ней оценить скорость и время прибытия реального транспортного средства на Вашу остановку. Вы ведь не можете просто написать: «хочу получать SMS, когда вот эта точка попадет вот в этот прямоугольник на карте». Или все-таки можете?

Проходя, не проходите мимо
Всего голосов 88: ↑81 и ↓7+74
Комментарии52

Вышел Tornado Web Server 2.0 RC

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

Основные изменения:


  • Автоматически добавляются escape-символы при выводе в шаблоны
  • Стандартная реализация AsyncHTTPClient теперь simple_httpclient.
  • Поддержка Python 3.2.


Минорные изменения:


  • Новые теги шаблонизатора:
    — {% autoescape ...%} управление добавлением escape — символов
    — {% raw… %} убрать escape-символы
    — {% module… %} для вызова UIModules
  • {% module Template(path, **kwargs) %} теперь может быть использовано для вызова другого шаблона с независимым пространством имен
  • Все вызовы IOStream callbacks теперь осуществляются напрямую в IOLoop через add_callback.
  • HTTPServer теперь поддерживает IPv6. Для отключения нужно передать параметр family=socket.AF_INET в HTTPServer.bind().
  • HTTPClient теперь поддерживает IPv6, если у запроса установлен параметр allow_ipv6=True
  • RequestHandlers теперь может использовать кодировки, отличные от utf-8 для параметра запроса путем переопределения decode_argument()
  • Улучшена производительность, особенно для приложений, использующих много IOLoop timeouts
  • HTTP OPTIONS метод теперь не требует XSRF token.
  • Вывод в JSON (RequestHandler.write(dict)) теперь устанавливает Content-Type application/json
  • вычисление Etag теперь может быть настроено или отключено путем переопределения RequestHandler.compute_etag
  • USE_SIMPLE_HTTPCLIENT больше не поддерживается, вместо него используйте AsyncHTTPClient.configure.

Берем на GitHub
Всего голосов 26: ↑20 и ↓6+14
Комментарии16

Как устроен GIL в Python

Время на прочтение6 мин
Количество просмотров124K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

GIL
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии28

Практика защиты персональных данных

Время на прочтение5 мин
Количество просмотров41K
Привет, Хабр!
1 июля приближается, а с ним приближается и необходимость выполнения ФЗ-152 «О персональных данных». В связи с этим хочу поделиться опытом работы по данному направлению. В блоге Информационная безопасность уже идет цикл постов о написании документов, однако, помимо бумаги, может возникнуть необходимость применения и некоторых технических средств защиты информации. Которым и посвящен данный топик.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии61

Передача пароля по открытому каналу (часть 2)

Время на прочтение2 мин
Количество просмотров14K
В первой части статьи обсуждалась ситуация, когда для защиты трафика мы по каким-либо причинам не можем использовать https. При этом, передаваемый в открытом виде пароль становится легкой добычей мошенников. Предложенный в статье метод позволял избавится от угрозы перехваты пароля или от кражи БД хэшей паролей, но был бессилен перед злоумышленником, который и БД владеет и контролирует трафик. Предлагаемый ниже метод безопаснее, но сложнее.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии15

Скоростная фотосъёмка дома

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

О проекте


Я увлечён фотографией. А ещё мне нравится собирать всякую электронную мелочь. Наверное, из-за этого я чувствовал, что просто обязан попробовать сделать скоростной фотоснимок. Эдвард Мейбридж баловался такой фотографией ещё в позапрошлом веке. В этом посте я расскажу об основах скоростной фотосъёмки и о том, как я собирал свой фото-триггер.

Введение


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

Я хочу рассказать о том, как собрать такую штуку дома.
Читать дальше →
Всего голосов 191: ↑188 и ↓3+185
Комментарии144

Kango — фреймворк для создания кроссбраузерных расширений

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

Вступление

Kango позволяет создавать расширения для популярных браузеров используя только JavaScript, причем код един для всех браузеров. На данный момент поддерживается Chrome, Firefox, Internet Explorer (в публичном доступе только версия с поддержкой Chrome и Firefox) и ведется работа над поддержкой Opera и Safari. Ниже будет рассмотрено как можно быстро создать простой кроссбраузерный Gmail Checker

Что должно получиться в итоге:



Читать дальше →
Всего голосов 133: ↑132 и ↓1+131
Комментарии36

Разработка игр с использованием Cocos2d на Python

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

Введение


Имплементация Cocos2d на Objective-C используется для разработки игр для iPhone весьма широко. По данным официального сайта число игр на этом движке уже превышает 1800. Не раз упоминался он и на Хабре. Другие порты (cocos2d-x на C++ и cocos2d-android на Java) также известны и набирают популярность. Однако прародитель этих движков, оригинальный Cocos2d оказался незаслуженно обойден вниманием. Попробую восполнить этот пробел.
Читать дальше →
Всего голосов 88: ↑83 и ↓5+78
Комментарии23

Вышел Ubuntu 11.10 Oneiric Ocelot Alpha1

Время на прочтение1 мин
Количество просмотров911

Привет всем.

Сегодня вышла первая альфа Ubuntu 11.10.
В систему внедрен Gnome 3 и все сопутствующие с ним приложения:
Вот полный список:

Network Manager 0.8.9997
Evolution 3.0.2
Nautilus 3.0.2
Gedit 3.0.4, Totem 3.0.1
GNOME Control Center 3.0. 2
Firefox 5.0 Beta 2
LibreOffice 3.3.2,
Shotwell 0.9.2
Compiz 0.9.4 (версия та же что и в Natty)
Empathy 2.34.0
Banshee 2.1.0, Gwibber 3.0.0.1
Xorg Server 1.10.1
Ядро Linux 2.6.39-3
Под катом я разместил видео с примером использования новой системы.
Читать дальше →
Всего голосов 50: ↑40 и ↓10+30
Комментарии70

Выпущена Xfce 4.8

Время на прочтение1 мин
Количество просмотров1.6K
После почти двух лет разработки представлена долгожданная Xfce 4.8 — новая стабильная версия свободной среды рабочего стола, заменяющая Xfce 4.6.

В Xfce 4.8 устаревшие фреймворки ThunarVFS и HAL заменены GIO, udev, ConsoleKit и PolicyKit.

Пользователи теперь могут просматривать удалённые файловые системы, используя различные протоколы (SFTP, SMB, FTP и многие другие). Для уменьшения хаоса все диалоговые окна процессов файлов объединены в один.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Комментарии20

Вышла новая версия Ajenti

Время на прочтение2 мин
Количество просмотров17K
Вышла новая версия Ajenti. За номером 0.5-4.
Для тех, кто не знает о чём речь — автор этого замечательного веб-интерфейса для администрирования серверов под управлением семейства *nix — уже представлял своё творение на Хабре. Раз, два.


Читать дальше →
Всего голосов 225: ↑214 и ↓11+203
Комментарии121

Конференция SQA Days 9 продолжается в онлайне

Время на прочтение2 мин
Количество просмотров613
Специально для тех, кто не смог попасть на конференцию SQA Days 9, которая проходила 22-23 апреля 2011 года в Казани, или не сумел посетить какой-то из докладов, который очень хотел послушать, или не успел задать докладчикам свой вопрос, высказать возражения, дополнить своими идеями или опытом — конференция продолжается в онлайне!

Онлайн-продолжение — это:
  • доступ к материалам конференции (аудио, видеозаписи, слайдкасты),
  • возможность общения с докладчиками в онлайне,
  • ценные призы и подарки от IT-CONF, портала тестировщиков Software-Testing.Ru, и других партнеров SQA Days.
Как это будет проходить:
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Push + ActiveMQ — ZendFramework =… или история одного драйвового проекта

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

Одним прекрасным утром к нам в офис забежал молодой парень, с амбициозной идеей и “средствами для реализации” в кармане. “Заходишь на сайт, а там — телевизор. К нему можно подключиться через свою web-камеру. Одновременно может вещать только один человек, остальные — ждут своей очереди (но можно посмотреть скриншоты с их вебкамер). Задача каждого — удержаться в эфире, как можно дольше. Если выступающий нравится публике — все жмут “Cool!”, если подкачал — “Go away!”. И человек заменяется на следующего в очереди. Ну и можно в чат писать”.

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

Осторожно! Эта шняга может убить ваш сервер! Кстати, если вы вдруг решите написать высконагруженный скандинавский аукцион – истина и веселые картинки где-то рядом, под катом.

Читать дальше →
Всего голосов 132: ↑125 и ↓7+118
Комментарии87

О «проблемах» молодых предпринимателей (стартаперов) в России простыми словами

Время на прочтение1 мин
Количество просмотров2.9K
Дмитрий Потапенко как всегда четко и по-простому рассказывает о «проблемах» предпринимательства в России.

«У нас до сих пор совковый подход к себе… Якобы, у нас проблема с мотивацией… Если ты не хочешь, урод, то тебя, урода, невозможно что-то заставить делать» (с) Потапенко

Всего голосов 136: ↑115 и ↓21+94
Комментарии187

Информация

В рейтинге
Не участвует
Откуда
Sydney, New South Wales, Австралия
Дата рождения
Зарегистрирован
Активность