Category Archives: языки

Статьи, посвященные вопросам разработки на конкретных языках программирования.

Разработка игры для развития памяти под Android (C++, Qt)

drawing_screenshot

Накидал очередную игрушку под Android. Поделка оказалась играбельной, выложил на маркет и решил написать статью о процессе разработки. Вообще, на habrahabr есть куча статей в стиле “моя первая игра под Android”, но зачастую [1,2]: играть в это совсем скучно; в комментариях жалуются на отсутствие технических деталей; разработчик не предоставляет читателям… Read more »

Введение в Erlang

Ранее на блоге я публиковал две заметки по языку Erlang – “Обработка списков на Erlang” и “Unit тестирование в Erlang на примере“. Я полагал, что это будет интересно тем, кто интересуется Erlang-ом (обычно им интересуются как языком параллельного и распределенного программирования и я рекомендую посмотреть на этот язык своим студентам… Read more »

Основы UML – диаграммы использования (use-case)

use-case-include-example

Это первая статья из цикла про методологию ICONIX, посвящена UML-диаграммам вариантов использования. В публикациях и книгах по ICONIX, use-case диаграммы обычно описываются очень бегло, а в книгах по UML – слишком подробно. Я постараюсь сделать это настолько подробно, чтобы можно было приступить к использованию диаграмм, но при этом не было… Read more »

Введение в логическое программирование (Prolog)

prolog backtracking example

На блоге я публиковал ряд статей по логическому программированию, а также разбирал решения задач на языке Prolog. Недавно я заметил, что из всего этого могла бы получиться полноценная методичка если добавить введение. Введение написано так, чтобы после его прочтения Вы смогли начать программировать на Prolog, более строгой с математической точки… Read more »

Юнит-тестирование. Пример. Boost Unit Test

Test_Driven_Developing_model

Разработка и поддержка программ невозможна без внесения изменений в существующий код. Однако, всякое изменение сопряжено с возможным внесением ошибок. Чем больше и сложнее проект – тем более нетривиальным образом изменения могут сказываться на работе подсистем. В связи с этим, любое изменение кода требует проведения тестирования. В статье описываются: теория unit-тестирования;… Read more »

Паттерн Singleton. Описание. Пример использования

Singleton-example-UML

В статье описывается паттерн Singleton (Одиночка), рассмотрены 2 реализации и некоторые возможные модификации. Проанализированы сильные и слабые стороны шаблона. Приведен пример использования. Статья состоит из двух частей: описание шаблона, варианты реализации, проблемы. Часть должна быть понятна программистам на любых языках, хотя примеры приведены на С++; более сложный пример – решается… Read more »

Публикация Qt-приложения для Android

load_inons

Я немножко доработал игрушку на Qt из предыдущей статьи, выложил ее на google play и решил описать всё, что мне показалось интересным в этом процессе: получение аккаунта разработчика, сборка приложения для google play, проблемы с файлами дополнений и отладка приложения.

Разработка игры на С++, Qt

game_screens

Написал ремейк небольшой логической игрушки – “Полный квадрат”. Код показался мне достаточно интересным чтобы описать на блоге. По сюжету игры, ёжик перемещается по лабиринту из облаков. Ходить ёж умеет только по вертикали и горизонтали, а начав движение идет до тех пор, пока не упрется в пустоту (пройденные облака исчезают), край… Read more »

Способы обработки XML в Qt – Stream, SAX, DOM

Screenshot_of_the_schedule_currency

Многие сталкивались с XML-документами и знают что это такое, ведь стандарт рассматриваемого языка разметки опубликован в далеком 1998 году. Язык XML используется во многих областях, но чаще всего для передачи информации через Internet – не случайно стандарт разработан Консорциумом Всемирной паутины (W3C) [1]. Очень много информации в этом мире записано… Read more »

Многопоточный сервер Qt. Пул потоков. Паттерн Decorator

рис. 3 decorator implementation

В предыдущей статье [1] была рассмотрена работа с сокетами в библиотеке Qt. Наш сервер сетевого чата работал в одном потоке. Задача текущей статьи – описание многопоточного сервера. Однако, если сервер просто принимает сообщение и передает его всем подключенным клиентам – распараллеливать нечего и потоки не особо нужны. В связи с… Read more »

Работа с сетью в Qt. Сокеты. Паттерн Adapter

рис. 5 диаграмма классов сетевого чата

В статье показана работа с сетью на примере очень простого сетевого чата, а также описан никак не связанный с сетью шаблон проектирования адаптер (adapter, wrapper, обертка). Несмотря на то, что наш чат максимально прост (он не позволяет передавать файлы и оффлайн-сообщения, не хранит историю, передает сообщения не шифрованными и т.д.),… Read more »

Решение логических задач на Prolog

рис. 6 дерево решения задачи о волке, козе и капусте

Заказать решение задачи на Prolog или попросить помощь Язык пролог начал зарождаться в далеком 1879 году, точнее в этом году известный ученый Людвиг Фреге предложил исчисление предикатов, которое лежит в основе логического программирования. Фреге был не только математиком, но и философом (как и большинство других известных ученых своего времени). В… Read more »