Корпорация Google является одной из первых компаний, если не первой, кто предложил сторонним разработчикам вознаграждение за найденные уязвимости в своем программном обеспечении. При этом за короткий срок, благодаря такой системе, удалось закрыть несколько критичных багов. В плюсе оказались и разработчики, нашедшие баги, и компания, чей продукт стал еще лучше. Система «деньги за найденный баг» оказалась настолько успешной, что теперь сразу несколько компаний воспользовалась опытом «Корпорации Добра». Что касается последней, то денежный фонд для сторонних разработчиков еще больше увеличился. Теперь он составляет 1 миллион долларов.
Sergey Aganezov @Karde
Genomics Scientist
Алгоритмы в биоинформатике ч.1
9 мин
9.8K
+51
Vim+Python. Для начинающих
1 мин
13KНебольшой видеоролик про редактирование кода в vim.
Краткое содержание.
1. Использование аббревиатур.
2. Плагин MRU
3- Плагин tagbar
Сделано с помощью свободного редактора OpenShot — для изготовления видеороликов в домашних условиях он оказался вполне пригоден.
http://youtu.be/eagC7PcGcCk
P.S. В комментариях советуют массу плагинов. Но их такое количество разных, что если у кого-то есть желание написать про них-я не против. Но моё время ограниченно и вынужден ограничиться самым, на мой взгляд, важным.
Краткое содержание.
1. Использование аббревиатур.
2. Плагин MRU
3- Плагин tagbar
Сделано с помощью свободного редактора OpenShot — для изготовления видеороликов в домашних условиях он оказался вполне пригоден.
http://youtu.be/eagC7PcGcCk
P.S. В комментариях советуют массу плагинов. Но их такое количество разных, что если у кого-то есть желание написать про них-я не против. Но моё время ограниченно и вынужден ограничиться самым, на мой взгляд, важным.
+51
Пользовательские атрибуты в Python
11 мин
190K
+91
Юникод для чайников
8 мин
328K
Сам я не очень люблю заголовки вроде «Покемоны в собственном соку для чайников\кастрюль\сковородок», но это кажется именно тот случай — говорить будем о базовых вещах, работа с которыми довольно часто приводить к купе набитых шишек и уйме потерянного времени вокруг вопроса — «Почему же оно не работает?». Если вы до сих пор боитесь и\или не понимаете Юникода — прошу под кат.
+109
Игры на CANVAS/WebGL
1 мин
12KVortal Combat
Практически полноценный скроллер, обладающий всеми атрибутами жанра: разные типы врагов, выпадающие бонусы, с помощью которых можно апгрейдить оружие, восстанавливать защиту и тп. Есть и музыка, единственное чего не хватает — звуков сражения.

+53
Plugin CHelper для IntelliJ Idea
1 мин
3.2KКраткое описание:
— один раз вводишь тесты — проверяешь на всех тестах с помощью одного клика;
— включает исходный код из библиотеки;
— создает юнит-тесты при архивировании задачи;
— специальная поддержка TopCoder (работает с plugin'ом moj) и Codeforces (парсит html странички и сохраняет sample-тесты).
Полное описание и ссылка для скачивания — тут.
— один раз вводишь тесты — проверяешь на всех тестах с помощью одного клика;
— включает исходный код из библиотеки;
— создает юнит-тесты при архивировании задачи;
— специальная поддержка TopCoder (работает с plugin'ом moj) и Codeforces (парсит html странички и сохраняет sample-тесты).
Полное описание и ссылка для скачивания — тут.
+13
SQLAlchemy для Django
2 мин
29KПеревод

Что в SQLAlchemy лучше чем в Django ORM? Это главный вопрос, который я слышу от Django guys1, и у меня есть на него ответ — SQLAlchemy может выразить любой SQL запрос (ну 80-90%), в отличие от Django ORM, в котором можно выразить только весьма простые вещи.
И в некоторых Django проектах возникает необходимость в сложных запросах, на которые стандартный ORM неспособен. Условно предположим, что в момент создания проекта считалось, что Django ORM вполне хватит. Для решения можно писать чистый SQL или воспользоваться SQLAlchemy. Я за второй подход, так как чистый SQL плохо поддается DRY-фикации.
+18
Выявление адресов сетей провайдера
2 мин
8.3KТак уж вышло, что я, как и многие, люблю халяву. И в один прекрасный момент, для обеспечения онной, мне понадобилось узнать адреса сетей закреплённых за моим провайдером. Гугл простого и однозначного ответа не дал, буду рад если знатоки ткнут меня носом. Звонок провайдеру, порождающий резонный вопрос — «а зачем вам?» — отпадал. Пришлось изголяться.
0
Easy linux management over twitter
3 мин
1.4KДоброго времени суток, дорогие Хабраюзеры.
Этот пост навеян появлением статьи про Twitter бота и всяких свистелок-плясалок для него. Представляю вам свое видение api Твиттера. Добро пожаловать под кат.
Этот пост навеян появлением статьи про Twitter бота и всяких свистелок-плясалок для него. Представляю вам свое видение api Твиттера. Добро пожаловать под кат.
+20
Оповещение появления нового топика на Хабрахабре с помощью Python
6 мин
3.1KМне нравится, когда программа/код полностью своя… понимаешь назначение каждой буквы и почему решение именно такое. В данном топике хочу предложить свой парсер топиков Хабрахабра на Python без сторонних библиотек.
При появлении нового топика — всплывающее окошко сообщает об этом.
При появлении нового топика — всплывающее окошко сообщает об этом.
+3
Конкурентность в асинхронном приложении на примере twisted
4 мин
4KТеоретически, проблема конкурентного доступа не характерна для асинхронных приложений. В отличие от приложений с параллельной архитектурой, в которых в каждый момент времени может выполняться несколько задач претендующих на какой то общий ресурс — в асинхронном приложении в один момент времени выполняется только одна активность.
Но на практике все выглядит немного по иному:
Но на практике все выглядит немного по иному:
+23
Grab — python библиотека для парсинга сайтов
13 мин
150KЛет пять-шесть назад, когда я ещё программировал преимущественно на PHP, я начал использовать библиотеку curl для парсинга сайтов. Мне нужен был инструмент, который позволял эмулировать сессию пользователя на сайте, отсылать заголовки обычного браузера, давать удобный способ отсылки POST-запросов. Сначала я пытался использовать напрямую curl-расширение, но его интерфейс оказался очень неудобным и я написал обёртку с более простым интерфейсом. Время шло, я пересел на python и столкнулся с таким же дубовым API curl-расширения. Пришлось переписать обёртку на python.
+78
PyCon 2011. Краткое изложение докладов
26 мин
4.9KИзвестно, что с 11 по 13 марта в Атланте (Джорджия) проходила конференция разработчиков PyCon 2011.
Ниже в статье будет приведно краткое изложение большей части докладов со ссылками на видео (англ.). Для удобства ознакомления доклады разбиты по категориям.
Тематика докладов была довольно обширной, поэтому данная статья может оказаться полезной не только питонистам, но и всем остальным ленивым и любознательным.
Ниже в статье будет приведно краткое изложение большей части докладов со ссылками на видео (англ.). Для удобства ознакомления доклады разбиты по категориям.
Тематика докладов была довольно обширной, поэтому данная статья может оказаться полезной не только питонистам, но и всем остальным ленивым и любознательным.
+66
Используем Python в своей программе
4 мин
36KПри разработке прикладных программ иногда возникает необходимость предоставить пользователю какую-то достаточно гибкую, но простую систему для управления программой.
Есть множество вариантов реализации таких систем, но одним из наиболее простых является встраивание в приложение интерпретатора скриптовых языков.
Реализацией этого варианта мы сегодня и займемся. В качестве скриптового языка был выбран Python из-за достаточно большого спектра применения.
Он кроссплатформенный, существуют официальные версии для Windows, Linux и MacOS. В конце концов, о мощи и потенциале этого языка может говорить хотя бы тот факт, что он используется в небезызвестной корпорации Google как основной язык программирования.
Есть множество вариантов реализации таких систем, но одним из наиболее простых является встраивание в приложение интерпретатора скриптовых языков.
Реализацией этого варианта мы сегодня и займемся. В качестве скриптового языка был выбран Python из-за достаточно большого спектра применения.
Он кроссплатформенный, существуют официальные версии для Windows, Linux и MacOS. В конце концов, о мощи и потенциале этого языка может говорить хотя бы тот факт, что он используется в небезызвестной корпорации Google как основной язык программирования.
+30
Библиотека для упрощения HTTP-запросов
1 мин
150KRequests — библиотека Python, которая элегантно и просто выполняет HTTP-запросы. Теперь не нужно осваивать urllib2 с излишне сложными программными интерфейсами.
Вот как выглядит HTTP-запрос с авторизацией с помощью requests:
Вот как выглядит HTTP-запрос с авторизацией с помощью requests:
>>> r = requests.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json'
+101
Настраиваем окружение на Mac OS и собираем автономное приложение с PySide/PyQt
5 мин
27K
Сейчас все удобнее становится использовать HTML и JavaScript в интерфейсах приложений. И именно такая задача недавно появилась передо мной, с одним важным условием — на выходе должно быть полностью standalone приложение, не требующее установки дополнительных библиотек и способное запуститься в обычном пользовательском окружения.
В силу своего природного обаяния в качестве основного языка был выбран Python + PySide c WebKit на борту, для сборки app-бандла использовался py2app.
Проблемы появились, при первой же попытке запустить приложение на чистой системе — обнаружилось большое количество внешних зависимостей, которые py2app не смог самостоятельно разрешить. Под катом пошаговая инструкция как эта проблема была решена.
+38
PyQt4 — Меню и панели инструментов
5 мин
19KПеревод
Главное окно
Класс QMainWindow представляет собой главное окно приложения. С его помощью можно создавать классический вид со строкой состояния, панелями инструментов и меню.
Строка состояния
Строка состояния это виджет, который используется для отображения статусной информации.
Класс QMainWindow представляет собой главное окно приложения. С его помощью можно создавать классический вид со строкой состояния, панелями инструментов и меню.
Строка состояния
Строка состояния это виджет, который используется для отображения статусной информации.
#!/usr/bin/python
import sys
from PyQt4 import QtGui
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(250, 150)
self.setWindowTitle('statusbar')
self.statusBar().showMessage('Ready')
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
+30
PyQt4 — Введение
7 мин
93KПеревод

PyQt4 это тулкит для разработки GUI приложений. Он представляет из себя смесь языка программирование Пайтон (Питон) и библиотеки Qt. Qt – одна из наиболее мощных библиотек на этой планете. Если не самая мощная. Официальный сайт PyQt www.riverbankcomputing.co.uk разработан Филом Томпсоном.
PyQt4 представляет из себя набор модулей Пайтон. Она содержит более 300 классов и почти 6000 функций и методов. Это мультиплатформенный тулкит. Он работает на всех основных операционных системах, включая Unix, Windows и MacOS.
Начиная с версии PyQt4 GPL доступна для всех поддерживаемых платформ.
+1
Заметки об объектной системе языка Python ч.2
10 мин
90KВторая часть заметок об объектной системе python'a (первая часть тут). В этой статье рассказывается, что такое классы, метаклассы, type, object и как происходит поиск атрибутов в классе.
+66
Информация
- В рейтинге
- Не участвует
- Откуда
- Cambridge, Massachusetts, США
- Дата рождения
- Зарегистрирован
- Активность