Expertus metuit
Словарь облачных (и вообще программерских) базвордов
Опубликовано 2013-04-01 в 13:15

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

Список регулярно обновляется и дополняется.

ACID
Сокращение от Atomicity, Consistency, Isolation, Durability, набор свойств, гарантирующих надёжность выполнения транзакций в базе данных.
Aerospike / https://www.aerospike.com/
Опенсорсная распределённая NoSQL база данных, оптимизированная на хранение данных в flash-памяти (ssd-накопителях).
AJAX
Сокращение от английского Asynchronous JavaScript and XML, набор технологий, позволяющий выполнять запросы из веб-браузера на сервер без перезагрузки страницы.
AngularJS / https://angularjs.org/
Опенсорсный JavaScript-фреймворк, заточенный на разработку single-page приложений. Основной его особенностью считается так называмый Two-way data binding, это когда к DOM-модели привязан JavaScript-объект и все изменения этого объекта тут же отражаются на DOM и наоборот. Основным «конкурентом» считается React.
Ansible / https://www.ansible.com, википедия
Программная инфраструктура для управления облаком: деплоймент, конфигурация и всё такое.
AWS
Сокращение от английского Amazon Web Services, набор веб-сервисов от компании Amazon, которые можно арендовать за деньги, включает в себя сервисы хранения данные и сервисы виртуализации.
API
Сокращение от английского Application Programming Interface, в общем смысле — протокол (интерфейс) взаимодействия с некоторым сервисом или приложением, в последнее время API по большей части ассоциируется с разнообразными JavaScript-интерфейсами для работы с крупными облачными сервисами (например, Twitter API или API вконтакте).
Azure / https://azure.microsoft.com/
Облачная платформа от Microsoft, по сути то же самое, что и AWS, только от микрософта.
Big Data
Можно перевести на русский как Большие данные, сравнительно недавно появивишийся термин, которым принято обозначать такие объёмы данных, которые традиционными средствами обрабатывать либо сложно, либо затратно. Под обработкой обычно подразумевается анализ, поиск, сбор статистики. Примеры больших данных: миллиарды фоточек у фейсбука, записи о финансовых транзакциях у крупного продавца, научные данные (геном, социология, астрономия, физика итп).
Blockchain / https://en.wikipedia.org/wiki/Blockchain_(database)
Блокчейн — распределённая база данных, состоящая из блоков (block), связанных в цепь (chain), каждый блок зависит от предыдущего с использованием разной криптографии таким образом, что невозможно изменить блок так, чтобы все последующие не изменились. Работающим примером блокчейна является bitcoin.
Bootstrap (by twitter)
Популярный набор инструментов для создания веб-приложений, разработанный twitter, и выложенный в опенсорс на гитхабе. Официально называется Twitter Bootstrap и работает с CSS/JavaScript/HTML.
BYOD
популярная в последнее время концепция, расшифровывается как Bring your own device и по сути означает разрешение (и даже рекомендацию) сотрудникам использовать свои собственные устройства (чаще всего мобильные) для работы на компанию и для доступа к приватным данным компании. Устройства — это ноутбуки, смартфоны и планшеты.
Caching
Кеширование. Концепция старая, но сейчас переживает чуть ли не второе рождение. Суть простая: вместо «дорогой» операции обращения к базе данных, запоминаем полученные данные в «быстром» хранилище (например, в памяти) и дальше их уже забираем оттуда при необходимости. В теории звучит круто, но в реальности много граблей, главные из которых: инвалидация закешированных данных (т.е. выбор момента, когда данные нужно перечитать из базы) и анализ быстродействия (операции с кешем могут оказаться медленнее операций с базой).
Cloud computing
Дословно переводится как Облачные вычисления или облака и не имеет чёткого определения. Часто «вычислений» там совсем нет, а есть только хранение данных. В самом общем смысле облако — это использование чужих вычислительных мощностей вместо собственных или полностью подконтрольных.
Comet
Активно раскручиваемая концепция в веб-программировании, по сути означает отправку данных браузеру от веб-сервера без специального запроса от браузера. Самый простой способ реализации — не закрывать соединение до сервера, а сервер при необходимости в него будет присылать данные.
CouchDB / http://couchdb.apache.org/
Документо-ориентированная СУБД.
CQRS / https://martinfowler.com/bliki/CQRS.html
Акроним для Command Query Responsibility Segregation, архитектурный паттерн, предписывающий разделять команды от запросов. Команда — это изменение состояния, запрос — чтение состояния.
CRUD / https://en.wikipedia.org/wiki/Create,_read,_update_and_delete
Сокращение от create, read, update, and delete, это базовый набор функций, необходимых для работы с хранилищем данных.
Dark Data
Новая (и пока не общепринятая) концепция для обозначения данных, которые накапливаются, но никак не используются. На всякий случай, вдруг потом пригодятся.
Digital Ocean
Популярный хостер с очень гибкой системой тарификации и управления ресурсами виртуальных машин.
Django
Популярный фреймворк для разработки веб-приложений на языке Python.
Docker / https://www.docker.io/
Платформа для деплоймента приложений в «контейнерах» LXC, каждый контейнер — это изолированное chroot-like окружение, работающее в линуксе.
Dropbox
Один из первых «народных» облачных сервисов — прозрачная синхронизация файлов с их копией на удалённом сервисе.
DRY / https://en.wikipedia.org/wiki/Don%27t_repeat_yourself
Don't Repeat Yourself, «Не повторяйся». Принцип разработки ПО, призывающий максимально отказаться от многократного использования одинакового кода (упрощённая формулировка). Нарушения этого принципа обычно обозначается как WET — write everything twice, we enjoy typing, waste everyone's time.
DSL
Domain-specific Language, язык, созданный для использования в определённой предметной области. Например, DSL может использоваться для описания бизнес-логики в информационной системе.
EaaS
Логичное развитии концепции SaaS, обычно расшифровывается как Everything-as-a-Service, Всё в качестве сервиса, и означает комплексное облачное решение, «решающее все проблемы клиента» (на самом деле нет). Классический пример — Google, предлагающий е-мейл, календарь и облачное хранилище файлов (а также дофига всего остального).
Elasticity
Эластичность, способность системы эффективно справляться с внезапными пиковыми нагрузками. Не путать со Scalability.
Elasticsearch / https://www.elastic.co/products/elasticsearch
Движок для полнотекстового поиска, опенсорс, часто используется с Kibana.
Enterprise (-grade)
Используется для обозначения приложений, сервисов или технологий, непонятных простому смертному, но призванных вгонять его в священный трепет. Неявно подразумевается, что это нечто великолепно и прекрасно спроектированное и напрограммированное. Но в реальности редко так получается. Как правило, Enterprise сопровождается корпоративной бюрократией, двадцатью уровнями начальников, коллективной безответственностью и джавой.
Erlang
Язык программирования, сокращение от Ericsson language. Изначально писался телекомами для своих телекомовских нужд, но в 2010-е годы неожиданно пригодился в интернетах для написания надёжных веб-приложений. Больше деталей на официальном сайте.
ExtJS
JavaScript фреймворк, созданный для «эмуляции» десктопного интерфейса на стороне браузера. Мощный и тормозной.
Extreme Programming (XP) / https://en.wikipedia.org/wiki/Extreme_programming
Методология разработки ПО
Framework
Набор инструментов и библиотек, расширяющих возможности языка или программной платформы. От библиотеки отличается тем, что предлагает не просто набор функций, а собственную идеологию и архитектуру построения приложения.
Gamification
Использование игровых концепций в неигровых областях. В конечном итоге выливается в дрессировку пользователя игровыми методами. Типичный пример — достижения (achievments) на всяких сайтах.
Geo-location
Использование информации о местоположении пользователя для работы приложения. Например, показать ближайшие рестораны или выдать гео-контекстную рекламу.
Git
Система контроля версий, изначально написана для хранения исходников ядра линукса, но вырвалась на свободу, да так там и осталась.
Github
Пионер «социального кодинга», основанная на Git система хранения исходных кодов, отягощённая социальными фишками (можно писать код с другими людьми). Также содержит инструменты для трекинга ошибок и ведения документации.
GO
Разработанный Google язык программирования общего назначения, набирает популярность, заточен на параллелизм. Быстр, прост и компилируем.
Grunt / http://gruntjs.com/
The JavaScript Task Runner, программная инфраструктура (т.е. набор инструментов) для автоматизации разнообразных операций с JavaScript-кодом: компилирование, минификация, юнит-тестирование итп.
Hadoop / http://hadoop.apache.org/
Опенсорсный набор инструментов для выполнения распределённых программ на очень больших кластерах, заточен на работу с большими объёмами данных. Активно используется фейсбуком.
Haskell
Язык программирования, функциональный, предназначенный для написания диссертаций и монад.
Heroku / http://www.heroku.com/
Одна из первых облачных Platform-as-a-Service-систем, изначально работала только с Ruby, а затем разрослась и на другие языки. Платная.
High availability
Прямой перевод high availablityвысокая доступность или высокая готовность, маркетинговый термин, означающий высокий уровень доступности сервисов системы. Точной интерпретации, списка критериев и других необходимых вещей для точного определения не существует. На русский можно приблизительно перевести как «отказоустойчивость».
HTML5
Новый стандарт языка разметки веб-страниц, позиционируется как замена HTML4 и XHTML.
IaaS
IaaS — ещё одно порождение aaS-базвордов, обычно означает сокращение от Infrastructure as a service. Поставщик услуги предоставляет облачную инфраструктуру*, обычно это сервера (физические или виртуальные, как в обычном хостинге), а также дополнительные сравнительно низкоуровневые сервисы (базы данных, балансировщики нагрузки и т.д.)
Ignite / https://ignite.apache.org/
Apache Ignite — опенсорсная распределённая высокопроизводительная база данных, платформа для кеширования и обработки очень больших объёмов данных.
JavaScript
Скриптовой язык, изначально использовался на веб-страницах, теперь и на серверах (в виде nodeJS).
jQuery
Библиотека для JavaScript, добавляющая новый уровень абстракции над обычными javascript-объектами и значительно упрощающая работу с ними. Известна благодаря простоте использования, отличной документированности и расширяемости (через плагины).
JSON
Сокращение от JavaScript Object Notation, стандарт описания данных, заточенный одновременно для человеко- и машино-читаемости. По сути порождён литералами объектов и массивов из JavaScript.
JSONP
Сокращение от “JSON with padding”, один из способов передачи данных в веб-программу, который позволяет избежать ограничений обычного AJAX через XMLHttpRequest. Если коротко, то в программу подключается внешний скрипт через тег <script>, и этот внешний скрипт содержит вызовы функции из области видимости приложения. Подробнее — в википедии.
Kafka / https://kafka.apache.org
опесорсный распределённый брокер сообщений (stream processing) на java и scala. Изначально был разработан LinkedIn и в 2011 году выведен в опенсорс.
Kibana / https://www.elastic.co/products/kibana
Плагин для Elasticsearch для визуализации данных, опенсорс.
Kubernetes / http://kubernetes.io/
Опенсорсная система для автоматического разворачивания и управления приложениями на базе контейнерной виртуализации.
Latency
Латентность, инженерный термин, означающий задержку реакции на действие, однако это общее определение, которое варьируется в зависимости от предметной области, в которой он применяется. В целом можно считать, что это время реакции на действие, чем латентность меньше, тем лучше.
LESS / http://lesscss.org/
Скриптовый язык для генерации CSS. См. также SASS.
Load balancing
Балансировка нагрузки, набор действий/сервисов/программ/итп для разбиения одной большой нагрузки (например, трафика на веб-сервер) на много маленьких. Как правило, одну большую нагрузку не обработать, а много маленьких — вполне. Инструмент для балансировки обычно называют балансировщиком (balancer).
MapReduce
Модель вычислений, при которой данные разбиваются на потоки, которые параллельно обрабатываются, а затем опять сливаются вместе. Название произошло от функций map и reduce, широко известных в мире функционального программирования.
Marshalling
Маршалинг, передача объекта или метода для выполнения в другое окружение. Нечто похожее на сериализацию, только сериализация обычно подразумевает снятия дампа памяти с объекта, в то время как маршалинг может обойтись лишь передачей нескольких существенных параметров объекта, например.
Mashup
Как правило веб-сайт, использующий для работы данные из нескольких чужих источников. Обычный пример: взять карты с google maps, взять данные с другого сервера и визуализировать их на карте.
memcache
Произошло от Названия популярной системы кеширования данных в оперативной памяти memcached, по сути генерализованное обозначение key-value хранилища в памяти, также используется как часть название, например, memcachedb
Mercurial
СИстема распределённого контроля версий, написанная на питоне, считается вечным конкурентом Git.
Message
Прямой перевод — сообщение, один из классических способов межпроцессного взаимодействия: один объект отправляет сообщение, другие — ждут и при поступлении обрабатывают. Обычно подразумевается, что всё происходит асинхронно.
Microservices
Программно-системная архитектура для построения сложных приложений, система разбивается на независимые блоки, общающиеся между собой через обобщённый API, не зависящий ни от какого конкретного языка. По сути является обобщением модульного подхода на построение информационных систем. Подробнее можно прочитать в википедии.
Minification
Минификация, преобразование кода на интерпретируемом языке программирования с целью уменьшить его размер: сокращение имён переменных, удаление комментариев, удаление переводов строк, сливание нескольких файлов в один и так далее. Чаще всего применяется для JavaScript. Примеры: YUI Compressor, Closure Compiler.
Multitenancy
На русский иногда переводят как мультиарендность, означает подход, при котором один физический экземпляр приложения занимается обслуживает сразу нескольких нанимателей. Пример — gmail (и другие сервисы Google), разные люди заходят под разными аккаунтами и работают только со своими данными.
MVP / Minimum viable product
Можно перевести как «минимально жизнеспособный продукт», то есть продукт с наименьшим количеством фич, которые позволяют его уже начать использовать и продавать.
Nginx
Популярный легковесный опенсорсный http-сервер, написан российским программистом Игорем Сысоевым.
NoSQL
Модель СУБД, оперирующая гораздо менее связанными данными, чем реляционная, что видно из названия. У NoSQL есть некоторая область применения, однако на волне всеобщей истерии NoSQL-сервера стали пихать везде, не затрудняя себя анализом предметной области.
oAuth
Открытый стандарт авторизации, позволяет авторизоваться на некотором ресурсе, используя аккаунт пользователя на другом. Реализаций такой модели авторизации много, например, OpenID, однако oAuth самая популярная (во многом благодаря Facebook, который её предоставляет для своиз пользователей). Реализации oAuth от разных поставщиков обычно несовместимы.
On-premises software
Термин возник как противопоставление software-as-a-Service, по сути это «классический» софт, устанавливаемый на машине пользователя.
OpenStack / http://www.openstack.org/
Открытая программная платформа, позволяющая развернуть «облако» на своих серверах. Состоит из набора компонентов для разных задач: хранение данных, вычисления, балансировка и так далее.
OpenShift / https://www.openshift.com/
Редхатовский PaaS-сервис, основа на базе опенсорсного проекта OpenShift Origin
PaaS
Сокращение от Platform-as-a-Service, ещё один базворд из *aaS-семейства. Под платформой здесь подразумевается набор инструментов и библиотек для создания своих приложений на мощностях PaaS-провайдера, нечто среднее между IaaS и SaaS.
Pentesting / penetration testing
По-русски можно иногда встретить в виде «тест на проникновение», является испытанием системы на целенаправленные атаки или взлом и обычно ассоциируется с безопасностью и уязвимостями.
PHP
Популярный, нет, ОЧЕНЬ ПОПУЛЯРНЫЙ язык веб-программирования, начинался как набор скриптов для создания домашней странички, а закончился… пока не закончился ещё.
Private cloud
Дословно — частное облако, облачная платформа, развёрнутая на собственном оборудовании. Позволяет использовать преимущества *aaS и не отдавать свои данные на сторону.
Proxy
Любая программа (или даже её часть), пропускающая через себя данные, возможно с дополнительной обработкой. Прокси позволяют разбить сложную систему на компоненты, связанные только через прокси, как следствие — легче тестировать (если правильно сделано).
pull
В сетевых коммуникациях означает схему работы, при которой сеанс связи начинается клиентом. Клиент спрашивает, сервер отвечает и так далее.
Public cloud
Публичное облако, облачный сервиc, доступный каждому пользователю интернета (бесплатно либо за деньги)
push
Схема сетевой коммуникации, обратная к pull: сеанс начинается сервером, а не клиентом.
React / http://reactjs.com/
Опенсорсная JavaScript-библиотека для рендеринга HTML, считается основным конкурентом Angular, хотя предлагает совсем другой подход к решению задачи.
Redis / http://redis.io/
Опенсорсная NoSQL key-value база данных, одна из самых популярных.
Rackspace
Хостинговая компания, известная тем, что совместно с NASA запустила опенсорсный проект OpenStack.
Replication
Репликация, распространение данных между узлами информационной системы, подразумевает надёжность, стабильность и всё такое. Типичный пример — репликация базы данных в кластере.
REST
Сокращение от Representational state transfer, архитектурный приём для организации клиент-серверного взаимодействия, возникший как обобщение и расширение концепций протокола HTTP.
RESTful
Веб-сервис, основанный на принципах REST и работающий поверх HTTP.
Riak
NoSQL key-value база данных, написанная на erlang.
Ruby on rails
Популярнейший фреймворк для языка ruby, используется для веб-приложений. Знаменит тем, что внёс в широкие массы несколько популярных ныне концепций (например, ActiveRecord).
Rust / https://www.rust-lang.org/
Высокопроизводительный компилируемый язык, ориентированный на системное программирование. Часто рассматривается как альтернатива C++.
SaaS
Сокращение от Sofware-as-a-Service, программа установлена и обслуживается в датацентре, а продаётся доступ к ней через браузер, например. Клиент при этом полностью избавлен от прямой работы с приложением, от его обслуживания, обновления и т.д.
SASS / http://sass-lang.com/, https://en.wikipedia.org/wiki/Sass_(stylesheet_language)
Формально расшифровывается как Syntactically Awesome Style Sheets, скриптовый язык для генерирования CSS. См. также LESS.
Scalability
Дословно расширяемость, означает свойство информационной системы эффективно расти при возрастании нагрузки. Не путать с Elasticity.
SDET
Сокращение/акроним от Software Development Engineer in Test — это разработчик, который занимается обслуживанием автоматизированных систем тестирования. По сути — разработчик-тестировщик, сочетающий роли тестировщика, но методами разработчика ПО.
Serverless computing / https://en.wikipedia.org/wiki/Serverless_computing
Модель облачной архитектуры, в которой технические детали работы сервера (включая конфигурацию и выделение ресурсов) полностью скрыты от клиента. По сути это означает, что провайдер предоставляет не сервер/сервис, а конкретную функцию с API, полностью скрывая детали её реализации.
Service
Одно из базовых понятий в современных информационных системах, обычно это относительно независимая подсистема (или даже совсем независимая), решающая конкретный круг задач. Подразумевается обычно, что сервисы между собой взаимодействуют по определённому протоколу (Function-as-a-Service), оплата производится по количеству фактически потреблённых ресурсов.
Sharding
Способ хранения данных в СУБД, при котором связные единицы хранения (например, для реляционных БД — строки) разделяются по нескольким разным серверам, называемым шардами. Данные в каждом шарде обычно объединены по некоторому признаку.
SLA
Сокращение от Service-level Agreement (Соглашение об уровне услуг) — специальный договор между поставщиком услуги и клиентом, в котором оговариваются условия функционирования услуги и ответственность поставщика за нарушения этих условий. Как правило в SLA прописываются вещи вроде гарантированного времени восстановления после сбоя, оперативная замена деталей сервера при поломке, обслуживание сервера в случае сбоя и так далее. SLA обычно стоит клиенту денег и немалых.
SMART или S.M.A.R.T. / https://en.wikipedia.org/wiki/SMART_criteria
Акроним по первым буквам Specific, Measurable, Assignable, Realistic and Time-Related, подход к постановке целей. Есть также варианты: SMARTER, SMARTIE и так далее, они все перечислены по ссылке в вики.
Smart contract / https://en.wikipedia.org/wiki/Smart_contract
Умный контракт (умный договор) — это специальный компьютерный протокол, который обеспечивает выполнение договора, находясь при этом как бы в стороне от всех участвующих сторон. При этом выполнение происходит в полностью автоматическом режиме: как только нужный набор условий для выполнения «срабатывает» наступает следующая фаза. Принято считать, что умные контракты будут работать на базе блокчейнов.
Smoke testing
Быстрое тестирование для поиска явных дефектов, обычно является первым этапом в тестированни и часто не описывается какими-либо формальными документами, а лишь определяет пригодность продукта для тестирования вообще: хоть как-то работает, значит, можно дальше детально проверять. Термин происходит из примерно такой аналогии: если дымит при использовании, значит, явно сломано.
SOA
Сокращение от Service-oriented architecture.
SOAP
Сокращение от Simple Object Access Protocol, один из стандартных протоколов для передачи данных между веб-сервисами.
SOLID / https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)

Акроним, составленный из первых букв пяти принципов разработки ПО (применимо в основном для объектно-ориентированной разработки):

Spark / https://spark.apache.org/
Apache Spark — опенсорсная распределённая кластерная вычислительная платформа. Аналог Hadoop. Написан на языке Scala.
Splunk / http://www.splunk.com/
Американская корпорация и одноимённый продукт по анализу больших данных в реальном времени: графики, отчёты и прочая аналитика.
TensorFlow / https://www.tensorflow.org/
Опенсорсный движок для machine learning (то есть высокопроизводительных вычислений). Разрабатывается и поддерживается гуглом.
TypeScript
Разработанный Microsoft язык программирования, расширяющий возможности JavaScript: статическая типизация, подключаемые модули, результатом компиляции является JS-код.
Vagrant / http://www.vagrantup.com/
Опенсорсное серверное приложение для управления сетевыми окружениями, по сути надстройка над Virtualbox или VMWare, например, позволяющая удобно и эффективно создавать, удалять, редактировать, обновлять итп виртуальными машинами/контейнерами.
Valgrind / http://valgrind.org/
Набор инструментов для отладки и профилирования линукс-программ. Умеет находить утечки памяти.
Varnish / https://www.varnish-cache.org/
«Ускоритель HTTP», обратный кеширующий прокси, устанавливается между интернетом и собственно сервером, и занимается очень эффективным кешированием запросов.
Virtualization
Виртуализация, создание на одной физической машине несколько виртуальных.
Web service
Сервис в интернете.
Wiki
Популярная концепция создания документов на веб-сайтах, подразумевающая коллективное творчество и обилие гиперссылок. Часто в вики-системах используется специальная текстовая разметка для оформления текста.
WSDL / https://www.w3.org/TR/wsdl, https://www.w3.org/TR/wsdl20/
Сокращение от Web Services Description Language — язык на базе XML для описания интерфейсов сетевых сервисов. Ранее (до версии 1.1) расшифровывался как Web Services Definition Language.
XML-RPC
Ещё один популярный протокол для передачи данных между веб-сервисами.
YAGNI
Сокращение от You aren't gonna need it, см. https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
Zabbix / http://www.zabbix.com/
Популярная опенсорсная система энтерпрайзного уровня для мониторинга сетевых сервисов, серверов и железок.

Комментарии

Текст комментария (допустимая разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com>) Посетители-анонимы, обратите внимение, что более чем одна гиперссылка в тексте (включая оную из поля «веб-сайт») приведёт к блокировке комментария для модерации. Зайдите на сайта с использованием аккаунта на twitter, например, чтобы посылать комментарии без этого ограничения.
Имя (обязательно, 50 символов или меньше)
Опциональный email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2024 Sergey Stolyarov | Работает на pyrengine