Search
Write a publication
Pull to refresh
-1
0
Send message

Тестируем отечественную систему виртуализации: Альт

Reading time11 min
Views32K

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

Я продолжаю свой цикл тестирования российских систем виртуализации. Сегодня речь пойдет о популярном решении под названием «Альт Виртуализация». Посмотрим, для каких сценариев подходит этот продукт, какие функции представлены в актуальной версии решения и кому я бы мог его рекомендовать.

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

Читать далее

Печать на сетевой принтер без драйверов

Reading time2 min
Views6.7K
Исторически сложилось так, что в отделе стоит единственный принтер Canon LBP-1120. И все было прекрасно до тех пор, пока не установили на рабочие машины Windows 7 x64. К сожалению, драйверов для LBP-1120 под 64-битные Windows нет в природе.

В интернете есть вариант решения такого вопроса. Предлагают печатать на виртуальный PostScript-принтер, который будет перенаправлять задания на реальный. В моём случае это решение поросло огромным количеством ошибок в работе системы печати. Пришлось искать другой способ.
Читать дальше →

Простой ORM для sqlite3

Level of difficultyMedium
Reading time12 min
Views15K

ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных, можно использовать ORM, чтобы взаимодействовать с данными, как если бы они были объектами в вашем коде.

Не бывало ли вам интересно, как работает изнутри такая идейно простая концепция? Благодаря чему достигается удобство работы? Сегодня мы напишем ORM самостоятельно и узнаем, какие инструменты python нам для этого понадобятся.
Читать дальше →

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W

Level of difficultyMedium
Reading time19 min
Views73K

Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board computer) начинкой и телевизионные приставки классический тому пример.

Когда-то я приобрел ТВ приставку X96 Max Plus 100W на Android чтобы потестить ее вдоль и поперек и пришел к тому что классическое ее применение для просмотра мультиков и Android игр мне не интересно.

Читать далее

Как поменять разрешение GRUB и TTY (LINUX без GUI)

Level of difficultyEasy
Reading time1 min
Views8K

Заспавнил я ВМ-ку, открыл - а она на моем мониторе не помещается, что-же делать - оставить как есть? Глаза мозолит и неудобно это. Работать через SSH? Нее, как-то скучно. А можно сделать по другому? Можно :-)

Тык сюда

Подключение к vpn через yubikey на ubuntu

Reading time2 min
Views4.2K

Не так давно я столкнулся с проблемой подключения к vpn при помощи аппаратного usb-токена. Мне предоставили инструкцию, но оказалось, что она актуальна только для Windows, а у меня на ноуте Ubuntu.

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

Читать далее

Создание библиотеки Python: полный гайд

Level of difficultyMedium
Reading time7 min
Views39K

Создайте свою библиотеку для Python и загрузите на PyPi, сейчас!

В этом туториале я максимально понятно и подробно расскажу о том, как создать свою библиотеку для Python и загрузить её на PyPi, для того, что бы её мог использовать любой!

Читать далее

Просто шифруем файлы в Linux с помощью Truecrypt и Veracrypt

Level of difficultyEasy
Reading time8 min
Views17K

В данной статье будет затронута тема создания криптоконтейнеров с помощью различного опенсорсного софта. Коснемся TrueCrypt и VeraCrypt, рассмотрим все с самых азов. Разберемся как создать простой том, том с двойным дном, как создать ключи шифрования и прочее. Все это проделаем под линуксом в консольном режиме.

Читать далее

Создание красивого Desktop-приложения на Python (customtkinter)

Level of difficultyEasy
Reading time4 min
Views71K

Если Вы как и я решили впервые взглянуть в сторону Python после нескольких попыток изучения С++/C# то скорее всего первым проектом станет desktop-приложение. Отходя от темы скажу что тяга к изучению этих языков была безнадежно утрачена в виду классического преподавания в духе "лишь бы сдали" и бесчисленных однотипных и монотонных лекций. Как я сказал выше хоть и на начальном уровне, но я всё же касался разработки приложений для шинды и поэтому мне хотелось посмотреть на принципы работы питона сначала отсюда(а не прыгать в django и прочие мощные фреймворки).

Читать далее

Устанавливаем ALDPro Astra Linux

Level of difficultyEasy
Reading time6 min
Views40K

ALDPro - краткое руководство по разворачиванию контроллера домена.

Недостаточное качество документации продукта и отсутствие информации по особенностям установки может вызвать массу вопросов у неподготовленного человека.

Коротко о самом главном.

Читать далее

Безопасная разработка на Python

Reading time6 min
Views12K

Python приобрел большую популярность среди разработчиков благодаря различным решениям, заложенным в его архитектуру. Такими решениями являются сильная динамическая типизация, то есть язык не допускает неявных приведений типов в неоднозначных ситуациях, при этом тип переменной определяется во время присваивания ей значения и может изменяться по ходу программы. Также полезной функцией языка Python автоматическое управление памятью и поддержка множества парадигм программирования, таких как структурное и функциональное программирование. И наконец, Python является полностью объектно-ориентированным языком с поддержкой интроспекции, то есть способности определять тип объекта во время выполнения.

Но, как всякий другой язык программирования, Python имеет ряд уязвимостей, о которых мы подробно поговорим в этой статье. Так как статья ориентирована прежде всего на разработчиков Python, то мы будем говорить об ошибках в коде, которые по тем или иным причинам могут допустить программисты в процессе разработки. И начнем мы с рассмотрения инъекций команд.

Читать далее

Создание прозрачного окна для рисования поверх всех приложений

Level of difficultyMedium
Reading time5 min
Views10K

Шаг 1: Введение

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

В данной статье мы рассмотрим, как создать прозрачное окно для рисования на языке Python, используя библиотеку PyQt5. Мы научимся создавать окно, настраивать его прозрачность и отображать его поверх всех окон на рабочем столе, сохраняя при этом функциональность и удобство использования для пользователей.

Для создания прозрачного окна мы будем использовать мощные инструменты, предоставляемые библиотекой PyQt5.

Шаг 2: Установка необходимых библиотек

Для создания прозрачного окна мы будем использовать библиотеку PyQt5, которая предоставляет мощные инструменты для создания графического интерфейса на основе Qt.

Для установки библиотек можно воспользоваться командой pip:

Читать далее

Тестирование python3-расширения для GIMP

Level of difficultyEasy
Reading time4 min
Views2.5K

Графический редактор GIMP предоставляет широкие возможности для создания расширений на языках программирования Scheme (функциональный язык, сходный с LISP) или Python. Для доступа к системным операциям и регистрации собственных действий используется общий реестр Procedural Database (PDB), через который можно выполнять любые действия со встроенными механизмами GIMP (например, создание изображения). В этой статье мы рассмотрим основы создания расширений на Python 3 и возможные подходы к тестированию расширений через PDB.

Читать далее

Как я использовал-таки классы в VBA и даже полюбил это дело

Level of difficultyEasy
Reading time13 min
Views15K

На собеседовании:

- Как у вас с Экселем?

- Я его ненавижу!

- О, да вы VBA-разработчик!

Я не могу открывать здесь Америк, ибо не технарь, но раз тут был чей-то текст, как написать "Hello world" в Word'e, и всем понравился, то думаю, что нелишним будет и мой небольшой опыт.

п1. Как обычный пользователь пишет макросы в эксельке

Периодически и даже регулярно мне приходится читать чужой код на VBA. Как русскоязычных соотечественников, так и их зарубежных коллег. И создается впечатление, что что макрописание в MS-продуктах, несмотря на большую распространенность, достаточно неплохо разработанный макрорекордер (по сравнению с импортозамещающими аналогами - так просто идеально разработанный), в русский народ не пошло, или почти не пошло. Подавляющее большинство кода для Экселя - это так или иначе связанные между собой и кое-как зацикленные куски, записанные макрорекордером и обработанные напильником.

Ну, например, очень редко для обращения к ячейке употребляется метод Cells с индексами номера строки и колонки, по большей части используют уродцев типа Cells("A"&(i+1)) , а переход к следующей ячейке делают через Offset (и. что интересно, код работает - умудряются не запутываться в сдвиге А относительно Б, С относительно Б и так далее, могу только предположить, сколько такую связку из офсетов отлаживают). Массивов в их классическом виде средний российский макрописец не признает в принципе, и я догадываюсь, что он просто не знает, что есть такая сущность, и все переборы и вычисления проводит. обращаясь напрямую к ячейкам (хотя сансэй Уокенбах в каждой книжке повторяет, что массивы работают на порядок быстрей).

Читать далее

Создаем композитные виджеты в Qt из уже имеющихся ⦁ Python + PySide2

Level of difficultyMedium
Reading time11 min
Views7.3K

Фреймворк Qt предоставляет разработчикам много готовых визуальных элементов (виджетов) для ввода - вывода данных, но не всегда они могут отвечать нашим требованиям, решить данный вопрос может прием композиции, который заключается в создании собственного виджета из тех, что уже встроены в фреймворк. Данный подход позволяет использовать виджет повторно, упростить разработку и тестирование кода за счет того, что связь с внешней программой будет осуществляться посредством простого интерфейса...

Читать далее

КОМПАС-3D x64 и Linux на базовом Wine 8.0

Reading time3 min
Views23K

Инструкция — вектор для тех, кому нравится поковыряться в системе

В прошлой статье я начал публиковать инструкции по развёртыванию КОМПАС-3D под ОС на ядре Linux, а сегодня это дело закончу. Пока разработчики ещё трудятся над нативной Linux‑версией КОМПАС-3D, поэтому сейчас доступны два варианта работы в Linux: через WINE@Etersoft от команды «Этерсофт» и свободную версию Wine.

Ранее мы рассмотрели запуск с помощью WINE@Etersoft, на очереди Wine.

Как запустить КОМПАС на чистом Wine

Книга «Внутри CPYTHON: гид по интерпретатору Python»

Reading time12 min
Views16K
image Привет, Хаброжители!

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Читать дальше →

Принцип определения дальности между радио трансиверами

Level of difficultyEasy
Reading time3 min
Views7.1K

Настал второй за 11 лет случай, когда в профессии программист‑микроконтроллеров понадобилась математика. Она нужна чтобы решить задачу из радиотехники.

В этом тексте показан алгоритм определения дальности между радио трансиверами.

Читать далее

Запускаем КОМПАС-3D на Linux с помощью WINE@Etersoft. Инструкция

Reading time3 min
Views24K

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

Читать далее

Полное руководство по модулю asyncio в Python. Часть 9

Level of difficultyMedium
Reading time16 min
Views34K

Публикуем девятую, заключительную часть (12345678) перевода руководства по модулю asyncio в Python. Здесь вы найдёте разделы исходного материала с 23 по 26.

Читать далее

Information

Rating
Does not participate
Registered
Activity