В статье проведен анализ процесса построения архитектуры информационной системы. Выявлено, что описание общей архитектуры информационной системы представляет собой композицию описаний моделей, построенных в разных нотациях, с использованием отличающихся друг от друга семантик. Средства и методы построения этих моделей могут быть выделены в независимые подсистемы в составе системы, обеспечивающей разработку целевой информационной системы, и общая архитектура целевой системы зависит от характеристик обеспечивающей системы. Выявлен состав подсистем, образующий обеспечивающую систему периода разработки веб-информационной системы. Разработана онтология для формализации описания архитектуры информационной системы, предоставляющая возможность определять конфигурацию проекта разработки, системную модель и взаимосвязи онтологий, используемых для представления подсистем. Предложен метод согласования моделей, позволяющий формировать описание общей архитектуры целевой системы, а также семантическая метамодель для разработки приложений баз данных.
Рассмотрено использование популярной библиотеки DirectX при программировании графических эффектов в Delphi. Подробно описано применение основных методов и интерфейсов DirectX. Большое внимание уделено технологии использования вершинных и пиксельных шейдеров для создания реалистичных изображений. Показано, как эффективно программировать огонь, электрические разряды, зеркала и другие визуальные эффекты, используемые при разработке демонстрационных роликов (Demoscene). Для программистов. (Компакт-диск прилагается только к печатному изданию.)
Книга дает читателю систематизированное представление о современных микропроцессорных картах, используемых в банковском деле. Она может служить путеводителем по объемным книгам, содержащим описание стандарта EMV, и спецификациям приложений ведущих платежных систем. Книга содержит системное описание стандарта EMV, делая акцент на разъяснение наиболее важных аспектов, тонкостей и особенностей реализации лежащих в его основе методов и алгоритмов. Подробно анализируется эффект от внедрения технологии микропроцессорных карт на безопасность карточных операций. Исследуется влияние внедрения микропроцессорных карт на процессинговую систему банка, предлагаются рекомендации по технологии выбора решений для миграции банка на микропроцессорные карты. В книге значительное внимание уделено открытым операционным системам, используемым в микропроцессорных картах, а также универсальной платформе GlobalPlatform, находящей все большее применение для безопасной удаленной загрузки, инсталляции, экстрадиции приложений и их конфигурирования после выпуска карты. Отдельная глава посвящена бесконтактным банковским платежам, а также мобильным платежам.
На большом количестве оригинальных примеров рассмотрены принципы объектно-ориентированного программирования в средах Visual Basic 6.5 и Visual Basic.Net. Приводимые программы снабжены подробными комментариями с детальными объяснениями используемого алгоритма и синтаксиса языка. Большое внимание уделено программированию графики, в частности, построению фрактальных изображений. Книга адресована пользователям, имеющим начальный опыт программирования. (Компакт-диск прилагается только к печатному изданию.)
Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги – концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
В книге рассмотрены фундаментальные положения программирования: конечная величина и конструируемые на ее основе различные типы данных; управляющие конструкции – элементарные составляющие любого алгоритма и основа управления вычислительным процессом; структуризация задач как основополагающий механизм их реализации на компьютере; упорядочение (сортировка) как основа эффективной работы с любыми данными и, наконец, перебор вариантов, как универсальная схема компьютерного решения задач. Для учащихся старших классов, студентов и учителей информатики.
В ходе нашей разработки приложения в Unity3D возникла необходимость организации обмена сообщениями и данными между различными объектами. В данной работе исследуются различные методы обмена сообщениями между объектами и проводится сравнительное тестирование производительности каждого метода и удобства его использования. Основной акцент сделан именно на удобство использования конечным программистом для разработки и передачи проекта другим разработчикам для дальнейшего развития проекта. Приводятся примеры архитектур событийно-ориентированных приложений, основанных на следующих методах: «события» платформы C#; менеджер событий, ведущий списки типов событий и их и издателей; статические списки событий с разграничением возможностей для издателей и подписчиков и интеграцией со средой разработки. Данные методы были протестированы авторами в популярной на сегодняшний день среде разработки Unity3D 4 версии, использующей старую и измененную Mono версии 2.0, совместимый с C#.et Framework 3.5. Также авторы оценили удобство использования различных методик, как стандартных, так и разработанных нами в ходе развития нашего проекта.
Изучение Android – все равно что жизнь в другой стране: даже если вы говорите на местном языке, на первых порах вы все равно не чувствуете себя как дома. Такое впечатление, что все окружающие знают что-то такое, чего вы еще не понимаете. И даже то, что уже известно, в новом контексте оказывается попросту неправильным. Второе издание познакомит вас с интегрированной средой разработки Android Studio, которая поможет с легкостью создавать приложения для Android. Вы не только изучите основы программирования, но и узнаете о возможностях Lollipop, новых инструментах вспомогательных библиотек, а также некоторых ключевых инструментах стандартной библиотеки, включая SoundPool, анимацию и ресурсы. Все учебные приложения были спроектированы таким образом, чтобы продемонстрировать важные концепции и приемы программирования под Android и дать опыт их практического применения.
Впервые на русском языке выходит одна из самых авторитетных книг по разработке и использованию алгоритмов. Алгоритмы – это основа программирования, определяющая, каким образом программное обеспечение будет использовать структуры данных. Вы познакомитесь с базовыми аспектами построения алгоритмов, основными понятиями и определениями, структурами данных, затем перейдете к основным методам построения алгоритмов, неразрешимости и методам решения неразрешимых задач, и, наконец, изучите рандомизацию при проектировании алгоритмов. Самые сложные темы объясняются на четких и простых примерах, поэтому книга может использоваться как для самостоятельного изучения студентами, так и учеными-исследователями или профессионалами в области компьютерных технологий, которые хотят получить представление о применении тех или иных методов проектирования алгоритмов. Алгоритмический анализ состоит из двух фундаментальных компонентов: выделения математически чистого ядра задачи и выявления методов проектирования подходящего алгоритма на основании структуры задачи. И чем лучше аналитик владеет полным арсеналом возможных методов проектирования, тем быстрее он начинает распознавать «чистые» формулировки, лежащие в основе запутанных задач реального мира.
Неважно, каким инструментом вы пользуетесь для программной разработки – Java, .NET, или Ruby on Rails. Написание кода – это еще только полдела. Готовы ли вы к внезапному наплыву ботов на ваш сайт? Предусмотрена ли в вашем ПО «защита от дурака»? Правильно ли вы понимаете юзабилити? Майкл Нейгард утверждает, что большинство проблем в программных продуктах были заложены в них еще на стадии дизайна и проектирования. Вы можете двигаться к идеалу сами – методом проб и ошибок, а можете использовать опыт автора. В этой книге вы найдете множество шаблонов проектирования, помогающих избежать критических ситуаций, и не меньшее количество антишаблонов, иллюстрирующих неправильные подходы с подробным анализом возможных последствий. Любой разработчик, имеющий опыт многопоточного программирования, легко разберется в приведенных примерах на Java, которые подробно поясняются и комментируются. Стабильность, безопасность и дружественный интерфейс – вот три важнейших слагаемых успеха вашего программного продукта. Если в ваши планы не входит в течение последующих лет отвечать на недовольные письма пользователей, выслушивать критику заказчиков и постоянно латать дыры, устраняя возникающие баги, то прежде чем выпустить финальный релиз, прочтите эту книгу.