#1
|
20.02.2012
Nemerle – вопросы дизайна
|
|
Аннотация: Те, кто начинает изучать язык программирования Nemerle после C#, зачастую задаются вопросом, почему при общей похожести языков в Nemerle введены те или иные синтаксические отличия. Эта статься посвящена описанию отличий и объяснению причин их возникновения.
Ключевые слова: Язык программирования; Nemerle; C# |
20.02.2012
Автоматическая генерация интерфейсов классов
|
|
Аннотация: В статье предложено решение унификации функций доступа к внутренним переменным класса, рассмотрен вопрос локализации в одном файле типов переменных класса. Предложенное решение может быть актуальным для классов, содержащих большое количество внутренних переменных.
Ключевые слова: Шаблонный интерфейс класса; классы свойств; классы стратегий |
20.02.2012
Как не стоит писать код
|
|
Аннотация: В статье рассматриваются некоторые ошибки, которые часто встречаются в коде программ. Даны рекомендации, как не стоит писать код, на какие этапы разработки кода нужно обращать внимание в первую очередь.
Ключевые слова: философия программирования; частые ошибки; плохой код |
#2
|
Абстрактные типы данных в программировании
|
|
Аннотация: В статье рассматриваются различные аспекты применения абстрактных типов данных (АТД) в программировании. Осознание концепции АТД в середине 70-х годов прошлого века повлекло за собой целый ряд работ в области теории программирования. Абстрактные типы данных на текущий момент являются одним наиболее популярных механизмов абстракции, используемым разработчиками при написании программного кода. В работе рассматриваются также основы математической теории, описывающей абстрактные типы данных как алгебраические системы. На основе сигнатур абстрактных типов данных строятся т.н. инициальные алгебры – синтаксические представления описываемых посредством АТД сущностей. Инициальные алгебры могут использоваться для верификации корректности программного кода.
Ключевые слова: абстрактные типы данных; АТД; алгебраические спецификации; теория программирования |
22.09.2011
Язык Nemerle
|
|
Аннотация: Данная часть посвящена макросам Nemerle.
Ключевые слова: Язык программирования; Nemerle; C#; Макросы; Макрос; Macros; Macro |
21.09.2011
Кроссплатформенное взаимодействие с устройствами ввода-вывода
|
|
Аннотация: В статье рассказывается о первом этапе разработки семейства кроссплатформенных библиотек UNIO для унифицированного взаимодействия с устройствами ввода-вывода. Рассматривается реализация новой библиотеки UNIPRINT для унифицированного взаимодействия с устройствами печати.
Ключевые слова: кроссплатформенность; унификация; интерфейс программирования; внешний интерфейс; устройство ввода-вывода; библиотека; класс; объект; функция; шаблон; C++; STL; Win API; CUPS |
22.09.2011
Конструктор PPM-подобных кодеков
|
|
Аннотация: В работе предлагается реализация семейства компрессоров на базе алгоритма РРМ в виде настраиваемого набора шаблонных классов языка С++. С помощью этого набора можно сконструировать РРМ кодеки порядков с 1-го по 10-й включительно, как имеющих ограничения по размеру запрашиваемой памяти, так и без них. В работе исследуются различные известные методы вычисления вероятности кода ухода, включая новый оригинальный метод предложенный автором. Для повышения степени компрессии используются различные методы, такие как: LOE, исключение символов, увеличение веса при инициализации и другие, а также предусмотрена возможность подключения дополнительных методов улучшения сжатия.
Ключевые слова: компрессия без потерь; кодек; предсказание по частичному совпадению; PPM; код ухода; PPMtc; контекстная модель ограниченного порядка; C++; |
04.10.2011
Разработка и сопровождение корпоративных Silverlight-приложений с доступом через ISA-сервер и Load Balance System по протоколам http и https
|
|
Аннотация: Жизненный цикл любого приложения состоит из проектирования, разработки, внедрения и сопровождения. Часто возникает ситуация, когда разработанное приложение работает в среде разработки и среде тестирования, но не работает или работает частично у клиентов. В данной статье описан подход, позволяющий минимизировать проблемы сопровождения для silverlight приложений, использующихся через различные прокси-сервера, такие как ISA сервера и Load Balance System, с использованием HTTP или HTTPS протоколов.
Ключевые слова: Silverlight и ISA; Silverlight и Load Balance Systems; Silverlight через HTTP и HTTPS |
23.04.2012
О синглтонах и статических конструкторах
|
|
Аннотация: В статье рассматриваются нетривиальные подводные камни, встречающиеся при наивной реализации паттерна Синглтон на .Net.
Ключевые слова: синглтон; singleton; .NET |
23.04.2012
О вреде изменяемых значимых типов
|
|
Аннотация: В статье рассматриваются случаи неочевидного поведения, с которым может столкнуться разработчик при работе с изменяемыми значимыми типами.
Ключевые слова: Неизменяемость; значимые типы; C#; |
22.08.2011
Технические особенности разработки программы кластеризации сложноструктурированных данных на базе платформы WEKA
|
|
Аннотация: В статье рассмотрена архитектура платформы WEKA, изменения, необходимые для кластеризации сложноструктурированных данных и основные проблемы, связанные с этими изменениями.
Ключевые слова: Data Mining; WEKA; кластеризация; сложноструктурированные данные |
#3
|
29.12.2011
Реализация новых парадигм программирования в C++: плюсы и минусы
|
|
Аннотация: В статье кратко рассматриваются плюсы и минусы реализации на C++ библиотек / сред, предлагающих разработчику новые парадигмы программирования или новое подмножество языка (Domain Specific Language). В качестве примера обсуждаются реализации функционального программирования в библиотеках boost::lambda и boost::phoenix.
Ключевые слова: boost; lambda; phoenix; функциональное программирование в C++ |
24.04.2012
Повторная генерация исключений в C#
|
|
Аннотация: Статья рассматривает детали генерирования и обработки исключений в языке С#. Разбираются возможности, появившиеся в C# 5.0.
Ключевые слова: Exception; C#; исключение; .Net. |
20.02.2012
Язык Nemerle
|
|
Аннотация: Данная часть посвящена синтаксису Nemerle.
Ключевые слова: Язык программирования; Nemerle; Синтаксис; C#; |
24.04.2012
Матричный алгоритм шифрования
|
|
Аннотация: В данной статье рассказывается о новом классе алгоритмов шифрования информации, который можно применять в прикладных программах.
Ключевые слова: алгоритм; шифровани; дешифрование; гаммирование; матрицы. |
17.02.2012
Универсальные модели данных
|
|
Аннотация: Рассмотрены инвариантные структуры данных, реализующие виртуальные схемы. Выявлены основные недостатки таких универсальных моделей (сложные запросы, низкое быстродействие, отсутствие ряда хранимых объектов) и предложены способы их преодоления. Показана возможность реализации ряда моделей (объектно-реляционной, полуструктурированной, иерархической и сетевой) во вмещающей базе объектного типа.
Ключевые слова: Универсальная модель данных; виртуальная схема; инвариантная структура данных; модель данных. |
29.12.2011
Неполные РРМ кодеки
|
|
Аннотация: В работе исследуются РРМ кодеки, в которых отсутствуют один или несколько контекстных порядков. Поскольку контекстная модель таких кодеков содержит пропуски, то их можно условно назвать "неполными", в отличие от "полных" PPM кодеков, у которых присутствуют все контекстные порядки до установленного максимального порядка. В работе сравниваются между собой эти типы кодеков, и ищутся ответы на вопросы: можно ли используя пропуски некоторых порядков улучшить компрессию, сократить используемую память и уменьшить время работы РРМ кодека.
Ключевые слова: компрессия без потерь; кодек; предсказание по частичному совпадению; PPM; PPMtc; C++; |
17.02.2012
Метод воксельной растеризации и обработки
|
|
Аннотация: Решение современных задач в различных областях не обходится без компьютерного моделирования. Как правило, для представления и обработки информации в компьютерном моделировании используется трехмерная графика. Результаты моделирования зависят от типов используемых трехмерных моделей и технологий разработки. В современной трехмерной компьютерной графике в основном используются триангуляционные модели. Однако воксельные модели более эффективны при сложной обработке данных. На практике применение воксельных моделей ограничено возможностями компьютеров. Но сегодня работать с воксельными моделями становится возможным благодаря вычислениям общего назначения на графическом процессоре (GPGPU). В результате международное внимание обращается к вокселям. К настоящему времени разработано большое число методов воксельной графики, таких как марширующие кубы, бросание лучей, текстурирование сечений объема и т.д. Однако для решения практических задач существующие методы необходимо улучшить согласно предметной области задачи. В статье описан метод интерактивной воксельной растеризации и обработки для горнодобывающей отрасли, который основан на подходе трассировки луча в пиксельном шейдере. Он может быть успешно применен для решения широкого круга задач. Общее описание метода в статье позволяет выбрать ту реализацию, которая наиболее эффективна при решении практической задачи. Сегодня большое число программных решений работают под операционными системами Windows. Поэтому контекст задачи обычно связан с этими системами. Наиболее эффективными технологиями разработки для Windows на сегодняшний день являются .Net Framework и DirectX. По этой причине C# и HLSL использованы для реализации метода.
Ключевые слова: компьютерное моделирование; трехмерная графика; воксели; метод бросания лучей; шейдер; программируемый графический конвейер; растеризация; воксельная обработка; .Net Framework; C#; DirectX; Direct3D; DirectCompute; HLSL; GPGPU; SlimDX |
#4
|
21.05.2012
WCF RIA Services для жизни
|
|
Аннотация: В статье описывается внутреннее устройство и опыт применения технологии WCF RIA Services, приводятся примеры использования возможностей и обхода недостатков этой технологии.
Ключевые слова: WCF RIA Services, Silverlight |
02.03.2012
Базы данных, насыщенные семантикой
|
|
Аннотация: Введены семантические расширения реляционных и объектных моделей, рассмотрена их программная реализация и необходимые структуры данных. Исследованы элементы семантики – смыслы. Разработаны основы классификации смыслов. В рамках общего подхода предложены связи, которые ранее не могли быть созданы. Предложена и реализована эмуляция баз данных насыщенных смыслами, выполненная на основе транслятора из QBE в SQL.
Ключевые слова: семантика; смысл; поверхностный смысл; глубинный смысл; семантика в базах данных; активность на событие «чтение данных». |
21.05.2012
Разработка распределённого Web-приложения
|
|
Аннотация: В статье предлагается одна из возможных реализаций общей концепции архитектуры распределённого веб приложения. Положительные особенности данной реализации демонстрируются на примере конкретного приложения.
Ключевые слова: Java; Servlets; JavaScript; MVC design pattern; JSON; backend clusterization; |
21.05.2012
История одного игрового кластера
|
|
Аннотация: Многие молодые программисты мечтают делать игры. Большинство из них не собирается заниматься старыми классическими вещами вроде тетриса и арканоида. Они хотят сразу создать MMOG (Massive Multiplayer Online Game)! Браузер, Интернет, десятки тысяч пользователей, доступность из любой точки – на меньшее они не согласны. Все это прекрасно. Но с чего начать? Как далеко от простейшего TCP-примера, написанного на уроке информатики, до полноценного игрового кластера? Из каких компонентов он состоит? В данной статье автор стремится поделиться своим опытом работы в одном таком проекте. Статья описывает время серьезных перемен в одном стабильном, но выросшем из старых рамок продукте. Описываются технологии и соображения, с помощью которых команде разработчиков удалось заметно увеличить производительность игрового кластера.
Ключевые слова: распределенные приложения, игры, сервер, highload, boost, asio, apache, tomcat, protobuf, thrift |
30.11.2012
К вопросу о совершенствовании языка программирования
|
|
Аннотация: Статья посвящена описанию изменений, внесенных в язык PL/1 при сопровождении компилятора.
Ключевые слова: компилятор; PL/1; PL/I |
22.01.2012
О реализации метода оптимизации при компиляции
|
|
Аннотация: Статья посвящена описанию реализованного метода оптимизации при компиляции, позволяющего универсальным способом выделять особые случаи и генерировать для них более эффективный код.
Ключевые слова: оптимизация; компилятор |
21.03.2012
Паттерн Dispose
|
|
Аннотация: Данная статья посвящена паттерну Dispose в .NET, причинам его возникновения, его реализации в обычной и упрощенной версиях.
Ключевые слова: паттерн; Dispose; .NET; финализатор |
21.03.2012
Применение Xpress Optimizer для решения задач моделирования и оптимизации.
|
|
Аннотация: В статье рассматривается пакет Xpress Optimizer, предназначенный для решения оптимизационных задач. Дан его общий обзор, приведены примеры решенных задач.
Ключевые слова: Xpress Optimizer; математическое моделирование; оптимизация |