По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет! Недавно мы рассказывали про то, как развернуть VoIP лабораторию используя Cisco Packet Tracer. Сегодня мы покажем, как настроить протокол маршрутизации OSPF (Open Shortest Path First) в Packet Tracer. Про сам протокол OSPF можно почтить тут. Создадим такую схему – два маршрутизатора, соединенные друг с другом посредством серийного интерфейса, к каждому подключено по коммутатору, а уже к ним подключаются компьютеры. Видео: протокол OSPF (Open Shortest Path First) за 8 минут Настройка сети Начнем с настройки интерфейсов на роутере. Сначала настроим интерфейс FastEthernet 0/0, который смотрит в сторону коммутатора. Используем команду int fa 0/0 для входа в режим конфигурации интерфейса, ip address [ip_адрес][маска] для того чтобы назначить ему IP адрес, и команду no shutdown для того чтобы включить интерфейс. После этого мы увидим сообщение что интерфейс и протокол теперь находятся в состоянии UP. en conf t int fa 0/0 ip address 192.168.1.10 255.255.255.0 no sh Затем настроим интерфейс Serial 2/0. Тут все тоже самое, но поскольку это интерфейс serial, то мы еще выполняем команду clock rate, чтобы задать скорость в 64000 бита в секунду. Эту команду мы должны выполнить на маршрутизаторе, который является DCE (Data Communication Equipment). Это зависит от того, каким концом подключен serial кабель, так как он не симметричный. Чтобы посмотреть, какая роль у данного порта нужно использовать команду show controllers [интерфейс] , где мы увидим, является он DCE или DTE. en conf t int serial 2/0 ip address 192.168.2.1 255.255.255.0 clock rate 64000 no sh exit Аналогичные настройки проведем для другого маршрутизатора, за исключением того, что он является DTE (Data Terminal Equipment) и использовать команду clock rate не нужно. После этого все интерфейсы должны находиться в состоянии UP и стать зелеными. Теперь присвоим IP адреса компьютерам. Для этого дважды кликнем иконку компьютера, перейдем во вкладку Desktop и нажмем на IP Configuration. В открывшемся окне выбираем опцию static в блоке IP Configuration и задаем необходимый IP адрес, маску и шлюз, в соответствии с нашей схемой. То же самое проделываем и для остальных ПК. После этого можно проверить доступность, используя команду Ping, зайдя на ПК во вкладку Desktop – Command Prompt. Как видно на скриншоте у нас есть доступ до шлюза, который находится в нашей подсети 192.168.1.0/24, есть доступ до интерфейса роутера, находящегося в подсети 192.168.2.0/24, потому что он находится на роутере и поэтому попадает в таблицу маршрутизации, но при этом до другого адреса в этой подсети доступа у нас нет. И у нас нет доступа до подсети 192.168.3.0/24. На данный момент таблица маршрузиации левого роутера выглядит вот так Чтобы это исправить и получить доступ до подсети 192.168.3.0/24 настроим протокол маршрутизации OSPF. Настройка OSFP Запускаем процесс OSPF на первом маршрутизаторе. Для этого используем команду router OSPF [номер процесса] для запуска протокола, и команду network [ip_адрес_сети][wildcard_маска][зона] , в которой мы указываем все подстети, для которых будет работать OSPF. Посчитать обратную (wildcard) маску можно на нашем калькуляторе подсетей. Просто введите обычный адрес и обычную маску, а калькулятор покажет вам wildcard :) en conf t router ospf 1 network 192.168.1.0 0.0.255 area 0 network 192.168.2.0 0.0.255 area 0 network 192.168.3.0 0.0.255 area 0 exit То же самое проделываем на втором маршрутизаторе. Номер зоны должен быть таким же, как и на первом роутере. Как видно на скриншоте, процесс OSPF уже сразу заработал. Теперь можно проверить таблицу маршрутиазции. Как мы видим, теперь все сети появились в таблице маршрутизации. Теперь снова проверим сетевую доступность между подсетями 192.168.1.0/24 и 192.168.3.0/24, используя утилиту Ping. Все пингуется, а это значит, что мы успешно настроили протокол OSPF!
img
Само слово состоит из двух частей - Dev (Development), то есть разработка и Ops (Operations) - эксплуатация. Разработка и эксплуатация. Ок, запомнили. Но что это конкретно? Танец? Напиток? Профессия? Не совсем, девопс - это модель взаимодействия тех, кто пишет код с теми, кто этот код заставляет работать - раскатывает в продакшн, управляет серверами, сетью и вот этим вот всем. Такая профессия называется ДевОпс-инженер Любая компания, которая делает деньги на разработке программного обеспечения, хочет быстро расти, быть технологичнее и быстрее своих конкурентов, при это не забывать о наличии печенек и вкусного чая на кухне в офисе. У серьезных компаний большая и сложная инфраструктура: куча серверов, коммутаторов, маршрутизаторов, и все это еще и раскидано географически по миру. А чтобы код их приложения заработал у пользователей, без лагов, багов и задержек, нужно учесть кучу факторов! До появления методологии DevOps, при разработке, могли возникать случаи, когда что-то не работает, или работает не так, как хотелось бы: «Мой код превосходен, а сервера сконфигурированы хреново, а еще ваша сеть, кхм-кхм, - говно» - говорит разработчик «Сеть работает отлично, задержка в пределах нормы, а вы там что то наговнокодили» - парирует администратор И понеслась. У сетевого администратора не хватало компетенций и информации о том как надо настраивать сервера, в результате чего приходилось подключать для этого разработчиков, у которых в свою очередь не было компетенций админов. Короче, ДевОпс инженер это по сути системный администратор который работает с программным обеспечением, серверами и сетью, а также понимает как происходит процесс разработки и умеет программировать. Новый виток эволюции админа, который умеет больше и, конечно, получает больше денег. Девопс исключит перекидывание мячика из отдела разработки к администраторам, значительно ускорит релизы новых фич и исправлений в продукте, откроет дорогу к легкому масштабированию и повышению надежности инфраструктуры, превратит вашу разработку в полноценный конвейер, даст прохладу, влажность и, скорее всего, силу земли Итак, вот базовые вещи, которые должен знать девопс инженер: Легко ориентироваться в Windows и Linux операционных системах - кстати, по ним у нас есть собственные курсы и никто не помешает тебе пройти бесплатный вводный урок по ссылке. Нужно знать сетевые технологии на уровне Cisco CCNA - вот это совпадение! У нас также есть большой курс по сетевым технологиям, который поможет тебе познать самые нужные сетевые аспекты работы DevOps. ДевОпс должен знать инструменты для управления конфигурацией и автоматизации серверов Chef, Puppet, Ansible. И уметь писать скрипты. Ну минимум на Python. Зачем это надо? Как раз чтобы работать с этими инструментами. Этого достаточно, чтобы уже получать в среднем по РФ 100-200 тысяч рублей! Ну и как видавшие девопсов добавим, что будет отлично так же знать: Про непрерывную интеграцию и доставку (CI/CD) – сборка и тестирование конечного продукта (Jenkins, TeamCity, Bamboo) Распределенный контроль версий (Git, Mercurial, Subversion, CVS) Контейнеризацию и оркестровку (Docker, Kubernetes, Docker Swarm) Управление инфраструктурой как кодом (Puppet, Chef, Ansible, Salt) Виртуализацию (Vagrant, VMware) Подробнее об этих и других инструментах можно прочитать в этой статье.
img
Любое крупное приложение должно сопровождаться несколькими наборами тестов, с помощью которых можно проверить его стабильность и производительность.  Существует большое количество различных тестов, каждый из которых имеет свое назначение и охватывает определенные аспекты приложения. Именно поэтому, когда вы тестируете свое приложение, вы должны убедиться, что ваш набор тестов сбалансирован и охватывает все аспекты.  Однако есть один тип тестов, который разработчики часто предпочитают другим, и поэтому им часто злоупотребляют. Этот «сквозное тестирование» (E2E - end-to-end testing).  Что такое сквозное тестирование? Для тех, кто только начал штурмовать мир тестирования программного обеспечения, E2E-тестирование - это проверка вашего приложения от начала до конца вместе со всеми его зависимостями. При проведении E2E-тестировании вы создаете среду, которая будет идентична той, которую будут использовать реальные пользователи приложения. А затем вы тестируете все действия, которые могут выполнять пользователи в вашем приложении. С помощью сквозного тестирования вы проверяете весь рабочий поток целиком, например, вход на веб-сайт или покупку товара в интернет-магазине.   Если вы будете злоупотреблять E2Е-тестирование, то вы перевернете пирамиду тестирования. Я в такой ситуации был. В одном из своих проектов я планировал охватить большую часть приложения Е2Е-тестами или, что еще хуже, воспользоваться лишь один Е2Е-тест. К счастью, я передумал. Так вот, теперь я хочу поделиться с вами тем, что заставило меня передумать.  Почему не нужно пренебрегать пирамидой тестирования? Хаотично написанные тесты сначала могут показаться вполне пригодными, но в конце концов они таковыми не окажутся.  Мы пишем тесты для того, чтобы выиграть больше времени, и мы делаем это с помощью методы и средства автоматизации тестирования. Конечно, можно было бы самостоятельно открывать приложения и тестировать их вручную. Если бы это нужно было сделать однократно, то проблем не было бы. Но так бывает крайне редко.  Программное обеспечение постоянно обновляется. Поэтому необходимо проводить регулярные тестирования для того, чтобы оставаться в курсе последних событий. Вы, конечно, можете ежедневно запускать все тесты вручную при каждом обновлении приложения. Но если вы один раз напишите набор тестов, а затем будете его запускать каждый раз, когда нужно будет протестировать какой-то из аспектов приложения, то вы сэкономите много времени.  У каждого теста есть свое назначение. Если вы будете использовать их не по назначению, то они могут вам больше навредить, чем помочь. Это связано с тем, что в итоге вы потратите больше времени на то, чтобы написать эти тесты, и на их сопровождение, чем на разработку самого приложения. Иными словами, вы останетесь без одного из самых больших преимуществ автоматизированного тестирования.  Хорошее начало – придерживаться пирамиды тестирования. Она поможет вам определить правильный баланс в тестированиях. Эта пирамида является отраслевым стандартом и используется с середины 2000-х годов по сей день, так как все еще считается эффективной.  Значит ли это, что разработчики никогда не пренебрегают этой пирамидой? Не совсем. Иногда пирамида бывает перевернутой, где большую часть тестов составляют Е2Е, а иногда она бывает похожа на песочные часы, где очень много юнит- и Е2Е-тестов, но с очень мало интеграционных тестов.  Три уровня пирамиды тестирования Как правило, пирамида тестирования имеет три уровня: юнит-тесты, интеграционные тесты и сквозные тесты.  Юнит-тесты Юнит-тесты, или модульные тесты, делают акцент на самых маленьких единицах кода, таких как функции и классы.  Они короткие и не зависят ни от каких-либо внешних пакетов, библиотек и классов. В противном случае, в ход идет имитированная реализация.  Если юнит-тест дает сбой, то найти причину проблемы не так сложно. Они также имеют небольшой диапазон тестирования, что делает их простыми в написании, быстрыми в работе и легкими в сопровождении.  Интеграционные тесты Интеграционные тесты делают акцент на взаимодействии между двумя отдельными объектами. Как правило, они работают медленнее, потому что они требуют более серьезной настройки.  Если интеграционные тесты проваливаются, то найти проблему немного сложнее, так как диапазон ошибок больше. Они также более сложные в написании и сопровождении, в основном потому, что они требуют более продвинутое имитирование и расширенную область тестирования.  Сквозные тесты И наконец, сквозные тесты, или E2E-тесты. Они делают акцент на рабочих потоках, от самых простых до самых сложных. Эти тесты можно рассматривать как многоэтапные интеграционные тесты.  Они самые медленные, потому что они подразумевают сборку, развертывание, запуск браузера и выполнение действий внутри приложения.  Если сквозные тесты проваливаются, то найти проблему часто бывает очень сложно, потому что диапазон ошибок увеличивается до всего приложения. В принципе, по пути могло сломаться все что угодно. Это, безоговорочно, самый сложный тип тестов для написания и сопровождения (из трех типов, которые рассмотрели здесь) из-за огромного диапазона тестирования и из-за того, что они охватывают все приложение.  Надеюсь, теперь вы понимаете, почему пирамида тестирования была спроектирована именно таким образом. Снизу-вверх каждый уровень тестирования говорит о снижении скорости и увеличении диапазона и сложности и усложнении сопровождения.  Именно поэтому важно не забывать о том, что E2E-тестирование не может полностью заменить другие методы – оно лишь предназначено для расширения их возможностей. Назначение Е2Е-тестирования четко определено, и тесты не должны выходить за его границы.  В идеале тесты должны выявлять ошибки настолько близко к корню пирамиды, насколько возможно. Е2Е-тест предназначен для проверки кнопок, форм, изменений, ссылок, внешних процессов и вообще всех функций рабочего потока. Тестирование с кодом VS codeless-тестирование В целом, существует два типа тестирования: ручное и автоматизированное тестирование. Это значит, что мы можем проводить тестирования либо вручную, либо с помощью сценариев.  Чаще используют именно второй метод. Но и автоматизированное тестирование можно разделить на две части: тестирование с кодом и codeless-тестирование.  Тестирование с кодом Когда вы проводите тестирование с кодом, вы используете фреймворки, которые могут автоматизировать браузеры. Один из самых популярных инструментов – это Selenium, но я больше предпочитаю использовать в своих проектах Cypress (только для JavaScript). И тем не менее, работают они практически одинаково.  По сути, с помощью таких инструментов вы моделируете веб-браузеры и даете им указания для выполнения различные действия в вашем целевом приложении. После чего вы проверяете, отреагировало ли ваше приложение на соответствующие действия. Это простой пример имитации, взятый из документации Cypress. Я привел его, чтобы вы могли лучше понять, как работает этот инструмент: Давайте посмотрим, что тут происходит: Допустим, пользователь посещает сайт  https://example.cypress.io   Когда она нажимает на ссылку с пометкой type, URL-адрес должен добавить /commands/actions Если он вводит «fake@email.com» в поле ввода .action-email, тогда ввод .action-email принимает значение «fake@email.com». Codeless-тестирование В ситуации с codeless-тестированием вы используете фреймворки на базе искусственного интеллекта, которые запоминают ваши действия. И основываясь на некоторой дополнительной информации, они проверяют, отвечает ли ваше целевое приложение на действия должным образом.  Эти инструменты часто выглядят как малокодовые платформы для разработки, где вы перемещаете различные панели. Один из таких инструментов – TestCraft, codeless-решение, разработанное на платформе Selenium. Как правило, эти инструменты стоят дороже из-за того, то такие функции, как создание, сопровождение и запуск тестов выполняются с помощью простого перемещения панелей, а также из-за того, что для проведения тесто не нужно уметь писать программный код. Но я упомянул здесь про TestCraft, потому что у них есть бесплатная версия, которая включает в себя практически все.  Конечно, если речь идет о скорости и деньгах, то codeless-решение может оказаться вам больше по душе, но они все еще достаточно новые. Поэтому они пока не могут иметь ту сложность наборов тестов, которой можно достичь, написав код самостоятельно.  Если в целевом приложении есть очень сложные рабочие потоки, которые включают в себя несколько подвижных частей, то вам больше подойдет классический вариант тестирования. Но если сложных потоков нет, то вы можете воспользоваться codeless-решением.  Подведение итогов Написание тестов – обязательное требование для любого приложения. Если вы будете следовать всем правилам и писать наборы тестов исходя из их типов, то они только улучшат ваше приложение, а также их будет довольно просто написать и сопровождать.  Использовать сквозные тесты, как и любые другие, следует только для того, для чего они предназначены. Они предназначены для тестирования рабочего потока приложения от начала и до конца путем воспроизведения реальных пользовательских сценариев. Но помните, что большинство ошибок следует выявлять как можно ближе к корню.   
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59