По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Насколько часто вы попадаете в замкнутый цикл из ошибок при разработке приложения в PHP? Ошибка исчезает, а потом появляется в другом блоке кода, или баги постоянно сменяют друг друга. Самое неприятное обстоятельство - вернуться к багу, который был исправлен несколько часов назад. Когда отлаживание алгоритма начинает приносить раздражение - о конструктивном подходе к задаче можно забыть. Именно для того, чтобы не дать вам забросить перспективную разработку или просто выполнить поставленную задачу, существует возможность использовать PHPUnit тестирование. Что такое PHPUnit тестирование? С Unit или же "модулем" плотно связано понимание процесса тестирования. Модуль - это работающая часть кода, функционал которой можно протестировать автономно. Соответственно, PHPUnit тестирование представляет собой последовательную проверку всех модулей приложения на корректность выполнения их алгоритмов. Тесты можно прописать один раз и впоследствии использовать после внесения любых изменений. Преимущества модульного тестирования Вот несколько неоспоримых преимуществ Unit-тестирования: Оперативная проверка правок. Довольно удобно проверять работоспособность модуля немедленно после его изменения. Операция займет несколько секунд. Облегченная передача кода другому разработчику. Если вы прекратили разработку продукта и ее продолжит другой специалист, то процесс передачи пройдет намного легче. Безопасное редактирование. Если вы боитесь, что изменения модулей могут повлечь за собой глобальную проблему для системы в целом, то без предложенного Unit-тестирования обойтись будет очень сложно. Использование PHPUnit тестирования Использовать модульное тестирование достаточно просто. Ниже будет описано, как установить и запустить первый тест. Установка Элементарный способ установить библиотеку PHPUnit - выгрузить его по каналу PEAR. Для этого нужно вписать: "1 pear config-set auto_discover 1" "2 pear install pear.phpunit.de/PHPUnit" Для пользователей, которые хотят иметь углубленное понимание по этому процессу подойдет ручной вариант установки через официальный сайт PHPUnit. Запуск Любой тест запускается при помощи вызова команды phpunit. Укажите php-файл как в примере ниже: "1 phpunit /path/to/tests/RemoteConnectTest.php" После этого, запущенный тест вернет результат: "1 PHPUnit 2.5 by Aloizii MagaRich" "2 ." "3 Time: 1 second" "4 Tests: 1, Assertions: 1, Failures 0" Итог представляет из себя краткие статистические данные по работе теста, такие как время операции, количество тестов, утверждений и ошибок. Также во второй строке можно заметить знак ".", сигнализирующий о том, что тест завершился успешно. Это общий итог операции. Ниже представлены другие варианты вывода, если тест: "F" - не выполнен. "I" - невозможно закончить. "S" - пропущен. Стандартные тесты Также приведем список стандартных вариантов тестирования, которые можно использовать в 80% ситуаций. Название каждого теста начинается с упомянутого ранее утверждения или Assert: "True/AssertFalse". Используется для выявления корректности значений на соответствие true/false. "Equals". Проверяет равенство. "GreaterThan". Сопоставляет переменные (присутствует большее количество вариаций этого сравнения). "Contains". Тестирует правильность содержания переменной. "Type". Исследует тип переменной. "Null". Проверяет равенство null. "FileExists". Подтверждает существование файла. "RegExp". Тестирует регулярность выражения. Модульное тестирование: почему нет? Почему все разработчики не используют PHPUnit тестирование? Закономерный вопрос, когда дело касается такого эффективного инструмента. Вот несколько распространенных причин: Тестирование затратно по времени. Написание строк с тестом занимает время, которое можно было уделить построению общей структуры приложения. Однако в конечном счете продукт будет дополняться. Несколько часов добавления теста на раннем этапе сэкономит больше времени на стадии доработки или сопровождения. Использовать модульные тесты - скучно. Конечно, прогонять проверку каждого модуля в большой разработке - это рутина, особенно по сравнению с ее созданием. Но поддержка 100% работоспособности - это элемент такта, который может позволить себе только настоящий профессионал. Уверенность в то, что код будет работать без проверок. Возможно, что автор досконально знает свой код и может оперативно исправить любой баг. Однако если с приложением будет работать другой человек, то не факт, что он сможет вникнуть во все нюансы так же быстро. Как можно заметить, все причины, перечисленные выше, скорее, продиктованы ленью и непониманием предмета, нежели практичностью и здравым смыслом.
img
Что такое API? Поскольку мы говорим про REST API, то наше определение API не будет сильно выходить за тематику сетей. Подробнее про API можно прочитать тут. API означает Application Programming Interface. API задает связь между программами для возможности передачи данных. То, что программа имеет API, подразумевает, что она передает часть своих данных для использования клиентом. Клиентом может быть фронтенд часть той же самой программы или другая внешняя программа. Для получения этих данных необходимо отправить структурированный запрос на API. Если запрос удовлетворят желаемым требованиям, то ответ, содержащий данные, будет отправлен туда откуда был сделан запрос. Обычно ответ представлен в формате JSON или XML. В некоторых случаях, для получения доступа к внешнему API, от вас может потребоваться авторизация. Каждый API имеет документацию, в которой говорится какие данные доступны и как структурировать свой запрос для получения правильного ответа. Примеры API Рассмотрим в качестве примера реальную ситуацию. Представьте посещение нового ресторана. Вы пришли, чтобы заказать еду, а поскольку вы здесь впервые, то точно не знаете какие блюда они подают. Официант дает вам меню, в котором можно выбрать, чтобы вы хотели съесть. После того, как выбор сделан, официант отправляется на кухню и приносит вам еду. В данном случае официант - это API, который обеспечивает вашу взаимосвязь с кухней. Документация API - это меню. Запрос выполняется в тот момент, когда вы отмечаете желаемые блюда, а ответ - это блюда, которые вам принесли. Что такое REST? REST означает REpresentational State Transfer (передача состояния представления). Это стандарт, который определяет форму и работу процессов, позволяющих нам взаимодействовать с данными на вебсерверах. Приведенное выше определение может выглядеть не так сложно или «профессионально», как то, что вы могли встретить в интернете, но главное, чтобы вы поняли основную цель REST API. API, который удовлетворяет некоторым или всем шести руководящим ограничениям REST считается RESTful. Мы можем взаимодействовать с серверами при помощи протокола HTTP. Благодаря этим протоколам мы можем Create (создавать), Read (читать), Update (обновлять) and Delete (удалять) данные – также известные как CRUD операции. Но каким образом мы можем выполнять CRUD операции и взаимодействовать с данными на сервере? Мы делаем это, посылая HTTP запросы, и это тот самый момент, когда REST начинает действовать. REST упрощает процесс взаимодействия с сервером, предоставляя различные HTTP методы/операции/команды, с помощью которых можно посылать запросы на сервер. Как взаимодействовать с сервером, используя REST API? Как мы уже обсуждали, REST API облегчает процесс взаимодействия с сервером, предоставляя нам различные методы HTTP запросов. Наиболее распространенные методы: GET: Метод get используется для Чтения данных с сервера. POST: Метод post используется для Создания данных. PATCH/PUT: Метод patch используется для Обновления данных. DELETE: Метод delete используется для Удаления данных. Эти методы предоставлены нам REST, что упрощает выполнение CRUD операций. Таким образом: Создать => POST Прочитать => GET Обновить => PATCH/PUT Удалить => DELETE Если мы хотим сделать запрос на сервер, например, для получения данных, то мы отправляем запрос GET на узел/источник данных на сервере. Узел данных аналогичен URL. Если запрос составлен корректно, то сервер отправит нам в ответ запрашиваемые данные. Также он отправит код состояния, где 200 - это успешное выполнение, а 400 - это ошибка пользователя. Пример запроса на JSONPlaceholder API, используя JavaScript: fetch('https://jsonplaceholder.typicode.com/todos/1') .then(response => response.json()) .then(json => console.log(json)) При выполнении запроса с использованием fetch API по умолчанию используется метод GET, поэтому мы можем не указывать его явно. Но мы должны будем это сделать при использовании других методов. В приведенном выше примере, узел данных - это https://jsonplaceholder.typicode.com, а запрашиваемые нами данные - это один элемент todo. Данные будет получены в JSON формате. Если бы мы использовали запрос POST, тогда бы мы использовали метод POST, а в теле запроса находились бы данные, которые мы создали для отправки на сервер. Для удаления нам потребуется использовать соответствующий запрос, содержащий id элемента todo, который мы хотим удалить. Например: fetch('https://jsonplaceholder.typicode.com/posts/3', { method: 'DELETE', }); Для обновления данных нужно, чтобы запрос содержал id и данные для обновления. Как в этом примере: fetch('https://jsonplaceholder.typicode.com/posts/5', { method: 'PATCH', body: JSON.stringify({ title: 'new todo', }), headers: { 'Content-type': 'application/json; charset=UTF-8', }, }) .then((response) => response.json()) .then((json) => console.log(json)); Заключение В этом руководстве вы узнали, что такое REST и как он помогает нам эффективно взаимодействовать с сервером. Мы дали определение API и рассмотрели пример, который помог объяснить его смысл. Мы также узнали некоторые методы REST для создания, чтения, обновления и удаления данных, хранящихся на сервере.
img
Работа сетевого администратора связана с серьезными обязанностями, и с каждым днем она становится все более сложной! С появлением новых методов взлома и саботажа сети возможности обеспечения комплексной безопасности вашей сети становятся все более узкими для администратора. Именно по этой причине опытному сетевому администратору необходимо иметь в своем арсенале несколько избранных инструментов, которые проверены временем и последовательно обеспечивают безопасность и эффективность сети. Вступление Существует целый ряд инструментов сетевого администратора. Они имеют большой функционал по отладке, пониманию и настройку сетей, поиск уязвимых мест сети после совершения хакерской атаки и т.д. Здесь мы рассмотрим 10 лучших инструментов для сетевого администратора, чтобы преодолеть ряд проблем, обеспечивающих полное спокойствие, следуя ежедневной рутине сетевого администратора. 1 место. Wireshark Wireshark: это кроссплатформенный инструмент с открытым исходным кодом, который также именуется как Sniffer. Он помогает в изучении данных, полученных из реальной сети, а также в изучении слоев пакетов. Он отображает только информацию по обменам пакетов или соединения между IP-адресами. Он также включает в себя функцию под названием "Follow TCP Stream", отслеживающую TCP- соединения и реальное взаимодействие между двумя машинами в одном окне. 2 место. Putty Putty: очень простой легкий инструмент для установки и использования. Очень востребованный инструмент сетевых администраторов. Это лучший инструмент для удаленной настройки. Он инициализирует соединение по telnet, SSH, Serial. Инструмент имеет целый ряд вкладок с настройками, с различными функциональными возможностями и опциями. 3 место. PING PING: это один из главных инструментов, который системный администратор обязательно изучает. Данный инструмент актуален и широко используется в современном мире IT-технологий. Да, это безусловно, необычный выбор внесения в 10 лучших инструментов для сетевого администратора. А все потому что он является одним из первых, среди нескольких десятков тестов, которые мы проводим, чтобы проверить доступность удаленного хоста, функциональность сети. PING: это один из главных инструментов, который системный администратор обязательно изучает. Данный инструмент актуален и широко используется в современном мире IT-технологий. Да, это безусловно, необычный выбор внесения в 10 лучших инструментов для сетевого администратора. А все потому что он является одним из первых, среди нескольких десятков тестов, которые мы проводим, чтобы проверить доступность удаленного хоста, функциональность сети. 4 место. Angry IP Scanner Angry IP Scanner: Это популярный инструмент с открытым исходным кодом. Это бесплатный сетевой сканер, который позволяет эффективно сканировать целый ряд частных, а также публичных IP- адресов. Для быстрого сканирования сетей, инструмент применяет многопоточный подход. Самое интересное то, что он позволяет пользователю экспортировать визуализированные результаты в различные форматы, включая CSV, TXT, XML, файлы списка IP-портов и т. д. 5 место. Notepad++ Notepad++: Notepad ++- это бесплатная, многофункциональная и удобная альтернатива Блокноту. Кроме того, это отличный инструмент экономии времени, поскольку он позволяет записывать макрос, перейдя в меню навигации и воспроизвести его позже. Можно создать столько макросов, сколько потребуется. Между тем, программа позволяет найти изменения в двух документах, в режиме реального времени. 6 место. SolarWinds TFTP Server SolarWinds TFTP Server: один из самых полезных инструментов для сетевого администратора, он предназначен для управления конфигурационными файлами устройств. Он эффективен при распространении патч-программ и обновлении устройств. Этот инструмент требует небольшой объем памяти и занимает очень мало места на диске. Один недочет инструмента состоит в том, что SolarWinds TFTP- сервер не может передавать файл размером более 4 ГБ. Это уменьшает трафик в сети. 7 место. iPerf iPerf: профессиональный сетевой администратор может использовать этот инструмент для активного измерения максимально достижимой пропускной способности в любой IP- сети. iPerf облегчает настройку различных параметров, связанных с протоколами (UDP, TCP, SCTP с IPv4 и IPv6), синхронизацией и буферами. По завершении каждого теста инструмент сообщает различные параметры. Сервер может обрабатывать несколько подключений, а не выходить сразу после каждого отдельного теста. 8 место. Kiwi Syslog Server Kiwi Syslog Server: Kiwi Syslog Server или KSS занял место в нашем списке 10 лучших инструментов для сетевого администратора благодаря своей эффективности в работе с сообщениями сервера. Он помогает пользователю получать сообщения с неограниченного диапазона устройств. Сервер автоматически разделяет журналы на категории: на основе устройств, содержания сообщений и функциональной роли. Вы можете просматривать сообщения из любого места с помощью Kiwi Syslog Web Access Viewer. Он также позволяет настроить фильтры для поиска сообщений на основании содержания, типов сообщений, а также сообщений, отправленных в определенный период времени. 9 место. Nagios Nagios: инструмент мониторинга сетей, предназначен для широкой аудитории. Начиная от фрилансеров, малых и средних предприятий и заканчивая крупными корпорациями. Это бесплатный продукт с открытым исходным кодом. Это один из немногих инструментов, которые могут быть адаптированы к плагинам и фокусируются на мониторинге. Он не обнаруживает автоматически устройства, их необходимо настраивать самостоятельно. 10 место. PRTG Network Monitor PRTG Network Monitor: наконец, в конце нашего списка 10-ти лучших инструментов для сетевого администратора, давайте прольем некоторый свет на инструмент мониторинга сети, который поможет вам в наблюдении за компьютерной системой. PRTG Network Monitoring tool поможет вам повысить эффективность вашей сети, рассчитав количество ресурсов, потребляемых вашим компьютером. Если вы работаете в беспроводной сети, этот инструмент позволяет узнать способ подключения к этой сети. Вывод Рассмотренные продукты позволяют провести мониторинг, отладку, отследить передачу пакетов, произвести удаленную настройку. Некоторые инструменты поддерживают многофункциональность. Выбор за вами. Стабильной работы вашей сети!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59