Рассмотрена проблема интеграции методов инженерии знаний и инженерии программ, одна из важнейших для современного программирования. Дано описание принципов, архитектуры, базового языка и программных компонент системы управления знаниями Knowledge.NET для платформы Microsoft.NET.
Статья является продолжением статьи «Интеграция методов инженерных знаний и инженерии программ: система управления знаниями Knowledge.net», опубликованной в номере 5 за 2005 год. Подход, предложенный авторами, позволяет пользователям просматривать и редактировать знания, представленные как в текстовом, так и в графическом виде. С. 6-16.
В статье анализируются актуальные научные и практические проблемы преподавания современных технологий программирования (и ИТ в целом) в России. Статья продолжает и развивает тематику доклада автора на всероссийской конференции по преподаванию ИТ (г. Тверь, 2007 г.)
The paper covers some present-day scientific and organizational issues of teaching informational technologies in Russia. The paper continues and enhances the author's talk at IT teaching conference in Tver, Russia, 2007.
Ключевые слова: Информационные технологии (ИТ), Java, .NET, компиляторы, методы преподавания ИТ
Keywords: .NET, compilers, IT, Java, teaching methods В статье дан краткий обзор исторического развития, современного состояния и результатов одной из выдающихся отечественных научных и преподавательских школ в области ИТ – кафедры информатики математико-механического факультета Санкт-Петербургского государственного университета, 40-летие которой отмечается в 2010 году.
The article presents an overview of history, modern status and results of one of the most outstanding Russian scientific and university teaching schools of IT - Chair of Computer Science of Faculty of Mathematics and Mechanics, St. Petersburg State University, whose 40-years anniversary is celebrated in 2010.
Ключевые слова: Санкт-Петербургский университет, математико-механический факультет, кафедра информатики, информатика, математическая логика, теория сложности алгоритмов, искусственный интеллект, синтаксический анализ формальных языков, базы данных, информационный поиск, компиляторы, надежные и безопасные вычисления, управление знаниями, экспертные системы, робототехника, Java, .NET.
Keywords: St. Petersburg University, Faculty of Mathematics and Mechanics, Chair of Computer Science, computer science (informatics), mathematical logic, theory of algorithmic complexity, syntax analysis of formal languages, databases, informational retrieval, compilers, trustworthy computing, knowledge management, expert systems, robotics, Java, .NET.
Программы обучения
В статье рассмотрены возможности облачных вычислений – современного подхода к вычислениям, базирующегося на использовании Web-сервисов и центров обработки данных. Описаны принципы преподавания облачных вычислений. Представлен Интернет-курс автора по наиболее распространенной системе облачных вычислений Microsoft Windows Azure.
The article covers cloud computing – a modern approach to computations based on using Web services and data centers. Principles of teaching cloud computing are discussed. An Internet course by the author on the most popular cloud computing system, Microsoft Windows Azure, is presented.
Ключевые слова: облачные вычисления, Microsoft Windows Azure.
Keywords: Cloud computing, Microsoft Windows Azure.
В статье дан обзор представительной международной конференции Microsoft Research Faculty Summit 2011, проходившей в Париже с 13 по 15 апреля 2011 г.
The article overviews the very interesting International Conference titled «Microsoft Research Software Summit 2011» (Paris, April 13–15, 2011).
Ключевые слова: технология программирования, инструментальные средства программирования, верификация программ, облачные вычисления, мобильные вычисления, семантические вычисления.
Keywords: software engineering, software development tools, software verification, cloud computing, mobile computing, semantic computing.
Библиотека Enterprise Library Integration Pack for Windows Azure – это решение компании Microsoft для выделения «сквозной функциональности» при разработке облачных приложений. Использование этой библиотеки подразумевает модификацию исходного кода целевого приложения. На практике возникают ситуации, когда изменение исходного кода нежелательно. Данная статья описывает методику бесшовной интеграции аспектов и целевого проекта с помощью Aspect.NET, которая позволяет не менять исходный код целевого приложения. C. 3-15.
The Enterprise Library Integration Pack for Windows Azure is a solution by Microsoft for separation of cross-cutting concern in developing cloud applications. Using this library implies modification of the source code of the target application. In practice, there appear situations when any update of the source code is undesirable. The paper covers a method of seamless integration of aspects and the target project with Aspect.NET that allows us to avoid changing the source code of the target application.
Ключевые слова: Enterprise Library, MS Azure, аспектно-ориентированное программирование, бесшовная интеграция, Aspect.NET.
Keywords: Enterprise Library, MS Azure, aspect-oriented programming, seamless integration, Aspect.NET.
В статье дан обзор крупнейшей международной конференции в области ИТ – Microsoft TechEd 2013 Europe, проходившей в Мадриде с 25 по 28 июня 2013 г. С. 45-52.
The article overviews the largest international IT conference titled “Microsoft TechEd 2013 Europe (Madrid, June 25–28, 2013)”.
Ключевые слова: надежные и безопасные вычисления, облачные вычисления, Microsoft Windows Azure, центры обработки данных, инструменты разработки программ, управление жизненным циклом программ, Microsoft Office 365, Windows 8, Windows Intune, Windows System Center, Windows Phone.
Keywords: Trustworthy computing, cloud computing, Microsoft Windows Azure, datacenters, developer tools, application lifecycle management, Microsoft Office 365, Windows 8, Windows Intune, Windows System Center, Windows Phone.
В статье рассматривается алгоритм, изменяющий поведение компьютерных соперников путем анализа действий пользователя и других компьютерных соперников. С. 55-59.
Ключевые слова: алгоритм, «шпионаж», ранжируемые сущноти, игры, игровая механика.
Автор рассказывает о возможностях одной из наиболее современных платформ для разработки программного обеспечения. Рассматриваются современные задачи программирования и классы программ, проводится сравнение платформы Microsoft.net и Java-технологии.
В статье рассмотрены основы аспектно-ориентированного программирования (АОП) и его использование для разработки надежных и безопасных программ. Описаны принципы, архитектура и возможности системы Aspect.NET - инструментария АОП для платформы .NET, разработанного в Санкт-Петербургском университете и используемого в 18 странах мира.
Статья посвящена светлой памяти Святослава Сергеевича Лаврова, члена-корреспондента АН СССР и РАН, профессора, лауреата Ленинской и Государственной премий, 85-летие со дня рождения которого отмечается в этом году. Эта статья – о нем, о его выдающемся научном вкладе в области программирования, о его преподавании у нас в университете, о нем как об уникальном учителе и человеке, о его учениках – продолжателях его светлых идей. Статья продолжает и развивает тему доклада автора на международной конференции памяти С.C. Лаврова “Космос. Астрономия. Программирование” [1], которая состоялась в мае 2008 года в Санкт-Петербурге.
The article is dedicated to the cheriched memory of Svyatoslav S. Lavrov. He was the associable of the Academy of Sciences of USSR and Russian Academy of Sciences, professor, laureate of state prizes. The article is devoted to his tremendous scientific contribution to the programming, to his teaching practice in Saint-Petersburg State University. The article continues and developes the report of the author on the International Conference in memoriam of S.S. Lavrov "Cosmos. Astronomy. Programming" (may 2008, Saint-Petersburg).
Ключевые слова: Космос, астрономия, программирование.
Keywords: astronomy, cosmos, programmingВ статье описывается опыт автора по преподаванию и использованию операционных систем. Анализируется текущая, благоприятная для студентов и преподавателей, ситуация в области активной разработки ОС, в том числе – с открытым кодом. Предлагается ряд методов, современных инструментов и ресурсов для преподавания ОС.
The article describes the author's experience on teaching and using operating systems. The current situation is analyzed in the area of agile OS development (including open source OS projects), which is beneficial both for students and for teachers. A number of methods, modern tools and resources for teaching OS are proposed.
Ключевые слова: операционные системы, Windows, Solaris, UNIX, Linux, IBM 360, «Эльбрус
Keywords: operating systems, IBM, linux, solaris, unix, windows.
Предложены методы применения аспектно-ориентированного программирования для задач безопасности в ASP.NET-приложениях, таких как: аутентификация, авторизация, олицетворение, защита от Cross-Site Scripting атаки, инструментирование ASP.NET приложений для безопасности. Разработаны аспекты безопасности для ASP.NET-приложений в системе Aspect.NET. Проанализированы эффективность и производительность применения этих аспектов в ASP.NET-приложениях.
Methods of application of aspect-oriented programming for security tasks in ASP.NET-applications, such as: authentication, authorization, impersonation, Cross-Site Scripting attacks protection, instrumenting ASP.NET-applications for security, are suggested. Security aspects for ASP.NET-applications in Aspect.NET system are developed. Efficiency and productivity of application of these aspects in ASP.NET-applications are analyzed.
Ключевые слова: аспектно-ориентированное программирование, АОП, Aspect.NET, веб-приложение, Microsoft.NET, ASP.NET, безопасность.
Keywords: aspect-oriented programming, AOP, Aspect.NET, Web application, Microsoft.NET, ASP.NET, security.
Описаны методы применения системы Aspect.NET при разработке ASP.NET приложений и взаимодействие Aspect.NET с ASP.NET. Выделены задачи Web-программирования, которые требуют решения в виде реализации сквозной функциональности приложения: протоколирование, безопасность (authentication, authorization, impersonation), криптография строки запроса, криптография cookie-файлов, кодирование гипертекста, расширение пользовательского веб-интерфейса. Предложены методы применения аспектно-ориентированного программирования для задач разработки веб-приложений на платформе Microsoft.NET.
Methods of application of the Aspect.NET system for ASP.NET application development and interaction of Aspect.NET system with ASP.NET are covered. Typical tasks of Web-programming that require solution in the form of cross-cutting concern implementation are selected, such as: logging, security (authentication, authorization, impersonation), query string cryptography, cookie cryptography, html encoding, user Web interface extension. Methods of application of aspect-oriented programming for Web application development tasks on Microsoft.NET platform are suggested.
Ключевые слова: аспектно-ориентированное программирование, АОП, Aspect.NET, Веб-приложение, Microsoft.NET, ASP.NET.
Keywords: aspect-oriented programming, AOP, Aspect.NET, Web application, Microsoft.NET, ASP.NET.
В статье рассмотрена концепция параметризованных типов данных (generics), играющая ключевую роль в современном программировании, и сформулированы предложения авторов по расширению параметризованных типов в Java. Статья написана по материалам доклада на международной конференции EclipseCon 2011 Europe, Людвигсбург, Германия, ноябрь 2011 г.
The article covers the concept of generic data types that plays key role in modern programming, and the proposal by the authors on extending generics in Java. The article is based on the talk at the International Conference EclipseCon 2011 Europe, Ludwigsburg, Germany, November 2011.
Ключевые слова: параметризованные типы данных (generics), абстрактные типы данных, шаблоны, переменные виды (модалы), параметризованные пакеты, Simula 67, Ada, Java, C++, C#.
Keywords: parametrized data types (generics), abstract data types, templates, modals, generic packages, Simula 67, Ada, Java, C++, C#.
Описаны возможности Aspect.NET - системы аспектно-ориентированного программирования для платформы .NET. Приведены примеры аспектов, описан метаязык их спецификации, даны практические сведения для работы в системе. Продолжение. Начало статьи см. № 3, 2008.
The article describes features and use of Aspect.NET - aspect-oriented programming toolkit for .NET platform. Samples of aspects are provided, AOP meta-language is described, practical information on using the system is given.
Ключевые слова: аспектно-ориентированное программирование.
Keywords: aspect-oriented programming В статье описывается опыт автора по преподаванию и развитию технологий Sun Microsystems – Java, компиляторов Sun Studio, ОС Solaris, архитектуры SPARC – и использованию открытого программного обеспечения в преподавании на математико-механическом факультете СПбГУ. Анализируются преимущества открытого программного обеспечения. Сформулированы рекомендуемые направления дальнейшей работы для преподавателей ИТ. Намечены перспективы новых технологий. Даны ссылки на полезные ресурсы.
The article describes the author’s experience of teaching Sun Microsystems’ technologies – Java, Sun Studio compilers, Solaris OS, SPARC architecture – and of using open software in teaching at the Faculty of Mathematics and Mechanics of St. Petersburg University. Advantages of open software are analyzed. Directions for future work of IT teachers formulated; perspectives of new technologies outlined; references to useful resources provided.
Ключевые слова: Sun Microsystems, Java, компиляторы, Sun Studio, операционные системы, Solaris, SPARC, открытое программное обеспечение.
Данная статья продолжает серию статей, направленных на дальнейшее улучшение качества преподавания информационных технологий (ИТ) в российских вузах. Цель данной статьи – научить студентов и аспирантов программистских специальностей правильно готовить презентации своих докладов на семинарах, предзащитах и защитах курсовых и дипломных работ, правильно делать доклады, предостеречь их от многих типичных ошибок. Статья может оказаться полезной для преподавателей вузов в области ИТ.
Cтатья продолжает серию моих статей об организации профессиональной деятельности программистов и предназначена, в первую очередь, для молодежи. Цель данной статьи – объяснить молодым программистам важность и принципы использования электронной почты - на мой взгляд, одного из основных инструментов деятельности программиста и организации работы программистов. Материал статьи основан на 15-летнем опыте использования электронной почты для профессионального общения.
The article describes the tools for the professional activity management and mostly is dedicated to the youth. The main idea of this article is to explain the importance of the use of e-mail in professional activity.
Ключевые слова: Электронная почта, программист.
Keywords: computer mail system, e-mail, programmer В статье описаны возможности Aspect.NET [1-11] – системы аспектно-ориентированного программирования (АОП) для Microsoft.NET, разработанной в СПбГУ нашим коллективом и используемой в настоящее время в 22 странах мира. Принципы АОП и Aspect.NET описаны в статье [1]. Данная статья имеет практическую направленность – научить пользователей работе в нашей системе. В основу статьи положено руководство пользователя по Aspect.NET 2.1 на английском языке, опубликованное на академическом сайте Microsoft [3] вместе с самой системой. Выражаю надежду, что публикация данной статьи, наряду со статьей [1], послужит еще более широкому распространению АОП и Aspect.NET в России.
The article describes features and use of Aspect.NET - aspect-oriented programming toolkit for .NET platform. Samples of aspects are provided, AOP meta-language is described, practical information on using the system is given.
Ключевые слова: аспектно-ориентированное программирование
Keywords: aspect-oriented programmingВ статье рассматриваются вопросы правильности перевода англоязычной терминологии по ИТ на русский язык. Предлагается идея создания КПП - Web-словаря правильных переводов и типичных ошибок при переводе, которых следует избегать.
В статье анализируется 17-летний опыт автора в области обучения компиляторам. Подчеркивается фундаментальный характер компиляторов как учебной дисциплины и их важность для полноценного современного университетского образования в области ИТ. Рассмотрены принципы построения современного курса по компиляторам, подход автора к обучению компиляторам и современные инструменты построения компиляторов и обучения компиляторам. Даны ссылки на публикации автора в данной области и на полезные Web-ресурсы.
The article analyses the author's 17-years experience in compiler teaching. Fundamental nature of compiler development as educational discipline and their importance for modern university education in the IT area are emphasized. Principles of organization of a modern compiler course and the author's approach to compiler teaching, and modern tools for compiler development and compiler teaching are covered. References to author's publications in this area and to useful Web resources are provided.
Ключевые слова: компиляторы, динамические компиляторы, надежные и безопасные компиляторы, лексический анализ, синтаксический анализ, семантический анализ, оптимизация, генерация кода, инструменты построения компиляторов, Java, .NET, Microsoft Phoenix, ANTLR, CoCo/R.
Keywords: compilers, just-in-time (JIT) compilers, trustworthy compilers, lexical analysis, parsing, semantic analysis, optimization, code generation, compiler development tools, Java, .NET, Microsoft Phoenix, ANTLR, CoCo/R.
В статье рассмотрены возможности, реализованные в новой версии системы Aspect.NET, – многоязыковое аспектно-ориентированное программирование (АОП), то есть возможность реализации целевых программ и аспектов на различных языках. Анализируются роль и принципы реализации многоязыкового АОП, рассматриваются другие подходы к данной проблеме, приводятся примеры использования многоязыкового АОП в системе Aspect.NET, намечаются дальнейшие перспективы развития.
The article covers novel features implemented in the new version of the aspect-oriented programming (AOP) system Aspect.NET - multi-language AOP, i.e. support of implementation of target applications and aspects to be woven in different programming languages. The role and implementation principles of multi-language AOP are analyzed; other work and approaches to the problem are considered; examples of multi-language AOP in Aspect.NET are provided; oncoming perspectives are outlined.
Ключевые слова: аспектно-ориентированное программирование (АОП), Aspect.NET, многоязыковое программирование, C#, Visual Basic.
Keywords: aspect-oriented programming (AOP), Aspect.NET, multi-language programming, C#, Visual Basic.
Цель статьи – научить студентов и аспирантов программистских специальностей правильно писать научные работы – курсовые, дипломы, статьи, тезисы докладов, диссертации – и убедить их в том, насколько им необходимо следить за работами других авторов и, тем самым, за развитием ИТ. Статья может быть также полезна моим уважаемым коллегам – вузовским преподавателям.
В статье рассматриваются современные подходы к разработке надежных и безопасных программ (trustworthy computing - TWC). Особое внимание уделено взаимосвязи TWC и аспектно-ориентированного программирования (АОП), применению АОП и системы Aspect.NET для разработки надежных и безопасных программ [1].
The article covers modern approaches to trustworthy computing (TWC). Special attention is paid to tight relationship of TWC and aspect-oriented programming (AOP), to applying AOP and the Aspect.NET toolkit for trustworthy software development [1].
Ключевые слова: Надежность программ, безопасность программ, защита конфиденциальной информации, аспектно-ориентированное программирование.
Keywords: aspect-oriented programming, information protection, software reliabilityб software securityДано краткое введение в Java-технологию - одно из наиболее популярных направлений развития современного программирования. Рассмотрены ее история, основные понятия, современное состояние, проблемы и перспективы. Даны ссылки на литературу для дальнейшего изучения.
В статье дан обзор конференции EclipseCon Europe 2011, проходившей в Германии (г. Людвигсбург, 2–4 ноября 2011 г.) и посвященной 10-летию широко известной ассоциации Eclipse Software Foundation разработчиков программного обеспечения с открытым кодом. Особое внимание уделено содержанию секции Java 7 Track этой конференции, на которой авторы статьи выступили с пленарным докладом о параметризованных типах данных (generics). Описаны также впечатления авторов о достопримечательностях, истории и традициях Людвигсбурга. Изложение иллюстрируется фотографиями.
Ключевые слова: технология программирования, инструментальные средства программирования, Eclipse, Java, Ludwigsburg.