Дефрагментация мозга. Софтостроение изнутри [заметки]

Шрифт
Интервал

1

Электронная Вычислительная Машина, вдруг кто забыл, как назывались компьютеры в русском языке.

2

Числовое Программное Управление.

3

Научно-Исследовательский Институт.

4

Конструкторское Бюро.

5

Конструкторско-Технологический Центр.

6

Вычислительный Центр.

7

Высшие учебные заведения.

8

Неформальное название учебных заведений.

9

Оригинальное немецкое название: Bedingungsloses Grundeinkommen.

10

Вычислительный Центр Коллективного Пользования.

11

Центр Обработки Данных (англ. Data Center).

12

«With today's news, the companies are reinforcing their commitment to the Java community, which comprises more than six million developers worldwide» // IBM Taps Boom in Linux Growth by Expanding Commitment to Partners, Linux and Open Source, december 2005.

13

От англ. framework. В рамках объектно-ориентированного подхода – библиотека классов с двусторонним (взаимным) управлением потоком исполнения программы. Более общее значение – каркас, предоставляющий стандартные службы, библиотеки и компоненты для разработки программ в рамках накладываемых им ограничений.

14

От англ. mainframe – классическая большая универсальная ЭВМ.

15

Коэффициент интеллекта (англ. intelligence quotient).

16

От англ. «reverse engineering» – восстановление общих проектных решений и концепций по имеющейся частной их реализации.

17

Англ. Drag and drop.

18

Международный стандарт, регламентирующий кодификацию валют.

19

Грабли – синоним скрытой ошибки в программе. «Наступить на грабли» в программистском фольклоре означает выявить скрытую проблему за собственный счёт.

20

SSIS – SQL Server Integration Services, служба управления пакетами обработки данных, внешних по отношению к СУБД. По сути, среда для быстрой визуально-скриптовой разработки программ-конвертеров данных.

21

От английского «Business Intelligence» – служба предприятия, занятая аналитической обработкой данных.

22

Возможность разделения визуальной части и бизнес-логики по разным файлам. Одна из ключевых концепций в ASP.NET.

23

От англ. «MVC, Model-View-Controller» – концепция построения приложений графического интерфейса пользователя. Развитие концепции, полностью исключающее связь модели и вида – MVP, Model-View-Presenter.

24

От английского термина «applet» – приложеньице.

25

«Java Runtime Environment is found on over 700 million personal computers», пресс-релиз Sun, 2007.

26

«Java runs on more than 850 million personal computers worldwide, and on billions of devices worldwide», пресс-релиз Oracle, 2011.

27

От англ. RIA – Rich Internet Applications.

28

«In Q1 2005 48 % of business PCs ran Windows 2000, 38 % ran Windows XP», исследование AssetMetrix, 2005.

29

Windows Presentation Foundation – технология Microsoft построения Windows-приложений с богатыми возможностями отображения информации и графики.

30

От англ. unicode – международный стандарт кодирования символов, позволяющий представить знаки практически всех известных алфавитов, включая иероглифы.

31

American Standard Code for Information Interchange – американская стандартная таблица кодов печатных символов.

32

См. пресс-релиз компании Microsoft «Our strategy with Silverlight has shifted».

33

В языке C нет понятия модуля, поэтому этот показатель несколько ниже.

34

Ф. Брукс описывает софтостроение по принципу «операционной бригады» в своей книге «Мифический человеко-месяц»[0].

35

Rational Unified Process – итеративная тяжеловесная методология софтостроения от компаний Rational и IBM.

36

От англ. design pattern – шаблон проектирования.

37

От англ. refactoring – реструктуризация и факторизация программного кода. В экстремальных методиках при отсутствии концепции системы и анализа предметной области формально требуется постоянный рефакторинг кода, при помощи которого предполагается чудесным образом прийти к хорошему решению ничего не проектируя.

38

Термин широко используется в автоматизации предприятий и происходит от «лоскутного одеяла» – разрозненного набора программ и пакетов, решающих локальные задачи подразделений.

39

API (Application Programming Interface) – интерфейс программирования приложений, функциональность, которую предоставляет модуль, компонент или библиотека программисту.

40

От англ. openspace – большое офисное помещение, зал без перегородок с расположенными в нем рабочими местами.

41

См. публикацию «Objects Have Failed» (2000 г.) и материалы конференции OOPSLA (Object-Oriented Programming, Systems, Langauges and Applications) по данной теме в 2002 г.

42

Оберон – семейство языков программирования высокого уровня, разработанных Никлаусом Виртом и его школой.

43

Объем активного словаря образованного человека оценивается в среднем в 5–10 тысяч слов. «Сколько слов в русском языке?», Наука и жизнь, 2004, № 11.

44

См. данные TIOBE Programming Community Index.

45

Система Управления Базами Данных.

46

Structured Query Language – язык структурированных запросов, также имеет название «сиквел», идущее от первой версии языка SEQUEL. Первый стандарт принят в 1986 г.

47

Unified Modeling Language – унифицированный язык моделирования, эклектичное объединение графических нотаций разных авторов, использовавшихся ими в софтостроительных проектах на основе ООП.

48

В софтостроении, как инженерной дисциплине, различают концептуальный, логический и детальный (физический) уровни проектирования.

49

Object-Relational Mapping – объектно-реляционная проекция.

50

От англ. domain layer – слой объектов предметной области, часто называемых также бизнес-объектами.

51

Жаргонное название SQL-запроса. – Примеч. ред.

52

Hibernate Query Language – SQL-подобный язык запросов, используемый в Hibernate/ Nhibernate.

53

noSQL – Not Only SQL, обобщённое название СУБД, не базирующихся на реляционной модели, интерес к которым возрос в последние годы прежде всего из-за сложности горизонтального масштабирования в традиционных РСУБД.

54

Domain Driven Design – концепция разработки прикладных программ на основе домена – слоя объектов предметной области.

55

Create-Retrieve-Update-Delete – базовый набор манипуляций бизнес-объектами: «создать», «выбрать», «модифицировать», «удалить».

56

DataSet – набор данных, в узком значении – двумерный динамический массив, заполняемый табличным результатом запроса к РСУБД.

57

LINQ – Language Integrated Query, технология Microsoft на основе SQL-подобного встроенного языка для манипуляции объектами в. NET-приложениях.

58

От англ. Declarative Referential Integrity – декларативная ссылочная целостность, один из важнейших механизмов поддержания базы данных в непротиворечивом состоянии.

59

От англ. SCRUM – одна из популярных методик так называемой «гибкой разработки».

60

АСУП – Автоматизированная Система Управления Предприятием, англ. ERP – Enterprise Resources Planning.

61

XSLT – англ. eXtensible Stylesheet Language Transformations – декларативный язык преобразования XML-документов. Стандартизован консорциумом W3C.

62

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

63

DAL – Database Access Layer, слой абстракций для доступа к данным.

64

От англ. startup – новообразованное инновационное малое предприятие, термин чаще всего употребляется в наукоемких областях деятельности.

65

Миссия – временная работа консультанта на площадке заказчика.

66

Оперативное Запоминающее Устройство, англ. RAM – Random Access Memory.

67

Например, «Does IT Matter? Information Technology and the Corrosion of Competitive Advantage» (Есть ли толк от ИТ? Информационные технологии и выветривание конкурентных преимуществ), издательство Harvard Business Review, 2004 г.

68

ЭВМ Единой Серии, относились к классу больших универсальных ЭВМ.

69

Система Малых ЭВМ.

70

Английский термин last mile или last kilometer – канал, соединяющий конечное оборудование клиента с узлом доступа оператора связи.

71

НИОКР – Научно-Исследовательские и Опытно-Конструкторские Работы.

72

От англ. software as a service.

73

От англ. Common Object Request Broker Architecture – технологический стандарт разработки распределённых приложений, продвигаемый консорциумом OMG.

74

От англ. SOA – Service Oriented Architecture.

75

От англ. Extensible Markup Language Remote Procedure Call – XML-вызов удалённых процедур. Стандарт и протокол вызова удалённых процедур, использующий XML для сообщений и HTTP в качестве транспорта.

76

От англ. Simple Object Access Protocol – протокол обмена сообщениями и вызова удаленных процедур на базе, прежде всего, HТTP и XML. Используется для разработки веб-служб.

77

От англ. interoperability – способность различных по архитектуре, аппаратным платформам и средам исполнения систем к взаимодействию.

78

Enterprise Java Beans – спецификация технологии написания и поддержки серверных компонентов в Java.

79

От англ. dot-com, во время роста количества интернет-компаний в конце 1990-х годов, многие из них регистрировались в домене. com, отсюда и название.

80

См., например, список стандартов OASIS для веб-служб.

81

От англ. Data Transfer Object – простой объект без методов (по сути – структура), служащий для передачи состояния между клиентом и сервером.

82

От англ. Interface Definition Language – язык спецификаций интерфейсов, синтаксически близкий к декларациям на C++.

83

От англ. Web Services Description Language – язык описания веб-служб и доступа к ним, основанный на XML.

84

Также называется «ленивой инициализацией», от англ. lazy loading.

85

Одно из основных правил автоматизации предприятий, приписываемое основоположнику кибернетики в СССР В. М. Глушкову, звучит как «Беспорядок автоматизировать нельзя!»

86

Данные опроса BMC Software, 2012 г.

87

Отчёт CA Technologies «The Mainframe as a Mainstay of the Enterprise», 2012 г.

88

Dynamic Data Exchange – механизм взаимодействия приложений в операционных системах Windows и OS/2. Хотя этот механизм до сих пор работает в последних версиях Windows, он давно заменён на OLE, COM и Microsoft OLE Automation.

89

В оригинале звучит как «Don't put all your technical eggs in one basket».

90

От англ. Extract, Transform, Load – пакет для перекачки и преобразования данных между базами.

91

От англ. Open Database Connectivity – программный интерфейс доступа к базам данных, разработанный фирмой Microsoft на основе спецификаций Call Level Interface (CLI). CLI был стандартизован ISO/IEC 9075-3 в 2003 году. Существуют реализации ODBC под UNIX, включая ODBC-драйвер для SQL Server под Linux.

92

От англ. Tabular Data Stream – протокол прикладного уровня, реализующий обмен данными между СУБД и клиентом. Используется в продуктах Sybase и Microsoft.

93

Термин «устройство» в данном контексте примерно соответствует другим часто употребляемым терминам: «архитектура», «дизайн», «концепт».

94

От англ. rich internet application (RIA).

95

От англ. case – пример успешного проекта в терминологии управленцев.

96

Ленинградский Государственный Университет.

97

VAX – 32-разрядная архитектура ЭВМ фирмы DEC, разработка середины 1970-х годов. На базе DEC PDP-11 в СССР была создана линия СМ ЭВМ.

98

Вытесняющая многозадачность – в отличие от корпоративной многозадачности, приложение не способно монополизировать ресурсы операционной системы, поэтому может быть временно приостановлено, а «зависшие» приложения не блокируют остальные.

99

NLM – NetWare Loadable Module – формат серверного приложения под Novell NetWare. До 4-й версии NetWare работали только в нулевом кольце процессов, то есть при сбое могли вызвать крах всей системы.

100

Graphical User Interface – графический интерфейс пользователя, в данном контексте – терминальное приложение.

101

Heap – в непосредственном переводе «куча», область динамически распределяемой во время выполнения программы памяти.

102

Btrieve не является полноценной СУБД, а относится к так называемым менеджерам записей.

103

В терминах СУБД «грязными» называются данные неподтверждённой транзакции. Считав их, вы не можете знать, сохранится ли новое значение или вернётся к предыдущему.

104

Network Data Language, позднее Nienschanz Development Language.

105

Интересно, что если каждую букву аббревиатуры VMS заменить на следующую по алфавиту, то получится WNT, то есть Windows NT. VMS – операционная система компьютеров фирмы DEC, специалисты которой в начале 1990-х годов участвовали в разработке ядра Windows NT.

106

B2B – от англ. business-to-business, шлюз между корпоративными информационными системами.

107

Microsoft Solutions Framework – методология разработки программного обеспечения, предложенная Microsoft. MSF опирается на практический опыт Microsoft и систематизирует управление людьми и процессами софтостроения.

108

Речь идёт прежде всего о переносимости между разными СУБД. Например, версия 7 работала как на файл-серверном «движке», так и с SQL Server.

109

От англ. On Line Analytical Processing, интерактивная аналитическая обработка данных.

110

От англ. gang of four – жаргонное название коллектива авторов первой книги по шаблонам ООП.

111

От англ. mutex, mutual exclusion – «взаимное исключение», одноместный семафор, служащий в программировании для синхронизации потоков.

112

От англ. Computer-Aided Software Engineering – набор инструментов и методов для проектирования программного обеспечения.

113

От англ. ICAM Definition (Integrated Computer-Aided Manufacturing) – семейство методологий для моделирования систем.

114

От англ. entity-relationship model – модель данных, позволяющая описывать концептуальные схемы предметной области.

115

От англ. floppy net – жаргонное обозначения псевдосети передачи информации между устройствами с помощью гибких дисков. В современном варианте звучало бы как «флэшка-нет».

116

От англ. skin – изменяемый внешний вид приложения.

117

От англ. Multidimensional OLAP – многомерная БД во внутреннем оптимизированном формате хранения СУБД.

118

От англ. Relational OLAP – использует реляционную СУБД в качестве многомерного хранилища (иерархии таблиц, управляемых мотором OLAP).

119

От лат. ad hoc – «по месту», решение конкретной проблемы, не предназначенное для какого-либо обобщения.

120

От англ. scrum – одна из активно продвигаемых методик гибкого софтостроения.

121

От англ. Test Driven Development – разработка тестирующего кода одновременно или ранее кода тестируемого.

122

Microsoft Solution Framework – методология софтостроения, опирающаяся на практики Microsoft.

123

От англ. Domain Name System – система доменных имён, в сети TCP/IP позволяет обращаться к серверам по имени.

124

В англоязычной среде Model Driven Architecture (MDA) и Model Driven Development (MDD).

125

От англ. Software Factory.

126

От англ. Model Driven Engineering.

127

От англ. Structured Analysis and Design Technique – методология структурного анализа и проектирования.

128

Более формальное определение – «хрупкий дизайн».

129

См., например, заметку обозревателя PC Week/RE А. Колесова «Научные конференции возвращаются в ИТ».

130

Агрегация в единый поток информации из множества источников: анонсов статей, изменений в блогах и т. п.

131

Джинса (ударение на последнем слоге) – жаргонное название заказной статьи.

132

Англоязычные аналоги plug-in, add-in, module.


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.


SQL: быстрое погружение

Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.


Чистый код. Создание, анализ и рефакторинг

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.


Изучаем Python

Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.


Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.