По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Вообще, трудно представить жизнь без Интернета. Почти в каждой квартире сегодня есть минимум один Интернет канал будь то оптика, ADLS, мобильный Интернет или даже спутниковый. Если раньше интернет был только на конце провода и, чтобы подключится к глобальной сети нужно было сидеть привязанным к розетке Ethernet кабеля, то сейчас эту проблему решила технология Wi-Fi. Правда, с кабелем было как-то безопаснее, а вот Wi-Fi, если его не настроить нужным образом, не обеспечит нужного уровня надёжности. Другая проблема - мощность сигнала. С кабелем такой проблемы почти нет, особенно на близких расстояниях, но радиоволны -другая природа: они очень капризны. В этом материале речь пойдёт о том, как решить вышеуказанные проблемы. Для начала разберёмся, как и где следует устанавливать Wi-Fi маршрутизатор. В силу того, что радиоволны не очень любят помехи, а в квартире они всегда есть, то здесь нужно найти точку, где сигнал наиболее мощный. Для этого есть и специализированное оборудование, и программы, а самый доступный способ - это ноутбук. Устанавливаете туда специальное ПО, коих полно в интернете, просто в поисковике набираете Wi-Fi analyser, а затем, перемещая Wi-Fi устройство, выбираете оптимальное для вас место. На больших площадях можно подключить ещё одну Wi-Fi точку доступа, но это другая тема. Нужно обратить внимание на то, чтобы рядом с Wi-Fi маршрутизатором не было микроволновок, Bluetooth устройств и другого оборудования, работающего на радиочастотах. Например, микроволновые печи и беспроводные гарнитуры работают на тех же частотах, что и Wi-Fi 2.4 гГц. Поэтому они потенциальная помеха для нормальной работы Wi-Fi. Также следует иметь ввиду, что в многоквартирных домах у соседей тоже стоит Wi-Fi оборудование и, при стандартных настройках рабочие каналы этих устройств пересекаются. Это происходит из-за принципов работы самого устройства Wi-Fi. Дело в том, что основная частота в Wi-Fi маршрутизаторах делится на 13 каналов по 22 MHz каждая, а расстояние между каналами 5MHz. Каждый канал имеет нижнюю, центральную и верхнюю частоты. Когда верхняя частота первого канала пересекается с нижней частотой второго, то получается так называемая интерференция. Но в 2.4 GHz полосе частот есть три канала, которые не пересекаются: 1, 6, 11. Канал Нижняя частота Центральная частота Верхняя частота 1 2.401 2.412 2.423 6 2.426 2.437 2.448 11 2.451 2.462 2.473 Как видно из таблицы, верхние и нижние частоты указанных каналов не имеют общих частот. Поэтому рекомендуется в настройка маршрутизатора вручную выставлять один из этих каналов. На маршрутизаторах TP-Link это делает во вкладке Беспроводной режим (внешний вид интерфейса может отличаться в зависимости от модели оборудования) : Здесь из выпадающего списка каналов выбирается один из указанных выше. По умолчанию стоит Авто. А теперь перейдём к настройкам подключения к Интернету и безопасности. Первым делом рекомендуем сменить имя пользователя и пароли по умолчанию. Это предотвращает несанкционированный доступ к вашему устройству. Делается это на вкладке Системные инструменты->Пароль: Сейчас поговорим о подключении к Интернету, затем опять вернёмся к настройкам безопасности. Почти любое оборудование предоставляет мастера настройки, который позволяет простым кликом мыши настроить доступ в глобальную сеть: Нажимаем Далее и выставляем нужные значения. Тип подключения зависит от провайдера: Здесь в зависимости от вида услуги отмечаете нужную опцию. Если ADSL подключение, то выбираем PPPoE/PPPoE Россия. PPPoE это сетевой протокол канального уровня. Вкратце, здесь организовывается Point-to-Point туннель поверх Ethernet, а уже в туннель инкапсулируется трафик разных протоколов, IP в том числе. Если выбрали Динамический IP-адрес, то мастер переходит к пункту клонирование MAC адреса. Это нужно если вы уже подключались к сети провайдера напрямую через ноутбук, а теперь нужно подключить маршрутизатор. Но чаще всего эта функция не используется: В остальных случаях нужно вводить дополнительные данные. В случае PPPoE это логин и пароль, которые вы получили у провайдера. Далее переходим к настройке беспроводного подключения: После этого мастер переходит к финальному пункту, где просто нужно нажать на кнопку Завершить и настройки начнут применяться. А теперь снова о безопасности. Далее нам нужно отключить WPS. Эта функция позволяет быстро добавлять новые устройства, но такие программы как Dumpper используют эту возможность для взлома беспроводной сети. На первом пункте вкладки Беспроводной режим убираем галочку перед Включить широковещание SSID. В этом случае маршрутизатор не будет вещать свой SSID (название Wi-Fi), тогда вам придётся вручную вводить кроме пароля еще и название сети. Больше движений, зато безопасно. Так как та же программа Dumpper не сможет обнаружить вашу сеть, что усложнит её взлом: На пункте Защита беспроводного режима вкладки Беспроводной режим настраиваются параметры шифрования. Так как на рисунках все подробно описано, не буду вдаваться в подробности каждого пункта. Здесь установлены рекомендуемые настройки для домашней сети (пароль выбираем посложнее) Фильтрация MAC-адресов позволяет ограничивать подключение чужих устройств к вашей беспроводной сети. Выбираем Разрешить доступ станциям, указанным во включённых списках. Затем добавляете MAC-адреса устройств, которым разрешено подключаться к сети. MAC-адреса устройств можно посмотреть в настройках самих устройств или же, если уже подключены к вашей сети, можно просмотреть на вкладке DHCP -> Список клиентов DHCP. На вкладке Безопасность настраиваем разрешения на локальное и удалённое управление Wi-Fi маршрутизатором. Локальное управление лучше ограничивать для устройств, подключенных по Wi-Fi и разрешить только для конкретного устройства и только через физическое подключение. Для этого, если у вас есть ноутбук или ПК узнаем его MAC-адрес. На Windows машинах легче всего сделать это через командную строку набрав команду getmac. Вписываете полученное значение в строку MAC-1: Нажимаем сохранить и всё. Следует быть внимательным если на выводе консоли несколько значений. Если нет никаких виртуальных машин, а вы подключены через Ethernet порт, то перед MAC адресом указывается device id. Ну а если возникнут трудности можете просмотреть через Центр управления сетями и общим доступом на Панели управления, выбрав нужный адаптер и кликнув на кнопке Подробнее в открывшемся окне. Физический адрес и есть MAC-адрес. Удалённое управление лучше отключить: На этом, пожалуй, всё. Это базовые настройки безопасности. При необходимости можно прописать ACL (в зависимости от модели), настроить гостевую сеть, включить родительский контроль. Удачи!
img
Когда речь заходит о веб-фреймворках на Python, то можно смело сказать, что Django и Flask – это два самых популярных. Мы уже писали про фреймворк Django, так что теперь давайте посмотрим на его младшего (но не менее мощного) брата. Итак, что же такое Flask? Flask – это микофреймворк для разработчиков, который позволяет им быстро и просто создавать и масштабировать веб-приложения. Выяснение того, как они это делают, займет чуть больше времени. Для начала мы кратко рассмотрим основные способы использования Python веб-разработчиками в цифровых системах, а затем поговорим о самом микрофреймворке Flask. А далее мы рассмотрим некоторые плюсы и минусы его использования и сравним Flask с его более известным собратом Django. Как разработчики используют Python? Язык программирования Python – это область деятельности не только для ученых и аналитиков данных. Его гибкость – одна из ключевых причин, по которой огромное количество веб-разработчиков изучают его и профессионально используют во всех видах проектов. Преимущественно они используют его для создания мощных серверных веб-приложений, которые могут быстро обрабатывать данные. Они также используют его для таких областей, как сбор данных, машинное обучение и искусственный интеллект. Разработчикам нравится простота использования и эффективность Python, поскольку он позволяет создавать быстро загружаемые и безопасные веб-сайты. Еще до этапа развертывания – Python идеально подходит для проектирования и тестирования прототипов, позволяя выполнять итерации и разработку, быстро достигая финального этапа разработки готового продукта. Если вам нужны более конкретные примеры, то мы нашли некоторые из наиболее известных примеров использования Python от таких компаний, как Netflix, Uber и Spotify. На самом деле есть очень много преимуществ изучения и использования Python для веб-разработки. Когда речь заходит о разработке веб-приложения на Python, то тут есть много разных вариантов, но наверху этого списка находятся именно Django и Flask. А сейчас давайте продолжим и узнаем поподробнее о втором – о Flask. Что такое Flask? Flask входит в топ-20 самых востребованных веб-фреймворков согласно опросу Stack Overflow 2022 года – неплохо для микрофреймворка. Откуда такое признание? В основном от того, что для своей работы он не полагается на какие-либо другие инструменты или программные библиотеки. Flask, которому уже немного больше 11 лет, примерно того же возраста, что и более известный веб-фреймворк Django. Из-за того, что язык Python был назван в честь комедийной труппы Monty Python, то и весь проект Flask изначально задумывался как первоапрельская шутка. Однако Армин Ронахер, создатель, понял, что то, что задумывалось как шутка, может действительно превратиться во что-то реально полезное – подходящую основу для создания веб-приложений. Его название – это обыгрывание названия более раннего веб-фреймворка Bottle. Flask – это то, что известно как фреймворк WSGI. Оно произносится как «виски» и обозначает Web Server Gateway Interface (интерфейс шлюза веб-сервера). По сути, это способ для веб-серверов передавать запросы веб-приложениям или платформам. Flask использует для работы внешнюю библиотеку WSGI, а также шаблонизатор Jinja2. Это готовый фреймворк, что означает, что вы можете без проблем перейти на работу с ним – это одно из его основных преимуществ. Итак, теперь мы знаем, что такое Flask, а значит, пришло время посмотреть, как его используют разработчики. Преимущества и недостатки Flask Преимущества Flask: Масштабируемость Размер – это все, и статус Flask в качестве микрофреймворка означает, что вы можете использовать его для невероятно быстрого развития технического проекта, такого как веб-приложения. Если вы планируете создать приложение, которое будет начинаться с малого формата, но при этом будет иметь потенциал быстрого роста в том числе и в тех направлениях, которые вы еще не полностью проработали, то Flask – идеальный выбор для вас. Его простота использования и малое количество зависимостей позволяют ему работать бесперебойно даже при масштабировании. Гибкость Это основная функция Flask и одно из его самых больших преимуществ. Перефразируя один из принципов дзэн Python, простота лучше сложности, так как ее можно легко перераспределить и переместить. Это полезно не только с точки зрения того, что ваш проект можно легко продвигать в другом направлении, но это также гарантирует, что структура проекта не рухнет при изменении какой-либо ее части. Минималистичность Flask и его способность разрабатывать небольшие веб-приложения означают, что он даже более гибкий, чем Django. Легкость в использовании Как и в случае с Django, способность быстро ориентироваться помогает веб-разработчикам сосредотачиваться только на написании кода, а не на попытках разобраться, как и что работает. Микрофреймворк прост для понимания, и не только экономит веб-разработчикам их время и усилия, но и позволяет им максимально контролировать их код и все, что только можно. Простота Когда этот термин используется в отношении какого-либо инструмента или фреймворка, то речь идет о его конструкции – есть несколько составных частей, которые необходимо собирать и собирать повторно, и он не зависит от большого количества программных расширений для функционирования. Такая конструкция дает веб-разработчикам определенный уровень контроля. Flask также поддерживает модульное программирование, в котором его функциональность можно разделить на несколько взаимозаменяемых модулей. Каждый модуль действует как независимый строительный блок, который может выполнять какую-то часть функциональных возможностей. В общем это означает, что все составные части структуры являются гибкими, подвижными и тестируемыми сами по себе. Документация Согласно теории создателя о том, что «хороший план разработки документации на самом деле заставляет вас писать документацию», пользователи Flask могут найти большое количество структурированных примеров и рекомендаций. Это создает хорошие условия для того, чтобы разработчики использовали фреймворк, так как они могут легко ознакомиться с различными аспектами и возможностями инструмента. Документацию Flask можно найти на их официальном сайте. Недостатки Flask: Небольшое количество инструментов Конечно же есть и некоторые недостатки в простоте этого микрофреймворка. Главный из них заключается в том, что, в отличие от Django, в Flask нет такого большого количества различных инструментов. Это значит, что разработчикам придется вручную добавлять программные расширения, такие как библиотеки. А при добавлении большого количества таких расширений приложение может начать тормозить из-за большого количества запросов. Трудность ознакомления с большими приложениями Из-за того, что разработка приложения с использованием Flask может иметь множество различных тонкостей, веб-разработчик, пришедший к проекту на полпути, может столкнуться с трудностями во время ознакомления с тем, как оно было разработано. Модульная структура микрофреймворка, о которой мы упоминали ранее, может усложнять работу программистов, которым нужно ознакомиться с каждой составной частью. Затраты на техническое обслуживание Поскольку Flask является гибким с точки зрения использования технологий, с которыми он может взаимодействовать, то довольно часто компании, использующие Flask, несут дополнительные расходы на поддержку этих технологий. Например, если технология, взаимодействующая с вашим приложением, устареет или перестанет существовать, то компании придется искать новую технологию, которая будет также совместима с вашим приложением. Чем сложнее приложение, тем выше потенциальные затраты на обслуживание и внедрение. Flask vs Django Скорее всего, вы уже поняли, что эти двое много чем похожи. Все чаще они упоминаются в одном ряду. И Flask, и Django предназначены для того, чтобы разработчикам было легче начать работу с проектами, а также легче масштабировать их в приложения. Они оба просты в развертывании, оба очень просто проводят модульное тестирование и идут вместе с документацией. Предоставление веб-разработчикам возможности более продуктивно писать код именно на Python, а не на других языках, во многом объясняет их популярность. Опрос Python-разработчиков, проведенный JetBrains в 2021 году, показал, что Django и Flask находятся в тупиковой ситуации с точки зрения популярности. Так чем же они отличаются? Применение Полезный совет, позволяющий понять, что и когда использовать, заключается в следующем: Django подходит для больших проектов и для небольших, которые так и останутся ими, а Flask – для небольших приложений, у которых есть перспектива стать больше. Django – это монолит, что значит, что он старается быть полноценным универсальным механизмом для вас и ваших потребностей. Из-за такой своей требовательности это может оказаться не очень оптимально для некоторых разработчиков. В качестве альтернативы, как микрофреймворк, Flask может легко и гибко взаимодействовать с другими инструментами, даже с теми, с которыми вы изначально не планировали работать. С Django вам необходимо будет определить масштаб проекта заранее. Общественная поддержка Flask имеет гораздо меньшее и менее сплоченное сообщество пользователей в сравнении с Django, поэтому, если у вас возник тот или иной вопрос, то у вас гораздо меньше шансов найти ответ на форуме, так как меньше активных пользователей, которые обращаются за помощью. Простой способ проверить - зайти на главный веб-форум Stack Overflow. Проверка форума показала, что против 46 966 вопросов с тегом Flask выступают 273 775 вопросов с тегом Django. Это ни в коем случае не означает, что сообщество Flask полностью мертво. Это лишь значит, что это немного более молодой фреймворк, а, соответственно, и его сообщество. Безопасность В то время как Django может похвастаться отличными функциями аутентификации и входа в систему для пользователей, Flask не может себе такого позволить. Тем не менее, микрофреймворк поддерживает безопасные cookie-файлы на клиентской стороне. В целом, Django считается «полностью укомплектованным» фреймворком и более безопасным. Доступ к базе данных Еще одно ключевое отличие для разработчиков, работающих с базами данных, - насколько Django и Flask поддерживают к ним доступ, в основном объектно-реляционное управление (ORM - Object Relational Management). Объектно-реляционное управление позволяет API легко получать доступ к данным без необходимости писать SQL-команды. Django поддерживает ORM, что позволяет писать сложные запросы. А вот Flask-разработчикам, к сожалению, придется писать все свои SQL-операторы самостоятельно, что, конечно, может добавить лишней работы. Стоимость Flask более гибкий из-за его относительной поворотливости, тогда как Django в целом считается более дешевым в обслуживании с точки зрения эксплуатационных расходов. Мало того, что для работы с Flask требуется дополнительная поддержка из-за ряда технологий, с которыми он работает, так и разработчиков, имеющих опыт работы с ним, найти сложнее, чем тех, кто имел дело с Django. Если говорить о сравнении и принятии решения как предприятием, так и технической командой, что использовать и для какого проекта, то это действительно зависит от специфики и масштаба самого проекта. Но если вы веб-разработчик, который работает с Python, и пытается решить, с каким фреймворком ему лучше познакомиться, то почему бы не сразу с обоими? Знания и опыт развертывания проектов с использованием как Django, так и Flask могут значительно повысить ценность ваших навыков (и потенциально повысить вашу зарплату разработчика полного цикла). Итоги Итак, вот оно: введение в микрофреймворк Flask, включая то, как его использовать, а также плюсы и минусы. Крайне важно, чтобы технические команды знали и понимали, для каких проектов лучше всего подходит Flask, а какие проекты – это работа для более крупного веб-фреймворка Django. В любом случае, любой веб-разработчик, работающий с Python, должен знать, как работать хотя бы с одним из этих двух популярных инструментов.
img
Желание использовать данные с внешних сервисов это вполне обычная практика. Так как многие из этих сервисов доступны по HTTP(S) (REST API, например), то в этой статье мы хотим показать простой способ обращения к этим сервисам по cURL и обработку данных в случае, если сервер вернет JSON. Все взаимодействия будут выполняться из диалплана. Простой cURL запрос В диалплане Asterisk существует функция CURL, которая позволяет получить содержимое WEB или FTP страницы. Синтаксис запроса следующий: CURL(url,post-data) url - URL, к которому мы будем выполнять обращение; post-data - по умолчанию будет выполнен GET – запрос. Если в данном параметре будут указаны различные значения, то будет выполнен POST запрос с указанными в переменной данными; Например: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) Здесь мы выполним GET запрос по указанному URL, а результат сохраним в переменной C_RESULT. Использование HTTPS в запросах Иногда, HTTPS запросы могут не срабатывать, так как удаленная сторона будет проверять наш SSL – сертификат. Если поставить параметр ssl_verifypeer=0, то такой проверки не будет: same => n,Set(CURLOPT(ssl_verifypeer)=0) Как воспользоваться этим в диалплане? Легко. С помощью функции GotoIf мы можем определить действие, которое отработает на базе результата cURL: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) same => n,GotoIf($["${C_RESULT}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Указанный код отправит GET - запрос на rest, в котором в параметре num передаст номер звонящего (можно указать соответствующую переменную диалплана Asterisk). В случае, если результатом выполнения запроса будет 1, то мы перейдем к выполнению шага res1, а противоположном случае, res2. res_json для обработки JSON ответов На самом деле, для API, является обычной практикой возврат ответа в виде JSON. Поэтому, нам следует преобразовать эти данные перед обработкой их. Для этого мы воспользуемся модулем res_json из JSON библиотеки, который создан для расширения базовых возможностей диалплана с точки зрения обработки JSON. Почитайте материал об установке данного модуля по этой ссылке. exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest.json)}) same => n,Set(result=${JSONELEMENT(C_RESULT, result/somefield)}) same => n,GotoIf($["${result}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Для теста, создайте у себя на web – сервере файл rest.json со следующим содержанием: { "result": { "somefield": 1 } }
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59