Как стать автором
Обновить
4
0

Пользователь

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.8K

Минимально необходимое о стеклодувных подготовительных работах. В ключе кустарно-хоббийных экзерсисов, где стекло добывается по случаю, часто немаркированное, случается, что и в скверном состоянии от неправильного хранения, последний оплот неплохого легкоплавкого стекла — производство неоновой рекламы — пустили по миру светодиоды. Лабораторная посуда и приборы теперь изготавливаются из стекла импортного боросиликатного. Красивого, удобного и термостойкого, но и чрезвычайно дорогого и непременно требующего для своей обработки кислород. Тем не менее остатки старых трубок — заготовок для стеклодувного дела — всё ещё можно отыскать частным порядком.
Читать дальше →
Всего голосов 85: ↑85 и ↓0+85
Комментарии59

PyQt6 — полное руководство для новичков. Продолжение

Время на прочтение35 мин
Количество просмотров58K

В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных и диалоговых окнах. За подробностями приглашаем под кат.

1. Макеты

2. Панели инструментов, меню и QAction

3. Диалоговые окна и окна предупреждений

4. Дополнительные окна

Читать далее
Всего голосов 6: ↑5 и ↓1+6
Комментарии9

Заводим трактор: QMake -> CMake

Время на прочтение14 мин
Количество просмотров26K

Заводим трактор: переезжаем с QMake на CMake?

По дороге заглянем на улицу "Кросс компиляторщиков", в сквер "Систем сборки" и посидим в баре "Управления зависимостями". Заодно увидим тех, кто использует Qt в embedded linux.

Поехали
Всего голосов 8: ↑6 и ↓2+6
Комментарии20

Разработка игры на C++/SFML: Начало

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

Всем привет!

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

Ну, собственно, вот - первая часть. В ней я покажу, как я создал персонажа и научил его бегать.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии15

Обновление МойОфис 2021.02. Пишите формулы и математические выражения в текстовом редакторе

Время на прочтение6 мин
Количество просмотров9.1K

Привет, Хабр! Недавно мы обновили МойОфис до версии 2021.02. Одним из важных улучшений стала возможность добавления формул в текстовом редакторе. Она может быть полезна всем, кто работает с текстами и хочет получить корректное отображение сложных математических выражений в документах, особенно при последующей печати или демонстрации на слайдах презентации.

Читать далее
Всего голосов 20: ↑19 и ↓1+20
Комментарии5

Как мы создаём редакторы документов. Ядро и его роль в кроссплатформенной разработке

Время на прочтение10 мин
Количество просмотров3.4K

В МойОфис мы создаем ПО для корпоративного пользования, и одни из ключевых продуктов нашей линейки — редакторы документов «МойОфис Текст» и «МойОфис Таблица». Эти приложения представлены на всех популярных платформах, включая мобильные устройства. Они позволяют создавать, изменять, просматривать текстовые и табличные документы различных форматов, а также совместно работать над ними в веб-версии редакторов.

Сегодня мы расскажем об общем технологическом устройстве редакторов МойОфис, с акцентом на их центральный элемент: ядро, написанное на C++. Именно ядро обеспечивает основную функциональность приложений и даёт нам возможность эффективно унифицировать её для разных платформ.

О том, что представляет собой ядро наших редакторов, принципах его работы, преимуществах и специфике, читайте под катом.

Читать далее
Всего голосов 31: ↑29 и ↓2+35
Комментарии10

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров28K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 88: ↑86 и ↓2+106
Комментарии116

Выделение регионов памяти в C++: советы и приёмы

Время на прочтение12 мин
Количество просмотров8.6K

Эта статья обсуждалась на Hacker News.

В течение минувшего года я шлифовал мой подход к выделению регионов. Практика показывает, что это эффективный, простой и быстрый подход; обычно его используют в качестве средства для сборки мусора без издержек. В зависимости от того, что нам требуется, в аллокаторе может быть всего 7–25 строк кода — идеально для случаев, когда мы работаем без среды исполнения. Теперь, когда я окончательно сформулировал ключевые аспекты моего подхода, самое время их задокументировать и рассказать вам о том, что мне удалось выучить. Определённо, это не единственный возможный подход к выделению регионов. Я просто расскажу вам о приёмах, которые сам выработал для упрощения программ и искоренения ошибок.

Регион (арена) — это буфер памяти и смещение до этого буфера. Изначально это смещение равно нулю. Чтобы выделить объект, нужно взять указатель на него с заданным смещением, увеличить смещение на размер объекта, а затем вернуть указатель. Этим дело не ограничивается — например, нужно обеспечить выравнивание и доступность. До этого мы ещё дойдём. Объекты не высвобождаются каждый по отдельности. Напротив, сразу высвобождаются целые группы ранее выделенных объектов, и смещение откатывается к более раннему значению. Когда не предусмотрены собственные времена жизни для отдельных объектов, деструкторы писать также не требуется, а вашим программам не приходится прямо во время выполнения обходить структуры данных и убирать ненужные. Кроме того, больше можно не беспокоиться об утечках памяти.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 1. Установка и первое приложение на PySide6

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

Сегодня мы с Вами рассмотрим прекрасную библиотеку PySide6, которая является оберткой для взаимодействия с Qt при помощи языка Python, которые позволяет вам использовать Python для написания desktop-приложений Qt.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии32

Как написать свою маленькую ОС

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров45K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Всего голосов 83: ↑78 и ↓5+98
Комментарии26

Файловый ввод, сделанный по-человечески

Время на прочтение21 мин
Количество просмотров21K

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема.
Читать дальше →
Всего голосов 28: ↑24 и ↓4+29
Комментарии135

KolibriOS: пробуем ассемблер

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.9K

Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.

Как оказалось, примеров кода не мало и не много. А так как я привык к Dos, Windows или Linux, то и ожидал что-нибудь в этом роде. Код, код и ещё раз код. Макросы не так часто встречаются. Ну и уж точно не весь код из одних макросов (утрирую).

Пример кода из «официального источника» вносит больше сумятицы, чем понимания, что происходит в данном коде. И... там нет никакого объяснения этим «буквенным значениям». Есть только то, что ссылаются на файл «macros.inc». Если просматривать источники интернета, то где‑то более понятно написано и даже рассказывают, что взять «macros.inc» (и многие другие файлы можно на SVN KolibriOS и, как оказалось, ещё можно на GitHub (дублируется?).

Покопавшись в файле «macros.inc», а так же на просторах интернета и найдя пример (смотрите код Fasm), я понял, что всё становится на свои места и более‑менее проясняется.

Читать далее
Всего голосов 23: ↑22 и ↓1+29
Комментарии37

Так сколько на самом деле строк на C нужно, чтобы выполнить a + b в Python?

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров27K

Это ответ на статью «Сколько строк на C нужно, чтобы выполнить a + b в Python?» где количество строк так и не указано. Сразу оговорюсь покрывать все сценарии для python по количеству строк я не собираюсь — слишком много вариантов, слишком лень. Но вот вопрос, сколько питону нужно строк, что бы сложить 2 числа, например "4+5"? Будет ли разница, если сохранять эти числа в переменные или нет? Сегодня мы получим ответы на эти вопросы.

Добро пожаловать под кат.
Всего голосов 31: ↑31 и ↓0+31
Комментарии14

ФП vs ООП

Время на прочтение6 мин
Количество просмотров65K

Не так давно на хабре появилось несколько постов противопоставляющих функциональный и объектный подход, породивших в комментариях бурное обсуждение того, что вообще это такое — объектно ориентированное программирование и чем оно отличается от функционального. Я, пусть и с некоторым опозданием, хочу поделиться с окружающими тем, что думает по этому поводу Роберт Мартин, также известный, как Дядюшка Боб.


Читать дальше →
Всего голосов 42: ↑31 и ↓11+20
Комментарии128

Разворачиваем Telegram бота на Raspberry Pi Zero 2W с автозапуском: шаг за шагом

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров11K

Развертывание Telegram бота на Raspberry Pi Zero 2W: установка, автозапуск, и GitHub репозиторий с эхо-ботом.

Первым шагом является установка «Raspbian os lite» на ваш Raspberry Pi Zero 2W. Это легковесная версия операционной системы, которая идеально подходит для использования в качестве сервера. Следуйте инструкциям для установки через официальную утилиту. Скачать официально здесь.

Читать далее
Всего голосов 6: ↑3 и ↓3+1
Комментарии4

Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью

Время на прочтение11 мин
Количество просмотров5.2K

Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.

В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и высвобождение блоков памяти фиксированного размера. Предложенный аллокатор предотвращает сбои, вызванные фрагментированной кучей, и обеспечивает стабильное время выполнения выделения/высвобождения памяти. Моей главной целью при создании stl_allocator было устранение ошибок памяти. Вдобавок использование STL-совместимого блочного аллокатора открывает возможность использования функций стандартной библиотеки шаблонов (STL) C++ в проектах, в которых иначе это было бы невозможно.

Читать далее
Всего голосов 15: ↑11 и ↓4+10
Комментарии11

Истина момента, или Проблемы перехода с SAP на 1С:ERP

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров9.4K

Добрый день! Меня зовут Денис Окулов, заместитель руководителя направления по функциональной экспертизе PROF-IT GROUP. С 2008 года я специализируюсь на внедрении и развитии решений на базе SAP и 1С, и за это время я реализовал свыше 20+ проектов для ведущих промышленных предприятий в России и СНГ.

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

Сегодня «модным» запросом рынка становится технология «переезда» с SAP (и аналогичных западных решений) на 1С ERP в кратчайшие сроки, и речь идет о считанных месяцах (месяца 3-4). Более того, у некоторых заказчиков есть желание провести все еще быстрее. Но логика обстоятельств не позволяет играть со сроками, так или иначе, и заставляет считаться с объективными трудностями этого процесса.

Даже при выборе крайне оптимизированной по временному критерию технологии есть минимальные сроки, «сжать» которые становится предельно дорого. Другими словами, каждый дополнительный день экономии по времени потребует вложений ресурсов с растущим в прогрессии коэффициентом. Например, 1-й дополнительный день экономии срока («сжатия графика») потребует + 200 человеко-часов, 2-й день —+500 человеко-часов, 3-й, соответственно, + 900 и т. д. и т. п.

Читать далее
Всего голосов 7: ↑6 и ↓1+8
Комментарии34

Переход с SAP на «1С»: стоит ли?

Время на прочтение15 мин
Количество просмотров22K

В этом материале мы, конечно, не ответим на вопрос, стоит или не стоит переходить с SAP на 1С:ERP. Однако мы обсудим многие тонкие и сложные моменты, знание которых поможет вам принять взвешенное решение.

В настоящее время рынок ERP-систем в России лихорадят новости об уходе западных вендоров и прекращении поддержки пользователей западных ERP-систем. Для многих компаний России это событие стало неожиданной проблемой, т.к. внедрение корпоративной системы управления для крупного предприятия – унесло многомиллионные бюджеты и несколько лет упорной работы, и игнорировать риск серьезного усложнения развития и поддержки этой системы в будущем невозможно. Очевидным способом управления этим риском является проработка возможности перехода на российские ERP-системы.

Поскольку команда ВЦ «Раздолье» - уже более 15 лет занимается внедрением российских систем ERP: в частности, «1С:ERP Управление предприятием» и «1С: Управление холдингом» и накопила огромный опыт в сфере автоматизации, мы решили разобраться с этим вопросом и проанализировать возможность перехода с одной из западных ERP-систем – SAP – на решения фирмы «1С».

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии34

Всё /var/lib/docker пожрал … docker

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров11K

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

Заметку написала моя коллега, орфография и пунктуация по возможности сохранены. В какой-то момент ей надоело вспоминать или гуглить как чистить мусор, который оставляет докер, его билды, образы и вольюмы, и она свела всё в одну заметку.

Как мне кажется, получилось довольно смешно. Всё написанное в статье выдумка, любые совпадения с реальным миром случайны, если вы вводите в консоль sudo или его аналог - вы делаете это на свой страх и риск. Слова, замененные на другие для соблюдения правил Хабра, выделил курсивом, но думаю всё поймут, что было в оригинале написано.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Qt Creator* ищет ошибки в Qt Creator

Время на прочтение19 мин
Количество просмотров4.4K

Как-то так странно получилось, что у нас уже почти год как существует и поддерживается плагин PVS-Studio для Qt Creator. И при этом мы до сих пор не выпустили хорошей статьи с проверкой самой IDE. Исправляем сие недоразумение и предлагаем вам посмотреть, чем живёт недавно переродившаяся среда для разработки.

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии21

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность