В Java есть множество модулей, предназначенных для взаимодействия с базами данных. Одним из них является блок JDBC, это аббревиатура от Java Database Connection. Основное назначение JDBC — обеспечить подключение к базе данных через определенный драйвер со специальным набором SQL-запросов и команд. По умолчанию каждая операция с базой данных имеет уникальную транзакцию JDBC, в режиме автокомита. Это означает, что каждая SQL-операция будет вызываться с командой Commit. JDBC Auto-Commit. Как отключить? Как мы уже говорили, режим автокоммита JDBC установлен по умолчанию. Но есть возможность отключить этот режим, когда нам нужно выполнить несколько…
Read MoreРубрика: Технологии
Полиморфизм в Java. Типы, применение.
Что такое полиморфизм Полиморфизм — данный термин происходит с древнегреческого и означает «поли» — множество, «морфос» — формы. В данном случае полиморфизм означает множество форм. Полиморфизм это одна из базовых основ объектно-ориентированного программирования. Что такое ООП (объектно-ориентированное программирование) можно прочитать тут. Полиморфизм в Java Полиморфизм в Java представлен комплексно. Существует две формы полиморфизма: времени компиляции или времени выполнения. Также синтаксис языка поддерживает перегрузку и возможность переписать методы. Java полиморфизм предусматривает множественную реализацию одного из интерфейсов. Код может работать совсем по-другому, хотя в общем будет применен один стандарт его описания — интерфейс.…
Read MoreРаспределение нагрузки с помощью NGINX в Spring Boot
Принцип распределения нагрузки с помощью NGINX Данная статья описывает схему построения среды для развертывания приложения написаного на Spring Boot. Как известно Java application севера довольно плохо подходят для задачи распределения нагрузки. Особенно это актуально если нужно передавать статические данные(файлы стилей, картинки и другие). Поэтому для этих целей используются более быстрые и легкие сервера способные при минимальных нагрузках выдавать хорошую производительность. Одним из таких серверов является NGINX. Кеширование запросов В приведенном ниже примере система анализирует расширение запрашиваемого файла и если это один из нужных форматов кеширует данные. Минусом данной реализации является…
Read MoreОбзор работы с опционалами (Optional Java)
Java Optional — представляет собой контейнер объект, который может или нет содержать не null значение. Если значение присутствует isPresent возвращает true в противном случае будет возвращено значение false и объект будет считаться пустым. Ранее мы мы писали о immutable объектах, которые также используются под капотом опционалов. Инициализация java 8 optional Опционал может быть инициализирован с помощью статического конструктора следующим образом Если передать в подобный конструктор значение null возникнет java.lang.NullPointerException. Для безопасной передачи пустого значения можно воспользоваться методом ofNullable. Изящная Java проверка на null (java null check). В старом коде можно…
Read MoreОбласть видимости переменных в JavaScript
Область видимости JS, определение данных и последующее управление ими всегда было основой программирования. Фактически, управление данными посредством языковых конструкций и является программированием. Область видимости JavaScript управляет доступностью переменных. Данные в JS (типы данных) — это, в основном, либо переменные, либо константы. По крайней мере, в JS. Это вообще специфический язык, который предлагает очень интересные особенности. Это касается как самих переменных, так и устройства всего языка в принципе. Но, чтобы не быть голословными, продвинемся по теме дальше. А в данной статье вы сможете узнать почему CI/CD подход является лучшим средством в…
Read MoreОбзор преимуществ применения CI/CD в разработке программ
Непрерывной интеграцией (CI) и непрерывным развертыванием (CD) называется комплекс определенных правил, культура или практика, с помощью которых разработчики могут намного надежнее и производительнее выкатывать программные обновления. CD и CI входят в практические группы Agile и DevOps. При помощи автоматизированного развертывания, разработчик может сосредоточиться на качестве программного кода, безопасности и внедрении заявленных бизнес-требований. Определение Непрерывная интеграция — это определенный метод разработки и комплекс действий, которые позволяют вносить в программный код те или иные изменения. Подобные нововведения всегда сопровождаются многократными коммитами. Та как подавляющая часть приложений создается с применением разных инструментов, у…
Read MoreРазновидности юнит тестов (unit testing). Основательный подход.
На сегодняшний день сложно найти приложение, реализуемое без предварительного тестирования. Поэтому, аналитическая проверка программного обеспечения — это одна из наиболее актуальных тем для сложных, масштабируемых систем. Без понимания того, как работает unit-тестирование, включая понятия и основные показатели, команда не сможет создавать сложные и динамически меняющиеся системы. Разновидности тестирования Юнит тестирование в программировании — это определенный метод изучения внутренних процессов деятельности программной системы через создание определенных условий для выбранного функционала. Далее система проверяется на те или иные выводы данных или функционал, исходя из конкретных целей и задач. Это позволяет эффективно отследить…
Read MoreОбщий обзор технологий AWS — Amazon Web Services
Технологии AWS получили широкое распространение среди разработчиков и многих пользователей. В этой статье мы постарались подробно раскрыть тему и рассказать обо всех возможностях технологий, которые предлагает Amazon. Что такое технологии AWS от Amazon и что они предлагают? AWS Services (Amazon Web Services) — это комплексная развивающаяся платформа облачных вычислений, предоставляемая Amazon, которая включает в себя сочетание инфраструктуры, таких, как услуги IaaS, платформы PaaS и программного обеспечения как SaaS. Сервисы AWS могут предлагать организациям такие инструменты, как хранилище баз данных с высокой вычислительной мощностью, а также услуги доставки контента. AWS предлагает…
Read MoreЛямбда выражения в Java. Сравнение подходов решения задач.
В версию Java 8 была добавлена полноценная поддержка лямбда-выражений — специализированного синтаксиса, позволяющего определить функциональные объекты из формальной системы исчислений λ. Являясь упрощенным вариантом записи безымянных классов, лямбда в Java дает возможность писать более аккуратный и лаконичный программный код для библиотеки Stream API и утилитарного класса Optional. Помимо стандартных коллекций классов, лямбда выражения Java могут использоваться сторонними API: реактивные стримы, JavaFX и т.д. Определение функциональных интерфейсов и лямбда-выражений Лямбда выражения в Java представляют собой специализированный синтаксис записи безымянного класса, с помощью которого реализуется основной функциональный интерфейс. Функциональный интерфейс, встроенный в…
Read More30 лучших онлайн курсов Java программирования
Обучению программированию с помощью онлайн курсов на платформе Java есть большое количество. Все они разделяются условно на два вида — бесплатные и за определенную оплату. Курсы за определенную плату — это качественные программы с углубленным изучением темы, что предполагают возможное трудоустройство. Бесплатные очень часто выбирают новички, ведь благодаря ознакомительным урокам у них появляется возможность, чтобы определиться с видом профессии. Платные онлайн — курсы на Java Начнём статью с пятнадцати лучших программ за определенную оплату, так как они являются гарантией изучению новой профессии и с возможностью в дальнейшем трудоустроится. Большинство из…
Read More