Публикации о языке Python

wxpython. Доступность еще доступнее

Всем привет.
Хотя многие приложения все больше переходят в разряд WEB, я хочу в данной статье поднять тему о прикладном ПО.
А точнее о замечательной библиотеке GUI wxpython, которая является оберткой над WX Widgets.
Она очень удобна, проста в освоении, имеет множество компонентов для построения графических интерфейсов любой сложности.
А самое главное — она самая доступная в плане accessibility.
И хотя большинство компонентов доступны сразу из коробки, все равно есть некоторые с плохой доступностью.


Но не так давно появился новый инструмент, который должен помочь разработчикам еще улучшить доступность как новых, так и уже созданных раннее компонентов.


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



[Перевод] 10 полезных практик для ML-разработчиков на Питоне

Порой, будучи дата саентистами, мы забываем за что нам платят. А платят нам за то, что мы в первую очередь разработчики, потом исследователи и, возможно, математики. Наша основная обязанность при этом состоит в том, чтобы быстро создавать работоспособные решения для бизнеса.

Тот факт что мы создаем модели не делает нас особенными. Это не дает нам права писать плохой код.


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




Змеиный сахар или пишем свой range в JavaScript

Многие любят Python… Новички восщищаются отсутствием точек с запятой, а продвинутые радуются действительной простотой. Сегодня речь и пойдет о том, как в JavaScript реализовать подобие той самой простоты Python, а конкретно функцию range

В Python по функции range можно итерировать или, например, преобразовать в массив — list(range(begin, end)).

Но вопрос в том, можно ли мощностями JavaScript создать что-то подобное и при этом, чтобы решение выглядело нативным и простым?

Первое, что приходит в голову — написать подобный класс:

function range(from, to, step = 1){
    this.current = from
    this.to = to
    this.step = step

    this.next = () => this.current++ % to
}


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



[Из песочницы] Django: один пользователь для всего

Проблема


Всем привет. При разработке API для очередного веб-портала я взял свой привычный стек:


  • Django
  • django-rest-framework

Но в этот раз стояла довольно непривычная задача — сделать одну User модель, которая может иметь несколько разных профилей (Исполнитель, Заказчик). И наличие каждого из профилей дает разные полномочия на работу с одними и теми же ресурсами.


Такой подход позволяет пользователям не заводить несколько учетных записей для каждой роли, что зачастую было бы невозможно, ввиду ограничений на модель: уникальный email или номер телефона.


Итак, опишем возникшие перед нами проблемы:


  1. Один пользователь – несколько профилей.
  2. Как организовать права каждого из профилей.
  3. Доступ к одним тем же ресурсам от разных профилей.

Ниже я приведу свой способ решения этой задачи, который сложился из уже наработанных привычек по организации Django-проекта,




Вставить массив numpy в базу данных MySQL через Python

Если Вы столкнулись с проблемой, что не можете нормально сохранить массив numpy в базу данных MySQL, то эта заметка для Вас! Оригинал поста опубликован в моем блоге.

Я выбрал для себя способ сохранения через модуль pickle. С помощью него Вы спокойно сохраните массив numpy любой размерности в blob-е базы MySQL.
Читать дальше →




Как выбрать лучший инструмент автоматизации для вашей работы в Revit. Дизайнеры против программистов

Новые средства автоматизации выводят планирование на новый уровень развития.

Какой инструмент позволит нам сэкономить тысячи часов за счет автоматизации процессов BIM в Revit?


На данный момент у нас есть 4 варианта автоматизации Revit:



  • Dynamo (графическое программирование с открытым исходным кодом)
  • Rhino.Inside (бета-версия, с Кузнечиком это как Динамо)
  • PythonShell или pyRevit (Python с Revit API)
  • C # (C # с Revit API)


На графике я собрал свои мысли на эту тему:



Эта диаграмма может помочь вам объяснить менеджерам, в каких случаях, что нужно применять и какова ценность каждого из инструментов.



[Из песочницы] Жесткий цигун с условными знаками или зачем нужен geometry generator


Требования заказчика к условным обозначениям на картах кажутся вам нереальными? Дальше вы узнаете, как с помощью geometry generator, QGIS и Python сделать так, чтобы ваши условники были лучше всех.

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



PyTrace — Time Travel Debugger для Python

Мне часто приходится сталкиваться с отладкой.

Иногда я ставлю точку останова, но понимаю что уже слишком поздно, и надо начинать все сначала.

Более того, перед началом отладки, я подготавливаю данные, очищаю базу данных от лишних записей. Все для того, чтобы забыть зайти в, на первый взгляд, безобидный метод, и начать весь процес заново.

Усложняется все тем, что приходится работать с унаследованным кодом, который иногда сложно понять.

Возможно ли лучше понимать запутанный код? А что, если мы сможем понимать такой код, быстрее чем тот, кто его написал?

Встречайте,

PyTrace — это трейсер с возможностями Time-Travel Debugging-а


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




Простое распознавание лица «на лету» в Django

Доброго дня!

Меня зовут Соболев Андрей и сегодня мы с вами создадим простую «плюшку» к Django, которая будет проверять, что на фотографии именно лицо человека (что бывает полезно в куче ситуаций).

Для этого нам понадобится OpenCV и 5 минут свободного времени. Поехали.
Читать дальше →




[Из песочницы] Стажировка аналитиком в Яндексе: разбор тестовых задач



Привет, Хабр!

Однажды, штудируя очередную книгу по пресловутой Data Science, я пришел к мысли, что пора бы применить накопленные знания на практике и увидеть жизнь отдела аналитики своими глазами. К моему счастью, Яндекс запустил отбор на полугодичную стажировку по соответствующему направлению, и я не мог пройти мимо. Приём заявок 2020 уже закончился, поэтому в этой статье я с чистой совестью разберу задачи, которые Яндекс предлагал решить соискателям на первом этапе. Будет и код на Python. Спойлер: сложно, но интересно.
Читать дальше →