Инструменты

Microsoft SQL — это система управления реляционными базами данных, разработанная корпорацией Microsoft. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия. Простыми словами, это язык программирования структурированных запросов. Конкурирует с другими СУБД в этом сегменте рынка. К концу 1986 года использование языка SQL в качестве основного для работы с данными в СУБД стало практически повсеместным. IBM, Oracle, Sybase и Gupta использовали схожий синтаксис языка SQL для отправки сообщений от клиентской части СУБД к серверной, что позволяло сочетать клиентские и серверные части разных производителей.

Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Является бесплатной программной платформой с открытым исходным кодом, контролируется организацией Eclipse Foundation. Написана на языке программирования Java и основной целью ее создания является повышение продуктивности процесса разработки программного обеспечения. Претендует на статус наиболее популярной Java IDE и является единственным конкурентом такой мощной платформы как NetBeans. Но в отличие от NetBeans который для создания элементов пользовательского интерфейса использует платформо-независимую библиотеку Swing, в Eclipse используется платформо-зависимая библиотека Standard Widget Toolkit.

WebPack — является бандлером модулей, программой, которая комбинируют разные модули и их зависимости в один файл в правильном порядке. Он может парсить код, написанный с использованием разных модульных систем, и комбинировать в один формат, понятный браузеру. WebPack – это система сборки файлов, которая предоставляет не только компоновку модулей, но и может выполнять задачи, которыми занимаются Gulp/Grunt. WebPack не ограничивается JavaScript-файлами, он может работать с другой статикой вроде CSS, картинок, html-компонентов и др. Также поддерживает полезную функцию – разбиение кода, большое приложение можно разбить на куски и загружать по мере необходимости.

Docker — это программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами. Изначально использовал возможности LXC, с 2015 года применял собственную библиотеку, абстрагирующую виртуализационные возможности ядра Linux – libcontainer. С появлением Open Container Initiative начался переход от монолитной к модульной архитектуре. Разрабатывается и поддерживается одноимённой компанией-стартапом, распространяется в двух редакциях – общественной (Community Edition) по лицензии Apache 2.0 и для организаций (Enterprise Edition). Написан на языке Go.

Ant — это утилита для автоматизации процесса сборки программного продукта. Является аналогом утилиты make, где все команды записываются в XML-формате. Ant был создан в рамках проекта Jakarta, сегодня – самостоятельный проект первого уровня Apache Software Foundation. Первая версия была разработана инженером Sun Microsystems Джеймсом Дэвидсоном. Ant, в отличие от другого сборщика проектов Apache Maven, обеспечивает императивную, а не декларативную сборку проекта. В отличие от make, утилита Ant полностью независима от платформы, требуется лишь наличие на применяемой системе установленной рабочей среды Java – JRE. Отказ от использования команд операционной системы и формат XML обеспечивают переносимость сценариев. Управление процессом сборки происходит посредством XML-сценария, также называемого Build-файлом.

Oracle — американская корпорация, второй по величине доходов производитель программного обеспечения после Microsoft, крупнейший производитель программного обеспечения для организаций, крупный поставщик серверного оборудования. Специализируется на выпуске систем управления базами данных, связующего программного обеспечения и бизнес-приложений. Наиболее известный продукт компании – Oracle Database, который компания выпускает с момента своего основания. С 2008 года корпорация освоила выпуск интегрированных аппаратно-программных комплексов, а с 2009 года в результате поглощения Sun Microsystems стала производителем серверного оборудования, до этого компания выпускала исключительно программное обеспечение. Компания была основана в 1977 году Ларри Эллисоном.

BDD — это методология разработки программного обеспечения, являющаяся ответвлением от методологии разработки через тестирование (TDD). Основной идеей данной методологии является совмещение в процессе разработки чисто технических интересов и интересов бизнеса, позволяя тем самым управляющему персоналу и программистам говорить на одном языке. Для общения между этими группами персонала используется предметно-ориентированный язык, основу которого представляют конструкции из естественного языка, понятные неспециалисту, обычно выражающие поведение программного продукта и ожидаемые результаты. Считается, что данный подход эффективен, когда предметная область, в которой работает программный продукт, описывается очень комплексно.

Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня.

JMeter — это инструмент для проведения нагрузочного тестирования, разрабатываемый Apache Software Foundation. Изначально разрабатывался как средство тестирования web-приложений, в настоящее время он способен проводить нагрузочные тесты для JDBC-соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP. Интересна возможность создания большого количества запросов с помощью нескольких компьютеров при управлении с одного из них. Архитектура, поддерживающая плагины сторонних разработчиков, позволяет дополнять инструмент новыми функциями. В программе реализованы механизмы авторизации виртуальных пользователей, поддерживаются пользовательские сеансы. Организовано логирование результатов теста, визуализация результатов в виде диаграмм, таблиц и т.п.

TDD — это техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим стандартам. Кент Бек, считающийся изобретателем этой техники, утверждал в 2003 году, что разработка через тестирование поощряет простой дизайн и внушает уверенность. В 1999 году при своем появлении разработка через тестирование была тесно связана с концепцией «сначала тест», применяемой в экстремальном программировании, однако позже выделилась как независимая методология.

PostgreSQL — это свободная объектно-реляционная система управления базами данных. Существует в реализациях для множества UNIX-подобных платформ, включая AIX, различные BSD-системы, HP-UX, IRIX, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX, а также для Microsoft Windows. Сильными сторонами PostgreSQL заслуженно считаются высокопроизводительные и надежные механизмы транзакций и репликации, расширяемая система встроенных языков программирования, наследование, возможность индексирования геометрических объектов и наличие базирующегося на ней расширения PostGIS, встроенная поддержка слабоструктурированных данных в формате JSON с возможностью их индексации, расширяемость.

InstallShield — это система создания инсталляторов и пакетов программного обеспечения для Microsoft Windows и Linux с закрытыми исходными кодами. Программный инструмент используется главным образом для установки программного обеспечения для Microsoft Windows, как на десктопные, так и серверные платформы, а также может быть использован для управления приложениями на различных портативных и мобильных устройствах. Версия InstallShield 2011 была выпущена на рынок 19 августа 2010 года, она получила поддержку Windows 7, Windows Server 2008 R2, MSI 5, и являлась единственной установкой для поддержки Microsoft Application Virtualization, которая широко использует формат виртуализации приложений.

Selenium — это проект, в рамках которого разрабатывается серия программных продуктов с открытым исходным кодом. Selenium WebDriver – программная библиотека для управления браузерами. Иногда говорят, что это «драйвер браузера». Selenium RC – это предыдущая версия библиотеки для управления браузерами. Selenium Server – это сервер, управляющий браузером с удаленной машины, по сети. Selenium Grid – это кластер из нескольких Selenium-серверов. Selenium IDE – плагин к браузеру Firefox, который может записывать действия пользователя, воспроизводить их, а также генерировать код для WebDriver или Selenium RC, в котором выполняются те же самые действия.

SQLite — это компактная встраиваемая кроссплатформенная система управления базами данных. Исходный код библиотеки передан в общественное достояние. Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а представляет собой библиотеку, с которой программа компонуется и движок становится составной частью программы. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных в единственном стандартном файле на том компьютере, на котором исполняется программа.

Silk Performer — это инструмент для тестирования производительности программного обеспечения в web, мобильных и корпоративных приложениях. Silk Performer обеспечивает поддержание времени работы приложений и серверов в условиях максимальной нагрузки на клиентов. Silk Performer позволяет выявлять такие проблемы с помощью встроенной диагностики и отчетов о тенденциях. Silk Performer поддерживает основные среды Web 2.0, также поддерживает нагрузочное тестирование веб-приложений на уровне протокола (HTTP). Silk Performer помогает прогнозировать и предотвращать сбои в работе бизнеса, ориентированной на будущее.

LoadRunner — это утилита для автоматизированного нагрузочного тестирования. Первая версия была выпущена компанией «Mercury Interactive» в 1989г. Программа может выполнять тестирование как различных приложений, так и сайтов разного уровня сложности. При тестировании эмулирует параллельную работу большого количества виртуальных пользователей в виде процессов или потоков, выполняющих различные скрипты по различным сценариям. Программа имеет соответствующие наборы инструментов для проведения тестирования. Также в состав HP LoadRunner входит набор инструментов для работы с приложением по различным протоколам.

SVN — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet. С 2010 года Subversion является одним из проектов Apache Software Foundation и официально называется Apache Subversion. Цель проекта в начале разработки – заменить распространённую на тот момент систему CVS, которая на сегодняшний день считается морально устаревшей. Subversion реализует все основные функции CVS и свободна от ряда недостатков последней. Subversion используется многими сообществами разработчиков открытого программного обеспечения, в том числе сообществами, ранее использовавшими CVS.

MySQL — это свободная реляционная система управления базами данных с открытым исходным кодом. Разработку и поддержку MySQL осуществляет корпорация Oracle. MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удаленные клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Гибкость системы обеспечивается поддержкой большого количества типов таблиц, поддерживающих полнотекстовый поиск и транзакции на уровне отдельных записей.

Cassandra — это реализация семейства NoSQL Column, поддерживающая модель данных Big Table с использованием некоторых архитектурных аспектов системы Amazon Dynamo. Некоторые преимущества Cassandra: высокая масштабируемость и надежность без элементов, реализация семейства NoSQL Column, очень высокая пропускная способность для операций записи и хорошая пропускная способность для операций считывания, SQL-подобный язык запросов, настраиваемая согласованность и поддержка репликации, гибкая схема.

nAnt — это свободное программное обеспечение для автоматизации процесса сборки ПО. NAnt очень похож на Apache Ant, но ориентирован на работу с .NET, а не Java. NAnt умеет динамически загружать наборы дополнительных задач,при явном на то указании внутри скриптов, либо загружает задачи автоматически, если их нужным образом расположить рядом с NAnt.exe. Таким образом, сам сборщик может распространяться способом «xcopy», что значительно облегчает использование единой конфигурации сборщика параллельно на нескольких машинах.

TestComplete — это функциональная автоматизированная тестовая платформа компании SmartBear Software. Предоставляет возможность создавать автоматизированные тесты для приложений на операционных системах Microsoft Windows, Android и iOS. Тесты могут быть записаны по сценарию или созданы вручную, использоваться для автоматического воспроизведения и регистрации ошибок. TestComplete содержит десктопный, web и мобильный модули. Каждый содержит функциональные возможности для создания автоматизированных тестов на указанной платформе.

jUnit — это библиотека для модульного тестирования программного обеспечения на языке Java. Созданный Кентом Беком и Эриком Гаммой, JUnit принадлежит семье фреймворков xUnit для разных языков программирования, берущей начало в SUnit Кента Бека для Smalltalk. JUnit породил экосистему расширений был портирован на другие языки. Опыт, полученный при работе с JUnit, важен в разработке концепций тестирования программного обеспечения.

nUnit — это открытая среда юнит-тестирования приложений для .NET. Первые версии NUnit были написаны на J#, но затем весь код был переписан на C# с использованием таких новшеств .NET, как атрибуты. Существуют расширения оригинального пакета NUnit с открытым исходным кодом. NUnit.Forms дополняет NUnit средствами тестирования элементов пользовательского интерфейса Windows Forms. NUnit.ASP выполняет ту же задачу для элементов интерфейса в ASP.NET.

NSIS — это система создания установочных программ для Microsoft Windows с открытым исходным кодом, разработанная компанией Nullsoft – автором плеера Winamp. NSIS был задуман как альтернатива InstallShield, предназначенного для коммерческих продуктов. Изначально NSIS был спроектирован для распространения Winamp. После перемещения проекта на SourceForge.net к работе над ним присоединились сторонние разработчики, так появился NSIS 2.0.

Redis — это резидентная система управления базами данных класса NoSQL с открытым исходным кодом. Используется как для баз данных, так и для реализации кэшей, брокеров сообщений. Ориентирована на достижение максимальной производительности на атомарных операциях. Интерфейсы доступа созданы для большинства основных языков программирования.

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

PHPUnit — это система для юнит-тестирования приложений, написанных на языке PHP. Под "юнит" понимаются небольшие блоки кода, например отдельные методы класса. Когда приложение достаточно большое, содержащее много классов, методов и тем более если планируется дальнейшее его расширение стоит заняться тестированием и в этом поможет PHPUnit.

MongoDB — это система управления базами данных с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных.  Используется в веб-разработке.

Git — это распределенная система управления версиями. Проект был разработан командой Линуса Торвальдса для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. На сегодняшний день его поддерживает Джунио Хамано.

TFS — это комплексное решение корпорации Microsoft объединило в систему управление версиями, сбор данных, построение отчетов, отслеживание статусов и изменений по проекту для совместной работы при  разработке ПО.