Не так давно Google открыл API для работы Android устройств с USB. Сегодня пришло время пощупать что же это такое и узнать какие возможности нам открываются.
Станислав Гордиенко @stagor
Пользователь
Проверка кармы пользователя сайта habrahabr.ru с помощью Python на Android
2 мин
25KЯ очень люблю язык программирования Python и так же люблю Android OS. Для меня было приятным открытием, что для этой ОС существует полноценный интерпретатор Python, но я постоянно откладывал знакомство с ним. В этой статье я хочу рассказать про основные принципы программирования на этом языке под эту ОС.
+106
Тестирование проектов Django
5 мин
56KВ предыдущем посте мы бегло рассмотрели некоторые приемы тестирования кода на питоне. Все это применимо также и к Django-проектам, безусловно, но есть достаточное количество подводных камней и просто интересных штук, о которых я попробую рассказать.
Краткое содержание поста:
Краткое содержание поста:
- тестирование веб-сайтов — это сложно и непонятно
- юнит-тесты в django
- тестовая БД и как с ней бороться
- smoke testing
- покрытие кода (code coverage)
+66
Руководство к дескрипторам
10 мин
170KПеревод
Краткий обзор
В этой статье я расскажу о том, что такое дескрипторы, о протоколе дескрипторов, покажу как вызываются дескрипторы. Опишу создание собственных и исследую несколько встроенных дескрипторов, включая функции, свойства, статические методы и методы класса. С помощью простого приложения покажу, как работает каждый из них, приведу эквиваленты внутренней реализации работы дескрипторов кодом на чистом питоне.
Изучение того, как работают дескрипторы, откроет доступ к большему числу рабочих инструментов, поможет лучше понять как работает питон, и ощутить элегантность его дизайна.
+45
10 причин, почему мы перешли на PyCharm
3 мин
87KСовсем недавно мы начали плавный перевод разработки наших проектов с Eclipse + PyDev на PyCharm. Это такая замечательная среда разработки от компании JetBrains, которая специализируется на создании продуктов для программистов, в том числе всяких IDE.
Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.
Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.
+64
Пример использования KnockoutJS
9 мин
17KДень добрый, хабрасообщество!В статье будет рассмотрен процесс создания web-страницы редактирования списка пользователей. Готовый пример можно забрать тут. Статья является не обзорной, а приближенной к реальным боевым действиям, потому настоятельно рекомендую ознакомиться с простым примером.
+32
Sikuli — program ANYTHING using GUI screenshoots
5 мин
15KСказка
Представьте на минуту, что Вы — несчастный программист, который каждый день добирается на работу на автобусе, расписание которого невозможно предугадать. В такой ситуации было бы очень удобно, завтракая дома, получать на телефон SMS, сообщающее, что автобус уже через пять минут будет на Вашей остановке.
К счастью, транспортная компания (которая не удосужилась составить четкого расписание) содержит сайт, на котором в реальном времени с помощью Google Maps можно узнать, где сейчас находится тот или иной автобус. И вот в один прекрасный день Ваше терпение лопается и Вы садитесь писать скрипт, который будет отправлять ту желанную SMS-ку. Но все не так просто. Придется долго повозиться, чтобы по карте и маленькому кружочку на ней оценить скорость и время прибытия реального транспортного средства на Вашу остановку. Вы ведь не можете просто написать: «хочу получать SMS, когда вот эта точка попадет вот в этот прямоугольник на карте». Или все-таки можете?
+74
Вышел 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
+14
Как устроен GIL в Python
6 мин
124KПеревод
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.
+63
Практика защиты персональных данных
5 мин
41KПривет, Хабр!
1 июля приближается, а с ним приближается и необходимость выполнения ФЗ-152 «О персональных данных». В связи с этим хочу поделиться опытом работы по данному направлению. В блоге Информационная безопасность уже идет цикл постов о написании документов, однако, помимо бумаги, может возникнуть необходимость применения и некоторых технических средств защиты информации. Которым и посвящен данный топик.
1 июля приближается, а с ним приближается и необходимость выполнения ФЗ-152 «О персональных данных». В связи с этим хочу поделиться опытом работы по данному направлению. В блоге Информационная безопасность уже идет цикл постов о написании документов, однако, помимо бумаги, может возникнуть необходимость применения и некоторых технических средств защиты информации. Которым и посвящен данный топик.
+29
Передача пароля по открытому каналу (часть 2)
2 мин
14KВ первой части статьи обсуждалась ситуация, когда для защиты трафика мы по каким-либо причинам не можем использовать https. При этом, передаваемый в открытом виде пароль становится легкой добычей мошенников. Предложенный в статье метод позволял избавится от угрозы перехваты пароля или от кражи БД хэшей паролей, но был бессилен перед злоумышленником, который и БД владеет и контролирует трафик. Предлагаемый ниже метод безопаснее, но сложнее.
+31
Скоростная фотосъёмка дома
3 мин
17KО проекте
Я увлечён фотографией. А ещё мне нравится собирать всякую электронную мелочь. Наверное, из-за этого я чувствовал, что просто обязан попробовать сделать скоростной фотоснимок. Эдвард Мейбридж баловался такой фотографией ещё в позапрошлом веке. В этом посте я расскажу об основах скоростной фотосъёмки и о том, как я собирал свой фото-триггер.
Введение
Скоростная фотография – это фотография с чрезвычайно короткой выдержкой, меньше миллисекунды. Принцип работы прост: в комнату помещают кувалду, фотоаппарат, вспышку, триггер и объект. В абсолютной темноте открывают затвор фотоаппарата, фигачат по объекту кувалдой, триггер реагирует на шум и включает вспышку. Вспышка на доли миллисекунды освещает летящие черепки объекта. После этого затвор фотоаппарата закрывают. На сенсоре остаётся снимок летящих черепков.
Я хочу рассказать о том, как собрать такую штуку дома.
+185
Kango — фреймворк для создания кроссбраузерных расширений
4 мин
7.9KВступление
Kango позволяет создавать расширения для популярных браузеров используя только JavaScript, причем код един для всех браузеров. На данный момент поддерживается Chrome, Firefox, Internet Explorer (в публичном доступе только версия с поддержкой Chrome и Firefox) и ведется работа над поддержкой Opera и Safari. Ниже будет рассмотрено как можно быстро создать простой кроссбраузерный Gmail CheckerЧто должно получиться в итоге:
+131
Разработка игр с использованием Cocos2d на Python
5 мин
32KВведение
Имплементация Cocos2d на Objective-C используется для разработки игр для iPhone весьма широко. По данным официального сайта число игр на этом движке уже превышает 1800. Не раз упоминался он и на Хабре. Другие порты (cocos2d-x на C++ и cocos2d-android на Java) также известны и набирают популярность. Однако прародитель этих движков, оригинальный Cocos2d оказался незаслуженно обойден вниманием. Попробую восполнить этот пробел.
+78
Вышел 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
Под катом я разместил видео с примером использования новой системы.
+30
Выпущена Xfce 4.8
1 мин
1.6KПосле почти двух лет разработки представлена долгожданная Xfce 4.8 — новая стабильная версия свободной среды рабочего стола, заменяющая Xfce 4.6.
В Xfce 4.8 устаревшие фреймворки ThunarVFS и HAL заменены GIO, udev, ConsoleKit и PolicyKit.
Пользователи теперь могут просматривать удалённые файловые системы, используя различные протоколы (SFTP, SMB, FTP и многие другие). Для уменьшения хаоса все диалоговые окна процессов файлов объединены в один.
В Xfce 4.8 устаревшие фреймворки ThunarVFS и HAL заменены GIO, udev, ConsoleKit и PolicyKit.
Пользователи теперь могут просматривать удалённые файловые системы, используя различные протоколы (SFTP, SMB, FTP и многие другие). Для уменьшения хаоса все диалоговые окна процессов файлов объединены в один.
+43
+203
Конференция SQA Days 9 продолжается в онлайне
2 мин
613Специально для тех, кто не смог попасть на конференцию SQA Days 9, которая проходила 22-23 апреля 2011 года в Казани, или не сумел посетить какой-то из докладов, который очень хотел послушать, или не успел задать докладчикам свой вопрос, высказать возражения, дополнить своими идеями или опытом — конференция продолжается в онлайне!
Онлайн-продолжение — это:
Онлайн-продолжение — это:
- доступ к материалам конференции (аудио, видеозаписи, слайдкасты),
- возможность общения с докладчиками в онлайне,
- ценные призы и подарки от IT-CONF, портала тестировщиков Software-Testing.Ru, и других партнеров SQA Days.
+13
Push + ActiveMQ — ZendFramework =… или история одного драйвового проекта
11 мин
5.9KОдним прекрасным утром к нам в офис забежал молодой парень, с амбициозной идеей и “средствами для реализации” в кармане. “Заходишь на сайт, а там — телевизор. К нему можно подключиться через свою web-камеру. Одновременно может вещать только один человек, остальные — ждут своей очереди (но можно посмотреть скриншоты с их вебкамер). Задача каждого — удержаться в эфире, как можно дольше. Если выступающий нравится публике — все жмут “Cool!”, если подкачал — “Go away!”. И человек заменяется на следующего в очереди. Ну и можно в чат писать”.
Хорошая идея — драйвовый проект. Рисуем прототип, решаем реализовать обновление чата, списка пользователей, рейтинга и т.д. с помощью push-технологии. Это когда после загрузки страницы соединение между клиентом и сервером не закрывается, а продолжает использоваться для отправки сервером каких-либо событий на клиента.
Осторожно! Эта шняга может убить ваш сервер! Кстати, если вы вдруг решите написать высконагруженный скандинавский аукцион – истина и веселые картинки где-то рядом, под катом.
+118
О «проблемах» молодых предпринимателей (стартаперов) в России простыми словами
1 мин
2.9KДмитрий Потапенко как всегда четко и по-простому рассказывает о «проблемах» предпринимательства в России.
«У нас до сих пор совковый подход к себе… Якобы, у нас проблема с мотивацией… Если ты не хочешь, урод, то тебя, урода, невозможно что-то заставить делать» (с) Потапенко
«У нас до сих пор совковый подход к себе… Якобы, у нас проблема с мотивацией… Если ты не хочешь, урод, то тебя, урода, невозможно что-то заставить делать» (с) Потапенко
+94
Информация
- В рейтинге
- Не участвует
- Откуда
- Sydney, New South Wales, Австралия
- Дата рождения
- Зарегистрирован
- Активность