Pull to refresh
1
Борис @WorldCountread⁠-⁠only

User

Send message

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

Reading time11 min
Views65K
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, в свою очередь, осуществляет поддержку всех этих руководств, предоставляя разработчику возможность создавать программы с использованием виджетов, «подстраивающихся» под окружение.

Читать дальше →
Total votes 116: ↑112 and ↓4+108
Comments9

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

Reading time1 min
Views246K

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

За последние несколько лет я активно избавлялся от собственности, отдавая и продавая все, что у меня было — от мебели и вещей до недвижимости и компаний. До достижения идеала мне оставалось избавиться от самой крупной части своего имущества — 12%-доли ВКонтакте. Я рад, что не так давно я достиг и этой цели, продав свою долю ВКонтакте моему другу Ивану Таврину.
Читать дальше →
Total votes 219: ↑172 and ↓47+125
Comments110

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

Reading time4 min
Views87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

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



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...
Total votes 163: ↑156 and ↓7+149
Comments84

Строение двигателей

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

А можете ли Вы сходу объяснить Вашей девушке, в чем отличие бензинового двигателя от дизельного? Четырёхтактного и двухтактного движков? Нет? Тогда приглашаю под кат.

Читать дальше →
Total votes 249: ↑220 and ↓29+191
Comments142

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

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

Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments19

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

Reading time2 min
Views78K

Доброго времени суток, Хабравчане! В этой статье я хочу рассказать о небольшой Windows утилите, написанной мной, которая может пригодится для разбора завалов на рабочем столе. Все подробности – под катом.
Читать дальше →
Total votes 66: ↑56 and ↓10+46
Comments77

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

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

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16+500
Comments365

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

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

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

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

Reading time4 min
Views124K

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

Вводную часть о пользе тестирования опустим — код, покрытый тестами, становится мягким и шелковистым, про это только ленивый еще не читал / писал.
Читать дальше →
Total votes 130: ↑119 and ↓11+108
Comments16

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

Reading time2 min
Views18K
xmpp logoНередко перед системными администраторами встает задача оповещения себя и коллег о каких-либо событиях на сервере, будь то отчет об успешных входах по ssh, резко возросшая нагрузка, падение сервиса, сообщение о переключении на резервное питание или вскипевшем чайнике.
Чаще всего такая задача решается, например, отправкой почтового сообщения. Но нельзя гарантировать, что сообщение, во-первых, прийдет вовремя, а во-вторых, что его сразу прочтут. Тогда, подумает администратор, будем использовать IM. Но как? Держать, например, centerim постоянно открытым в screen? Согласитесь, не самый радужный вариант.
На выручку к нам спешит чип и дейл открытый протокол XMPP. Написано множество расширений к популярным языкам и примеров кода, позволяющих отослать сообщение кому требуется, и отослать его быстро.
Пример такого кода я и приведу.
Читать дальше →
Total votes 73: ↑66 and ↓7+59
Comments31

ICQ бот на Python

Reading time5 min
Views13K
Привет %habrauser%! Это мой первый хабротопик. В котором я расскажу как можно сделать ICQ бот на pythone. Бот у нас будет сидеть в сети и отправлять, по запросу пользователя, список последних статей хабра.
Для реализации бота мы будем использовать библиотеку Twisted. Конечно же есть уже специализированные библиотеки для работы с ICQ на python. Такие как py-icq или nanoicq. Но так как с Twisted я был уже знаком, то выбор пал именно на него.
Читать дальше →
Total votes 64: ↑56 and ↓8+48
Comments21

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

Reading time7 min
Views14K
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.

Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments16

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

Reading time3 min
Views28K
Приятного времени суток!
Возникла необходимость настроить на своём сервере с PHP под Apache поддержку Django. Думал это будет не сложно и всё пройдёт как по маслу, но получилось не совсем так. Дело в том, что я решил настроить последнюю версию фраемворка с поддержкой третьего питона. Тут то и начали всплывать подводные камни.
Читать дальше →
Total votes 18: ↑8 and ↓10-2
Comments10

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

Reading time2 min
Views73K
Стандартный планировщик Windows штука мощная, но столкнулся с проблемой, которая не позволила мне легко им пользоваться в «домашнем» выпуске Windows. Пришлось установить в систему настоящий cron. Ни капли не пожалел!
Как к этому пришёл, и что из этого поучилось под катом.
Читать дальше →
Total votes 25: ↑14 and ↓11+3
Comments23

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

Reading time8 min
Views275K
image

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

Ну что ж, приступим.
Читать дальше →
Total votes 34: ↑7 and ↓27-20
Comments23

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

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


Дальше я попробую описать логику работы всех трех.
Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments10

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

Reading time10 min
Views19K
Нужно ли делать полное покрытие кода тестами — довольно-таки частая и неоднозначная тема при обсуждении юнит-тестирования. Хотя большинство разработчиков склоняются к тому, что делать его не надо, что это неэффективно и бесполезно, я придерживаюсь противоположного мнения (по-крайней мере, при разработке на Python). В данной статье я приведу пример, как делать полное покрытие кода, и опишу недостатки и преимущества полного покрытия на основе своего опыта разработки.
Читать дальше →
Total votes 63: ↑51 and ↓12+39
Comments35

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

Reading time2 min
Views44K
Как Вы мониторите ошибки в своем Django проекте?

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

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.
image
Читать дальше →
Total votes 58: ↑53 and ↓5+48
Comments24
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity