Всем доброго времени суток, решил написать эту статью специально для тех кто хочет или еще захочет чтобы его программка написанная c помощью Qt под Windows работала даже там где о Qt и не слышали, на Хабре есть статья где данная проблема решается сопровождением нашего .exe библиотечками от skazkin. Сам очень долго искал решение этого вопроса, но практически везде об этом говорили говорили, но ничего действенного так и не получалось. В итоге собирая и анализируя все что приходило мне из разных источников, я наконец-то сделал это и если кому ещё интересно всех прошу под кат
User
Работа с PySide
9 min
55KЭтот пост участвует в конкурсе «Умные телефоны за умные посты»
В Сети имеется некоторое количество информации по проекту PySide, но русскоязычной не так много.
Данная статья является попыткой восполнить этот пробел. Далее будет описана сборка проекта, запуск приложений на эмуляторе, пример создания собственной привязки. Некоторые ключевые особенности PySide будут показаны на примерах.
В Сети имеется некоторое количество информации по проекту PySide, но русскоязычной не так много.
Данная статья является попыткой восполнить этот пробел. Далее будет описана сборка проекта, запуск приложений на эмуляторе, пример создания собственной привязки. Некоторые ключевые особенности PySide будут показаны на примерах.
+47
+63
Немного про py2exe
4 min
126KЕсть такое приложение. Называется py2exe. Оно позволяет упаковать, сконвертировать программу на python в exe файл (ну, точнее, exe и еще кучку других). Зачем оно все надо? Ну, далеко не у всех пользователей windows установлен интерпретатор python с нужными библиотеками. А вот упакованная программа в идеале должна запуститься на любой windows-машине.
+42
Herrmann Dominanz Instrument (HDI). Часть I
7 min
26KДоброго времени суток, Хабр!
Поговорим о людях.
Сразу отвечаю на вопрос «Что это?»
HDI — это модель для определения профиля личности.
В свободном доступе практически нет информации про типологию HDI. В лучшем случае есть только краткое описание, составленное в лучших традициях НЛП и искусства продаж, плавно перетекающее в раздел «контакты» для заказа проведения тренинга от немецких консалтинговых компаний.
Несмотря на то, что эта типология имеет интересную и достаточно глубокую научную подоплеку, она имеет широкий потенциал практического применения для управления, мотивации и делегирования работы персоналу. Особенная ее ценность — сравнительно небольшой порог вхождения. И уже при небольшом опыте использования Вы сможете быстро находить правильные подходы к рабочему взаимодействию с людьми.
Особенно полезны знания HDI будут проектным менеджерам. Поскольку именно PM'ы должны быть руководителями «вдвойне» (если не «от бога»), поскольку именно они чаще сталкиваются с необходимостью руководить и мотивировать сотрудников, не находящихся в их прямом подчинении, а значит, не обладают в необходимом объеме административным ресурсом, что повышает риски срыва проекта из-за того, что у «непосредственный начальник Васи дал ему задание с более высоким приоритетом», или «зачем Васе делать дополнительную работу». Разумеется, подобные тонкости зависят от развития проектной культуры в организации (уровень зрелости организации), и рассматриваться в этой статье не будут, но определенную параллель можно будет провести. Также эта статья будет полезна руководителям функциональных подразделений, которые хотят отточить свои руководящие навыки и лучше понять возможности и потребности своих людей.
И я был бы совсем счастлив, если бы после прочтения этой статьи некоторые руководители поняли, почему их сотрудники делают одну работу лучше, чем другую; почему внешняя неуверенность и несамостоятельность сотрудника может на самом деле быть грубейшей ошибкой со стороны руководства в делегировании и мотивации. Любая обратная связь приветствуется.
Поговорим о людях.
Сразу отвечаю на вопрос «Что это?»
HDI — это модель для определения профиля личности.
В свободном доступе практически нет информации про типологию HDI. В лучшем случае есть только краткое описание, составленное в лучших традициях НЛП и искусства продаж, плавно перетекающее в раздел «контакты» для заказа проведения тренинга от немецких консалтинговых компаний.
Несмотря на то, что эта типология имеет интересную и достаточно глубокую научную подоплеку, она имеет широкий потенциал практического применения для управления, мотивации и делегирования работы персоналу. Особенная ее ценность — сравнительно небольшой порог вхождения. И уже при небольшом опыте использования Вы сможете быстро находить правильные подходы к рабочему взаимодействию с людьми.
Особенно полезны знания HDI будут проектным менеджерам. Поскольку именно PM'ы должны быть руководителями «вдвойне» (если не «от бога»), поскольку именно они чаще сталкиваются с необходимостью руководить и мотивировать сотрудников, не находящихся в их прямом подчинении, а значит, не обладают в необходимом объеме административным ресурсом, что повышает риски срыва проекта из-за того, что у «непосредственный начальник Васи дал ему задание с более высоким приоритетом», или «зачем Васе делать дополнительную работу». Разумеется, подобные тонкости зависят от развития проектной культуры в организации (уровень зрелости организации), и рассматриваться в этой статье не будут, но определенную параллель можно будет провести. Также эта статья будет полезна руководителям функциональных подразделений, которые хотят отточить свои руководящие навыки и лучше понять возможности и потребности своих людей.
И я был бы совсем счастлив, если бы после прочтения этой статьи некоторые руководители поняли, почему их сотрудники делают одну работу лучше, чем другую; почему внешняя неуверенность и несамостоятельность сотрудника может на самом деле быть грубейшей ошибкой со стороны руководства в делегировании и мотивации. Любая обратная связь приветствуется.
+6
Полиглоты в продакшн Питона
15 min
7.3KСразу, в порядке завлекалочки. Нашей целью будет научиться писать программы-полиглоты, способные интерпретироваться сразу на нескольких языках программирования (одним, «базовым» из которых является Python). При этом, в случае интерпретации на одном из них, программа будет генерировать другую программу, функционально схожую (или даже эквивалентную) той, которая выполняется в случае интерпретации на другом языке.
И самое интересное: подходы, используемые при написании этой программы, будут интересны не столько академически, сколько практически — при разработке программы с использованием этих подходов разработка будет проще и удобнее (хоть поначалу и чуточку непривычно), а программа будет эффективнее, чем без них.
Впрочем, это звучит страшнее, чем является.
И самое интересное: подходы, используемые при написании этой программы, будут интересны не столько академически, сколько практически — при разработке программы с использованием этих подходов разработка будет проще и удобнее (хоть поначалу и чуточку непривычно), а программа будет эффективнее, чем без них.
Впрочем, это звучит страшнее, чем является.
+52
Создание py2exe сборок с модулями Python, содержащими сторонние файлы
6 min
11KДля краткости, введем обозначение «нестандартные» — под этим термином будем далее подразумевать такие модули, которые содержат в себе файлы, отличные от *.py. К примеру это могут быть библиотеки (*.pyd), картинки, иконки, и т.д.
Первая проблема состоит в том, что практически все сборщики бинарных «дистрибутивов» python-приложений, такие как py2exe, bbfreeze, cx_Freeze, и другие, забирают из таких модулей только *.py файлы. Вторая проблема возникает со сложными namespace-модулями, такими как ETS — часто сборщик не может правильно разобрать все их внутренние зависимости.
Конкретно в моем случае камнями преткновения оказались все модули ETS (mayavi, chaco, и т.д.), m2crypto, vtk, h5py, matplotlib и несколько других (вообще, как выяснилось, таких модулей очень много).
Я попробовал протестировать разные сборщики и поначалу остановился на cx_Freeze, т.к. он единственный умеет более-менее правильно импортировать ETS «из коробки». Однако, его оказалось недостаточно: он не смог справиться с другими нестандартными модулями, а также по ряду других причин (к примеру, мне так и не удалось скрыть окно консоли, поставить кастомную иконку, и пр.). Конечно, там есть механизм «рецептов» (совсем не документированный), который даже работает, к примеру, для matplotlib, но хотелось более универсального и простого решения, чем писать подобный рецепт под каждый модуль.
В итоге я остановился на py2exe, т.к. с ним удалось решить все вышеназванные проблемы. Поскольку на это ушло довольно-таки значительное время, то хочу с вами поделиться — может кому тоже понадобится.
Первая проблема состоит в том, что практически все сборщики бинарных «дистрибутивов» python-приложений, такие как py2exe, bbfreeze, cx_Freeze, и другие, забирают из таких модулей только *.py файлы. Вторая проблема возникает со сложными namespace-модулями, такими как ETS — часто сборщик не может правильно разобрать все их внутренние зависимости.
Конкретно в моем случае камнями преткновения оказались все модули ETS (mayavi, chaco, и т.д.), m2crypto, vtk, h5py, matplotlib и несколько других (вообще, как выяснилось, таких модулей очень много).
Я попробовал протестировать разные сборщики и поначалу остановился на cx_Freeze, т.к. он единственный умеет более-менее правильно импортировать ETS «из коробки». Однако, его оказалось недостаточно: он не смог справиться с другими нестандартными модулями, а также по ряду других причин (к примеру, мне так и не удалось скрыть окно консоли, поставить кастомную иконку, и пр.). Конечно, там есть механизм «рецептов» (совсем не документированный), который даже работает, к примеру, для matplotlib, но хотелось более универсального и простого решения, чем писать подобный рецепт под каждый модуль.
В итоге я остановился на py2exe, т.к. с ним удалось решить все вышеназванные проблемы. Поскольку на это ушло довольно-таки значительное время, то хочу с вами поделиться — может кому тоже понадобится.
+28
Как обезопасить исходники своего python-приложения
2 min
46KРано или поздно все python-разработчики стают перед выбором: отдать заказчику приложение в исходниках или скрыть их. И вот во втором случае у многих (особенно недавно знакомых с этим прелестным языком) начинаются проблемы: поиск по гуглу, как правило, ничего не дает, идей никаких (или все бредовые).
+59
Стиль кода
1 min
12KTranslation
По просьбам хабраюзеров я сделал перевод текста, составленного abchernin на основе PEP 8 — «Styleguide for Python Code» (см. топик).
Некоторые фразы я переводить не стал, потому что они к сути дела не относятся, но содержат в себе забавную игру слов.
Надеюсь, вам будет полезна моя работа: pdf, 200кб
Некоторые фразы я переводить не стал, потому что они к сути дела не относятся, но содержат в себе забавную игру слов.
Надеюсь, вам будет полезна моя работа: pdf, 200кб
+44
Вещи, о которых следует помнить, программируя на Python
5 min
64KДзэн Питона
Изучение культуры, которая окружает язык, приближает вас на шаг к лучшим программистам. Если вы всё еще не прочли «Zen of Python», то откройте интерпретатор Python и введите import this. Для каждого элемента в списке вы найдете пример здесь
Однажды моё внимание привлекло:
+112
Обработка Excel файлов с использованием Python
4 min
207KПо работе пришлось столкнуться с задачей обработки xls файлов средствами python. Немного по гуглив, я натолкнулся на несколько библиотек, с помощью которых можно работать с файлами excel.
+45
Функциональное программирование для всех
33 min
352KTranslation
Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.
Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.
UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
+174
Еще раз про IP-адреса, маски подсетей и вообще
7 min
1.5MЧуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.
IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.
Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».
В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.
Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.
Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».
В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
+236
Регулярные выражения, пособие для новичков. Часть 1
14 min
914KTranslation
Регулярные выражения (РВ) это, по существу, крошечный язык программирования, встроенный в Python и доступный при помощи модуля re. Используя его, вы указывается правила для множества возможных строк, которые вы хотите проверить; это множество может содержать английские фразы, или адреса электронной почты, или TeX команды, или все что угодно. С помощью РВ вы можете задавать вопросы, такие как «Соответствует ли эта строка шаблону?», или «Совпадает ли шаблон где-нибудь с этой строкой?». Вы можете также использовать регулярные выражения, чтобы изменить строку или разбить ее на части различными способами.
+93
MSP430, учимся программировать и отлаживать железо (часть 3)
6 min
56KВозможно Вы уже не первый раз садитесь за программирование Вашего MSP430. Если это не так, то рекомендую ознакомиться с предыдущими статьями по данной тематике: часть 1, часть 2.
В этой статье мы рассмотрим инструмент для графической настройки периферии нашего микроконтроллера — Grace, познакомимся с принципом работы watchdog и поработаем с виртуальным COM-портом (через программатор). Уже традиционно будет рассмотрен небольшой пример кода, и предоставлены все необходимые для понимания ссылки.
+15
В помощь интернет-шопперу
3 min
127KДля покупок на ebay-подобных околоазиатских сайтах могут быть разные причины от острого, свербящего желания получить часы «как в Portal 2» до банальной лени, стоящей на пути между диваном и торговым центром. Среди них и желание сэкономить, и острая хроничесекая интернет-шоппинг-зависимость типа моей. Ну и, конечно, ни с чем несравнимая эйфория после победы финального босса – тётечки из окошка Почты России. Она сначала пытается измотать вас 20-минутной очередью под «Ласковый май» в уютном отделении почтовой связи, а потом запросто может попросить дописать на обратную сторону извещения код подразделения, выдавшего паспорт, но не спросить сам документ, за которым только что пришлось возвращаться с полпути до почты по причине собственной забывчивости.
Так, о чём это я? Ах, да, о ещё одной торговой интернет-площадке и тонкой, незримой связи её с OCR.
Так, о чём это я? Ах, да, о ещё одной торговой интернет-площадке и тонкой, незримой связи её с OCR.
+63
Information
- Rating
- Does not participate
- Registered
- Activity