Оптимизация web-сервера

Назначение фреймворка Spring, его особенности и отличительные черты. Разработка web-сервера с его помощью с использованием в нём модуля Java Persistence API. Компиляция файлов исходных кодов и добавление объектных файлов библиотек для сборки приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.02.2019
Размер файла 491,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство железнодорожного транспорта

Омский государственный университет путей сообщения

Кафедра "Автоматика и системы управления"

Пояснительная записка к курсовой работе

по дисциплине «Прикладное программирование»

ОПТИМИЗАЦИЯ WEB-СЕРВЕРА

Студентка гр. 23И

С.О. Тимофеева

Омск 2017

Задание

Разработать web-сервер с помощью фреймворка Spring, используя в нём модуль JPA (Java Persistence API). Для сборки приложения необходимо скомпилировать несколько файлов исходных кодов и добавить объектные файлы библиотек.

Требуется выполнить несколько вариантов сборки - для тестирования, для локального выполнения и для запуска на сервере.

Реферат

Spring, JUnit, Mock-объект, Spring Boot, Maven, Kotlin, веб-сервер.

Рассмотрено назначение фреймворка Spring, его особенности и отличительные черты. Выполнена разработка проекта с использованием этого фреймворка и его модулей. Изучен современный язык JVM Kotlin.

Пояснительная записка выполнена в программе Microsoft Word 2016, программная реализация выполнена в среде IntelliJ IDEA 2016.

фреймворк spring сервер библиотека

Содержание

  • Введение
  • 1. Spring Framework
    • 1.1 Spring MVC
    • 1.2 Maven
    • 1.3 Модули Spring
  • 2. JPA
  • 3. Kotlin
  • 4. Запуск и тестирование веб-сервера
    • 4.1 Запуск веб-сервера

4.2 Тестирование веб-сервера

  • Заключение
  • Библиографический список

Приложение

Введение

Веб-сервер -- сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами.

Веб-сервер можно создать программным путем с помощью разнообразных фреймоворков.

  • Фреймворки - это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.
  • Фреймворк - это программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Эта платформа подходит для создания сайтов, бизнес-приложений и веб-сервисов.
  • Фреймворк отличается от библиотеки тем, что библиотека может быть использована в программном продукте просто как набор подсистем близкой функциональности, не влияя на архитектуру основного программного продукта и не накладывая на неё никаких ограничений. Фреймворк диктует правила построения архитектуры приложения, задавая на начальном этапе разработки поведение по умолчанию, формируя каркас, который нужно будет расширять и изменять согласно указанным требованиям. Фреймворк может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта.
  • Одним из главных преимуществ при использовании фреймворков является то, что веб-приложения часто используют стандартизированную структуру организации компонентов. Создание структуры при разработке на фреймворках очень упрощается. Фреймворк -- это множество конкретных и абстрактных классов, а также определений способов их взаимоотношения. Конкретные классы обычно реализуют взаимные отношения между классами, а абстрактные классы представляют собой точки расширения, в которых каркасы могут быть использованы или адаптированы.

Целью данной работы является создание REST-сервера с JPA, который бы выполнял набор CRUD команд. Сервер должен создаваться с помощью фреймворка Spring, включать в себя класс на языке Kotlin и компоноваться системой сборки Maven. Сервер должен быть протестирован с помощью mock-объектов JUnit тестами.

1. Spring Framework

Spring Framework обеспечивает комплексную модель разработки и конфигурации для современных бизнес-приложений на Java - на любых платформах. Spring можно описать как совокупность нескольких независимых фреймворков, так и более сложных конструкций (фреймворк в фреймворке). Большинство данных структур может функционировать независимо друг от друга, однако они демонстрируют огромный объем работоспособности при совместном запуске приложения.

Spring, вероятно, наиболее известен как источник расширений (features), нужных для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей, которые исторически были доминирующими в промышленности. Ещё одно его достоинство в том, что он ввел ранее неиспользуемые функциональные возможности в сегодняшние господствующие методы разработки, даже вне платформы Java. Этот фреймворк предлагает последовательную модель и делает её применимой к большинству типов приложений, которые уже созданы на основе платформы Java. Считается, что Spring реализует модель разработки, основанную на лучших стандартах индустрии, и делает её доступной во многих областях Java.

1.1 Spring MVC

Один из самых главных разделов фреймворка Spring -- Spring MVC. Фреймворк Spring Web model-view-controller (MVC) работает вокруг DispatcherServlet, который распределяет запросы по обработчикам. Обработчик по умолчанию строится на аннотациях @Controller и @RequestMapping, которые предоставляют широкий набор гибких методов для обработки запросов. После версии Spring 3.0. механизм @Controller так же позволяет создавать RESTful веб сайты и приложения, используя аннотацию @PathVariable и другие возможности.

В Spring Web MVC есть возможность использовать любой объект в качестве команды или объекта с обратной связью; нет необходимости реализовывать какой-либо специальный интерфейс фреймворка или базовый класс.

1.2 Maven

Maven - это фреймворк для автоматизации сборки проектов специфицированных на XML-языке. Сборка происходит по установленным зависимостям в файле pom.xml. Чтобы добавить или исключить какие-либо библиотеки или плагины в сборке проекта, достаточно просто указать зависимость в файле pom.xml и Maven автоматически его подключит и встроит в проект. Также в .xml файле указываются зависимости Spring Boot.

В Spring Boot уже включена Spring-платформа и сторонние библиотеки, для более простого запуска приложений. Пример файла pom.xml из проекта веб-сервера можно увидеть в приложении А.

1.3 Модули Spring

Фреймворк имеет модульную архитектуру, состоящую из ядра и отдельных проектов (модулей).

Spring Core - предназначен для конфигурирования приложения, состоящего из различных объектов различных классов. Конфигурация содержит как список объектов приложения, так и устанавливает связи между ними. Это позволяет разрабатывать классы для логики приложения, не беспокоясь о типах используемых баз данных, обеспечения безопасности и др.

Spring Boot - предлагает шаблоны конфигурации для приложения. Отдельные настройки шаблона можно переопределить.

Spring Data - обеспечивает хранение данных в базах данных.

Spring Security - обеспечивает авторизацию и аудентификацию пользователей и разграничение доступа к объектам.

2. JPA

JPA - это технология, обеспечивающая объектно-реляционное отображение простых JAVA объектов и предоставляющая API для сохранения, получения и управления такими объектами.

Сам JPA не умеет ни сохранять, ни управлять объектами, JPA только определяет правила: как что-то будет действовать. JPA также определяет интерфейсы, которые должны будут быть реализованы провайдерами. Плюс к этому JPA определяет правила о том, как должны описываться метаданные отображения и о том, как должны работать провайдеры. Дальше, каждый провайдер, реализуя JPA определяет получение, сохранение и управление объектами.

В самом проекте объекты для JPA помечаются аннотациями. Класс, который будет являться сущностью в базе данных, отмечается аннотацией @Entity. Так как этот класс является сущностью для базы данных, в нем должен быть указан ключ, в нашем случае это ID. Интерфейс репозитория - @Repository. Этот интерфейс наследуется от интерфейса JpaRepository<T,F>, где T - объект нашей сущности (класс с пометкой @Entity), а F - должен быть того же типа, что и ID из класса-сущности. При правильном наследовании Spring предоставит реализованные методы, указанные в интерфейсе. Пример реализации сущности и репозитория представлен в приложении Б.

3. Kotlin

Kotlin - язык программирования, разработанный компанией JetBrains, работающий на платформе Java. Он использует JDK, как и сама Java, но имеет другой синтаксис. Появились они, в основном, из-за проблем с самой Java в плане синтаксиса. То есть, Java - язык надежный, хороший, добротный, на нём можно писать серверные приложения, но синтаксис у него, скажем так, излишне многословный. Kotlin помог разработчикам писать программы с меньшим количеством кода. Помимо всего того, что есть в Java, он добавляет вещи из мира функционального программирования. Это значительно облегчает написание кода - делает его короче и выразительнее. Чем меньше кода мы пишем, тем меньше кода нужно поддерживать, писать меньше тестов. Собственно, большинство языков появилось по этой самой причине - поменять синтаксис Java, сделать его более удобным, более прагматичным.

В реализованном проекте используется такая возможность языка как data-class (синтаксис представлен на рисунке 1). Это класс с единственным назначением - хранение данных. Функционал этого класса, зависит от самих данных, которые в нем хранятся. Data-class позволяет избавиться от большого количества шаблонного кода, который используется при создании аналогичного класса на языке Java. Для автоматической генерации конструктора со всеми аргументами нужно задать начальные значения всех полей. А перед тем как добавить объект на постоянное хранение, его также нужно создать в памяти, для этого создается вторичный конструктор с двумя параметрами. Пример выполнения данных действий представлен в приложении Б.

Рисунок 1 - Создание data-class на языке Kotlin

4. Запуск и тестирование веб-сервера

4.1 Запуск веб-сервера

Для запуска веб-сервера необходимо создать контроллер, который будет реагировать на определенные действия пользователя. Так как реализуется REST-сервер, то необходимо создать основные команды сервера: GET, POST, DELETE, PUT. Контроллер будет реагировать на введенный адрес, находить его на своей карте запросов и выполнять нужное действие. Например, при введении в строку веб-браузера значения «/expenses», то контроллер среди всех своих команд, найдет именно его, увидит, что здесь присутствует реализация запроса GET и данные находятся в формате json. Затем выполнит метод указанный для этого запроса, в нашем случае это метод getExpenses(), который в своем теле вызывает функцию из JpaRepository (рисунок 2). Результат выполнения можно увидеть на рис. 3.

Рисунок 2 - Реализация реакции контроллера на запрос GET

Рисунок 3 - Ответ на запрос GET

4.2 Тестирование веб-сервера

Spring test позволяет писать JUnit тесты для сервера. Для этого создается mock-объект (объект-имитация), который будет симулировать действия клиента. Объекты этого класса умеют делать запросы к серверу, получать и анализировать ответы. Для создания mock-объекта в Spring требуется объект типа WebApplicationContext, который создается при запуске сервера. Аннотация @Autowired указывает Spring инициализировать ссылку на соответствующий объект. Аннотация @Before, указывает на метод, который будет запускаться перед всеми тестами и создавать Mock-объект (рисунок 4).

Рисунок 4 - Создание Mock-объекта для тестирования сервера

Функции тестирования помечаются аннотацией @Test и выглядят следующим образом. Создается объект класса ResultActions, который может проверить правильность ответа, полученного запросом от Mock-объекта. Например, на рисунке 5, показана функция тестирования запроса DELETE. С помощью Mock-объекта отправляется запрос на сервер и результат сохраняется в объекте perform типа ResultActions. С помощью функции andExpect(status().isOk) проходит проверка правильно ли выполнился запрос и какой статус вернул сервер. Затем создается новый объект типа ResultActions, чтобы проверить метод DELETE, путем просмотра данных с сервера. Если элементов стало на единицу меньше чем было, проверка происходит с помощью jsonPath, значит тест пройден успешно (рисунок 6). Листинг класса тестирования находится в приложении Г.

Рисунок 5 - Пример функции тестирования

Рисунок 6 - Результаты тестирования веб-сервера

Заключение

В ходе курсовой работы изучен фреймворк Spring и его модуль JPA, а также был реализован проект с их использованием.

По результатам работы можно сделать вывод о том, что фреймворк предназначен для решения типичных задач и в отличие от библиотечного метода, работа фреймворка зависит не от переданных методу аргументов, а модифицируется изменением участвующих в работе классов и объектов.

Изменяя используемые классы и объекты можно легко настроить работу программы.

Библиографический список

1. Е.А. Альтман, Введение в фреймворк Spring / Е.А. Альтман / Омский гос. ун-т путей сообщения. Омск, 2017. 47 с.

2. СТП ОмГУПС-1.2-2005. Работы студенческие учебные и выпускные квалификационные: общие требования и правила оформления текстовых документов. - Омский Государственный Университет Путей Сообщения. Омск, 2005. 28 с.

3. Е.А. Альтман, Оптимизация Web сервера / Е.А. Альтман / Омский гос. ун-т путей сообщения. Омск, 2017. 17 с.

4.. Справочник по IntelliJ IDEA.

Приложение А

Содержимое файла pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>

<artifactId>Jpa</artifactId>

<version>0.0.1-SNAPSHOT</version>

<packaging>jar</packaging>

<name>Jpa</name>

<description>Demo project for Spring Boot</description>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.2.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<java.version>1.8</java.version>

<kotlin.version>1.1.0</kotlin.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>com.h2database</groupId>

<artifactId>h2</artifactId>

<scope>runtime</scope>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

<dependency>

<groupId>org.jetbrains.kotlin</groupId>

<artifactId>kotlin-stdlib-jre8</artifactId>

<version>${kotlin.version}</version>

</dependency>

<dependency>

<groupId>org.jetbrains.kotlin</groupId>

<artifactId>kotlin-test</artifactId>

<version>${kotlin.version}</version>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

<plugin>

<groupId>org.jetbrains.kotlin</groupId>

<artifactId>kotlin-maven-plugin</artifactId>

<version>${kotlin.version}</version>

<executions>

<execution>

<id>compile</id>

<phase>compile</phase>

<goals>

<goal>compile</goal>

</goals>

</execution>

<execution>

<id>test-compile</id>

<phase>test-compile</phase>

<goals>

<goal>test-compile</goal>

</goals>

</execution>

</executions>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<executions>

<execution>

<id>compile</id>

<phase>compile</phase>

<goals>

<goal>compile</goal>

</goals>

</execution>

<execution>

<id>testCompile</id>

<phase>test-compile</phase>

<goals>

<goal>testCompile</goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

</build>

</project>

Приложение Б

Листинги класса и интерфейса для JPA

@Entity

data class Expense (

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

val Id:Long? = null,

val name: String = "Апельсины",

var cost:Float = (-1.0).toFloat(),

val category:String = "Фрукты"){

constructor(_name:String, _cost:Float, _category:String) : this(

name = _name,

cost = _cost,

category = _category

) {}

}

@Repository

public interface ExpenseRepository extends JpaRepository<Expense, Long> {

Expense findByName(String name);

}

?

Приложение В

Листинги класса контроллера и точки запуска сервера

@RestController

public class ExpenseController {

private ExpenseRepository expenseRepository;

@Autowired

public ExpenseController (ExpenseRepository expenseRepository) {

this.expenseRepository = expenseRepository;

expenseRepository.save(new Expense("Хлеб", 25, "Выпечка"));

expenseRepository.save(new Expense("Вода", 50, "Напитки"));

expenseRepository.save(new Expense("Томаты", 120, "Овощи"));

}

@RequestMapping(value = "/expenses", method = RequestMethod.GET, headers = "Accept=application/json")

public List<Expense> getExpenses(){

return expenseRepository.findAll();

}

@RequestMapping(value = "/expenses/{id}", method = RequestMethod.GET, headers = "Accept=application/json")

public Expense getExpensesId(@PathVariable Long id){

return expenseRepository.findOne(id);

}

@RequestMapping(value = "/expenses/{id}", method = RequestMethod.DELETE, headers = "Accept=application/json")

public void deleteExpense (@PathVariable Long id){

expenseRepository.delete(id);

}

@RequestMapping(value = "/expenses", method = RequestMethod.POST, headers = "Accept=application/json")

public void postExpense(@RequestBody Expense expense){

expenseRepository.save(expense);

}

@RequestMapping(value = "/expenses", method = RequestMethod.PUT, headers = "Accept=application/json")

public void updateExpense (@RequestBody Expense expense){ expenseRepository.findByName(expense.getName()).setCost(expense.getCost());

Expense exp = expenseRepository.findByName(expense.getName());

expenseRepository.save(exp);

System.out.println(exp);

}

}

@SpringBootApplication

public class JpaApplication {

public static void main(String[] args) {

SpringApplication.run(JpaApplication.class, args);

}

}

Приложение Г

Листинг класса тестирования

@RunWith(SpringRunner.class)

@SpringBootTest

public class JpaApplicationTests {

private MockMvc mockMvc;

private ExpenseController expenseController;

private ExpenseRepository expenseRepository;

@Autowired

private WebApplicationContext webApplicationContext;

@Before

public void setup() throws Exception {

mockMvc = webAppContextSetup(webApplicationContext).build();

}

@Test

public void contextLoads() {

}

@Test

public void getExpenses() throws Exception {

ResultActions perform = mockMvc.perform(get("/expenses"));

perform .andExpect(status().isOk())

.andExpect(jsonPath("$.[1].name", is("Вода")))

.andExpect(jsonPath("$.[1].cost", is(50.)))

.andExpect(jsonPath("$.[1].category", is("Напитки")));

}

@Test

public void addExpense() throws Exception {

String expens = new ObjectMapper().writeValueAsString(new Expense("Рис", 80, "Крупы"));

ResultActions perform = mockMvc.perform(post("/expenses").accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON).content(expens));

perform .andExpect(status().isOk());

ResultActions performm = mockMvc.perform(get("/expenses/4"));

performm.andExpect(status().isOk())

.andExpect(jsonPath("$.name", is("Рис")))

.andExpect(jsonPath("$.cost", is(80.)))

.andExpect(jsonPath("$.category", is("Крупы")));

}

@Test

public void update() throws Exception {

String expens = new ObjectMapper().writeValueAsString(new Expense("Хлеб",40, "Выпечка"));

ResultActions perform = mockMvc.perform(put("/expenses").accept(MediaType.APPLICATION_JSON).contentType(MediaType.APPLICATION_JSON).content(expens));

perform .andExpect(status().isOk());

ResultActions performm = mockMvc.perform(get("/expenses/1"));

performm.andExpect(status().isOk())

.andExpect(jsonPath("$.name", is("Хлеб")))

.andExpect(jsonPath("$.cost", is(40.)))

.andExpect(jsonPath("$.category", is("Выпечка")));

}

@Test

public void getExpensebyId() throws Exception {

ResultActions perform = mockMvc.perform(get("/expenses/2"));

perform.andExpect(status().isOk())

.andExpect(jsonPath("$.name", is("Вода")))

.andExpect(jsonPath("$.cost", is(50.)))

.andExpect(jsonPath("$.category", is("Напитки")));}

@Test

public void deleteExpenses() throws Exception {

ResultActions perform = mockMvc.perform(delete("/expenses/1"));

perform.andExpect(status().isOk());

ResultActions performm = mockMvc.perform(get("/expenses"));

performm.andExpect(jsonPath("$.length()", is(2)));

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Компиляция программ на языке C/C++. Компиляция нескольких файлов. Библиотеки объектных файлов. Создание статической и динамической библиотеки. Функции работы. Создание динамической библиотеки для решения системы линейных уравнений.

    курсовая работа [27,4 K], добавлен 07.08.2007

  • Разработка удаленной базы данных и приложения-клиента для доступа к электронным источникам литературы, содержащихся на жестком диске сервера предприятия в виде упакованных архивов файлов и пакетов файлов. Реляционное исчисление доменов. Средства Delphi.

    дипломная работа [2,7 M], добавлен 24.03.2011

  • Система доменных имен. Регистрация доменов и обратное преобразование имен. Схема работы DNS сервера. Конфигурация BIND сервера. Расшифровка полей файлов зон. Программное обеспечение, настройка DNS сервера BIND. Проверка работоспособности системы.

    курсовая работа [1,6 M], добавлен 20.09.2013

  • Описание и установка интегрированной среды разработки Eclipse. Описание языка Java. Описание классов и методов, пакетов, использованных в программе, сервера и клиента. Разработка руководства пользователя для клиента и сервера. Пример работы чата.

    курсовая работа [443,5 K], добавлен 18.05.2015

  • Общее определение и история создания JavaScript библиотек, их назначение и использование. Виды и особенности JS фреймворков. Создание клиентского приложения (каталога комплектующих компьютера), написание кода страницы с использованием фреймворка Jquery.

    курсовая работа [544,5 K], добавлен 17.12.2013

  • История и основные сведения о сервере. Классификация и ресурсы серверов. Важность системы охлаждения для сервера. Выбор компонентов для сборки сервера. Основные неисправности и способы их устранения. Проведение технического обслуживания и ремонта сервера.

    дипломная работа [2,1 M], добавлен 24.06.2015

  • Языки веб-программирования и методы общения клиента и сервера. Характеристика баз данных и понятие веб-сервера. Инструкция программиста и системные требования, инструкция по установке оборудования. Описание исходных кодов и инструкция пользователя.

    курсовая работа [891,3 K], добавлен 04.08.2009

  • Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.

    курсовая работа [352,0 K], добавлен 24.08.2016

  • Java Runtime Environment - минимальная реализация виртуальной машины, необходимая для исполнения приложений, без компилятора и других средств разработки. Компиляция исходного кода через командную строку. Основные моменты создания игрового 2d-приложения.

    курсовая работа [2,1 M], добавлен 26.04.2014

  • Комплексный подход к организации ИТ-операций. Упрощение ИТ-инфраструктуры и сокращение расходов. Повышение производительности приложений. Конфигурации серверов IBM, их характеристика. Дополнительное оборудование для сервера, программное обеспечение.

    курсовая работа [1,4 M], добавлен 25.03.2015

  • Исследование проблемы сравнения звуковых файлов и определение степени их схожести. Сравнение файлов с использованием метода нечеткого поиска, основанного на метрике (расстоянии) Левенштейна. Сравнение MIDI-файлов и реализация алгоритмов считывания.

    курсовая работа [2,0 M], добавлен 14.07.2012

  • Общее определение JavaScript-библиотеки, виды библиотек. Создание клиентского приложения с использованием одного из существующий JS-фреймворков. Значение, виды и выбор фреймворка. Выбор приложения и его тематики. Написание программного кода, итоги работы.

    курсовая работа [545,8 K], добавлен 21.12.2013

  • Основные понятия и назначение технологии JavaBeans, ее компоненты и принцип работы, преимущества. Методика создания jar файлов в среде Eclipse. Структура файлов манифеста. Создание многопоточных приложений. Изучение визуального редактора Java BeanBox.

    лабораторная работа [67,4 K], добавлен 30.06.2009

  • Особенности работы "поисковика" дублирующихся файлов на диске. Выбор среды программирования. Разработка программного продукта. Основные требования, предъявляемые к программе, производящей поиск дублирующихся файлов на диске. Отображение скрытых файлов.

    курсовая работа [1,8 M], добавлен 28.03.2015

  • Создание организационного модуля и группы в Active Directory Users and Computers. Добавление учетных записей пользователей в группу "EVM-82". Методы настройки удаленных соединений: с компьютером; сетевые подключения с помощью оптоволокна и через WI-FI.

    лабораторная работа [5,2 M], добавлен 23.07.2012

  • Характеристика форматов файлов wav и mp3. Построение диаграмм прецедентов, разработка графического интерфейса и архитектуры приложения. Разработка алгоритмов работы программы: метод TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2.

    курсовая работа [2,7 M], добавлен 20.12.2013

  • Меню программы и темы интерфейса WinRar. Добавление файлов и папок в архив. Извлечение архива в указанную папку. Добавление архивного комментария. Требования к функциональным характеристикам, к транспортированию и хранению, к программной документации.

    курсовая работа [3,7 M], добавлен 21.04.2014

  • Проектирование программного обеспечения. Схема начального формирования каталога файлов, вывода на экран каталога файлов, удаления файлов, сортировки файлов по имени, дате создания и размеру методом прямого выбора. Управление каталогом в файловой системе.

    курсовая работа [804,0 K], добавлен 08.01.2014

  • Динамическая инициализация объектов в Java с помощью зарезервированного слова new. Порядок вызовов при создании объекта. Порядок выполнения операторов при наличии блоков инициализации. Чтение и запись файлов в программе, иерархия классов ввода/вывода.

    контрольная работа [120,6 K], добавлен 07.06.2011

  • Отличительные особенности языков программирования PHP и CSS. Возможности компактного многопоточного сервера баз данных MySQL. Системный анализ предметной области, проектирование ее инфологической модели. Создание базы данных и web-страниц сайта магазина.

    курсовая работа [1,0 M], добавлен 15.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.