English version

RSS

2011

#1

Автор: Чистяков Владислав Юрьевич
Источник: RSDN Magazine #1-2011
Аннотация: Те, кто начинает изучать язык программирования Nemerle после C#, зачастую задаются вопросом, почему при общей похожести языков в Nemerle введены те или иные синтаксические отличия. Эта статься посвящена описанию отличий и объяснению причин их возникновения.

Ключевые слова: Язык программирования; Nemerle; C#
Автор: Чигринец Владислав Александрович
Аннотация: В статье предложено решение унификации функций доступа к внутренним переменным класса, рассмотрен вопрос локализации в одном файле типов переменных класса. Предложенное решение может быть актуальным для классов, содержащих большое количество внутренних переменных.

Ключевые слова: Шаблонный интерфейс класса; классы свойств; классы стратегий
Авторы: Огинский Евгений Владимирович
Бурда Роман Вадимович
Аннотация: В статье рассматриваются некоторые ошибки, которые часто встречаются в коде программ. Даны рекомендации, как не стоит писать код, на какие этапы разработки кода нужно обращать внимание в первую очередь.

Ключевые слова: философия программирования; частые ошибки; плохой код

#2

Автор: Лапшин Владимир Анатольевич
Аннотация: В статье рассматриваются различные аспекты применения абстрактных типов данных (АТД) в программировании. Осознание концепции АТД в середине 70-х годов прошлого века повлекло за собой целый ряд работ в области теории программирования. Абстрактные типы данных на текущий момент являются одним наиболее популярных механизмов абстракции, используемым разработчиками при написании программного кода. В работе рассматриваются также основы математической теории, описывающей абстрактные типы данных как алгебраические системы. На основе сигнатур абстрактных типов данных строятся т.н. инициальные алгебры – синтаксические представления описываемых посредством АТД сущностей. Инициальные алгебры могут использоваться для верификации корректности программного кода.

Ключевые слова: абстрактные типы данных; АТД; алгебраические спецификации; теория программирования
Автор: Чистяков Владислав Юрьевич
Источник: RSDN Magazine #2-2011
Аннотация: Данная часть посвящена макросам Nemerle.

Ключевые слова: Язык программирования; Nemerle; C#; Макросы; Макрос; Macros; Macro
Автор: Васильев Сергей Александрович
Аннотация: В статье рассказывается о первом этапе разработки семейства кроссплатформенных библиотек UNIO для унифицированного взаимодействия с устройствами ввода-вывода. Рассматривается реализация новой библиотеки UNIPRINT для унифицированного взаимодействия с устройствами печати.

Ключевые слова: кроссплатформенность; унификация; интерфейс программирования; внешний интерфейс; устройство ввода-вывода; библиотека; класс; объект; функция; шаблон; C++; STL; Win API; CUPS
Автор: Титов Анатолий Анатольевич
Аннотация: В работе предлагается реализация семейства компрессоров на базе алгоритма РРМ в виде настраиваемого набора шаблонных классов языка С++. С помощью этого набора можно сконструировать РРМ кодеки порядков с 1-го по 10-й включительно, как имеющих ограничения по размеру запрашиваемой памяти, так и без них. В работе исследуются различные известные методы вычисления вероятности кода ухода, включая новый оригинальный метод предложенный автором. Для повышения степени компрессии используются различные методы, такие как: LOE, исключение символов, увеличение веса при инициализации и другие, а также предусмотрена возможность подключения дополнительных методов улучшения сжатия.

Ключевые слова: компрессия без потерь; кодек; предсказание по частичному совпадению; PPM; код ухода; PPMtc; контекстная модель ограниченного порядка; C++;
Автор: Шилин Валентин Алексеевич
Аннотация: Жизненный цикл любого приложения состоит из проектирования, разработки, внедрения и сопровождения. Часто возникает ситуация, когда разработанное приложение работает в среде разработки и среде тестирования, но не работает или работает частично у клиентов. В данной статье описан подход, позволяющий минимизировать проблемы сопровождения для silverlight приложений, использующихся через различные прокси-сервера, такие как ISA сервера и Load Balance System, с использованием HTTP или HTTPS протоколов.

Ключевые слова: Silverlight и ISA; Silverlight и Load Balance Systems; Silverlight через HTTP и HTTPS
Автор: Тепляков Сергей Владимирович
Аннотация: В статье рассматриваются нетривиальные подводные камни, встречающиеся при наивной реализации паттерна Синглтон на .Net.

Ключевые слова: синглтон; singleton; .NET
Автор: Тепляков Сергей Владимирович
Аннотация: В статье рассматриваются случаи неочевидного поведения, с которым может столкнуться разработчик при работе с изменяемыми значимыми типами.

Ключевые слова: Неизменяемость; значимые типы; C#;
Автор: Раскин Алексей Анатольевич
Аннотация: В статье рассмотрена архитектура платформы WEKA, изменения, необходимые для кластеризации сложноструктурированных данных и основные проблемы, связанные с этими изменениями.

Ключевые слова: Data Mining; WEKA; кластеризация; сложноструктурированные данные

#3

Автор: Григорьев Вячеслав Владимирович
Аннотация: В статье кратко рассматриваются плюсы и минусы реализации на C++ библиотек / сред, предлагающих разработчику новые парадигмы программирования или новое подмножество языка (Domain Specific Language). В качестве примера обсуждаются реализации функционального программирования в библиотеках boost::lambda и boost::phoenix.

Ключевые слова: boost; lambda; phoenix; функциональное программирование в C++
Автор: Тепляков Сергей Владимирович
Аннотация: Статья рассматривает детали генерирования и обработки исключений в языке С#. Разбираются возможности, появившиеся в C# 5.0.

Ключевые слова: Exception; C#; исключение; .Net.
Автор: Чистяков Владислав Юрьевич
Источник: RSDN Magazine #2-2011
Аннотация: Данная часть посвящена синтаксису Nemerle.

Ключевые слова: Язык программирования; Nemerle; Синтаксис; C#;
Автор: Саломатин Кирилл Сергеевич
Аннотация: В данной статье рассказывается о новом классе алгоритмов шифрования информации, который можно применять в прикладных программах.

Ключевые слова: алгоритм; шифровани; дешифрование; гаммирование; матрицы.
Авторы: Муса-Оглы Екатерина Сергеевна
Бессарабов Николай Васильевич
Аннотация: Рассмотрены инвариантные структуры данных, реализующие виртуальные схемы. Выявлены основные недостатки таких универсальных моделей (сложные запросы, низкое быстродействие, отсутствие ряда хранимых объектов) и предложены способы их преодоления. Показана возможность реализации ряда моделей (объектно-реляционной, полуструктурированной, иерархической и сетевой) во вмещающей базе объектного типа.

Ключевые слова: Универсальная модель данных; виртуальная схема; инвариантная структура данных; модель данных.
Автор: Титов Анатолий Анатольевич
Аннотация: В работе исследуются РРМ кодеки, в которых отсутствуют один или несколько контекстных порядков. Поскольку контекстная модель таких кодеков содержит пропуски, то их можно условно назвать "неполными", в отличие от "полных" PPM кодеков, у которых присутствуют все контекстные порядки до установленного максимального порядка. В работе сравниваются между собой эти типы кодеков, и ищутся ответы на вопросы: можно ли используя пропуски некоторых порядков улучшить компрессию, сократить используемую память и уменьшить время работы РРМ кодека.

Ключевые слова: компрессия без потерь; кодек; предсказание по частичному совпадению; PPM; PPMtc; C++;
Автор: Арсланов Дмитрий Мерзагитович
Аннотация: Решение современных задач в различных областях не обходится без компьютерного моделирования. Как правило, для представления и обработки информации в компьютерном моделировании используется трехмерная графика. Результаты моделирования зависят от типов используемых трехмерных моделей и технологий разработки. В современной трехмерной компьютерной графике в основном используются триангуляционные модели. Однако воксельные модели более эффективны при сложной обработке данных. На практике применение воксельных моделей ограничено возможностями компьютеров. Но сегодня работать с воксельными моделями становится возможным благодаря вычислениям общего назначения на графическом процессоре (GPGPU). В результате международное внимание обращается к вокселям. К настоящему времени разработано большое число методов воксельной графики, таких как марширующие кубы, бросание лучей, текстурирование сечений объема и т.д. Однако для решения практических задач существующие методы необходимо улучшить согласно предметной области задачи. В статье описан метод интерактивной воксельной растеризации и обработки для горнодобывающей отрасли, который основан на подходе трассировки луча в пиксельном шейдере. Он может быть успешно применен для решения широкого круга задач. Общее описание метода в статье позволяет выбрать ту реализацию, которая наиболее эффективна при решении практической задачи. Сегодня большое число программных решений работают под операционными системами Windows. Поэтому контекст задачи обычно связан с этими системами. Наиболее эффективными технологиями разработки для Windows на сегодняшний день являются .Net Framework и DirectX. По этой причине C# и HLSL использованы для реализации метода.

Ключевые слова: компьютерное моделирование; трехмерная графика; воксели; метод бросания лучей; шейдер; программируемый графический конвейер; растеризация; воксельная обработка; .Net Framework; C#; DirectX; Direct3D; DirectCompute; HLSL; GPGPU; SlimDX

#4

Автор: Лепешенков Константин Евгеньевич
Аннотация: В статье описывается внутреннее устройство и опыт применения технологии WCF RIA Services, приводятся примеры использования возможностей и обхода недостатков этой технологии.

Ключевые слова: WCF RIA Services, Silverlight
Авторы: Муса-Оглы Екатерина Сергеевна
Бессарабов Николай Васильевич
Аннотация: Введены семантические расширения реляционных и объектных моделей, рассмотрена их программная реализация и необходимые структуры данных. Исследованы элементы семантики – смыслы. Разработаны основы классификации смыслов. В рамках общего подхода предложены связи, которые ранее не могли быть созданы. Предложена и реализована эмуляция баз данных насыщенных смыслами, выполненная на основе транслятора из QBE в SQL.

Ключевые слова: семантика; смысл; поверхностный смысл; глубинный смысл; семантика в базах данных; активность на событие «чтение данных».
Автор: Хохряков Игорь Александрович
Аннотация: В статье предлагается одна из возможных реализаций общей концепции архитектуры распределённого веб приложения. Положительные особенности данной реализации демонстрируются на примере конкретного приложения.

Ключевые слова: Java; Servlets; JavaScript; MVC design pattern; JSON; backend clusterization;
Автор: Топоров Константин Леонидович
Перевод:
Источник:
Материал предоставил:
Аннотация: Многие молодые программисты мечтают делать игры. Большинство из них не собирается заниматься старыми классическими вещами вроде тетриса и арканоида. Они хотят сразу создать MMOG (Massive Multiplayer Online Game)! Браузер, Интернет, десятки тысяч пользователей, доступность из любой точки – на меньшее они не согласны. Все это прекрасно. Но с чего начать? Как далеко от простейшего TCP-примера, написанного на уроке информатики, до полноценного игрового кластера? Из каких компонентов он состоит? В данной статье автор стремится поделиться своим опытом работы в одном таком проекте. Статья описывает время серьезных перемен в одном стабильном, но выросшем из старых рамок продукте. Описываются технологии и соображения, с помощью которых команде разработчиков удалось заметно увеличить производительность игрового кластера.

Ключевые слова: распределенные приложения, игры, сервер, highload, boost, asio, apache, tomcat, protobuf, thrift
Автор: Караваев Дмитрий Юрьевич
Аннотация: Статья посвящена описанию изменений, внесенных в язык PL/1 при сопровождении компилятора.

Ключевые слова: компилятор; PL/1; PL/I
Автор: Караваев Дмитрий Юрьевич
Аннотация: Статья посвящена описанию реализованного метода оптимизации при компиляции, позволяющего универсальным способом выделять особые случаи и генерировать для них более эффективный код.

Ключевые слова: оптимизация; компилятор
Автор: Сергей Тепляков
Аннотация: Данная статья посвящена паттерну Dispose в .NET, причинам его возникновения, его реализации в обычной и упрощенной версиях.

Ключевые слова: паттерн; Dispose; .NET; финализатор
Автор: Перцовский Александр Константинович
Аннотация: В статье рассматривается пакет Xpress Optimizer, предназначенный для решения оптимизационных задач. Дан его общий обзор, приведены примеры решенных задач.

Ключевые слова: Xpress Optimizer; математическое моделирование; оптимизация