Pull to refresh
0
0
Максим П @mPuT

User

Send message

Разговариваем про PyQt4 — Посиделка первая

Reading time12 min
Views27K
image

Небольшое вступление


    Собственно, тогда, давно, я решил попробовать Qt, потому что часто слышал об удобстве разработки под него и своими глазами видел, какая шикарная документация представлена на сайте производителя. Не могу сказать, что это далось легко (я раньше немного писал на GTK), особенно путался в этих бесконечных классах на "Q", но постепенно начало нравиться все больше и больше. В частности потому, что есть отличная привязка к нему для языка Python, на котором я, собственно, в основном и пишу.
    Еще почему? Ну, я мог бы рассказать и о том, что он работает как на почти всех настольных системах, так и на многих мобильных, рассказать про совершенно гениальную объектную систему виджетов и т. п. Но — зачем? Не люблю холивары с приверженцами других визуальных библиотек :) Поэтому давайте считать этот топик чем-то вроде дележки опытом и рассуждений на тему.
Присоединиться к посиделке
Total votes 73: ↑67 and ↓6+61
Comments28

Разговариваем про PyQt4 — Посиделка вторая

Reading time5 min
Views6.3K
image

Добро пожаловать!


    В прошлый раз мы обсуждали, как можно писать свое PyQt4-приложение, опираясь на логику сгенерированного программкой pyuic4 файла. Как это часто бывает — после написания топик получил много интересных и, что самое главное, содержательных комментариев, объясняющих, почему в отдельных случаях я прав, а в других неправ.
    Самое любопытное состоит еще и в том, что обсуждение интересно как для питонистов, так и для приверженцев C++, ибо в данном случае разница невелика, в основном только незначительные вещи в синтаксисе. Все это потому, что PyQt4, по своей сути, является простой оберткой вокруг сишных Qt-классов, сохраняющей все названия и методы. Итак, вот вам чашечка чая или кофе, устраивайтесь поудобнее, давайте начнем нашу беседу.
Заглянуть на огонек
Total votes 47: ↑41 and ↓6+35
Comments18

Введение в pygtk/gtkbuilder: пишем калькулятор

Reading time3 min
Views6.9K
Разберем создание интерфейса на pygtk на примере самого примитивного калькулятора. Много картинок, немного кода.
gtkbuilder наиболее прогрессивный формат описания gtk интерфейса в xml,
если вы ранее использовали libglade, вы можете сконфертировать .glade файл в новый формат командой libglade-convert
Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments19

ООП с примерами (часть 2)

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

Для этого я постарался на более-менее живых примерах объяснить базовые понятия ООП (класс, объект, интерфейс, абстракция, инкапсуляция, наследование и полиморфизм).

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

Читать дальше →
Total votes 50: ↑37 and ↓13+24
Comments37

ООП с примерами (часть 1)

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

Для этого я постарался на более-менее живых примерах объяснить базовые понятия ООП (класс, объект, интерфейс, абстракция, инкапсуляция, наследование и полиморфизм).

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

Читать дальше →
Total votes 85: ↑64 and ↓21+43
Comments67

Настраиваем Aptana Studio с нуля для работы над Django-проектами

Reading time4 min
Views25K
image

Зачем оно вообще?


    Тут должен быть текст в духе «раньше я качал Eclipse Classic, который весит 160 с лишним метров, чтобы поставить на него PyDev и только тогда… Но потом я попробовал Aptana...».

    Собственно, Aptana Studio представляет собой среду для веб-разработки, построенную на основе Eclipse. Причем это значит именно то, что значит — почти все плагины Eclipse совместимы и с Aptana, только при этом в ней нету по умолчанию всей этой универсальности и Java-наворотов своего прародителя. И да, старый добрый PyDev здесь тоже есть, а на мой взгляд это — лучшая IDE-надстройка для питона. Естественно, для написания мелких проектов куда быстрее и проще использовать Geany, но сейчас не о нем :)
Читать дальше →
Total votes 44: ↑37 and ↓7+30
Comments42

Развитие объектного мышления у студентов

Reading time2 min
Views13K
Всем привет.

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

Сегодня на ленте предложил студентам второго курса интересную задачку на развитие объектного мышления. Подробности дальше.
Читать дальше →
Total votes 135: ↑115 and ↓20+95
Comments107

Как я учился работать с XML

Reading time4 min
Views82K
image
Честно говоря, я довольно сильно удивился, не найдя статьи по подобной теме на хабре. А тема-то довольно актуальная и нужная, поэтому возьму на себя смелость немного ее осветить.
И как же?
Total votes 75: ↑68 and ↓7+61
Comments55

Wbar — dockbar не требующий compiz

Reading time1 min
Views5.4K
еще давным давно, когда моя видеокарта еще толком не поддерживалась, и о компизе я мог только мечтать, я нашел отличный dockbar который прекрасно работал без compiz.
сейчас я его использую, как дополнительную панельку с приложениями.

Wbar

Читать дальше →
Total votes 58: ↑35 and ↓23+12
Comments43

Объединяем twitter.com и vkontakte.ru

Reading time8 min
Views6.7K
Пользуетесь ли вы twitter’ом? Если ответом является «Да», то милости просим под кат, где будет рассказано про способ автоматического репостинга сообщений из twitter’а в статус сообщения на сайте vkontakte.ru используя python.
Мне интересно
Total votes 99: ↑68 and ↓31+37
Comments90

Evernote API или Что внутри слона?

Reading time6 min
Views14K
В комментариях к нашим предыдущим записям в блоге на Хабре мы упомянули о том, что Evernote имеет собственный API. Сейчас я хочу рассказать о нем подробнее.


Когда мы только разрабатывали протокол синхронизации для Evernote, мы хотели добиться кроссплатформенности решения (веб-часть написана на Java, клиент для Windows и Windows Mobile — на C++, клиенты для Mac и iPhone на Objective C). Нужно было что-то, что позволит легко имплементировать этот протокол на разных клиентах и позволять расширять этот протокол по необходимости. Помимо этого, нам хотелось обеспечить передачу бинарных данных по данному протоколу, дабы уменьшить объем передаваемых данных. Выбор пал на Thrift, протокол, использовавшийся (и до сих пор использующийся) в Facebook, а ныне ставший опенсорсным проектом под крылом Apache Incubator. Разрабочики Evernote даже приложили свою руку к развитию проекта, исправляя ошибки и дорабатывая Java, Objective C и Perl-реализациии Thrift.
Читать дальше →
Total votes 49: ↑40 and ↓9+31
Comments28

Вводный курс по Drupal

Reading time1 min
Views12K
Многие начинающие работать с Drupal, говорят что система очень сложная, что в Joomla все проще. Так вот, специально для начинающих осваивать эту CMS хабрый пользователь Infanty составил не большую инструкцию на 75 страниц с большим количеством скриншотов.Краткое содержание:
  1. Установка пакета программ — Денвер
  2. Установка CMS Drupal
  3. Перевод языка CMS Drupal и её модулей на язык отличный от английского языка
  4. Установка модуля редактора текстов
  5. Создание сайта визитки
  6. Создание портала на Drupal
Так же кратко рассматриваются вопросы переноса с локального компьютера на сервер, обновление модулей и самого движка Drupal, оптимизация работы сайта и оптимизация под поисковые системы. В общем — весь джентельменский набор в одном файле. Инструкция в самом деле очень подробная, но находится в стадии формирования, поэтому ваши отзывы и критика будут очень полезны. Автор материала планирует написание и перевод еще нескольких интересных статей по Drupal, за что я лично ему весьма благодарен.Скачать Вводный курс по Drupal
Total votes 51: ↑38 and ↓13+25
Comments22

Работа с камерой мобильного телефона в Python

Reading time2 min
Views17K
В прошлой статье мы рассмотрели установку Python для S60 и работу в интерактивной консоли, сегодня мы рассмотрим возможности работы Python с камерой мобильного телефона.

Итак, приступим...


Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments22

Создание сайта из готовых компонентов на примере сайта заказа еды в офис

Reading time14 min
Views8.6K
В окрестностях нашего офиса нет приличного общепита, поэтому обеды нам привозят на заказ из одного кафэ. Заказ осуществляется за день (на понедельник заказ делается с пятницы), по телефону, с перечислением всех блюд и их количества (в случае если заказ не изменился относительно вчерашнего достаточно просто сказать это). Как компания, занимающаяся разработкой ПО, преимущественно веб, мы до недавнего времени жили по принципу «Сапожник без сапог», и весь учет заказов велся ответсвенным за заказ еды человеком на листочке, в случае изменения заказа нужно было писать письмо этому ответственному человеку, а он уже пересчитывал общий заказ.

Выкроив немного свободного времени в перерыве между проектами реализовал (именно реализовал, а не написал — почему именно так, расскажу немного ниже) систему для заказа еды. За основу, как нетрудно догадаться исходя из тематики блога, была взята CMS Drupal, которая является моим основным инструментом уже около полутора лет.

Цели данного топика:
  • Показать новичкам на довольно простом примере, как создается сайт невысокой сложности на CMS Drupal
  • Кратко расказать про несколько основных модулей — как правило они применяются в 90% проектов на друпале
  • Показать как можно собрать сайт на друпале из готовых компонентов, не написав при этом ни одной строчки кода (на самом деле будет пара строк кода, но немного не в том виде, как он обычно пишется =))


Итак, что должно быть реализовано в проекте:
  • Меню — список блюд, разделенных на категории, с возможностью описания блюд
  • Индивидуальные заказы — пользователь может сделать и заказ, просмотреть его содержимое и изменить
  • Сводный заказ — список всех заказаных пользователями блюд с указанием их количества
  • Возможность делиться впечатлениями о блюдах — тут просто возможность комментирования и рейтингования

Поехали
Total votes 100: ↑94 and ↓6+88
Comments117

30 высококачественных комплектов иконок

Reading time1 min
Views2.6K
Доброго времени суток, хабралюди! Сегодня я хочу представить вашему вниманию 30 комплектов иконок. Несмотря на то, что все иконки выполнены на очень высоком уровне, распространяются они абсолютно бесплатно. Превью для каждого пака внутри.
Читать дальше →
Total votes 146: ↑131 and ↓15+116
Comments38

Инструкция по развёртыванию полноценной среды для совместной удалённой разработки с Django в Windows. Для абсолютных новичков.

Reading time3 min
Views93K
Статья не претендует на универсальность, но статья — есть работоспособная инструкция по развёртке среды «с нуля» до этапа «пишем первую строчку кода». В комментариях принимаются советы и рекоммендации по улучшению инструкции.
Далее инструкция
Total votes 45: ↑39 and ↓6+33
Comments51

Осваиваем Python. Унция 2. Ветвления, циклы + практика.

Reading time4 min
Views91K
image
Простые конструкции в языке Python: ветвления и циклы имеют свои особенности по сравнению с другими языками. Поэтому я всё же решил потратить на это время и рассказать. Материал совсем простой!
Так же по просьбам читающих добавил в конец статьи разбор простой программки для наглядной демонстрации пройденного материала.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments63

Задачи для начинающих Java программистов

Reading time4 min
Views393K
В продолжение моего поста "Начинающим Java программистам" публикую очередную свою шпаргалку, а именно список задач, которые я обычно даю новичкам. Опытным разработчикам они покажутся тривиальными, а только начинающим изучать Java, причём самостоятельно, надеюсь будут в самый раз. Так же если Вы используете какие-то ещё задачи для обучения, то поделитесь ими, пожалуйста.:) Так как мне, иногда, как-то не по себе в ...-цатый раз рассказывать стажёрам одну и ту же задачу — пусть даже они её слышат впервые:)
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments50

Звук по сети

Reading time1 min
Views15K
Стоит у меня дома большой комп, используется в основном как телевизор. Кино смотрим на ноутбуке, ибо монитор не сильно больше, а стоит далеко от дивана. Поэтому приходится подключать к ноутбуку либо наушники, либо вторые колонки, либо ползать под стол и вытаскивать из компа шнур. Надоело.

Звуковые серверы в *nix есть давно, arts, esd — классика. Сейчас стандартом заслуженно становиться pulseaudio, в Ubuntu он устанавливается с релиза 8.04, а в Fedora с 8.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments26

Основы языка программирования Python за 10 минут

Reading time9 min
Views1.3M
Python Logo

На сайте Poromenos' Stuff была
опубликована статья, в которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.


Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments163

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity