https://www.rfc-editor.org/materials/abbrev.expansion.txt
RU
Асимптотическая оценка – оценка сложности (скорости/эффективности) алгоритма с увеличением объема обрабатываемых данных, подробнее в отдельной статье
АКС – аудио-конференц-связь,
ACE – автоматизированная система управления
БРП – База Решающих Правил (сигнатур)
ВКС – видео-конференц-связь
Глазковая диаграмма – метод визуальной оценки качества сигнала путем подключения специализированного осциллографа к линии и оценки тестового сигнала/сигналов на качество «эфира».
Основным методом оценки качества высокосортных сигналов (> 10 Gbps) является построение глазковой диаграммы, по практике создания устройств от цифровых решений (ds integrity) полезный инструмент:
-
- Осциллограф, который может померить 50 Gbps (25 GHz) стоит очень дорого, поэтому полноценные глазковые диаграммы оценивают только для RND. Для серийных партий/отгрузок используют значительно более дешевый/быстрый способ, цифровой ‘глазок’ – Integrated Bit Error Ratio Tester (IBERT). По всем lane прогоняет тестовую последовательность и оценивает уровень битовых ошибок на различных режимах (точках семплирования / с разным значением амплитуды) для определения зоны устойчивого сигнала. Для базовой оценки ок, но нет ряда расширенных вещей, которые можно оценить на классической глазковой диаграмме – фронты сигнала.
- Пример интерпретации:
- синий это устойчивый сигнал без битовых ошибок,
- все остальные цвета – сигнал с ошибками в зависимости от их уровня
- Пример интерпретации:
- Осциллограф, который может померить 50 Gbps (25 GHz) стоит очень дорого, поэтому полноценные глазковые диаграммы оценивают только для RND. Для серийных партий/отгрузок используют значительно более дешевый/быстрый способ, цифровой ‘глазок’ – Integrated Bit Error Ratio Tester (IBERT). По всем lane прогоняет тестовую последовательность и оценивает уровень битовых ошибок на различных режимах (точках семплирования / с разным значением амплитуды) для определения зоны устойчивого сигнала. Для базовой оценки ок, но нет ряда расширенных вещей, которые можно оценить на классической глазковой диаграмме – фронты сигнала.
Фро́нтом сигна́ла в электронике называется переход аналогового импульсного сигнала, в частности, цифрового сигнала из состояния «ноль» (нижний уровень) в состояние «единица» (верхний уровень) (нарастание сигнала).
-
- В среднем чем шире глаз, тем лучше😁, но есть и цифровые метрики в осциллографе – запас по перекрытию площади устойчивого приема сигнала (5% так себе, 20% хорошо). Практика хорошего вендора выжимать по максимуму сигнал, хотя по минимуму чтобы просто взлетело при минимальном запасе сделать проще.
- После ее анализа устраняли разные проблемы (которые вытекали в более частые в сравнении с после битовые ошибки на канале связи), например, методы решения как улучшить диаграмму:
- аппаратная доработка – переразводили печатную плату для достижения стабильной работы с различными устройствами (как понимаю модулями SFP); судя по всему на 10G отказывались от штыревых разъемов для SFP, а разъем паяли на плату (планарно) – это давало более качественный сигнал
- подстройкой высокоскоростных интерфейсов (serdes) – можно подстроить сигнал (передний/задний фронт и амплитуду) и благодаря этому можно добиться более качественного уровня сигнала, причем бывали истории когда на 100G интерфейсе производитель SFP модулей в новых партиях менял что-то в топологии устройства и начинал отваливаться один из четырех lane – вытягивали сигнал программно (отгрузка планировалась за три дня до обнаружения проблемы :D)
Глазковая диаграмма — это суммарный вид всех битовых периодов измеряемого сигнала, наложенных друг на друга. Глазковая диаграмма строится путем измерения напряжения в различные моменты времени. На рисунке слева приведены все варианты последовательностей из трех битов и их аналоговое представление. Накладывая эти сигналы друг на друга, получаем глазковую диаграмму. Глазковая диаграмма позволяет быстро и наглядно оценить качество цифрового сигнала, показывая все варианты последовательностей, в т.ч. длинные передачи логических нулей или единиц, которые часто выявляют слабые места в системе. Проведем аналогию. Как правило, в приемнике есть компаратор, который по амплитуде принятого сигнала распознает его как логический ноль или логическую единицу. Чтобы избежать появления ошибок, амплитуда сигнала анализируется только после установления всех переходных процессов. При анализе глазковой диаграммы применяется такой же подход, т.е. пробную точку ставят в середину глазка, где вероятность возникновения ошибки минимальна, особенно при наличии четкой пологой области. По мере приближения к точке пересечения вероятность появления ошибок растет. Заметим, что глазковая диаграмма показывает только параметры сигнала. С помощью нее нельзя обнаружить логические ошибки в алгоритмах или протоколах, а — только ошибки, вызванные большим уровнем помех или искажений в канале передачи. Основными параметрами глазковой диаграммы являются время фронта, время спада, коэффициент раскрытия глазка, высота и ширина глазка, относительная ширина места пересечения. Второй параметр, характеризующий канал связи — это вероятность принятия ошибочного бита, которая вычисляется как отношение количества ошибочно принятых битов к общему количеству принятых битов (BER — bit error ratio). Этот показатель характеризует только качество приема информации, по нему невозможно определить причину плохой работы. Таким образом, ни один из рассмотренных способов не дает полного описания цифрового сигнала. У каждого подхода есть свои недостатки. Так, для современных быстродействующих устройств глазковая диаграмма — слишком поверхностный метод оценки, способный сильно исказить результат. Действительно, выборки для глазковой диаграммы делаются с частотой на несколько порядков меньшей, чем частота передачи. К примеру, осциллограф может делать до 100 тыс. выборок в секунду, однако для сигнала 10 Гбит/с — это очень низкая скорость. Качество передачи сигнала определяется по очень малой доле данных. Следовательно, глазковая диаграмма помогает выявлять в основном систематические ошибки, а не одиночные или редкие события. В итоге у сигнала может быть хорошая глазковая диаграмма, а качество передачи — плохое. Обычно современные системы передачи должны иметь вероятность появления ошибки не ниже 10–12, а часто на уровне 10–15, в то время как глазковая диаграмма отслеживает ошибки только с вероятностью не меньше 10–5. Для устранения этого недостатка существуют два подхода: использовать анализаторы с большей частотой дискретизации, например, тестеры BERT, которые делают выборки в среднем на три порядка больше, чем цифровые осциллографы. Другой вариант — использовать способность анализаторов BERT делать выборки сигнала напрямую, на скорости передачи. Недостаток измерения шума по глазковым диаграммам заключается не только в малом количестве анализируемых данных, но и в том, что сигнал оценивается разными способами. Другими словами, результат будет во многом зависеть от типа используемого инструмента. На практике для более надежного определения уровня шума пользуются несколькими методами поочередно. Для быстрой оценки пригодности системы проводится сравнение с маской (mask testing). Вместо измерения параметров глаза в этом случае определяются ключевые области, в которые передаваемый сигнал не должен попадать (см. рис. 7). В противном случае система признается неработоспособной. В качестве маски может использоваться контур BER. Анализ занимает несколько секунд, однако он, как и глазковая диаграмма, достаточно поверхностный, поэтому позволяет обнаружить только систематические ошибки, а не одиночные события.
ДА – Детектор/Датчик Атак (IPS/IDS)
ДСЧ – датчик случайных чисел
Диаграмма направленности – см. Wifi
Коэффициент корреляции (correlation coefficient) – см. статистику
Размах (range) – см. статистику
Синтаксис – правила написания кода
Семантика – смысл написанного кода
Среднеквадратическое отклонение (СКО) – см. статистику
Программа – исполняемый компьютером код, написанный на каком-то языке.
Процент одного числа от другого – часто есть задача сколько составляет число X от числа Y. Формула расчета простейшая, но зачастую (float, большие значения int) быстрее скопипастить. Удобный калькулятор.
Формула: (x/y) * 100
Перцентиль, процентиль (percentile) – см. статистику
Скриптом – обычно называют короткую программу, которая:
-
- пишется и запускается быстро для решения конкретной задачи или малого количества задач
- обычно пишется на интерпретируемом языке
СЗИ – Сердство Защиты Информации
СКЗИ – Средство Криптографической Защиты Информации
Синтетический сахар – необязательный функционал, но который зачастую делает код красивее/быстрее (напр. list comprehension в python).
СОВ – Система Обнаружения Вторжений
Кодифицировать (codify) – систематизировать, упорядочить
Закрытый контур – закрытый информационный контур, обеспечивающий сбор, хранение, обработку, обмен и представление информации, содержащей сведения, составляющие государственную тайну.
ОТО – объект тестового окружения (средство тестирования + необходимые элементы like свичи/промежуточные девайсы/флешки)
TO – тестовое окружение (совокупность ОТО)
ОТ (DUT) – device under test (объект тестирования)
МСЭ – межсетевой экран
ПАК – программно-аппаратный комплекс
КИИ – критическая информационная инфраструктура
Доверительный интервал – см. статистику
Среднее значение (average/mean) – см. статистику
Средневзвешанное значение (weighed average/mean) – см. статистику
Идемпоте́нтность (лат. idem «тот же самый» + potens «способный») — свойство объекта или операции при повторном применении операции к объекту давать тот же результат, что и при первом ((и не изменять состояние объекта)). Идемпотентный метод – это метод, который будет давать одни и те же результаты независимо от того, сколько раз он вызывается.
– Метод GET является idempotent, поскольку множественные вызовы ресурса GET всегда возвращают тот же ответ.
– Метод PUT является idempotent, так как вызов метода PUT несколько раз обновляет тот же ресурс и не изменяет результат.
– POST не является идемпотентным, а вызов метода POST несколько раз может имеют разные результаты и приведут к созданию новых ресурсов.
– DELETE является idempotent, потому что как только ресурс будет удален, он исчезнет и вызов метода несколько раз не изменит результат
Медиана — см. статистику
Машина Тьюринга, полнота Тьюринга – HLD современных вычислительных систем (работа алгоритма, input/output). Полным называется язык или машина, реализующая эту машину.
EN
3GPP – основная организация по стандартизации – GSM/3G/LTE
ASCII – старая таблица символов. В таблице символ сопоставляется какому то hex числу. Чистый ASCII еще можно встретить, но в целом он замещен Unicode, который обратно совместим с ASCII.
A dying gasp – is a message (or signal) sent by the customer premises equipment (CPE) to equipment managed by an internet service provider to indicate that the CPE has lost power. Also known as last gasp.
Big Endian/Little Endian – последовательность чтения бит одного байта (слева-направо, справа-налево). В сетевых протоколах чаще всего “прямая” (big endian, от старшего к младшему, 123 = 123), для CPU чаще всего “обратная” (little-endian, от младшего к старшему, 123=321). В целом соглашение little-endian поддерживают меньше кросс-платформенных протоколов и форматов данных, чем big-endian. В lscpu можно посмотреть используемый CPU byte order.
~$ lscpu | grep Byte Byte Order: Little Endian
CSV – Comma-Separated Values. Простой формат хранения данных, представляет из себя строки, в которых сегменты текста разделенные запятыми.
CVE – Common Vulnerabilities and Exposures
CTF – Capture The Flag. Соревнования в ИБ.
Datasheet – описывает тех. характеристики оборудования
DMI (Desktop Management Interface) — интерфейс (API), позволяющий программному обеспечению собирать данные о характеристиках компьютера. Используется в утилитах, например dmidecode.
DIY – Do it yourself – сделай сам/своей. Например, в контексте бекап решений – можно сделать решений DIY, а можно использовать существующие продукты для backup.
DUT – Device Under Test (объект тестирования)
Dependency Hell (в windows DLL Hell) – проблема с конфликтом версий библиотек. К примеру одно приложение подтягивает новую версию библиотеки и подменяет ей старую. А другие приложения не знают как с этой новой версией работать. В современных системах проблема почти не встречается – сохраняются несколько версий одной библиотеки
- virtualenv python
- rvm ruby
- в Windows за ними следит SxS (Side-by-side assemblies), разделяемые библиотеки в основном хранятся в C:\Windows\WinSxS, приложение указывает в manifest необходимую ему версию
Elevator pitch — короткий рассказ о концепции продукта, проекта или сервиса (или о себе). Термин отражает ограниченность по времени — длина презентации должна быть такой, чтобы она могла быть полностью рассказана за время поездки на лифте, то есть около тридцати секунд или 100—150 слов.
Кодировки
-
- Любой набор данных в оперативной памяти компьютера должен храниться в виде двоичного числа. Это относится и к строкам, которые состоят из символов (буквы, знаки препинания и т.д.). Когда символ сохраняется в памяти, он сначала преобразуется в цифровой код. И затем этот цифровой код сохраняется в памяти как двоичное число.
- ASCII представляет собой набор из 128 цифровых кодов, которые обозначают английские буквы, различные знаки препинания и другие символы. Например, код ASCII для прописной английской буквы «А» (латинской) равняется 65. Когда на компьютерной клавиатуре вы набираете букву «А» в верхнем регистре, в памяти сохраняется число 65 (как двоичное число, разумеется). На один символ в ASCII отводится ровно 7 бит. Аббревиатура ASCll произносится «аски». Схема кодирования ASCII имеет ограничения, потому что она определяет коды только для 128 символов. Для того чтобы это исправить, в начале 1990-х годов был разработан набор символов Юникода (Unicode).
- Unicode – применение этого стандарта позволяет закодировать очень большое число символов из разных систем письменности: в документах, закодированных по стандарту Юникод, могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы, символы музыкальной нотной нотациии напр. emoji U+1F600. При этом первые 128 кодов таблицы символов Unicode совпадают с ASCII. В Юникод все время добавляются новые символы, а сам размер этой таблицы не ограничен и будет только расти, поэтому сейчас при хранении в памяти одного юникод-символа может потребоваться от 1 до 8 байт. Отсутствие ограничений привело к тому, что стали появляться символы на все случаи жизни. Стандарт состоит из двух основных частей:
- универсального набора символов – перечисляет допустимые по стандарту Юникод символы и присваивает каждому символу код в виде неотрицательного целого числа. Юникод — это не кодировка. Это именно таблица символов. То, как символы с соответствующими кодами будут храниться в памяти компьютера, зависит от конкретной кодировки, базирующейся на Юникоде, например UTF-8.
- семейства кодировок (Unicode transformation format, UTF) – определяет способы преобразования кодов символов для хранения на компьютере и передачи.
- UTF-8 – де-факто стандарт кодирования Unicode символов в байты. Текст использующий только ASCII символы при кодировании UTF-8 может быть прочитан ASCII (причина описана выше в Unicode). Использует переменное количество байт для кодирования символов, в отличии от UTF-16/32. В этом и преимущество (меньшие накладные расходы по памяти) и недостаток (для особых сценариев необходимо линейное сопоставление). Схема распознавания, что символ закодирован не одним байтом (октетом), напоминает классовую адресацию.
Если для кодирования требуется больше одного октета, то в октетах 2-4 два старших бита всегда устанавливаются равными 102 (10xxxxxx). Это позволяет легко отличать первый октет в потоке, потому что его старшие биты никогда не равны 102.
Количество октетов | Значащих бит | Шаблон |
---|---|---|
1 | 7 | 0xxxxxxx |
2 | 11 | 110xxxxx 10xxxxxx |
3 | 16 | 1110xxxx 10xxxxxx 10xxxxxx |
4 | 21 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
ECC (Error correction code) – память с коррекцией ошибок. Чаще всего встречается только в серверах. Стоит дороже.
DAC – Direct Attached Cable – очень удобный кабель для стойки. Недостаток – небольшие расстояния, надо проверять совместимость (справедливо и для просто модулей)
HR – Human Resources – кадры
TY – thanks you
SOHO – Small office home office
SMB/SME – Small and medium-sized business/enterprise
WIP – Work in process (напр. функционал в процессе реализации в посл. версиях)
HA – High Availability
FT – Fault Tolerance
WI – Web Interface
FW – Firewall
LB – Load Balancer
AG – Access Gateway
DPM – Dynamic Power Manager
DRS – Distributed Resource Scheduler
FS – File System
I/O – Input/Output
R/W – Read/Write
OSS/BSS (Operation Support System/Business Support System) — система поддержки операций/система поддержки бизнеса.
- OSS – NMS системы
- BSS – Billing системы
В электросвязи — общее наименование для категории прикладного программного обеспечения внутренних бизнес-процессов операторов связи.
DHA – Directory Harvest Attack – подтип bruteforce атаки для поиска валидных mail адресов. Защита простейшая – отключить на SMTP сервере ответ отправителю вида “invalid recepient” для неизвестных адресатов.
Profiler (профайлер) – инструмент предоставляющий данные на основе динамического анализа чего-либо. Чаще всего используетя для оптимизации.
(англ. Portable Operating System Interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов.
Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем.
SRE – Site Reliability Engineer. Смесь сис. админа, архитектора и системного инженера. Разрабатывает, внедряет и поддерживает крупные проекты типа gmail, google drive. Как любой архитектор всегда рассматривает вопросы масштабирования, надежности и производительности.
SUT – System under test.
LTE – Long Term Evolution (подразумевается что надолго, long term investment? :/)
MSC (mobile switch center) – коммутирует звонки, сигнализация – пейджинг, посылка вызова, контроль посылки вызова. К нему (не напрямую) подключены бс
MJ – media dj – обработка голоса, сжатия.
NOS – Network Operation System – операционная система, управляющая сетевым устройством. Примеры тут.
MNP – Mobile number portability
NBI – Northbound interface (Северный интерфейс) — в программировании это программный интерфейс, с помощью которого приложение представляет низкоуровневые детали вышестоящему в архитектуре системы приложению. Северный интерфейс обычно рисуют наверху архитектурной схемы.
NaN – Not-a-Number, «нечисло». Часто является идентификатором ошибки (там должно было быть число, а пришло что-то другое -> поэтому nan)
SBI – Southbound interface (Южный интерфейс) — в программировании это программный интерфейс, с помощью которого приложение обращается к нижестоящему в архитектуре системы, приложению. Разделяет общее представление на технические детали, в основном характерные для одного компонента архитектуры. «Южные» интерфейсы рисуют внизу архитектурной схемы.
ОКС-7 (Общеканальная система сигнализации 7), SS (Signaling System #7) – основной “протокол” взаимодействия между операторами для телефонных звонков
Bit Rot – в программе все ок, но поменялась среда на которую полагается программа (напр. диски, сайты, таблицы), поэтому программа работает некорректно.
Compiler (компилятор) – транслирует код из одного языка программирования source language (высокоуровневого), в другой язык программирования target language (низкоуровневого, понятного для архитектуры компьютера, на котором запускается). Результирующий код после трансляции и исполняется компьютером. Требуется время для компиляции программы, но в плюсе – скорость работы этой программы (см. компилируемые языки). На разных операционных системах в общем случае (если это не java) используются разные компиляторы, даже если язык и версия одна.
Interpreted languages are not broken into machine instructions beforehand, like compiled languages are.
Programs written in high-level languages can be moved between different computers by using a different interpreter on the new machine or recompiling the code to create a machine language version of the program for the new machine.
Interpreter (Интерпретатор) – интерпретатор передает CPU на исполнение инструкции, конвертируемые им из кода на языке программирования высокого уровня, без компилирования кода в низкоуровневый язык (см. интерпретируемые языки). Программа трансилуется в машинный код построчно и сразу после трансляции исполняется. На разных операционных системах в общем случае (если это не java) используются разные интерпретаторы, даже если язык и версия одна.
Interpreted languages are not broken into machine instructions beforehand, like compiled languages are.
interpret - execute a program in a high-level language by translating it one line at a time.
Programs written in high-level languages can be moved between different computers by using a different interpreter on the new machine or recompiling the code to create a machine language version of the program for the new machine.
Compiled Language (компилируемые языки) – языки, которые нуждаются в компилировании source кода для старта работы. Весь код трансилируется в машинный сразу для последующего исполнения. Достоинство – скорость, недостаток – долгий запуск и тестирование. Примеры: C++, go, objective C.
compile - To translate a program written in a high-level language into a low-level language all at once, in preparation for later execution.
Internet – Interconnected Networks
Interpreted Language (интерпретируемые языки) – языки, которые не нуждаются в компилировании source кода для старта работы. Код передается через интерпретатор на исполнение компьютеру без компиляции. Достоинство – быстрый запуск и тестирование, недостаток – скорость. Примеры: ruby, python, javascript, powershell, sh.
memory leak – утечка памяти. Приложение не отдает часть памяти после использования, в результате чего постепенно отжирает все больше и больше памяти. Метрики утечки описаны тут.
MTTR (mean time to repair) – средняя скорость восстановления работоспособности системы.
Pareto Principle (принцип Парето) – 20% усилий дают 80% результата, а остальные 80% только 20%.
Microsoft noted that by fixing the top 20% of the most-reported bugs, 80% of the related errors and crashes in a given system would be eliminated. The hardest 20% of the code takes 80% of the time. 80% of sales come from 20% of clients 80% of the land in Italy was owned by 20% of the population 20% of the world's population controlling 82.7% of the world's income
Serverless technology – небольшой код который хранится не на твоем сервере, но принадлежит тебе (пример код-академи окна и прочие). Исключает необходимость какой-либо возьни с серверами – ОС, апдейты, огранизация кластеров и проч.
It eliminates infrastructure management tasks such as server or cluster provisioning, patching, operating system maintenance, and capacity provisioning. You can build them for nearly any type of application or backend service, and everything required to run and scale your application with high availability is handled for you.
Operator – символ, которые обозначает операцию (сложение, вычитание, умножение, etc)
operator - A special symbol that represents a simple computation like addition, multiplication, or string concatenation
Operand – значение, с которым работает оператор.
operand - One of the values on which an operator operates.
flow control в программировании – изменение последовательности обработки:
-
- Это может быть branching с помощью if-else (если то-то, то это).
- Это может быть loop с помощью итераций for/loop/each (сделать столько то раз).
\r\n
-
- \r – carriage return, курсор должен быть перемещен в начало строки
- \n – newline separator, курсор должен быть перемещен на новую строку
Wikipedia (wiki) – ненадежный источник информации, не стоит его использовать как reference. При этом использовать reference, на которые идет ссылка в wikipedia – потенциально лучшая практика.
As I teach my students not to use Wikipedia as a reference (e.g. because it is not a stable document), but rather read its sources, I tried to do the same.