Рубрика «c++» - 254

в 12:34, , рубрики: c++, open source, qt, я пиарюсь, метки: , ,

Приглашаю всех желающих присоединится к нашему open-source проекту. Идея — разработать универсальную систему дистанционного администрирования различных устройств. Планируется сделать систему, через которую можно будет удалённо управлять своими девайсами. Например, серверами в консольном режиме (ssh-like), десктопами в графическом (teamviewer like), мобильными устройствами, роутерами, медиацентрами, а в будущем микроволновками, стиральными машинами, освещением в доме, автомобилями, космическими кораблями и биологическими существами. Пока что разработка ведется для десктопов, на языке C++ с использованием библиотеки Qt. На данный момент у нас уже есть рабочий прототип. И что бы ускорить разработку нам нужен ты!
Читать полностью »

«Система должна быть спроектирована так,
чтобы оставаться как можно проще
после серии внесенных в нее изменений»

Бьёрн Страуструп – программист, автор языка C++

Преамбула

В данной статье мне бы хотелось бы рассказать о довольно популярной, но так редко освещаемой на Хабре библиотеке Portable Components (сокр. POCO). Она будет полезна как разработчикам бизнес-логики программного продукта, так и в решении большинства прикладных задач. При всем изобилии кроссплатформенных библиотек для C++ всё больше людей сталкиваются с POCO лицом к лицу и не знают с чего начать. В данной статье я постараюсь описать технологии, заложенные в библиотеке и дать простейшие примеры решения некоторых задач. Также хотелось бы отметить, что за плечами библиотеки множество успешных как Open Source, так и коммерческих проектов.
Читать полностью »

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

Читать полностью »

image

Однажды, в студеную зимнюю пору, в одно старое приложение на С++, успешно работавшее до этого годами, пришлось вставить новый Java runtime 7 вместо отлично работавшего Java 6. Ничто не предвещало, и вдруг.

Код в общем-то очевиден и прост — немного JNI, и вот он — больной зуб. Приведу код только для Windows, т.к. чудеса эквилибристики под маком не потребовались.

Читать полностью »

Решил выложить описание и свою программу по составлению расписаний от 2001 года. В моём ВУЗе, на сегодняшний день, ей пользуются практически все крупные факультеты. Вкратце: она может быть и редактором и составлять расписание полностью автоматически или частично для выбранных элементов, сохраняет свои данные в формате Microsoft Access 2000, экспорт расписания групп, преподавателей и аудиторий в виде таблиц Microsoft Excel 2000 и сама написана с использованием MFC 4.2.

Мое глубокое убеждение, что создать программу по составлению расписания для ВУЗов и заработать на ее распространении невозможно, если у Вас нет лапы там наверху и все ВУЗы просто не обяжут ее покупать. Но разработав общее для всех ядро, программисты «на местах» смогут это сделать в той или иной степени.

Думаю, этот топик, с точки зрения разработки всем известной задачи, будет интересен для прочтения практически всем.Читать полностью »

в 7:54, , рубрики: c++, factory, Qt Software, ооп, метки:

В текущем проекте стала часто возникать необходимость конструирования множеств разнообразных объектов по каким-то идентификаторам. Была написана одна фабрика для какого-то множества, другая. Потом пришло понимание, что мы делаем одно и то же и нужно какое-то повторяемое решение.
Проект базируется на Qt, который, как известно, имеет развитые механизмы работы с метаданными. Тем не менее конструирование объектов через QMetaObject нас не удовлетворяло по двум причинам: во-первых конструируемые объекты должны быть QObject'ами, а во-вторых при конструировании мы получаем указатель на QObject, который так или иначе придется преобразовывать, что чисто эстетически некрасиво.

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

BaseClass * instance = BaseClass::factory()->build("derived_name");

При этом, мы не хотим писать каждый раз много однообразного служебного кода. Да, мы ленивые.
И конечно же мы не хотим чтобы фабрика или базовый класс знали о всех наследниках. Читать полностью »

image

Рад сообщить о выходе QuickTextTranslator версии 0.2 — переводчике-клиенте для интернет сервиса Google Translate.

В прошлом моем посте была освещена небольшая программа, написанная мной just for fun. Это был небольшой переводчик, основными фишками которого должны были быть кроссплатформенность и «быстрый перевод».

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

Долгожданные итоги конкурса сил Android и iOS developer-ов на место в Dream-Team команде ZeptoLab, наконец, подведены. За эти полгода мы что обещали – сделали: подросли в 2 раза и концептуально оформили нашу обитель:
image

Как это было Читать полностью »

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

В этой статье я расскажу, как избавиться от постоянного попадания внутрь библиотечного кода при пошаговом Step-In выполнении. Это для затравки. Позже я опишу механизм управления представлением типов в отладочных окнах типа locals и watch (все видели, как красиво там отображаются вектора/карты и т.п.?).

Пожалуйста учтите, что основной упор будет сделан на отладку Native кода.Читать полностью »

imageПоследние 5-7 лет мы все наблюдаем явление, которое аналитики называют консьюмеризацией ИТ. Не вдаваясь в историю и подробности этого явления, характерного не только ИТ-отрасли, стоит отметить главное – именно «консьюмеры» сегодня создают львиную долю пресловутой добавленной стоимости – иногда своим большим числом, иногда – способностью и желанием переплачивать за новинки и вообще интересные идеи.
Операционная система Windows, получившая тотальное распространение на волне консьюмеризации середины девяностых годов, планомерно развивалась до середины «нулевых», когда персонализация вычислений получила новый мощный толчок – настоящую мобильность и доступность.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js