Добрый день всем. В этой статье я опишу свой практический опыт проектирования системы авторизации, в частности на C++ Qt 4. Для многих опытных программистов покажется все нижеизложенное банальностью, но для начинающих свой путь программистов, данный опыт думаю, будет полезен. Слов минимум, в основном вырезки кода.
Читать полностью »
Рубрика «c++» - 245
Авторизация в приложениях
2012-09-03 в 12:14, admin, рубрики: c++, qt, Qt Software, авторизация, Песочница, метки: Qt, авторизацияПростой алгоритм распознавания речи по короткому словарю на основе MFCC
2012-08-31 в 16:20, admin, рубрики: c++, Песочница, Программирование, распознавание речи, метки: c++, Программирование, распознавание речиПриветствую всех читателей habrahabr!
В последнее время наблюдается значительный рост интереса к технологиям, связанным с распознаванием речи. Можно назвать несколько причин этого роста, в частности, значительное рост вычислительных возможностей и обучающего материала. На хабрахаре пользователем domage был опубликован целый цикл статей по основам технологий распознавания речи. Также стоит отметить статью Мел-кепстральные коэффициенты (MFCC) и распознавание речи и выполненную на её основе работу по идентификации человека по голосу: Кто там? — Идентификация человека по голосу.
В данной работе предлагается простой алгоритм (и его реализация на C++) системы распознавания речи по короткому словарю, основанный на анализе статистического распределения мел-кепстральных коэффициентов (Mel-frequency cepstrum coefficients, MFCC).
Читать полностью »
Реализация шаблона проектирования «Наблюдатель» на С++
2012-08-31 в 11:29, admin, рубрики: c++, class, Events, Observer, patterns, templates, Песочница, метки: c++, class, Events, Observer, patterns, templatesВведение
«Наблюдатель» (observer) – один из часто используемых шаблонов (паттернов) проектирования. Также известен как «подчинённые» (dependents) и «издатель-подписчик» (publisher-subscriber). Определяет зависимость типа «один ко многим» между объектами таким образом, что при возникновении некоторого события в одном из объектов, все объекты, подписавшиеся на оповещения об этом событии, извещаются о его возникновении.
Реализация синглтона в многопоточном приложении
2012-08-27 в 6:24, admin, рубрики: c++, gcc, MSVC, Компиляторы, многопоточность, Программирование, метки: c++, gcc, MSVC, компиляторы, многопоточность, Программирование
Введение
В настоящий момент сложно себе представить программное обеспечение, работающее в одном потоке. Конечно, существует ряд простых задач, для которых один поток более, чем достаточен. Однако так бывает далеко не всегда и большинство задач средней или высокой сложности так или иначе используют многопоточность. В этой статье я буду говорить об использовании синглтонов в многопоточной среде. Несмотря на кажущуюся простоту эта тема содержит множество нюансов и интересных вопросов, поэтому считаю, что она заслуживает отдельной статьи. Здесь не будет затрагиваться обсуждение того, зачем использовать синглтоны, а также как их правильно использовать. Для прояснения этих вопросов я рекомендую обратиться к моим предыдущим статьям, посвященным разным вопросам, связанным с синглтонами [1], [2], [3]. В этой статье речь будет идти о влиянии многопоточности на реализацию синглтонов и обсуждению вопросов, которые всплывают при разработке.
Читать полностью »
Алгоритмы сортировки. Gnome Sort на Си
2012-08-23 в 14:08, admin, рубрики: c++, Алгоритмы, алгоритмы сортировки, Программирование, С++, Си, сортировка, метки: Алгоритмы, алгоритмы сортировки, Программирование, С++, Си, сортировка Алгоритмы сортировки. Их не много, но и не мало. Есть часто используемые, есть никому не нужные. Я решил произвести обзор этих алгоритмов, чтоб освежить и свою память, и память хабрапользователей. И начнём с редкоиспользуемого алгоритма Gnome Sort(гномья сортировка).
Читать полностью »
Внутренности движка QML. Часть 1: Загрузка файлов
2012-08-22 в 17:36, admin, рубрики: c++, cml, compilation, dynamic language, file loading, javascript, qt, Qt SoftwareВ этой серии статей мы заглянем под капот движка QML и раскроем некоторые из особенностей его внутренней работы.Статьи основаны на Qt5 версия QtQuick, QtQuick 2.0.
Большинство людей знают, что каждый элемент в QML файле опирается на конкретный C++ класс. Когда QML файл загружен, движок QML как-то создает один C++ объект для всех элементов в файле. В этом посте мы рассмотрим, как движок QML переходит от чтения текстового файла, включающего полное дерево C++ объектов. В документации Qt присутствует раздел с обширным описанием взаимодействия QML и C++, прочтение которого стоит потраченного времени. В данной серии статей, я предполагаю что пользователь прочёл и понимает описанное в документации.
Читать полностью »
AngelScript
2012-08-22 в 13:00, admin, рубрики: AngelScript, c++, scripts, впечатления, Программирование, метки: AngelScript, c++, scripts, впечатленияВведение
В процессе рассмотрения LUA и Python я выделил для себя, что LUA является достаточно быстрым, но с немного непривычным синтаксисом. Python же обладает очень простым синтаксисом и массой полезных библиотек, но, к сожалению, он оказался довольно медленным, и его довольно тяжело привязывать к С++. И тут на работе мне подсказали использовать AngelScript, мол, он удобный для связки, быстрее LUA и имеет С-подобный синтаксис. Как только я начал его изучать, я понял, что это тот самый скриптовый язык моей мечты.
Превью
Вот что можно прочитать про этот язык на Википедии:
AngelScript представляет собой движок, в котором приложение может регистрировать функции, свойства и типы, которые могут использоваться в скриптах. Скрипты компилируются в модули. Количество используемых модулей варьрируется в зависимости от нужд. Приложение может также использовать различные интерфейсы для каждого модуля с помощью групп конфигурации. Это особенно полезно, когда приложение работает с несколькими типами скриптов, например, GUI, AI и т.д.
Программа «Hello, world» в простейшем случае выглядит так:
void main()
{
print("Hello worldn");
}
Читать полностью »
Разработка системы частиц на платформе DirectX 9. Часть II
2012-08-21 в 17:59, admin, рубрики: c++, direct3d, DirectX 9, effects, game development, particles system, shaders, Анимация и 3D графика, Программирование, система частиц, шейдеры, метки: 3d графика, c++, direct3d, DirectX 9, effects, particles system, shaders, система частиц, шейдерыЭтот пост является 2-ой и последней частью статьи о разработки системы частиц на DirectX 9. Если вы еще не читали первую часть, то рекомендую с ней ознакомится.
В этой части статьи будет рассмотрено: работа со спрайтами, вершинные и пиксельные шейдеры, эффекты, пост-эффекты. В частности для реализации пост-эффекта приём рендера в текстуру.
Читать полностью »
Разработка системы частиц на платформе DirectX 9. Часть I
2012-08-21 в 17:59, admin, рубрики: c++, direct3d, DirectX 9, game development, particles system, Анимация и 3D графика, Программирование, система частиц, метки: 3d графика, c++, direct3d, DirectX 9, particles system, система частицДанный пост будет о том, как разработать свою собственную, и достаточно производительную (на моем компьютере спокойно отрисовывается и анимируется 1 000 000 частиц в реальном времени), систему частиц. Писать будем на языке C++, в качестве платформы будет использован DirectX 9.
Вторая часть доступна здесь.
Моделирование параметрического бревенчатого дома на… С++
2012-08-20 в 11:30, admin, рубрики: c++, game development, iOS, Программирование, метки: c++, iOS
Кому интересно, как в несколько строк кода на С++ смоделировать вот такой параметрический бревенчатый домик — прошу под кат.
Читать полностью »