Архив метки: программирование

Чему должны научиться Java-разработчики в 2021 году

Если вы хотите эффективно работать над Java-проектами в качестве разработчика в этом конкурентном мире, вам следует многому научиться. У вас должно быть много навыков, и то, что вам нужно, зависит от вашей должности. Но согласно последнему опросу о навыках Java-программистов и текущем рыночном спросе, здесь мы обсудим 10 основных вещей, которые Java-программист должен изучить в 2021 году.

 

Основные навыки для Java-программистов

Вы программист на Java или работающий профессионал, желающий перейти на Java? Или вы работающий Java-программист и хотите сделать карьеру занимаясь java разработкой? Тогда эта статья для вас; В 2021 году Java-разработчики должны знать несколько продвинутых инструментов.

 

1. Git

Git — один из основных инструментов для разработчиков JAVA и для каждого разработчика JAVA, который может его изучить. Git используется для управления любым набором проектов с помощью системы контроля версий. Это полностью бесплатная система с открытым исходным кодом. Основное внимание уделяется нелинейным рабочим процессам, целостности и скорости.

Линус Торвальдс основал Git в 2005 году, и вы можете использовать проект Git напрямую, поскольку это полноценная система контроля версий. Мы перечислили некоторые функции Git, чтобы помочь вам узнать о Git больше.

Распределенное расширение: репозиторий помогает Git создавать копию истории разработки.

Подходы к связыванию: Git имеет дизайн на основе набора инструментов, который обеспечивает четко определенную модель.

Дизайн на основе набора инструментов : дизайн на основе набора инструментов помогает уменьшить составную часть.

Сильная поддержка нелинейного расширения: масштабирование и ветвление — два важных фактора, которые предлагает Git. Git обеспечивает мощную поддержку нелинейной разработки.

Хорошо организованное управление крупными проектами: локально хранимый репозиторий помогает прозрачно управлять крупными проектами.

Совместимость с существующими системами и практиками. Существуют различные инструменты публикации, такие как FTP и HTTP, которые являются обязательными для любой технологии. Git также поддерживает эти инструменты публикации.

 

2. Selenium

 

Веб-драйвер Selenium на Java — одна из технологий, которую Java-разработчик должен знать в 2021 году. Selenium предоставляет инструменты для тестирования веб-приложений с использованием тестовых фреймворков. Selenium Web Driver предоставляет API с открытым исходным кодом. Он включает функции автоматизации для веб-приложений. Вот критические элементы Selenium:

  • IDE (интегрированная среда разработки).
  • Дистанционное управление/Selenium 1.0
  • Веб-контроллер/Selenium 2.0/3.0
  • Selenium GRID

 

3. Jenkins

Jenkins — это технология, полученная на основе программирования JAVA, поскольку непрерывная доставка и интеграция с открытым исходным кодом автоматизируют процесс разработки программного обеспечения, который поддерживает различные инструменты контроля версий.

Jenkins сделал свои плагины доступными для интеграции с кодом, написанным на другом языке. Вот три основные причины, по которым вам следует выбрать Jenkins. Он предлагает более качественное программное обеспечение, чем другие.

Поскольку автоматические системы управляют интеграцией, разработка в Jenkins происходит намного быстрее.

 

4. Веб-сервисы REST

REST расшифровывается как «Репрезентативный перевод состояния». Это предложение представляет собой архитектурный стиль и является обязательным для разработчиков Java. Это улучшает производительность веб-службы. Он также определяет ограничения масштабируемости и производительности. Это одна из самых желанных вещей в 2021 году для разработчиков Java.

Рекреационное использование API для общения при разработке веб-сервисов. Если вы знаете HTML, CSS и т. д., Тогда вам пригодятся веб-службы RESTful. Ниже перечислены особенности сервисов RESTful:

Архитектура на основе клиент-сервер обеспечивает такие функции, как администрирование, развертывание и размещение серверов. Он также помогает пользователям пользоваться услугами и ресурсами. По сути, это общая вычислительная модель, в которой используются общие ресурсы.

Отсутствие состояния — одна из основных функций службы REST, когда сервер понимает и предоставляет все данные, составляющие HTTP-запрос REST.

Кэшируемая архитектура — основная причина блокировки веб-API и приложений. Стековая технология не задействована в этой блокировке. Кэширование важно для масштабируемости.

REST API поддерживает несколько серверов в многоуровневой системе, т. е. означает, что можно перенаправить запрос на другой сервер, если один сервер занят. Многоуровневая система обеспечивает быстрое время отклика для клиентов.

Унифицированный интерфейс предоставляет единый идентификатор ресурса (URI) для хранения записей.

REST — это подход к описанию любого веб-сервиса. Он предлагает гибкость, масштабируемость и свободу выбора одной технологии и платформы.

 

5. Spring security

Его основная функция — проверка подлинности приложения. Спецификация сервлета J2EE и спецификация EJB — две ключевые функции безопасности, популярные среди разработчиков JAVA.

Spring Security поддерживает несколько моделей аутентификации. Он интегрируется с различными технологиями, такими как HTTP, Kerberos, JOSSO, CAS, LDAP и т. д. Spring Security напрямую связан с Java, что настоятельно рекомендует разработчикам JAVA изучить его.

 

Продолжение следует …



2021-05-28T16:46:36
Java

10 основных тенденций разработки приложений для Android

Вы предприниматель, который с нетерпением ждет разработки или разработки своего мобильного приложения для Android? Давайте углубимся в некоторые тенденции и статистику.

Когда дело доходит до разработки мобильных приложений, без сомнения, операционная система Android привлекает все внимание, и заслуженное внимание.

Вы предприниматель, который с нетерпением ждет возможности создать или разработать свое мобильное приложение? Если да, то вам наверняка понадобится все подробное понимание последних тенденций в разработке приложений для Android, http://kitapp.pro/apps-for-android/: Разработка мобильных приложений для Android под заказ.

Давайте углубимся в статистику и продолжим читать, чтобы узнать о популярности приложений для Android и тенденциях в этом секторе.

  • Дело в том, что сегодня Android — одна из наиболее востребованных мобильных ОС, которая заняла почти 85% рынка.
  • В Google Store есть более 3,04 миллиона приложений, в том числе веб-браузеры, повседневные инструменты, платформы социальных сетей, сложные игры, корпоративные мобильные приложения и т. д.

Эти цифры четко указывают на то, что разработчикам приложений необходимо знать о самых горячих тенденциях в разработке мобильных приложений и как можно раньше включать их в свои приложения для Android, просто чтобы предоставить пользователям уникальный опыт.

 

Основные тенденции разработки приложений для Android, на которые следует обратить внимание в 2021 году

Приложения для Android продолжают претерпевать неумолимые изменения, в которых в первую очередь доминируют пользовательский опыт и постоянные инновации, вносимые Google. Как предприниматель, вы должны продемонстрировать эти тенденции, чтобы опережать конкурентов.

 

1. Приложения для Android с мгновенным запуском

Хотя мгновенные приложения для Android не очень распространены, медленно и верно эти типы отображения приложений набирают обороты. Приложение Android Instant предоставляет разработчикам программного обеспечения SDK Android Instant Apps и помощник по ссылкам на приложения, который позволяет им создавать мобильные решения с нуля или преобразовывать существующие приложения в приложения Instant Apps.

Рабочий пример такого типа можно увидеть в следующем — приложение Instant позволяет пользователям пробовать разные игры в приложениях, не устанавливая это приложение на устройство, интересно, правда? Преимущество этих приложений в том, что они совместимы со всеми гаджетами, требуют меньше места для хранения и имеют приятный пользовательский интерфейс и пользовательский интерфейс.

Мгновенные приложения — это будущее и одна из самых больших тенденций в разработке мобильных приложений, которая помогает пользователю использовать приложение, фактически не занимая места на своих смартфонах. Это технология, которая призвана радикально помочь и стимулировать внедрение нескольких секторов, таких как электронная коммерция и игры, чтобы обеспечить себе место в основных тенденциях разработки приложений для Android в 2021 году.

 

 2.  Компонент навигации

Навигация относится к множеству взаимодействий, которые позволяют пользователю перемещаться по разным разделам и частям содержимого приложения. Ракеты Android поставляются с компонентами удобной навигации, которая помогает разработчикам реализовывать навигацию. Последствия могут варьироваться от простой кнопки, щелчка до замысловатого шаблона, такого как панель навигации.

Дополнительным преимуществом компонента навигации является то, что он обеспечивает предсказуемое и последовательное взаимодействие с пользователем, поскольку разработчики, реализующие его, следуют заявленным принципам навигации.

 

3.  Технология блокчейн

Технология блокчейн распространялась уже много лет; однако, наконец, он вступил в действие. Технология блокчейн предоставляет расширенные решения для децентрализованной разработки приложений, которые исключают любой несанкционированный доступ и повышают прозрачность.

Согласно прогнозам, к 2026 году среднегодовой темп роста рынка блокчейн-технологий составит 62,73% и составит 52,5 миллиарда долларов. Децентрализованные приложения (Dapps) — это программные приложения на основе смарт-контрактов с открытым исходным кодом, которые выполняют транзакции в блокчейне. Эти приложения работают на децентрализованном блокчейне, и данные в нем нельзя изменить или стереть. Эти приложения — будущее разработки мобильных приложений; они обеспечивают более быструю оплату, надежный учет данных и защиту от несанкционированного доступа.

С помощью технологии блокчейн компания по разработке приложений для Android может поддерживать надежные протоколы безопасности. Это включение быстро становится частью тенденций развития Android, особенно в финансовых сегментах, таких как обмен валюты, банки и т. д.

 

4.   Google Ассистент/чат-бот

В ближайшие годы мы увидим, что многие владельцы бизнеса захотят интегрировать свои службы приложений с Google Assistant. Основное преимущество инвестирования в такую ​​интеграцию состоит в том, что она предоставляет пользователям более быстрые способы прямого доступа к приложению. Используя действия приложения Google, пользователи получают доступ к внутренней ссылке приложения, которая позволяет им выполнять определенные действия внутри приложения с помощью Google Assistant.

Google в 2020 году объявил, что выпустит новую функцию для помощника Google на выставке CES. Новая функция под названием «Запланированные действия» позволит  пользователям общаться со смарт-устройствами через помощника Google, например включать/выключать смарт-устройство, готовить кофе и т. д. Эта функция будет способна управлять 20 домашними устройствами, включая освещение, кофемашины и т. д. Блоки переменного тока и многое другое.

 

Продолжение:



2021-05-19T16:55:40
Программирование

10 основных тенденций разработки приложений для Android. Часть 2

5. Мультиплатформенная разработка с помощью Flutter

Google представила новую технологию под названием Flutter, которая рекламируется как будущее разработки Android . Flutter — это кроссплатформенный фреймворк, который помогает разрабатывать красивые приложения с единой кодовой базой.

Многие разработчики выбрали эту платформу для создания мобильных приложений из-за ее гибкости. Основные причины выбора Flutter заключаются в том, что его легко изучить, он имеет собственный дизайн и т. д.

Это одна из предпочтительных структур для разработки минимально жизнеспособных продуктов. Это означает, что вместо того, чтобы тратить экстравагантность на два разных приложения, вы можете быстро создать приложение на собственных платформах, таких как iOS или Android.

Лучшие мультфильмы — Самые интересные и популярные мультфильмы — Топ 50. https://metarankings.ru/best-cartoons/ — самые интересные и популярные, топ которых составлялся по данным оценок пользователей проголосовавших за тот или иной мультфильм.

 

С последним обновлением Google вывел флаттер за пределы мобильных устройств и в Интернет. Разработчики Flutter теперь могут работать с MacOS, Windows и Linux, а также с другими встраиваемыми устройствами. Поддержка рабочего стола, предоставляемая flutter, также включает плагины, поддерживающие различные платформы.

Новое обновление Flutter и Dart было выпущено со значительными улучшениями производительности по сравнению с его современными выпусками. Flutter подготовлен для создания приложений для iOS, Android, Fuchsia, Интернета и настольных компьютеров с поддержкой новой платформы. Кроме того, они ведут переговоры с приложениями Ubuntu для Linux, Microsoft Android Surface Duo и Windows 10X, которые скоро станут доступны.

Вот некоторые важные достижения Flutter в 2021-2021 годах:

  • уменьшенный размер и задержка
  • менее резкая анимация и более быстрая обработка строк UTF-8
  • поддержка курсора мыши
  • новые виджеты, такие как интерактивное средство просмотра, создающее перо
  • масштабирование и перетаскивание
  • обновлены ползунок диапазона и средство выбора даты
  • интеграция флаттера в текущее приложение сделана совместимым с Pigeon
  • улучшенная справка для Metal на iOS и новые гаджеты Material.

 

6. Интернет вещей

Ключевой тенденцией развития мобильных приложений до 2021 года является внедрение IoT (Интернета вещей). В Android эти тенденции в конечном итоге отражаются во многих вещах Android, которые позволяют разработчикам создавать устройства на основе известных аппаратных платформ, таких как Raspberry Pi. Самое приятное то, что разработчикам не требуется никаких предварительных знаний о встраивании системного дизайна для начала. Вместо этого разработчики могут разрабатывать приложения с помощью Android Studio и Android SDK.

Внедрение 5G откроет двери для большего количества устройств и трафика данных. По некоторым данным, ожидается, что в ближайшие годы технология беспроводной сети 5-го поколения соединит 1,5 миллиарда устройств по всему миру. Также заявлено, что к 2025 году количество подключений к Интернету вещей в мире утроится и достигнет 25 миллиардов, а доходы от Интернета вещей увеличатся в четыре раза до 1,1 триллиона долларов.

При этом IoT будет сосредоточен на разработке умных парковок, уличных фонарей и средств управления дорожным движением, помимо развития гостиничного и промышленного секторов.

 

7. APM и EMM

APM (Application Performance Management) и EMM (Enterprise Mobile Management) — два основных элемента разработки мобильного предприятия. Эти технологии в основном используются для уменьшения медлительности мобильных приложений. С общим ростом тенденций разработки мобильных приложений они стали тестерами качества для мобильных приложений.

С учетом предстоящих тенденций APM будет отражать поведение приложения, измерять статистику для используемых устройств и Oss, а также проверять производительность пользователей, чтобы выяснить, какие функции приложения используются. С переносом ландшафта приложений и бизнес-инфраструктуры в облако, APM также предоставит мощные инструменты для мониторинга ресурсов, используемых приложениями, связывания полученных данных с информацией о пользователях и корректировки производительности с бизнес-процессами .

EMM будет включать в себя управление мобильными устройствами, управление приложениями, упаковку приложений и контейнеризацию, а также несколько компонентов синхронизации и совместного использования корпоративных файлов.

Из контекста работы из дома, EMM выросла во много раз и стремится к автоматизации процессов, оптимизации рабочего процесса, более легкому и плавному обмену данными и обмену данными.

 

8. Макет движения

Макет, используемый разработчиками для управления движением и анимацией виджетов в приложениях. Этот инструмент является частью библиотеки Constraint Layout и совместим с Android 4.0. С помощью этих библиотек команда может быстро заполнить все пробелы между сложной обработкой движения и переходами макета, поскольку эти инструменты, как известно, предлагают высококачественные и полезные функции.

Мы увидим, как разработчики используют Motion Layout для создания нескольких интерфейсов, использующих анимацию, помогая им понять, что происходит с приложением.

 

9. Технология маяков

Предприятия постепенно начали активно использовать технологию Beacon, поскольку она помогает компаниям однозначно ориентироваться на потенциальных клиентов. Маяки — это передающие устройства, которые подключаются к мобильным устройствам в этом конкретном диапазоне. Технология позволяет компаниям отправлять различные уведомления о специальных предложениях, близлежащих отелях и т. д.

Преобразование технологии Beacon из стратегии push-маркетинга в стратегию подписки полезно для многих отраслей. Эту технологию можно применять как в облаке, так и на местах, что помогает ей набирать обороты и способствует ее росту в ближайшие годы.

Уведомления на основе маяков помогают предприятиям связываться со своими пользователями в очень контекстной манере. Тенденция технологии маячков в 2021 году приведет к появлению аэропортов с маячками и мобильных платежей с использованием маяков.

Некоторые компании прогнозируют быстрое развитие и использование iBeacon и других подобных устройств для маркетинга.

 

10. Android Enterprise

В 2021 году цифровая трансформация — это необходимость для предприятий. Инициатива под руководством Google — Android Enterprise помогает сотрудникам использовать приложения Android на рабочем месте. Программа Android Enterprise помогает разработчикам с помощью API-интерфейсов и различных других инструментов, необходимых для интеграции поддержки Android в решения для управления мобильностью предприятия.

 

Заключение

Каждый год появляются новые инновации и идеи, и эти тенденции продолжают катиться взад и вперед. Глядя на вышеупомянутые последние тенденции в разработке приложений для Android , мы, несомненно, можем утверждать, что операционная система Android растет быстрыми темпами, обеспечивая пользователям беспроблемный опыт.

 

Начало:



2021-05-19T16:52:01
Программирование

Настройка прокси-соединения с системой на Java

В сегодняшних сетевых средах, строго корпоративных, разработчикам приложений приходится иметь дело с прокси практически так же часто, как и системным администраторам. В некоторых случаях приложение должно использовать системные настройки по умолчанию, в других случаях будет полезно иметь очень жесткий контроль над тем, что проходит через какой прокси, и где-то посередине большинство приложений будут в восторге от делегирования решения своим пользователям, предоставив им графический интерфейс для настройки параметров прокси, как это имеет место в большинстве браузеров.

Прокси-серверы действуют как интерфейсы между клиентскими приложениями и другими серверами. На предприятии мы часто используем их, чтобы обеспечить контроль над контентом, потребляемым пользователями, обычно за пределами сети.

Настройка прокси-соединения с системой на Java

Подходы:

Мы выясним два способа подключения через прокси-серверы в java, а именно:

  1. Устаревший подход, охватывающий всю JVM и настраиваемый с помощью системных свойств.
  2. Использование класса Proxy, который обеспечивает больший контроль, разрешая настройку на основе каждого соединения.

 

Метод 1: использование глобальной настройки

Java демонстрирует набор системных свойств, которые можно использовать для настройки поведения всей JVM. Этот «универсальный» подход зачастую проще всего реализовать, если он подходит для конкретного случая использования. Мы можем установить необходимые свойства из командной строки во время вызова JVM. В качестве альтернативы мы также можем определить их с помощью System.setProperty () во время выполнения. Вот как их определить с помощью командной строки, как показано ниже:

 

1.1. Устанавливается с помощью аргументов командной строки

Мы можем определить прокси в командной строке, минуя параметры как системные свойства:

java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 com.geeksforgeeks.networking.proxies.CommandLineProxyDemo

 

При запуске процесса таким образом мы можем просто использовать openConnection () для URL без дополнительной работы:

URL url = new URL(RESOURCE_URL);



URLConnection con = url.openConnection();

 

1.2 Настройка прокси с помощью метода System.setProperty ()

Если при использовании командной строки возникают проблемы, есть другой способ сделать это, используя метод System.setProperty (). Для настройки прокси.

System.setProperty(“http.proxyHost”, “127.0.0.1”);  



System.setProperty(“http.proxyPort”, “8080”);  



URL url = new URL(RESOURCE_URL);  



URLConnection con = url.openConnection();  



// …

 

Если мы затем вручную отключим соответствующие системные свойства, прокси больше не будет использоваться:

System.setProperty(“http.proxyHost”, null);

 

Теперь вместе с этим возникают ограничения глобальной конфигурации, описанные ниже.

  • Подход с глобальной конфигурацией — это самый простой способ определить прокси, но у этого подхода есть определенные ограничения.
  • Этот подход обеспечивает реализацию на уровне JVM, поэтому настройки, определенные для конкретного протокола, активны в течение всего срока службы JVM или до тех пор, пока мы не отключим их вручную.

Примечание
Чтобы обойти это ограничение, может быть привлекательно включать и выключать настройки, если это необходимо. Но необходимо принять меры для защиты от проблем параллелизма в многопоточной программе.

 

Таким образом, в качестве альтернативы Proxy API более эффективен и обеспечивает больший контроль над конфигурацией прокси. В качестве альтернативы Proxy API обеспечивает более детальный контроль над конфигурацией прокси. Это рождает другой подход, который через Proxy API.

 

Метод 2: использование прокси API

Класс Proxy дает нам гибкий способ настройки прокси для каждого соединения. Если существуют какие-либо существующие настройки прокси для всей JVM, настройки прокси на основе подключения с использованием класса Proxy переопределят их. Вот три типа прокси, которые мы можем определить по типу прокси:

  1. HTTP  — это прокси, использующий протокол HTTP
  2. SOCKS — это прокси, использующий протокол SOCKS.
  3. DIRECT — это явно настроенное прямое соединение без прокси.

(A) Использование прокси-сервера HTTP

Чтобы использовать HTTP-прокси, мы сначала оборачиваем экземпляр SocketAddress с помощью Proxy и типа Proxy.Type.HTTP. Затем мы просто передаем экземпляр Proxy в URLConnection.openConnection ():

URL weburl = new URL(URL_STRING);



Proxy webProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(“127.0.0.1”, 8080));



HttpURLConnection webProxyConnection = (HttpURLConnection) weburl.openConnection(webProxy);

 

Теперь мы подключимся к URL_STRING, но затем направим это соединение через прокси-сервер, расположенный по адресу 127.0.0.1:8080.

(B) Использование ПРЯМОГО прокси

У нас может возникнуть потребность напрямую подключиться к хосту. В этом случае мы можем явно обойти прокси, который может быть настроен глобально, с помощью статического экземпляра Proxy.NO_PROXY. По сути, API создает для нас новый экземпляр Proxy, используя Proxy.Type.DIRECT в качестве типа:

HttpURLConnection directConnection = (HttpURLConnection) weburl.openConnection(Proxy.NO_PROXY);

 

(C) Использование прокси-сервера SOCKS

Прокси-сервер Socks работает аналогично варианту HTTP при работе с URLConnection. В прокси Socks сначала мы оборачиваем экземпляр SocketAddress прокси, используя тип Proxy.Type.SOCKS. После этого экземпляр Proxy передается в URLConnection.openConnection.

Proxy socksProxy  = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(“127.0.0.1”, 1080));



HttpURLConnection socksConnection = (HttpURLConnection) weburl.openConnection(socksProxy);

 

Также можно использовать прокси-сервер SOCKS при подключении к сокету TCP. Сначала мы используем экземпляр Proxy для создания Socket. После этого мы передаем целевой экземпляр SocketAddress в Socket.connect () следующим образом:

Socket proxySocket = new Socket(socksProxy);



InetSocketAddress socketHost = new InetSocketAddress(SOCKET_SERVER_HOST, SOCKET_SERVER_PORT);



proxySocket.connect(socketHost);

 

Пример:


// Java-программа для создания простого прокси-сервера

  

// Импорт классов ввода вывода

import java.io.*;

// Импорт

import java.net.*;

  

public class SimpleProxyServer {

    public static void main(String[] args)

        throws IOException

    {

        try {

            String host = "Ваш прокси сервер";

            int remoteport = 100;

            int localport = 111;

            // Печать сообщения о запуске

            System.out.println("Starting proxy for " + host

                               + ":" + remoteport

                               + " on port " + localport);

            // И начните запускать сервер

            runServer(host, remoteport,

                      localport); // never returns

        }

        catch (Exception e) {

            System.err.println(e);

        }

    }

  

    /**

     * запускает однопоточный прокси-сервер на указанном

     * локальном порту. Он никогда не возвращается.

     */

    public static void

    runServer(String host, int remoteport, int localport)

        throws IOException

    {

        // Create a ServerSocket to listen for connections

        // with

        ServerSocket ss = new ServerSocket(localport);

  

        final byte[] request = new byte[1024];

        byte[] reply = new byte[4096];

  

        while (true) {

            Socket client = null, server = null;

            try {

                // Дождитесь подключения на локальном порту

                client = ss.accept();

  

                final InputStream streamFromClient

                    = client.getInputStream();

                final OutputStream streamToClient

                    = client.getOutputStream();

  

                // Установите соединение с реальным сервером.

                // Если мы не можем подключиться к серверу,

                // отправьте сообщение об ошибке клиенту, отключитесь

                // и продолжайте ждать подключения.

                try {

                    server = new Socket(host, remoteport);

                }

                catch (IOException e) {

                    PrintWriter out

                        = new PrintWriter(streamToClient);

                    out.print(

                        "Proxy server cannot connect to "

                        + host + ":" + remoteport + ":n"

                        + e + "n");

                    out.flush();

                    client.close();

                    continue;

                }

  

                // Получить потоки сервера.

                final InputStream streamFromServer

                    = server.getInputStream();

                final OutputStream streamToServer

                    = server.getOutputStream();

  

                // поток для чтения запросов клиента

                // и передачи их на сервер. Отдельный

                // поток для асинхронного.

                Thread t = new Thread() {

                    public void run()

                    {

                        int bytesRead;

                        try {

                            while ((bytesRead

                                    = streamFromClient.read(

                                        request))

                                   != -1) {

                                streamToServer.write(

                                    request, 0, bytesRead);

                                streamToServer.flush();

                            }

                        }

                        catch (IOException e) {

                        }

  

                        // клиент закрыл соединение

                        // с нами, поэтому закройте наше

                        // соединение с сервером.

                        try {

                            streamToServer.close();

                        }

                        catch (IOException e) {

                        }

                    }

                };

  

                // Запустите поток запросов от клиента к серверу

                // запуск

                t.start();

  

                // Прочитайте ответы сервера

                //  и передайте их обратно клиенту

                int bytesRead;

                try {

                    while ((bytesRead

                            = streamFromServer.read(reply))

                           != -1) {

                        streamToClient.write(reply, 0,

                                             bytesRead);

                        streamToClient.flush();

                    }

                }

                catch (IOException e) {

                }

  

                // Сервер закрыл свое соединение с нами,

                // поэтому мы закрываем наше соединение с нашим клиентом.

                streamToClient.close();

            }

            catch (IOException e) {

                System.err.println(e);

            }

            finally {

                try {

                    if (server != null)

                        server.close();

                    if (client != null)

                        client.close();

                }

                catch (IOException e) {

                }

            }

        }

    }

}

 

Вывод:

Настройка прокси-соединения с системой на Java

 

Заключение

В соответствии с выводом мы выясняем, как работать с прокси-серверами в ядре Java. Сначала мы рассмотрели более старый, более глобальный стиль подключения через прокси-серверы с использованием системных свойств. Затем мы увидели, как использовать класс Proxy, который обеспечивает детальный контроль при подключении через прокси-серверы.



2021-04-29T21:34:43
Java

Создание загрузчика анимации сканирования с использованием HTML и CSS

В этой статье мы узнаем, как создать анимацию сканирования. Это можно использовать для добавления интерактивности странице загрузчика. Для этого используются

простые HTML и CSS.

 

Подход:

  • Сначала мы создадим HTML-файл, в который мы собираемся добавить div для добавления в него диапазона.
  • Затем мы создадим стиль CSS, чтобы придать анимационные эффекты анимации сканирования.

 

Мы начнем с определения разделов HTML и CSS на странице, как показано ниже.

Раздел HTML: в этом разделе определяется структура страницы.

 

  • Сначала мы создадим HTML-файл.
  • Затем мы напишем шаблонный код, необходимый для HTML-страницы.
  • Затем мы свяжем файл CSS или напрямую добавим необходимый CSS, который обеспечивает все эффекты анимации.
  • В разделе body мы добавим диапазон, чтобы добавить наш текст.
  • index.html

<!DOCTYPE html>

<html lang="ru">

<head>

<link rel="stylesheet" href="style.css" />

</head>



<body>

<div class="scan">

<img

src=

"https://readmag.ru/wp-content/uploads/2021/04/Sozdanie-zagruzchika-animatsii-skanirovaniya-s-ispolzovaniem-HTML-i-CSS.png"

alt="barcode"

/>

</div>

</body>

</html>

 

Раздел CSS: В этом разделе мы определим CSS страницы. Используя CSS, мы добавим различные типы анимации и эффектов к нашей HTML-странице, чтобы она выглядела интерактивной для всех пользователей.

  • Сначала мы сбросим все эффекты браузера, чтобы все было согласовано во всех браузерах.
  • Затем мы определим стиль, который будет присвоен элементам, включая размер и положение.
  • Мы будем использовать @keyframe и псевдокласс, чтобы добавить эффекты анимации к определенным классам.

 

.scan {

    width: 10em;

    text-align: center;

    padding: 6px 2px;

    position: absolute;

    left: 0;

    right: 0;

    top: 50%;

    margin: auto;

    border: dashed .25em rgb(90, 85, 85);

    transform: translate(-50%);

}





.scan::after {

    content: '';

    background: rgb(23, 162, 74);

    width: 0.25em;

    height: 3.5em;

    display: block;

    position: absolute;

    top: 0;

    right: 0;

    left: 0;

    bottom: 0;

    margin: auto;

    opacity: 7;

    z-index: 2;

    animation: 2s infinite ease-in-out roll;

}





.scan img {

    height: 30px;

    width: 98%;

}





@keyframes roll {

    0% {

        transform: translateX(-50px);

    }

    50% {

        transform: translateX(50px);

    }

    100% {

        transform: translateX(-50px);

    }

}

 

Вывод:



2021-04-29T12:19:36
Программирование

7 лучших языков программирования для серверной веб-разработки

Даже если вы новичок, самое меньшее, что вы могли бы знать, это то, что веб-разработка в основном подразделяется на два аспекта: фронтенд-разработка и бэкэнд-разработка. И очевидно, что у них обоих есть соответствующий набор инструментов и технологий. Например, когда мы говорим о Frontend-разработке, в первую очередь всегда используются 3 имени — HTML, CSS и JavaScript.

Точно так же, когда дело доходит до серверной веб-разработки — нам в первую очередь требуется язык программирования серверной части (или, вы можете сказать, серверный), чтобы веб-сайт работал вместе с различными другими инструментами и технологиями, такими как базы данных, фреймворки, веб-серверы и т. д. и т.п.

Но поскольку существуют сотни языков программирования, какой язык следует выбрать для серверной веб-разработки… ??

Хорошо, позвольте нам сказать вам — вам необходимо выбрать язык программирования, учитывая различные параметры, такие как требования проекта, его кривая обучения, производительность, надежность и т. д. Кроме того, вы также должны учитывать спрос и популярность. конкретного языка программирования в мире технологий, особенно если вы хотите изучить язык программирования с точки зрения карьеры, поскольку нет смысла изучать язык программирования, который устарел или не востребован на рынке.

В этой статье мы предоставляем вам список лучших языков программирования, которые вы можете изучить, чтобы начать веб-разработку:

 

1. JavaScript

Всякий раз, когда речь идет о веб-разработке — скорее всего, в 9 из 10 случаев речь идет о названии JavaScript. Согласно ежегодным отчетам различных популярных платформ, таких как Stack Overflow и Octoverse, JavaScript является одним из наиболее предпочтительных и ведущих языков программирования в мире технологий. Одна из основных причин этого заключается в том, что конкретный язык может использоваться как для интерфейсной веб-разработки, так и для внутренней веб-разработки. Глядя на несколько прошлых тенденций и статистику, можно сказать, что популярность Node.js каким-то образом увеличила использование JavaScript в качестве внутреннего языка для веб-разработки. Между тем, язык предоставляет вам несколько замечательных функций для внутренней разработки, таких как облегченный язык сценариев, динамический набор текста, интерпретируемый, поддержка объектно-ориентированного программирования, проверка на стороне клиента,

  • Фреймворки JavaScript для серверной веб-разработки: Next.js, Express, MeteorJS и т. д.
  • Популярные сайты, использующие JavaScript: Facebook, Google, eBay и т. д.

 

2. Python

Хотя Python довольно известен среди людей своей совместимостью с передовыми технологиями, такими как машинное обучение, Интернет вещей (IoT), Data Science и т. д., Позвольте нам сказать вам, что этот обогащающий язык программирования широко используется и очень подходит для серверной веб-разработки. также. Даже один из ведущих ИТ-гигантов в настоящее время Google в значительной степени полагается на Python, и это один из трех основных языков, используемых Google (два других — Java и C ++). Одним из основных преимуществ использования Python для веб-разработки является огромная коллекция стандартных библиотек, которые делают работу разработчиков сравнительно простой и эффективной. Дополнительные выдающиеся и уникальные особенности Python, такие как улучшенная читаемость кода. более простая интеграция с другими языками, поддержка программирования GUI, переносимость,

  • Фреймворки Python для серверной веб-разработки: Django, Flask, Pyramid и т. д.
  • Популярные веб-сайты, использующие Python: Spotify, Pinterest, Instacart и т. д.

 

3. PHP

PHP (или, можно сказать, препроцессор гипертекста) — ветеран в мире веб-разработки. Этот серверный язык сценариев с открытым исходным кодом создан в 1994 году и специально используется для веб-разработки. Поскольку это интерпретируемый язык — он также не требует компилятора, а также может работать практически во всех основных операционных системах, таких как Windows, Linux, macOS, Unix и т. д. Говоря о расширяющих функциях PHP, таких очень много. простота в освоении, кроссплатформенная совместимость, функции ООП, поддержка различных стандартных баз данных, таких как MySQL, SQLite и т. д., огромная поддержка сообщества и многие другие. В остальном PHP очень безопасен как язык сценариев на стороне сервера, поскольку в PHP имеется множество хеш-функций для шифрования данных пользователя. В частности,

  • PHP-фреймворки для серверной веб-разработки: Laravel, CodeIgniter, Symfony и т. д.
  • Популярные веб-сайты, использующие PHP: WordPress, MailChimp, Flickr и т. д.

 

4. Java

Java — еще один пример языка программирования для серверной веб-разработки. Объектно-ориентированный язык программирования широко используется для разработки веб-приложений корпоративного уровня наряду с разработкой приложений для Android, настольных приложений, научных приложений и т. д. Основное преимущество использования Java заключается в том, что он работает по принципу Write Once Run Anywhere, т. е. , скомпилированный код Java может быть выполнен на любой платформе, поддерживающей Java, без необходимости повторной компиляции. Говоря более конкретно, код Java сначала компилируется в байтовый код, который не зависит от машины, а затем этот байтовый код выполняется на JVM независимо от базовой архитектуры. Кроме того, Java поддерживает многопоточность, которая позволяет одновременное выполнение двух или более потоков для максимального использования ЦП.

  • Фреймворки Java для серверной веб-разработки: Spring, Struts, Grails
  • Популярные веб-сайты, использующие Java: LinkedIn, IRCTC, Yahoo и т. д.

 

5. Ruby

Ruby — это интерпретируемый язык программирования общего назначения, который поддерживает различные парадигмы программирования, такие как процедурное, функциональное и объектно-ориентированное программирование. Этот язык широко используется для веб-разработки по всему миру и очень рекомендуется новичкам для начала работы с серверной веб-разработкой, так как он сравнительно проще в освоении. Как и Python, Ruby также фокусируется на повышении производительности разработчиков, что в конечном итоге ускоряет процесс веб-разработки. Конкретный язык поддерживает почти все основные платформы, такие как Windows, Mac и Linux, и позвольте нам также сказать вам, что Ruby сильно основан на многих других языках программирования, таких как Perl, Lisp, Eiffel, Ada и т. д. Динамическая типизация и Duck набор текста, автоматический сбор мусора, большая стандартная библиотека, настраиваемое поведение отправки, гибкость и

  • Ruby Frameworks для серверной веб-разработки: Ruby on Rails, Sinatra, Grape и т. д.
  • Популярные сайты, использующие Ruby: Airbnb, Shopify, Slideshare и т. д.

 

6. Golang

Если вы думаете, что Go не так популярен среди разработчиков, позвольте нам сказать вам, согласно прошлогоднему отчету Stack Overflow — это был один из 5 самых любимых языков программирования разработчиками во всем мире. Go — это статически типизированный язык программирования, разработанный в Google и имеющий синтаксис, очень похожий на язык C. Язык позволяет разработчикам более эффективно создавать масштабируемые и безопасные веб-приложения. Одним из основных преимуществ использования Go является то, что он обеспечивает отличную поддержку многопоточности, а также имеет функцию сборки мусора для автоматического управления памятью. Некоторые из других значительных особенностей языка Go — это простой в изучении, читаемый код, поддерживаемый Google, скомпилированный язык, управление пакетами, мощная стандартная библиотека, поддержка параллелизма, высокая производительность и многое другое.

  • Go Framework для серверной веб-разработки: beego, echo, revel и т. д.
  • Популярные веб-сайты, использующие Go: Dropbox, SoundCloud, Dailymotion и т. д.

 

7. C#

C# — один из тех немногих языков, который в течение последних нескольких лет постоянно входит в пятерку лучших языков программирования по различным стандартным индексам. Однако вам необходимо знать, что этот универсальный язык изначально был разработан Microsoft в первую очередь для среды.Net. Наряду с серверной веб-разработкой, теперь C # широко используется во многих областях, таких как разработка приложений Windows, разработка игр и т. д. Язык предоставляет вам различные дополнительные функции, такие как более быстрая компиляция, совместимость, масштабируемость и возможность обновления, компонентно-ориентированная. & структурированный язык и многие другие. Кроме того, C # предлагает богатый набор библиотек, которые помогают разработчикам ускорить и повысить эффективность процесса разработки. Следовательно,

  • C # Framework для серверной веб-разработки: .NET
  • Популярные веб-сайты, использующие C #: GoDaddy, Marketwatch, Stack Overflow и т. д.

 

Итак, мы упомянули наиболее рекомендуемые и стоящие языки программирования для серверной веб-разработки, которые вы можете изучить. Однако позвольте нам еще раз напомнить вам, что прежде чем выбирать какой-либо конкретный язык из вышеупомянутых, вам необходимо рассмотреть различные индивидуальные аспекты, в том числе ваши цели, требования к проекту, кривую обучения и т. д.



2021-04-29T10:44:32
Программирование