Подготовка к собеседованию на DevOps
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
в прошлом выпуске Всем привет Меня зовут Андрей Всем привет тогда я предлагаю начать с теоретической такой части по методологии devops и sere Да Андрей Скажи пожалуйста что такое дефопс как ты его понимаешь А вообще какую ценность девопсен все для компании Зачем вообще нужно развивать и внедрять ты назвал сиди Да расскажи пожалуйста что такое зачем это нужно чем отличается Delivery от дипломе просто Спросите знаешь ли ты что такое сырье и вообще чем он отличается Что такое слово супер мы обсудили в принципе все теоретическую
00:00:00 - 00:01:25
часть если кто не против можем переходить к практической Здравствуйте дорогие друзья Меня зовут Антон Павленко я сейчас для нашего канала непростое время ко мне не идут рекламодатели и я не могу купить создание контента но я все равно выпустил это видео благодаря активным подписчикам моего телеграм-канала и бусти так что если ты хочешь чтобы на Ютубе продолжали выходить видео переходи по ссылке в описании подписывайся на мой телеграм-канал и благодаря активностям твоим то есть просмотром постов
00:00:42 - 00:01:51
комментирование будут выходить ролики в том числе и на Ютубе а также смотри ролики на Ютубе Ставь лайк и возможно черные времена закончатся Кстати этот ролик был также записан с помощью активных подписчиков моего telegram-канала ты можешь там влиять на контент а на бустье выкладываю задание для самостоятельного выполнения там уже есть два задания по Баш В общем все ссылки на телеграмм на бусте есть в описании переходи и активничай и продолжай смотреть ролик тут интересно и начать можем тогда первый вопрос пиши пожалуйста
00:01:17 - 00:02:36
этапы загрузки Linux я детально об этот процесс не вникал Я знаю что у линус есть загрузчик который на этапе загрузки файловой системы из бутера сделав читает необходимую операцию минимально для загрузки производит стартовые проверки система является файловая система если что-то не так об этом будет выведено сообщение разной степени точности дальности Вот и если все проверки пройденные уже стартует операционная система в качестве первого процесса на более старых системах стартует и процесс первым
00:01:56 - 00:03:38
более современных это процесса И еще есть второй процесс связанный с потоками операционной системы Я точно не понял называется у него составное имя напротив не работал и дальше уже от этих двух Ну от первого афродистского процесса рождаются остальные процессы стартуют другие службы которые по цепочке другие службы и загружается и позволяет открыть необходимости сессию для интерактивной работы работают все демоны которые были настроены на [музыка] в целом практически все правильно по порядку рассказал
00:02:55 - 00:04:37
вначале там происходит всякие пост проверки затем загружается Bios Bios и дальше загрузка [музыка] запись и выполняется на уровне жесткого диска и гипервизора или здесь включена из всего вообще вот этого штуки по загрузке процессов Конечно хочется задать вопрос как Вообще порождается процесс в операционных системах на базе ядрался подобных системах Это примерно одинаково происходит процесс Ну какой-то процесс в дереве он при помощи метода fog вилки может создать дочерний процесс с определенными параметрами запуска
00:03:54 - 00:05:37
дальше этот дочерний процесс входит поработать находится в состоянии запущена детально не разбирался как этот работает Просто клонирует родительский процесс Ага спасибо за пояснение вот столько процесс запустился он работает над своей задачей дальше зависит от ситуации он может приостанавливаться прессе не хватает ресурсов если сетевой ресурс дисковый ресурс он может приостанавливаться дальше когда этот процесс получается ресурс Он позволяет выполнение и в конечном счете процесс завершает с неким статусом и он
00:04:59 - 00:06:21
становится зомби в ожидании Пока практически процесс прочитает его код возврата и после того как российский процесс Уже процесс завершает свое существование его Месть этом выполнена Если же по ходу выполнения процесса был потерян родительский процесс процесс становится сиротой и как правило это очень сложно отправить Потому что эти процессы усыновляет помочь завершится и возможно и потом заканчивается установление уже проходит Ну а какие бывают состояния процесса запущен это буква Р в состоянии
00:06:09 - 00:07:50
прекращен tпом термина этот здание д котором он ждет ресурс и я помню в этом состоянии мы с ним ничего не можем сделать мы не можем его не убить не остановить не запустить пока не получит И на самом деле это может быть показателем проблем системе то есть мы видим много процессов в этом состоянии это значит система что-то не так провести шутинг и допустим ситуация когда ресурсы Но сегодня в системе очень много Зомби процесс что-то идет не так что каким-то причинам [музыка] не приходит может быть он завис может быть он ему
00:07:13 - 00:08:44
плохо и на основе этого тоже можем Давайте дальше второй вопрос смотри нам приходит разработчик и говорит что у нас сервер лагает Вот как ты будешь проводить анализ производительности Так ну как правило разработчик это ну сообщает на основе его опыт работы с каким-то сервисом который там запущены программы Короче я посмотрел что это за сердце это сервис Он на какой Кости он запустился сервис лагает может быть не в самом сервисом например сеть или с балансировщиком Действительно ли жалобы разработчика
00:08:07 - 00:09:54
соответствует Ну бывает Люди приходят за поддержкой они уже проводят сами первичный анализ делают вывод который они считают проблемы оказывается что так не было полной картины это может быть немножко не так поэтому Если постараться опереть какие именно симптомы видят пользователь и саму попытаться по цепочке пройти чтобы понять Где именно проблема если мы установили что проблема действительно где-то на виртуальной машине первые действия которые даже еще до проверки флогов системы Хорошо если это медленно работа в первую
00:09:13 - 00:10:53
очередь утилиты можно посмотреть общую систему это показатель куда тянутся глаза дальше загрузка Давай сейчас тогда поговорим ты правильно назвал Объясни пожалуйста верхний уровень что это такое Вот показатель загруженности системы динамики за 5 10 за одну пять и 15 минут можно узнать две вещи имея все три числа относительно системы какая она была этому увидеть динамику нагрузка растет бывает или например лично относительно то есть на одних старших действий может быть ужасно Как много на других может быть вообще
00:10:08 - 00:11:59
минимальная нагрузка зависит от числа ядер обычно считается что если у нас ну скажем с теми 24 ядра и на слово значит что виртуальная машина загружена оптимально То есть она работает на сто процентов своих возможностей и без перегрузки и без простоя вот при этом лот эвелиш что очень важно он по-разному считается в операционная системах на базе гидравлинус подобных системах я точно не вспомню все детали отлично значит отладкой где-нибудь на подобной системе по-другому системах не берутся в расчет
00:11:17 - 00:12:52
простой по жесткому Просто если столкнуться надо внимание [музыка] что О чем говорит как он рассчитывается Но не супер глубоко просто что что он берет во внимание чтобы он показать и рассчитать вот эти вот показатели совсем грубо можно сказать что из 204 ядер одно ядро загружено на 100 процентов А другие на один процент будет чуть больше единицы Что Какое состояние процесса входят те процессы которые влияет на Лоо тейлордж входят запущенные исполняет какую-то задачу влияют процессы которые ждут от ресурса скажем Они ждут записи
00:12:05 - 00:13:53
на жесткий диск ждут устройства губы Вот да и ситуации процессор сильно не загружен но процессов Load evage будет высоким Окей я думаю можно заканчивать Да ты дальше говорил о нагрузке на процессор конкретно можешь то есть в этом ключе продолжать по анализу там есть несколько метров там помимо загруженности и простое Idol есть еще и другие Я честно все сейчас не назову их отличие тоже но это вот состояние процессорного времени которое тоже помогают определить как используется виртуальная машина
00:13:20 - 00:14:53
давно туда не залезал и прокомментируя А если сейчас немного помогу И назову 4 Как по мне наверное основных показателя Может быть ты скажешь что не означает это User System Idol и User это процессорное время затраченное на исполнение сервисов прикладного программного обеспечения это демоны которые запущены это какие-то команды которые были запущены администратором то что это нагрузка процессора прикладным по которая есть на этим это Косте а сервисные это обычный показатель для приложения уровня операционной системы
00:14:22 - 00:16:11
то есть командная оболочка и ядрость это внутреннее издержки на обработку юзер команд и насколько я помню Это ожидание доступности процессора на исполнение этих [музыка] команды обработать то мы используем этот показатель для того чтобы посчитать это время и учесть его относительно собственного времени исполнения этих команд на самом деле его уэйт Он говорит про то время когда процесс ожидает дискового ввода вывода То есть это точно Ну хорошо так нагрузку на процессор мы обсудили хорошо А если это дело не в
00:15:21 - 00:17:12
нагрузке не в процессоре как-то что-то дальше будешь смотреть дальше ситуация когда у нас приложение ему нужно больше оно висит ему не хватает такой архитектуры тоже бывает ситуация что белый экран об стрима который это запускал там проблема может быть от того что опять-таки выполнение кода этого приложения с точки где он желтый ресурс и это может быть ресурс скажем сетевой ресурс может быть другой микросервис А может быть обращение к базе данных которая тоже недоступна по какой-то причине и это из-за того что
00:16:26 - 00:17:59
возникла ошибка не обработанная при которой другого сервиса или демона и тайм-аут ответ еще не наступил при этом приложении предусмотрено какое-то отображение прогресса в общем говорить хорошо поговорим о показателях системы Как узнать память диск Да конечно как правило можно проверить количество доступной памяти это может через тот же топ который показывает сколько памяти у нас занята зарезервировался также есть команда Free которая позволяет получить эти данные вот также мы можем посмотреть на своп это вот тоже
00:17:35 - 00:19:32
видно то что не хватает ресурсов Что может быть занятость переполненные переполнена система может перейти во время стояние когда придет Киллер и начнет порядок вообще сервер может уйти в аварийную перезагрузку в такой ситуации бывают загрузку в точку монтирования и диском который к ним подключены сколько там осталось на них место при помощи команды Ду можем посчитать количество пространства в указанный в директории или файле еще просто маленькую Twitter and которая она ставится дополнительно Она позволяет очень быстро установить
00:18:42 - 00:20:10
какой именно файл и в каком месте много места его удалить просто от себя узнал мой шутинг вышел на другой уровень скорость решения проблем возрастное Хорошо я хотел немножко вернуться поговорить вот сейчас слов он актуален нужно его использовать того что есть два подхода к хранению свопа слов в разделе и swap-файле и раньше ну канонически хранился отдельным разделом на диске и потом стал пользоваться файлом и в Москве помню производительности особо Разницы нету но в плане масштабирования SOP который был
00:19:44 - 00:21:12
создан в разделе в виду того как разделах хранятся на диске у нас большая проблема его увеличить и раньше считалось что Размер должен соответствовать размеру оперативной памяти на диске для того чтобы губернацию мы могли сохранить чтобы оперативной памяти поместился но [музыка] при изменении размера величины оперативной памяти был уже сложно увеличить размер свопа дальше когда слов файле это проблема уже не настолько острый и я все Практик все еще встречаются Вот он есть хотя бы какого-то от мира То есть даже все
00:20:37 - 00:22:07
виртуальная машина скажем с 32 гигабайтами от двух гигабайт он присутствует и благодаря нему при мониторинге системы будем что заполняется и он заполнен У нас есть Алерт на то чтобы обратить внимание на этот пост с ним ситуация когда оперативная память не заполнено на 100 процентов но там работает Java Service который в котором было плохо которого было очень ну скажем там работает контроллер и у него была ситуация что уже последний памяти снизу стоп он все держит нужно пойти с ним позаниматься на
00:21:34 - 00:23:03
уровне Java машины скорее всего с ним что-то не так вот как показатель еще один как счет нас Метрика станет виртуальная машина Она по сей день сохраняет актуальность мое мнение Может быть есть счет Поэтому если можете меня подправить пожалуйста не знаю Мне кажется это такая хулигарная тема Потому что есть системы где ну как бы прям не советуют использовать есть ну как бы слов вообще для чего изначально нужен Ну помимо того что он там помогает расширить оперативную память у него не высвободившиеся память помещается
00:22:20 - 00:23:52
некоторые приложения типа ну как бы всё хорошо нам нужен свой повод некоторые например даже кавка которую мы поддерживаем на работе там советуют слов добавлять машины ограничиваем все процессы Киллер конечно Java будет убивать Вот Но что поделать Да ну Мне вообще кажется что смог обучать не нужно и о Просто если приложение выгрузится память свопа и начнется к этим страницам памяти обращаться продолжение просто буквально становится и не думает хорошо не будет возможно есть кейсы которые действительно
00:23:06 - 00:24:37
сталкивался я Вас требую просто его отключал бы всегда Окей контроллер без слопа и у нас пришел он Киллер он же бьет сервис правильно Нужно настраивать правильно он Киллер раз надо дженкинс по Java машине ограничивать Ну как бы делаете так чтобы оперативка у вас не закончилась соседние сервисы [музыка] мудрят То есть их надо или докер или еще что-то возможность настроить так чтобы оно перезагрузилась Окей и еще по памяти хотел спросить по поводу кеширования вот смотри если мы откроем там freeminus M
00:23:54 - 00:25:29
у нас скажем Окей 8 гигабайт оперативной на сервер Вот Мы открываем и мы видим там свободно но пол гигабайта хотя у нас ничего не запущено и мы видим очень много там 6 гигабайт за кэширована вот так вот кэшированная Память она доступна она можно считать ее свободной или нет я могу тут немножко набрать можете доступны только для того сервиса который зафиксировал или Напишите просто система доступны для разных примеру из практики У нас есть сервис работает и для ускорения запросов можем позволить
00:24:59 - 00:26:22
часть оперативной памяти и хранить там для ускорения работы сервис и у нас докажет у нас постоянно загружена процентов но по факту Там просто приложение [музыка] немножко другое процессом при необходимости могут набрать немножко перепутать в принципе все именно так Да что если при -7 кэшированная там именно операционной системой это когда идет чтение какого-то файла И зачем его там еще раз читать из диска когда свободная оперативной память мы можем закошировать да эти дать еще раз да но приложение они имеют
00:25:40 - 00:27:08
максимальный приоритет и сразу же как только понадобится оперативная память кэш отдает страницы которых недоступна процессов это то что мы отдали именно майские Да да это приложение оно не будет отображаться как же как Джава запускается память и столько не нужно но оно всё отжирает что типа ты укажешь хорошо хорошо переходим дальше тогда от дебага сервера к Богу приложения Вот смотри Нам он разработчик дает такой приложение но и все то есть не дает нам никаких конфиги Мы не можем их править конфиги Они находятся в самом внутри
00:26:30 - 00:28:00
приложения проблема еще в том что это приложение не пишет блоки не выставок не в какой-то файл у нас просто из приложения мы его запускаем и оно совершается с кодом не равным нулю Как можно его жить для этого есть инструменты на уровне климакса это стресс Но я честно не доходил до этого уровня не пользовался Но насколько я знаю и можно воспользоваться и смотреть более детально о причинах быть прочитать какой-нибудь файл или ждет ответ другой процесс это увидим сможем Да верно Вполне возможно что просто
00:27:22 - 00:28:51
где-то логин чего-то не добавили Хотя редкости тем не менее что там может быть система либо бывает ситуация когда логин добавили Но скажем в несуществующий раздел и попросту не может записать такой случай когда отмонтировалась шара Да собирался писать второй случай это по классике из давних времен когда сервис имел захардкоженный Windows машин разработчика который попал на хвост и не мог записать путь бизнес формате Это же было круто что ты знаешь стресс потому что он иногда действительно может помочь
00:28:12 - 00:29:40
разобраться углубиться причины там может быть есть и например может быть процесс упирается бывает ограничение количество процессов для пользователей нет съели Зомби процессы Ну да я просто таким не сталкивался Я просто такое бывает так добавлю ты говорил что если ты запрашиваешь процессор не процессор приложения Да ну и балансировщик отдал Ну типа Что упало по лимитам баттв да Или ещё что-то вот там вроде Ну вот ты заходишь Ну предположил у нас одна нода приложение которое запрашивает балансировщик ты
00:28:59 - 00:30:38
заходишь на хост что-то там ну как бы будешь делать в первую очередь в первую очередь я Ну сначала надо было строчке посмотрю на какой пост ты уже понимаешь на балансировке дальше еду на пост смотрю утилиту какие у нас слушаются порты [музыка] слушаем если его нет значит демон недоступен Я за Богу ошибка 502 скорее всего вот собственно я нахожу какой демон слушает данный борт и уже ищу его Look файлы смотрю что там происходит сначала смотрю запустили он если это сервис смотрю статус этого Юнита уже
00:30:04 - 00:32:06
Либо сервис Они во многих если отличие [музыка] системы [музыка] хорошо Идем дальше как процесс могут общаться между собой смогут при помощи сигналов на уровне операционной системы также если это [музыка] еще может быть знаешь правильно вы могут общаться тоже можно взаимодействовать через сокет и клиенты докер Engine и через тоже можно обращаться это не сокет что-то Что такое тогда файл который является интерфейсом между между транспортным уровнем и при одном уровне приложения то есть приложение
00:31:21 - 00:33:29
которое у нас запущено оно Ну tcp тоже тогда является сокетом Ну просто есть тип сокеты А я понял о чем речь я сильно там деталях пример у нас есть PHP fpm и у нас есть способ взаимодействия через unix вообще дальше пути до файла socket.stock и у нас есть возможность указать [музыка] еще как процессы разные могут использовать память как это называется просто смогут выделять память процессы один из видов управляется доступ к и человеком памяти долгого механизма Ну опыт работы с подсказывает что ну
00:33:02 - 00:34:54
там были сервисный вызов который позволяли выделить памяти остаться освободить но то ли это И как это работает когда мы хотим предоставить общий доступ процессом Я честно не помню Угу Ну ладно Давай немножко тогда Вернемся то что ты говорил ты называл сигналы вот тогда скажи пожалуйста что такое сигнал зачем они нужны какие-то знаешь сигналы это вот способы процессам которые позволяют этому процессу что-то сообщить и на практике чаще всего сигналы администрирование сигнала которые или иной степени приблизительности
00:34:48 - 00:36:38
просят процесс завершится Вот и потому что есть сигнал еще для других вещей Просто я с ними назову Потому что есть завершение есть процесс пожалуйста завершить свои дела И работы завершись до тех кто завершить остались и скорее [музыка] хорошо а вот секилл его вообще как работают сигналы поступают процесс сигнал и он его как-то должен правильно обработать Да наступает прерывание которое переводит поток процесса всего программа на программу прерывания и уже там кстати в самом процессе может быть
00:35:42 - 00:37:23
предусмотрено лойка теории можно [музыка] стать процесс Так что он проигнорирует сигнал которым поступил или он какой-то особенно логику который будет не согласен с тем что приходит все равно можно степени при длительности это дело обойти хорошо есть сигнал который нельзя не обработать по моему есть но я могу переплыть Как именно называть потому что на практике с этим не сталкивался и все сразу запомнить мне было сложно откровенно хорошо а как ты считаешь секилл он обрабатываем то есть его можно не
00:37:01 - 00:38:35
обработать его можно проигнорировать в моей практике его обычно всегда хватало Я честно не помню является обрабатываем все что ниже они точно являются честно не помню нельзя проигнорировать в любом случае ну вернее обработать никак нельзя В любом случае он завершается аварийным также как стоп он ровно также не обрабатываемый и останавливает процесс Окей Я думаю с линуксом все дальше мы наверное плетем с вами к сетям Вот давай начнем с базы прям Расскажи пожалуйста стеки теперь [музыка] это базовый набор протоколов благодаря
00:37:53 - 00:39:40
которым мы можем обеспечить взаимодействие друг приложения на Верхнем уровне модели между собой на каждом уровне этой модели благодаря этому набору протоколов можем решить задачу передачи данных Б можем задачу Да хорошо Какие уровни модели теперь объединяет сеансы представления есть сетевой уровень Давай будем называть Тогда сверху вниз вот и назвал прикладной дальше идет у нас дальше нас ждет транспортный уровень дальше сетевой уровень и уровень он теперь называется уровень называется уровень сетевых
00:38:48 - 00:40:30
адаптер там объединены в канале и физический уровень модели как единая целая рассматривается чтобы не углубляться в детали кодирования сигналов Окей хорошо Может быть ты назовешь основные протоколы каждого уровня на прикладном уровне я начну снизу то что там легче там меньше на уровне сетевых интерфейсов обработки протокола как протокол ARP который позволяет нам передавать данные на канале уровне по mac-адресам устройстве находится в одном сегменте на уровне сетевом Это протокол IP который используется для связи разных сетей
00:39:49 - 00:41:33
между собой дальше транспортном уровне это Протоколы которые используются Требуется ли гарантированность доставки работают все что многообразие протоколов предложения всех ненужных очень много зависимости от ситуации Хорошо назови пожалуйста основные отличия между tcp и usdp протокол tcp гарантирует то что отправленное сообщение будет доставлено получателю соответственно это отправка программа в один конец дошла она или не дошла отправителя не проверяет и получать как об этом не сообщает просто получил не
00:40:49 - 00:42:29
получил от ситуации выбирается другой можешь назвать примеры использования прямо сейчас используется на нашем замке видео и аудио потоки которые мы Передаем друг другу они шлюсы твою дипейсе часть пакетов потерялась ничего страшного пойдут следующие актуальной картинкой и звуком и мы прекрасно поймем без необходимости гарантировать доставку каждого сообщения себе же используется ситуация когда [музыка] приложение мы Обращаемся к необходимо скачать весь его контент к себе это клиентское устройство без
00:41:42 - 00:43:19
ошибок для того чтобы установить соединение и скачать мимо ресурсы Ну в принципе поток вещания принципе всего Какой еще отличие это производительность из-за того что мы очень много ресурсов и времени тратим на подтверждение доставки каждого сегмента сообщения это замедляет скорость передачи данных просто потоком сообщение и уже который делать с большей скоростью чем очень тебе хорошо Но тогда мы уже начали говорить вернее ты сказал что устанавливать соединение себе так вот как он устанавливает это соединение
00:42:35 - 00:44:19
tcp соединение устанавливается через рукопожатие при своих то есть там клиент инсценирует подключение посылая запрос дальше когда сервер его получать ответом который считает что клиенты сервер договорились открыть канал будет пока одна из сторон не инициирует процедуру разрывы хорошо что такое маска зачем она нужна маска по сети это инструкция по чтению IP адреса благодаря имя можем узнать какая что в этом ip-адрес является адресом сети и Что является IP адресом OK такой вопрос Какой номер порта
00:43:31 - 00:45:35
используется для Pink коммуникации никакой он не идет на транспортном уровне это происходит на сетевом уровне взаимодействия все так все так хорошо обязательно отвечать сервер должен обязательно ответить или нет Ну может и не ответить то есть скажем если Firewall настроен так чтобы фильтровать трафик то клиент никогда не дождется ответа даже получил нет ситуация он не фильтрует может быть потому что я думаю что ответить потому протокол не ну как не обязательно а правильно Да сатака да может быть это и симбит трафик
00:44:49 - 00:46:36
в том числе Да действительно что Если слишком много запросов и узел не справляется ответы действительно он будет их отбрасывать как собственно и тоже будет их сбрасывать хорошо следующий Тогда вопрос смотри у нас такая проблема сервер получил ip-адрес в диапазоне 169 254 в этой сети говорить Это говорит о том что по факту сервер не смог зарегистрировать либо сети примеру в этой сети нет 10 сервера который начал бы этому адаптеру и при этом адреса которые выдаются по умолчанию того что по факту сетевого взаимодействия быть не может
00:46:02 - 00:47:59
это вот Может на треке принтера или если у нас создана виртуальная машина у которой адаптер никуда не подключены подключен и стоит статическое или классическое Да хорошо вот а как работает когда устройство появляется в сети запрос в поисках с просьбой адрес запрос доходит до 10 отвечает Ну да Так вот я могу немножко добавить Да эти шагов есть такое акроним Дора и это как раз таки по первым буквам запросов сначала идет Discover широковещательный Все правильно сказал клиент отправляет его сервер его
00:47:12 - 00:49:03
получает смотрит в скоб доступных ip-адресов и отвечает клиенту тоже тщательным или как запросом оффер который он предлагает ip-адрес дальше клиент его получается Если все ок клиент отвечает тоже переключателем квест и дальше уже серия получив это три квест Он отмечает что этот ip-адрес он зарезервирован и отвечает клиенту запросами подтверждает Ну вообще по умолчанию он имеет каждую аренда Она имеет продолжительность Да мы можем на уровень 10 сервера по mac-адресу зарегистрировать данный узел зарегистрировать Когда ip-адрес при этом
00:48:37 - 00:50:15
мы можем использовать адрес мне 10 диапазонов прямо адреса там 100 по 120 это дичь теперь диапазон назначается любому зарегистрировался А все постоянные узлы сети сервер выдает из оставшихся диапазона уже для того чтобы их не записывать статические на каждом кости Да хорошо и последний вопрос как вообще работает надпись что это такое технология которая позволяет нам капсулировать использование одной сети позади другой скажем у нас маршрутизатор который есть ядра соц сети которые находятся маршрутизатор и все устройства находят
00:49:34 - 00:51:14
позади маршрутизатора находится в сети этого маршрутизатора при доступе наружу они имеют IP адрес этого маршрута находится за натом и получается что когда внешний сервис взаимодействует с узлом за амортизатором он отвечает на конкретный порт маршрутизатора который уже внутри направляет на ip-адрес и порт компьютер находится внутри да Хорошо Сильно уменьшить пул использования IP адресов в общей глобальности держим локально хорошо а вот зачем тогда вообще Понадобился над Вот ты принципе уже начал говорить Это
00:50:29 - 00:52:09
сейчас по-прежнему популярному 4 который по сути был лаборатории он не был разработан глобальное использование [музыка] мы не можем абсолютно каждому устройству адрес адрес дальше получается что когда мы еще есть это может быть с этим косвенно но очень важно уменьшать поток информационного шума Мы работаем в пределах нашего маршрутизатора нам нет необходимости посылать информацию внутри нашей сети и нет это уже другое это уже просто деление сетей просто проблема заключается в количестве доступных
00:51:21 - 00:53:19
4 А кстати говоря знаешь Примерно сколько это я слышно число назову получается что ну сам IP V4 адрес он стоит из 4 байт и проблема в том что там есть зарезервированные диапазоны там три типа зарезервированных под локальные там есть причинам на практике меньше чем математические позволяет этот протокол что еще больше диапазоны которые зарезервированы их много но они используются причинам вообще получается это его 4 адрес состоит из 32 бит поэтому по сути второе это четыре с небольшими не знаешь
00:52:43 - 00:54:35
5 в там ну ладно не помню ну короче по огромному количеству педрисов приходится уже не страшно хорошо сетями на самом деле все остался небольшой блок по базам данных по нему первый вопрос тоже базовый Что такое ключ в таблице Какие они бывают ключ в таблице это идентификатор записи по которому мы уже можем так что делать первичные и внешние первичные ключ это это элемент записи таблицы данных который [музыка] гарантирует что он уникальный для таблицы и благодаря нему мы можем обращаться к этой [музыка]
00:53:57 - 00:55:54
записи Дело в том что мы скажем имея целое число расходами [музыка] запросы к такой таблице оперируем первичными ключами чем работать с самими значениями вот при этом первичный ключ даже может быть составным например может быть в таблице который используется два поля мы используем не один два н первичный ключ комбинацию из двух небольшая таблица где мы храним там скажем обработки данных и его локацию там может быть что мы используем два поля идентификации мы получаем точный по нему мы получаем ответ одну записи таблица
00:54:57 - 00:56:45
[музыка] И еще есть внешние ключи они позволяют обращаться к данным из других таблицах связывать их например у нас есть Таблица вот скажем центр обработки данных все соды и есть таблица с локациями соды находится Мы хотим получить табличку где у нас там будет название под и информация по кому адрес он находится мы делаем запрос таблички внешним ключом на табличку с локации в котором находится этот [музыка] локация немножко напутал сущность что у нас есть области доступности информацию из трех разных таблиц
00:56:28 - 00:58:33
комбинировать и выводить в одном отчете Окей давай тогда дальше пойдем как защититься от прерывания выполнения команды SQL Но скажем что у нас есть представить банковская до программное обеспечение нам нужно перевести деньги с одного счета на другой Как защитить это для этого используется механизм транзакции данных это прям обязательно функция транзакции транзакции в том что она выполняется либо целиком либо просто так она не применяется вообще благодаря этому можем гарантировать что все запросы из
00:57:51 - 00:59:13
этой транзакции будут нарушена база данных или группы запросов Ну да Хорошо последний вопрос тогда попасть данных как у нас есть табличка И как мы можем увеличить скорость чтения по этой вот большой таблице она у нас растет растет для этого используется механизм индексации мы можем построить индекс по определенным столбцу или группе столбцов данных посетовая СУБД построит в отдельных местах индексы которые позволят ускорить обращение к данным случае сеть индекс построены удачность индексы неудачные это может
00:58:40 - 01:00:28
привести к обратному эффекту и более того нужно учитывать то что при записи данных перестраиваться что тоже занимает время [музыка] можем добиться повышения продолжительности как Селект Join запросов используется [музыка] другим полям Ну да минусы индексов в том что они Я уже сказал при записи требуют перестроения Ну во-первых место на диске что существенность таблица огромная при записи она блокируется и записи уже после записи в том что когда таблица большая неудачно занимать большое время и это негативно
00:59:38 - 01:01:36
скажется на производительности Ну да все так меня еще есть много вопросов и вебу по технологии Продолжение следует
01:00:53 - 01:01:15