Pull to refresh
21
0
Алексей Ушаровский @usharik

Разработчик

Send message

Еще раз про разбор выражений методом рекурсивного спуска

Reading time4 min
Views18K
Я был еще школьником, когда мне в руки попала книжка «Начальный курс C и С++» от издательства Диалог МИФИ. Именно из этой книжки я узнал об основах объектно ориентированного программирования, и она же поставила передо мной проблему, которую я довольно долго не мог разрешить. В конце её было приложение с листингом программ одна из которых называлась рекурсивный калькулятор. Это и была моя первая встреча с разбором арифметических выражений методом рекурсивного спуска. До сих пор помню те долгие часы, которые были потрачены на попытки хоть что-то понять в этом коде.

Статья предназначена прежде всего для тех, кто первый раз сталкивается с задачей разбора выражений.
Читать дальше →
Total votes 9: ↑7 and ↓2+5
Comments12

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2

Reading time7 min
Views37K
В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут на GitHub. В этой статье мы поговорим про liquibase-maven-plugin и те дополнительные возможности, которые он нам дает для версионирования структуры БД. Начнем с того, как автоматически создавать скрипты при помощи функции сравнения.

Предположим, что нам понадобилось внести какие-либо изменения в структуру нашей БД. Например, мы хотим, чтобы email не мог быть null. Безусловно, для такого маленького изменения можно было бы подкорректировать код и скрипты вручную, но как быть если изменений будет больше? В этом случае к нам на помощь придет встроенная в Liquibase возможность сравнения БД. Интересной её особенностью является то, что сравнивать можно не только две базы данных, но и базу данных с набором JPA сущностей в нашем приложении. Именно так мы сейчас и поступим!
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments12

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1

Reading time5 min
Views88K
В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-plugin для отката изменений и автоматической генерации скриптов через сравнение структур БД.

Начнем с того, что создадим простейшее приложение на Spring Boot + JPA (Hibernate). В этом нам поможет Spring Initializr. Из зависимостей выбираем JPA, MySQL и Web. Liquibase тоже можно подключить на этом шаге, но для лучшего понимания мы это сделаем далее вручную.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments40

Heroku + Docker + Spring Boot

Reading time5 min
Views20K
Далее речь пойдет о моем опыте запуска докеризованного Spring Boot приложения на бесплатных виртуальных машинах облачного сервиса Heroku. Одно из главных преимуществ этого провайдера в том, что он дает возможность создавать бесплатные виртуалки с ограничением по часам работы, причем для этого достаточно только регистрации. Даже платежные реквизиты подтверждать не требуется, хотя если их подтвердить можно получить дополнительные бонусы. Подробнее про их прайс можно прочитать здесь. С моей точки зрения их политика по части бесплатных ресурсов почти не имеет аналогов.

И так, после того, как вы создали на Heroku приложение есть несколько способов развернуть в нем ваш код
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments7

Первое знакомство с протоколом HTTP через написание простейшего Web сервера на Java

Reading time4 min
Views38K
Думаю что не будет преувеличением утверждать, что знание и понимание сути протокола HTTP необходимо любому, кто решил сколь-нибудь серьезно заняться любым из направлений современной Web разработки. Мой личный опыт говорит о том, что понимание это приходит не сразу. Стыдно сказать, что были времена, когда слова GET и POST были для меня сродни магическим заклинаниям, а о существовании PUT, PATCH и DELETE я даже не подозревал.

Несколько месяцев назад помимо собственно разработки я занялся также преподаванием, и возник вопрос о том, как проще и понятнее рассказать о сути протокола HTTP будущим Java разработчикам. После нескольких дней возни и ряда неудачных попыток сделать презентацию возникла идея, а почему бы не написать простейший HTTP сервер на Java, потому как ни что так хорошо не объясняет суть протокола, как его простейшая, но работающая реализация.
Читать дальше →
Total votes 44: ↑27 and ↓17+10
Comments42

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity