пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Привет, всем! Сегодня мы с вами поговорим о Maven. Мы начнем с небольшого введения и перечислим некоторые плюсы его использования. После чего мы посмотрим, как его можно установить, а также разберем несколько технических терминов, которые нужно знать новичку. Итак, давайте начнем! Что такое Maven? Apache Maven – это программное обеспечение, предназначенное для управления проектами, и, можно сказать, что это инструмент для сборки проектов. В его основе лежит концепция объектной модели проекта (POM – Project Object Model). Maven может управлять сборкой проекта, отчетностью и документацией за счет основной информации.  Apache Maven – это система сборки, и его задача аналогична Ant – такой же выдающейся системы сборки. Это инструмент управления проектами по разработке программного обеспечения, который привнес в нашу жизнь новую концепцию объектной модели проекта (POM). С помощью Maven разработчики могут автоматизировать процесс создания исходной папки, сортировки и тестирования, а также упаковки и развертывания конечного продукта. Таким образом, вы можете уменьшить количество этапов основного процесса и выполнить сборку за один этап. Для чего нужен Maven? Таким образом, Maven упрощает и стандартизирует процесс сборки проекта. Он позволяет работать совместно над одной задачей и над отдельными задачами, а также с легкостью решать вопросы, связанные с компиляцией, распространением и документацией. Maven увеличивает шансы на повторное использование, а также учитывает большое количество задач, связанных со сборкой проекта. Он оказывает содействие на различных этапах, например, при добавлении jar-файлов в библиотеки проекта, составлении отчетов, выполнении тестов Junits, создании jar, war, ear-файлов в рамках проекта и прочего. Важнейшим аспектом Maven является то, что он используется как репозиторий для управления jar-файлами.  Помимо всего прочего, Maven можно использовать для сборки и управления проектами, написанными на таких языках программирования, как C#, Ruby и др. Давайте взглянем на следующие плюсы использования Maven: Соглашение по конфигурации У него довольно минимальная конфиигурация У него есть контролируемые зависимости Возможность многочисленных/повторных сборок Автоматизация упрощает процесс сборки Управление плагинами, тестирование и разработка Можно запускать тесты Junit и прочие интеграционные тесты Процесс разработки становится более прозрачным Меры предосторожности для проверки состояния каждой сборки Позволяет избежать несогласующихся настроек У всех проектов стандартная унифицированная инфраструктура Архитектура Maven  Если вы сможете понять то, как устроена архитектура Maven, в основе которой лежит POM, то вы сможете понять то, как проходит сборка на понятийном уровне. Вот так выглядит архитектура Maven: Его архитектура отображает полный жизненный цикл сборки, в том числе жизненные циклы, этапы, цели, плагины и прочие задачи, которые возникают еще в самом начале.  В архитектуре Maven перечислены следующие этапы: Первый этап: необходимо настроить Maven, который использует для этого файл pom.xml. Все конфигурации Maven хранятся в этом POM-файле. Второй этап: необходимо загрузить зависимости pom.xml из основного репозитория в локальный. Третий этап: после того, как пользователь начнет свою работу в Maven, он сам начнет предлагать ему различные настройки по умолчанию, так что не нужно добавлять все конфигурации в файл pom.xml. Жизненный цикл сборки в Maven Жизненный цикл сборки – это последовательность шагов, которые необходимы для того, чтобы произвести сборку проекта.  Вот так выглядит схема этапов жизненного цикла сборки: Вот самые важные этапы: Проверка: подтверждаем тот факт, что для сборки есть вся необходимая информация. Компиляция: исходный код компилируется. Компиляция для тестирований: сборка исходного кода для тестирований. Тестирование: запускаются модульные тесты. Упаковка: скомпилированный исходный код преобразуется в доступный формат (jar, war и т.д.). Установка: программное обеспечение устанавливается в локальном репозитории. Развертывание: копируем пакет в удаленный репозиторий. Существует три встроенных в Maven жизненных цикла: Default (стандартный): от этапа проверки до этапа развертывания необходимо пройти 21 этап. Clear (очистка): проект очищаются надлежащим образом, и все файлы, которые были созданы с рамках предыдущей сборки, удаляются. Здесь необходимо пройти три этапа. Site (веб-сайт): на этом этапе создается документация для веб-сайта проекта; здесь необходимо пройти четыре этапа.  Репозиторий в Maven В Maven есть три типа репозитория: Локальный репозиторий: репозитории хранятся на локальном компьютере. Центральный репозиторий: центральный репозиторий – это сообщество Maven, и Maven загружает оттуда все зависимости по мере необходимости.  Удаленный репозиторий: Maven загружает зависимости с веб-сервера.  Преимущества Maven Maven – это один самых популярных инструментов компании Apache Group с открытым исходным кодом, предназначенных для автоматизации сборки и управления. У него есть огромное число преимуществ, которые так нравятся разработчикам программного обеспечения и корпорациям, например, Возможность администрирования всех процессов управления проектом, с том числе процессом создания, документирования, выпуска и распространения.  Уменьшение сложности разработки проекта посредством стандартизации структуры проекта. Совершенствование проектов и повышение эффективности процессов разработки.  Оптимизация качества кода, автоматизация задач, повышение производительности и т.д. за счет интеграции различных плагинов. Автоматическая загрузка jar-файлов и прочих зависимостей. Упрощение процесса создания проекта разработчиком в самых разных обстоятельствах; отсутствие беспокойства по поводу зависимостей, рабочих процессах и т.д. Его система управления зависимостями существенно упрощает интеграцию внешних библиотек, уменьшая при этом вероятность возникновения конфликтов версий и обеспечивая согласованность и надежность сборки. Оптимизация процесса разработки, что, в свою очередь, снижает человеческий фактор и повышает эффективность. Путем эффективного использования этих преимуществ, команды разработчиков могут повысить свою продуктивность и улучшить качество кода. Кроме того, они могут начать поставлять программное обеспечение более высокого качества, привлекая при этом к работе меньшее количество разработчиков.  Настройка среды Maven Для того, чтобы установить Maven, вам нужно выполнить следующее: Проверьте в вашей системе наличие установленного Java; если его нет, установите. Проверьте наличие установленной переменной среды Java; если ее нет, установите. Загрузите Maven. Разархивируйте загруженный файл (все файлы должны быть в одной папке). Добавьте каталог bin созданной папки apache-maven-3.6.2 к переменной среды PATH и системной переменной. Откройте командную строки и запустите команду mvn –v для того, чтобы выполнить установку. На этом все. Мы не хотели делать эту статью слишком простой и, к тому же, нудной, поэтому ниже вы можете найти YouTube-видео с руководством по настройке Maven. В нем вы можете изучить более подробную инструкцию по установке.  Это руководство для начинающих, а, значит, в нем должны быть некоторые технические термины, которые непосредственно связаны с Maven. Вот некоторые самые важные термины: Локальный репозиторий Maven Локальный репозиторий – это папка, в которой Maven хранит все jar-файлы проекта, его библиотеки, зависимости и т.д. По умолчанию, имя папки устанавливается как «.m2», а расположена она в «Libraries/Documents/.m2». Центральный репозиторий Maven Центральный репозиторий – это то место, откуда Maven загружает все библиотеки зависимостей проекта для дальнейшего использования. Сначала Maven проверяет папку локального репозитория .m2, и если он не находит в ней нужную библиотеку, то обращается к центральному репозиторию и загружает ее оттуда в локальный репозиторий, и это касается любой библиотеки, вовлеченной в проект.  POM POM расшифровывается как «Project Object Model» и переводится как «объектная модель проекта». В этой модели содержится вся информация о проекте и параметры конфигурации, которые необходимы Maven для разработки проекта. В ней содержатся значения по умолчанию для большинства проектов. Вот некоторые структуры, которые могут быть определены в рамках POM: зависимости проекта, исполняемые плагины и, конечно, профили сборки. В создании файла pom.xml участвуют следующие элементы: project – это корневой элемент файла pom.xml. modelVersion – версия модели POM, с которой вы работаете. groupId – идентификатор группы проектов. Это уникальное значение, и, как правило, используется идентификатор, связанный с именем корневого пакета Java. artifactId – сообщает название создаваемого вами проекта. Version – номер версии проекта. Если у вашего проекта есть несколько версий, то здесь вы можете указать версию вашего проекта.  Зависимость Зависимости – это библиотеки, которые необходимы проекту. Как и jar-файлы Log4j и Apache Poi, jar-файлы Selenium – это несколько библиотек, которые нужны проекту. Зависимости указываются в pom.xml следующим образом:               com.companyname.groupname         App-Core-lib         1.0       Плагин Surefire Плагин Surefire нужен на этапе тестирования жизненного цикла сборки для того, чтобы реализовать юнит-тесты приложения. Он формирует отчеты в двух различных форматах: обычном текстовом формате и в формате XML-файла, а также в формате файла HTML. Даже если для формирования отчетов вы используете фреймворк Junits или TestNG, вам все равно нужно установить этот плагин, поскольку Maven с его помощью ищет тесты.  Практическое применение Maven Когда вы работаете над каким-то конкретным Java-проектом, и у него есть большое количество зависимостей, сборок, требований, то работа со всем этим может оказаться довольно сложной и утомительной. Именно поэтому использование инструментов, способных выполнять эту работу за вас, может быть очень даже полезным.  Maven – это именно такой инструмент. Он управляет сборкой и может выполнять такие задачи, как добавление зависимостей, использование путей к классу, автоматическое создание war и jar-файлов и многое другое.  Заключение Этот инструмент может оказаться действительно полезным в разработке проектов. Успехов вам в вашем Java-проекте. 
img
    Введение Ну вот наконец-то и начинается цикл статей по непосредственному написанию логики работы Telegram бота. Начнём погружение с достаточно тривиальной задачи ( примерно как “ Hello, World! ” на новом языке программирования), написание эхо бота. Но для начала немного теории!    Немного теории Эхо-бот представляет из себя простого бота, задача которого возвращать пользователю все отправленные им сообщения. На этом с теорией всё, переходим к практике! Установка библиотеки Для написания нашего первого  серьёзного  проекта будем использовать, как уже догадались, библиотеку  aiogram  версией  2.25.1   ( Note:   здесь и в дальнейших статьях я буду все примеры кода запускать в IDE PyCharm и использовать версию  Python 3.9)   Профессионалы могут в своей любимой  IDE  в терминале ввести команду  pip install aiogram==2.25.1 А для тех, кто только учится, необходимо:  Нажать сочетание клавиш  Ctrl+Alt+S Найти меню  Project: “ИмяПроекта”  и нажать на  Python Interpreter Следуем подсказкам  1-2-3 И теперь можно приступать к работе! Set up конфигурация бота Давай напишем самое минимальное, что необходимо будет абсолютно в каждом проекте. Импортируем необходимые файлы из библиотеки aiogram Создаём переменную и присваиваем ей значение токена бота ( Токен это индивидуальный API ключ,  который присваивается каждому боту и необходим для взаимодействия программы с ботом ) Создаём объекты  бота  и  диспетчера.  Объекту  bot  передается в качестве аргумента токен бота, а объекту  dp  в качестве аргумента передается объект  bot. Используем конструкцию  if __name__ == “__main__”: для запуска текущего файла напрямую. Это так называемая  точка входа работы бота. Для запуска постоянного опроса входящих данных со стороны пользователя, используем операцию выполнения:  executor.start_polling( dispatcher = dp). В качестве аргумента передаем нашего диспетчера. Теперь подошли к самому интересному. Обработка  хэндлера сообщений . По своей сути это очередь сообщений, которые бот получает от пользователя. Для их создания будем использовать декоратор. Если не знаешь, что это за страшное слово, то самое время пройти курс  Python с нуля , где сможешь узнать это и многое другое! Хэндлер сообщений пишется следующим образом ->  @dp.message_handler().  За ним в обязательном порядке будет следовать асинхронная функция, в которой будет описан непосредственно функционал, который будет выполняться, после вызова  текущего хэндлера .  async def echo_message(message: types.Message):  Функция должна принимать аргумент с аннотацией типов  types.Message , чтобы мы могли взаимодействовать со входящей информацией от пользователя. Для ответа ботом на сообщения напишим конструкцию:  await message.answer( text =message.text)  Метод  answer  отвечает пользователю текстом, который был указан в аргументе  text .  message.text  содержит в себе сообщение, отправленное пользователем боту. В следующих статьях более глубоко изучаем аргумент  message , какие возможности он представляет, и что хранит в себе. В итоге должна получится следующая программа Бежим проверять как она работает. Запускаем скрипт, переходим в диалоговое окно с ботом. Видим, что при отправке сообщения, в ответ нам приходит тоже самое. Это и есть  эхо бот ! Заключение Вот и положено начало пути разработки ботов.  Дальше нас ждёт много увлекательной и интересной информации.  Исходники скрипта я загружу на свой  GitHub , откуда без проблем можно будет скачать и проверить как работает бот, только не забудь добавить  свой API токен .
img
Данное волокно состоит из стекла или пластика и позволяет передавать сигналы в виде света. Чтобы понять, как передаются сигналы в оптическом волокне, нам сначала необходимо разобраться со способами передачи лучей света. Способы распространения сигналов в оптоволокне Современная технология передачи данных поддерживает два метода распространения света в оптических каналах. Для каждого метода требуются волокна с различными физическими характеристиками. Существуют: Многомодовый Одномодовый Многомодовый режим может быть реализован в двух формах: Step- Index Graded- Index Далее более подробно разберем каждый из двух методов. Многомодовый Это название произошло из-за волокна, по которому могут передаваться большое количество световых лучей, двигающихся через сердечник в различных направлениях. Эти лучи перемещаются внутри кабеля в зависимости от структуры сердечника. Многомодовый Step-Index В многомодовом волокне Step-Index от центра к краям плотность ядра остается постоянной. Луч света проходит через эту постоянную плотность по прямой линии, пока не достигнет границы раздела ядра и оболочки. На границе раздела происходит резкое изменение плотности на более низкую, что изменяет угол преломления луча. Внезапность этого изменения обозначается термином Step-index. На рисунке ниже показаны различные лучи, проходящие через многомодовое Step-Index волокно. Часть лучей в середине проходят по прямым линиям через ядро и достигают цели, не отражаясь и не преломляясь. Часть же лучей ударяются о поверхность раздела ядра и оболочки под углом, меньшим критического угла преломления. Эти лучи проникают сквозь оболочку и пропадают. Тем не менее, другие ударяются о край ядра под углами, превышающими критический угол, и отражаются в ядро и с другой стороны, отражаясь назад и вперед по каналу, пока не достигнут цели. Многомодовый Graded-Index Второй тип волокна называется многомодовым Graded-Index. Это волокно уменьшает искажение сигнала через кабель. Слово индекс здесь относится к индексу преломления, а индекс преломления связан с плотностью. Таким образом, волокно с Graded-Index -это волокно с различной плотностью. Плотность самая высокая в центре ядра и постепенно уменьшается до самого низа на краю. На этом рисунке показано влияние этой переменной плотности на распространение световых лучей. Одномодовый Одномодовое волокно использует режим step-index и сильно зависит от источника света, который использует ограниченный угол преломления света, близкий к горизонтали. Волокно изготавливается с гораздо меньшим диаметром, чем у многомодовых волокон, и с существенно меньшей плотностью (показателем преломления). Уменьшение плотности световых пучков приводит к критическому углу преломления, который приближается к 90 градусам, так чтобы лучи распространялись почти горизонтально. В этом случае распространение различных лучей осуществляется практически одинаково и задержки незначительны. Все лучи поступают на сторону приемника вместе и могут быть рекомбинированы без искажений сигнала. Преимущества оптоволоконного кабеля Помехоустойчивость: для передачи данных не используется электрический сигнал, а используется свет. Электромагнитные излучения не создают помех для передачи данных. Единственная возможная помеха-это внешний свет, который изолируется внешней оболочкой. Меньшее затухание сигнала: расстояние волоконно-оптической передачи значительно больше по сравнению с другими управляемыми средами. Сигнал может проходить на многие километры, не требуя регенерации. Более высокая пропускная способность: по сравнению с коаксиальным кабелем или витой парой, волоконно-оптический кабель может поддерживать значительно более высокую пропускную способность, что увеличивает скорость передачи данных. Существует ограничение на скорость передачи данных и использование полосы пропускания по волоконно-оптическому кабелю, причем не носителем, а доступной технологией передачи и приема данных. Недостатки оптоволоконного кабеля Стоимость: этот кабель дорогой, так как любые нарушения технологии изготовления сердечника могут ослабить передаваемый сигнал. Кроме того, лазерный источник света может стоить огромных денег, по сравнению с сотнями генераторов электрических сигналов. Установка / техническое обслуживание: при наличии шероховатости или трещин в сердечнике оптического кабеля приведет к рассеиванию и затуханию сигнала. Все соединения должны быть идеально сварены. Соединения же медных кабелей могут быть сделаны путем резки и обжима с использованием относительно простых инструментов. Хрупкость: оптоволокно может быть легко сломано, чем медный провод, что делает его не транспортабельным, то есть там, где требуется постоянное перемещение оборудования его использовать нельзя или по крайней мере не удобно.
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59