Пояснительная записка Калинин Н.А. (1209681), страница 4
Текст из файла (страница 4)
При выполнении программы на C# сборка загружается в среду CLR в зависимости от сведений в манифесте. Далее, если требования безопасности соблюдены, среда CLR выполняет JIT–компиляцию для преобразования кода IL в инструкции машинного кода. Среда CLR также предоставляет другие службы, относящиеся к автоматическому сбору мусора, обработке исключений и управлению ресурсами. Код, выполняемый средой CLR, иногда называют "управляемым кодом" в противопоставление "неуправляемому коду", который компилируется в машинный код, предназначенный для определенной системы. Далее, на рисунке 3.1 показаны отношения во время компиляции и время выполнения между файлами с исходным кодом C#, библиотеками классов .NET Framework, сборками и средой CLR. Сами отношения можно посмотреть на рисунке 3.2
Рисунок 3.2 – Отношения во время компиляции
Взаимодействие между языками является ключевой особенностью .NET Framework. Поскольку код на промежуточном языке (IL), создаваемый компилятором C#, соответствует спецификации CTS, код IL на основе C# может взаимодействовать с кодом, создаваемым версиями языков Visual Basic, Visual C++, Visual J# платформы .NET Framework и еще более чем 20 CTS–совместимых языков. В одной сборке может быть несколько модулей, написанных на разных языках платформы .NET Framework, и типы могут ссылаться друг на друга, как если бы они были написаны на одном языке.
Помимо служб времени выполнения, в .NET Framework также имеется обширная библиотека, состоящая из более чем 4000 классов, организованных по пространствам имен, которые обеспечивают разнообразные полезные функции для любых действий, начиная от ввода и вывода файлов для управлением строками для разбивки XML, и заканчивая элементами управления Windows Forms.
В обычном приложении на языке C# библиотека классов .NET Framework интенсивно используется для "устройства" кода.
3.1.3 Visual Studio
Среда разработки Visual Studio представляет собой полный набор средств разработки для создания веб–приложений ASP.NET, XML (веб–службы), настольных приложений и мобильных приложений. Visual Basic, Visual C# и Visual C++ используют единую интегрированную среду разработки (IDE), которая позволяет совместно использовать средства и упрощает создание решений на базе нескольких языков.
Кроме того, в этих языках используются функциональные возможности платформы .NET Framework, которая позволяет получить доступ к ключевым технологиям, упрощающим разработку веб–приложений ASP и XML (веб–службы)[4].
3.1.4 Microsoft SQL Server
MS SQL Server – система управления реляционными базам данных, разработанная корпорацией Microsoft. Основной используемый язык запросов – Transact-SQL, создан совместно Microsoft и Sybase.
Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных, масштаба предприятия.
SQL Server позволяет создать надежные базы данных для любых целей, масштабируемые без заметного уменьшения быстродействия операций с ними в многопользовательском режиме.
3.1.5 SQLite
SQLite – компактная встраиваемая реляционная база данных. Исходный код библиотеки передан в общественное достояние. В 2005 году проект получил награду Google-O’Reilly Open Source Awards.
Слово “встраиваемый” означает, что SQLite не использует парадигму клиент–сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции записи весь файл, хранящий базу данных, блокируется; ACID–функции достигаются в том числе за счёт создания файла журнала.
Несколько процессов или потоков могут одновременно без каких–либо проблем читать данные из одной базы. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается; в противном случае попытка записи оканчивается неудачей, и в программу возвращается код ошибки. Другим вариантом развития событий является автоматическое повторение попыток записи в течение заданного интервала времени[5].
В комплекте поставки идёт также функциональная клиентская часть в виде исполняемого файла sqlite3, с помощью которого демонстрируется реализация функций основной библиотеки. Клиентская часть работает из командной строки, позволяет обращаться к файлу БД на основе типовых функций ОС.
Благодаря архитектуре движка возможно использовать SQLite как на встраиваемых системах, так и на выделенных машинах с гигабайтными массивами данных.
Старые версии SQLite были спроектированы без каких–либо ограничений, единственным условием было то, чтобы база данных умещалась в памяти, в которой все вычисления производились при помощи 32–разрядных целых чисел. Это создавало определённые проблемы. Из–за того, что верхние пределы не были определены и соответственно должным образом протестированы, то частенько наружу вылезали ошибки при использовании SQLite в достаточно экстремальных условиях. И поэтому, в новых версиях SQLite были введены пределы, которые теперь проверяются вместе с общим набором тестов.
Во время компиляции библиотеки SQLite устанавливаются следующие ограничения, которые можно при острой необходимости увеличивать. Их можно посмотреть в таблице 3.1.
Таблица 3. 1 – Ограничения компиляции
| Описание | Значение | Константа в исходнике |
| Максимальная длина строки или BLOB–поля | 1000000000 | SQLITE_MAX_LENGTH |
| Максимальное количество колонок | 2000 | SQLITE_MAX_COLUMN |
| Максимальная длина SQL–выражения | 1000000 | SQLITE_MAX_SQL_LENGTH |
| Максимальная глубина дерева выражений | 1000 | SQLITE_MAX_EXPR_DEPTH |
| Максимальное количество аргументов функции | 100 | SQLITE_MAX_FUNCTION_ARG |
| Максимальное количество термов в объединённом выражении с SELECT | 500 | SQLITE_MAX_COMPOUND_SELECT |
| Максимальное количество символов–заменителей в одном SQL–выражении | 999 | SQLITE_MAX_VARIABLE_NUMBER |
| Максимальная глубина рекурсии триггеров | 1000 | SQLITE_MAX_TRIGGER_DEPTH |
| Максимальный размер страницы базы данных | 32768 | SQLITE_MAX_PAGE_SIZE |
| Максимальное количество страниц в файле базы данных | 1073741823 | SQLITE_MAX_PAGE_COUNT |
На текущий момент только значение SQLITE_MAX_PAGE_SIZE не может быть больше заданного по умолчанию. Таким образом, не изменяя SQLITE_MAX_PAGE_COUNT, можно сказать, что максимальный размер файла базы данных составляет примерно 32ТБ (35.184.372.056.064 байт).Некоторые ограничения можно менять в сторону уменьшения во время исполнения программы при помощи задания категории (таблица 3.2) и соответствующего значения функции sqlite3_limit(): int sqlite3_limit(sqlite3*, int id, int newVal)
Таблица 3. 2 – Категории
| Категория | Описание |
| SQLITE_LIMIT_LENGTH | Максимальная длина любой строки или BLOB–поля или ряда |
| SQLITE_LIMIT_SQL_LENGTH | Максимальная длина SQL–выражения |
| SQLITE_LIMIT_EXPR_DEPTH | Максимальная глубина разобранного дерева любого выражения |
| SQLITE_LIMIT_COMPOUND_SELECT | Максимальное количество термов в объединённом выражении с SELECT |
| SQLITE_LIMIT_FUNCTION_ARG | Максимально количество аргументов функции |
| SQLITE_LIMIT_ATTACHED | Максимальное количество присоединённых баз |
| SQLITE_LIMIT_LIKE_PATTERN_LENGTH | Максимальная длина шаблона как аргумента операторов LIKE или GLOB |
Это может быть полезным, если SQLite используется в веб–приложениях, так как уменьшенные пределы могут предотвратить DoS–атаки со стороны недоверяемых внешних клиентов.
Сама библиотека SQLite написана на C; существует большое количество привязок к другим языкам программирования, в том числе C++, Java, C#, VB.NET, Python, Perl, PHP, Tcl (средства для работы с Tcl включены в комплект поставки SQLite), Ruby, Haskell, Scheme, Smalltalk, Lua и Parser, а также ко многим другим. Полный список существующих средств размещён на странице проекта[6].
Простота и удобство встраивания SQLite привели к тому, что библиотека используется в браузерах, музыкальных плеерах и многих других программах.
В частности, SQLite используют:
-
Adobe Integrated Runtime – среда для запуска приложений (частично);
-
Gears;
-
фреймворк Qt;
-
платформа XUL на движке Gecko 1.9, XULRunner 1.9 и, потенциально, все приложения, основанные на этой платформе, в том числе Mozilla Firefox (начиная с версии 3.0) и Mozilla Thunderbird (начиная с версии 3.0). В качестве примеров XUL–приложений можно привести Songbird и SQLite Manager;
-
Skype;
-
некоторые модели GPS–навигаторов Garmin;
-
Android API.
Многие программы поддерживают SQLite в качестве формата хранения данных (особенно в Mac OS и iPhone OS, Android), в том числе:
-
1С:Предприятие 7.7 (с помощью внешнего компонента);
-
Adobe Photoshop Lightroom;
-
FlylinkDC++;
-
AIMP;
-
Banshee;
-
Eserv;
-
F–Spot;
-
FAR Manager (начиная с версии 3.0);
-
Gajim;
-
Google Chrome;
-
Miranda IM (с помощью плагина драйвера базы данных);
-
Money IQ;
-
Mozilla Firefox;
-
Opera (начиная с версии 10.50);
-
qutIM;
-
Safari;
-
XnView;
-
Garena.
3.1.6 Excel
Все отчёты из приложения выгружаются в шаблоны созданные в MS Office Excel.
Excel – это мощное средство для создания и ведения различных электронных документов. Это многофункциональное программное обеспечение незаменимо в работе бухгалтеров и экономистов. Да и простым пользователям пригодятся возможности Excel: создание диаграмм, построение графиков, простые и сложные вычисления. Учителя, врачи, библиотекари – сегодня представители практически всех профессий должны владеть интерактивными технологиями и знать офисные программы, в том числе уметь работать с таблицами и презентациями.
Описание программы Эксель уместно начать с того, что ее интерфейс схож с текстовым редактором MS Word.После запуска табличного редактора перед пользователем откроется пять областей: строка меню, панель инструментов, строка формул, окно книги, строка состояния – основное описание возможностей табличного редактора.
Так как программа Excel – это таблица, то документ имеет традиционные для таблицы столбцы и строки, на пересечении которых образуются ячейки. Ячейка – основной «строительный» документ таблицы. Они имеют свой адрес, например А1, А4 и пр.
Табличный документ, иначе книга, состоит из нескольких листов, которые по своему усмотрению можно добавлять или удалять. Возможности этого редактора неисчерпаемы.
Excel – это большой калькулятор. Большая часть людей, не обладающих специализированными знаниями, и вовсе не знает многих функций и возможностей программы. И это не мешает им пользоваться Экселем для обслуживания собственных потребностей.
Последней версией Эксель пока что является программное обеспечение 2013 года.
В отличие от первых версий, теперь табличный редактор больше напоминает интерактивный сайт с заставкой, то есть разработчики расширили возможности для пользователей.















