Как стать автором
Обновить
1
Борис @WorldCountread⁠-⁠only

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

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

Нативные интерфейсы в Qt

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

Эта статья посвящена программированию GUI на базе фреймворка Qt от Nokia. Мы рассмотрим способы разработки интерфейсов для нативного отображения на платформах Windows, Linux и Mac OS X.

Презентацию[1] вёл Йенс Бач-Вииг (Jens Bache-Wiig) — разработчик Qt (с 2005 года), занимающийся интерфейсами (look and feel).

От переводчика: далее, поскольку это слайд-шоу, по мере возможностей буду давать пояснения к слайдам. Какие то, на мой взгляд менее важные моменты будут опускаться, что-то будет рассмотрено более подробно.

Итак, приступим. Каждое графическое окружение имеет свой свод правил (User Interface Guidelines, UIG) по созданию интерфейсов, предназначенных для этих окружений. Из основных можно отметить такие руководства как Windows User Experience Interaction Guideline, Apple Human Interface Guideline, KDE User Interface Guideline и GNOME HID. Каждое из этих руководств «определяет положение кнопочек и рюшечек» конкретного окружения. Фреймворк Qt, в свою очередь, осуществляет поддержку всех этих руководств, предоставляя разработчику возможность создавать программы с использованием виджетов, «подстраивающихся» под окружение.

Читать дальше →

Павел Дуров продал свою долю в ВК. Теперь официально

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

То, чем Вы владеете, рано или поздно начинает владеть Вами.

За последние несколько лет я активно избавлялся от собственности, отдавая и продавая все, что у меня было — от мебели и вещей до недвижимости и компаний. До достижения идеала мне оставалось избавиться от самой крупной части своего имущества — 12%-доли ВКонтакте. Я рад, что не так давно я достиг и этой цели, продав свою долю ВКонтакте моему другу Ивану Таврину.
Читать дальше →

Развитие правого полушария головного мозга или как я учился рисовать

Время на прочтение4 мин
Количество просмотров87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

С чего все началось



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...

Копирайт во благо

Время на прочтение4 мин
Количество просмотров2.2K
Отношение к «копирастам» в последнее десятилетие стало предельно острым и негативным. Во многом оно оправдано, ибо ведут они себя просто отвратно. Многие злорадно хихикали, узнав о «яблочной компании» и китайцах, зарегистрировавших бренд «ipad» в двухтысячном году. Или косо смотрят на одного усатого дядю, который обложил данью болванки. Собственно, репутация вполне заслуженная — мне до сих пор не особо понятно как именно будут происходить процесс встречи «незащищенных» авторов и собираемых денег.
Однако есть в авторском праве и смысл, давайте представим ситуацию:
У Вас родилась гениальная идея, вы воплотили её в стартап, вместе со знакомым дизайнером нарисовали сайт, логотип, слоган — в общем полный цикл. То, что получилось, выглядит взросло, презентабельно, «вебдванольно» и просто отлично. Стартап начинает приносить первый доход, рекламодатели начинают выстраиваться в очередь… и вроде вот он успех, НО!

Читать дальше →

dSort — раскладываем все по полочкам

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

Доброго времени суток, Хабравчане! В этой статье я хочу рассказать о небольшой Windows утилите, написанной мной, которая может пригодится для разбора завалов на рабочем столе. Все подробности – под катом.
Читать дальше →

Ускорение загрузки Windows for fun and profit

Время на прочтение4 мин
Количество просмотров808K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста

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

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

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

Тестирование. Начало

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

Привет. В этой серии постов я попробую рассказать про тестирование кода на питоне, в частности проектов django. Мы рассмотрим модульное тестирование (юнит-тесты), статический анализ кода и некоторые подводные камни тестирования веб-сайтов.

Вводную часть о пользе тестирования опустим — код, покрытый тестами, становится мягким и шелковистым, про это только ленивый еще не читал / писал.
Читать дальше →

Мгновенное сообщение из консоли в jabber

Время на прочтение2 мин
Количество просмотров18K
xmpp logoНередко перед системными администраторами встает задача оповещения себя и коллег о каких-либо событиях на сервере, будь то отчет об успешных входах по ssh, резко возросшая нагрузка, падение сервиса, сообщение о переключении на резервное питание или вскипевшем чайнике.
Чаще всего такая задача решается, например, отправкой почтового сообщения. Но нельзя гарантировать, что сообщение, во-первых, прийдет вовремя, а во-вторых, что его сразу прочтут. Тогда, подумает администратор, будем использовать IM. Но как? Держать, например, centerim постоянно открытым в screen? Согласитесь, не самый радужный вариант.
На выручку к нам спешит чип и дейл открытый протокол XMPP. Написано множество расширений к популярным языкам и примеров кода, позволяющих отослать сообщение кому требуется, и отослать его быстро.
Пример такого кода я и приведу.
Читать дальше →

ICQ бот на Python

Время на прочтение5 мин
Количество просмотров13K
Привет %habrauser%! Это мой первый хабротопик. В котором я расскажу как можно сделать ICQ бот на pythone. Бот у нас будет сидеть в сети и отправлять, по запросу пользователя, список последних статей хабра.
Для реализации бота мы будем использовать библиотеку Twisted. Конечно же есть уже специализированные библиотеки для работы с ICQ на python. Такие как py-icq или nanoicq. Но так как с Twisted я был уже знаком, то выбор пал именно на него.
Читать дальше →

Быстрый и автоматический запуск Django на IIS 7.x в production-среде (+ тесты производительности)

Время на прочтение7 мин
Количество просмотров14K
Django — популярный фреймоворк для создания веб-приложений на языке Python. Его популярность постоянно растет благодаря наличию средств быстрой разработки, встроенного административного интерфейса и высокой скорости работы. Существует простой и надежный способ разворачивания и запуска django-приложений на веб-сервере IIS с помощью Web Platform Installer и репозитория пакетов Helicon Zoo.

Helicon Zoo — это репозиторий популярных веб-фремоворков и приложений для Microsoft IIS. Он использует технологии Microsoft Web Platform Installer (WebPI) для развертывания приложений. С их помощью обрабатываются различные зависимости и происходит сам процесс установки нужных компонентов, как то Python, Django, различные драйвера баз данных и модули. Ну и сам модуль Helicon Zoo, который все это дело склеивает с MS IIS 7.

Читать дальше →

Настраиваем Django 1.6 с python 3.3 под Apache2 на Ubuntu 12.04 Server

Время на прочтение3 мин
Количество просмотров28K
Приятного времени суток!
Возникла необходимость настроить на своём сервере с PHP под Apache поддержку Django. Думал это будет не сложно и всё пройдёт как по маслу, но получилось не совсем так. Дело в том, что я решил настроить последнюю версию фраемворка с поддержкой третьего питона. Тут то и начали всплывать подводные камни.
Читать дальше →

Разворачиваем cron в Windows

Время на прочтение2 мин
Количество просмотров75K
Стандартный планировщик Windows штука мощная, но столкнулся с проблемой, которая не позволила мне легко им пользоваться в «домашнем» выпуске Windows. Пришлось установить в систему настоящий cron. Ни капли не пожалел!
Как к этому пришёл, и что из этого поучилось под катом.
Читать дальше →

Мой опыт настройки Apache x64 под Windows 8.1 x64

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

Доброго времени суток, уважаемые читатели. В этой статье я хочу поделиться с вами личным опытом настройки Apache под Windows 8.1 x64.
Было время – установил я себе Windows 8.1 и думаю, раз уж пошло на то, «дай ка» Я и Apache подниму! И как обычно меня он очень порадовал (табличка: «Сарказм»). Пришлось повозиться почти целую ночь, чтобы поднять сервер. И мне это удалось! После этого я решил тем самым написать небольшую статью по настройке Apache, чтобы другой человек не тратил на это столько же времени, сколько Я.
После нескольких минут раздумий, решил написать пошаговую инструкцию, которая будет состоять из нескольких разделов:
  1. Подготовка папок
  2. Настройка Apache
  3. Настройка PHP
  4. Настройка MySQL
  5. Устанавливаем phpMyAdmin

Ну что ж, приступим.
Читать дальше →

Легко настраиваемый python daemon

Время на прочтение2 мин
Количество просмотров60K
В какой-то момент мне потребовалось демонизировать некоторое действие на python. В сети валялась куча примеров подобной деятельности разной степени собранности. Так как в дальнейшем предполагалось использовать код демонизации в дальнейшей деятельности я решил разнести на разные части настройки и собственно демона.
В итоге файлов получилось три:
  • Родительские классы — с небольшим изменением классы взятые из интернет статей
  • Классы настройки — реакция на сигналы, реакция на команды и набор статических настроек для запуска
  • Скрипт запуска — собирает первые два в собственно демона


Дальше я попробую описать логику работы всех трех.
Читать дальше →

Полное покрытие кода

Время на прочтение10 мин
Количество просмотров19K
Нужно ли делать полное покрытие кода тестами — довольно-таки частая и неоднозначная тема при обсуждении юнит-тестирования. Хотя большинство разработчиков склоняются к тому, что делать его не надо, что это неэффективно и бесполезно, я придерживаюсь противоположного мнения (по-крайней мере, при разработке на Python). В данной статье я приведу пример, как делать полное покрытие кода, и опишу недостатки и преимущества полного покрытия на основе своего опыта разработки.
Читать дальше →

Sentry — мониторинг ошибок в Django

Время на прочтение2 мин
Количество просмотров45K
Как Вы мониторите ошибки в своем Django проекте?

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

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.
image
Читать дальше →

HowTo: Как подружить Django с WebSocket (socket.io, sockjs)

Время на прочтение10 мин
Количество просмотров33K
Version: 0.2

Возникла у меня потребность атомарного обновления в реальном времени страницы у некоторого количества пользователей в зависимости от действий других пользователей (не гербалайф чат). Понятное дело, можно всё выкинуть в помойку и, по-молодецки, запилить с нуля на tornado/twisted.web, но явно не самый продуктивный путь (да и я не мо́лодец ни разу) когда всё что надо — уже работает на Django и нужно всего-то чуть-чуть… Естественным образом, по сути своей, сюда просится WebSocket. И всё бы ничего но Django WSGI приложение, а этот стандарт не предполагает таких выкрутасов даже близко (пока). Гугления интернетов навели, в очередной раз, на труд известного python-гуру kmike (это без сарказма, т.к. его работы выручали меня лично уже не однократно, за что нижайший ему поклон!).

Итак если вы хотите скрестить ваш Django проект с websocket посредством js библиотеки socket.io или sockjs — вилькоммен!
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность