Зачем нужны профили в Spring?
При разработке приложений мы обычно имеем дело с несколькими средами, такими как Dev, QA и Prod. Свойства конфигурации для этих сред отличаются.
Например, мы можем использовать встроенную базу данных H2 для Dev, но Prod может использовать проприетарную базу данных Oracle или DB2. Даже если СУБД одинакова во всех средах, URL-адреса определенно будут разными.
Чтобы сделать это простым и понятным, Spring предоставляет профили, помогающие разделить конфигурацию для каждой среды.Таким образом, вместо того, чтобы поддерживать это программно, свойства можно хранить в отдельных файлах, таких как application-dev.properties и application-prod.properties. По умолчанию application.properties указывает на текущий активный профиль с помощью spring.profiles.active, чтобы подобрать правильную конфигурацию.
Больше узнать о профилях в Spring можно по ссылке: https://www.baeldung.com/spring-profiles
При разработке приложений мы обычно имеем дело с несколькими средами, такими как Dev, QA и Prod. Свойства конфигурации для этих сред отличаются.
Например, мы можем использовать встроенную базу данных H2 для Dev, но Prod может использовать проприетарную базу данных Oracle или DB2. Даже если СУБД одинакова во всех средах, URL-адреса определенно будут разными.
Чтобы сделать это простым и понятным, Spring предоставляет профили, помогающие разделить конфигурацию для каждой среды.Таким образом, вместо того, чтобы поддерживать это программно, свойства можно хранить в отдельных файлах, таких как application-dev.properties и application-prod.properties. По умолчанию application.properties указывает на текущий активный профиль с помощью spring.profiles.active, чтобы подобрать правильную конфигурацию.
Больше узнать о профилях в Spring можно по ссылке: https://www.baeldung.com/spring-profiles
Baeldung
Spring Profiles | Baeldung
How to define and use Profiles in Spring. The 4 ways to enable profiles and their precedence. And a real-world example using profiles.
Сжатие указателей в Java
В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.
Смотреть статью
В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.
Смотреть статью
Хабр
Сжатие указателей в Java
В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 6...
Алгоритм оценки математического выражения с использованием JavaFX.
https://habr.com/ru/articles/731244/
https://habr.com/ru/articles/731244/
Хабр
Алгоритм оценки математического выражения с использованием JavaFX
Постановка задачи: создать калькулятор с графическим интерфейсом и возможностью вычисления длинных выражений (для чего не годится простой калькулятор с ограниченным числом операндов) с помощью ЯП Java...
GraphQL: сложность запросов
Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик из команды Talantix. В мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь описанной схемой. Он может попросить у сервера все данные, доступные ему, или написать такой сложный запрос, который будет выполняться целую вечность. О том, как защититься от этого и ограничить свои API, я расскажу в сегодняшней статье.
https://habr.com/ru/companies/hh/articles/705512/
Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик из команды Talantix. В мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь описанной схемой. Он может попросить у сервера все данные, доступные ему, или написать такой сложный запрос, который будет выполняться целую вечность. О том, как защититься от этого и ограничить свои API, я расскажу в сегодняшней статье.
https://habr.com/ru/companies/hh/articles/705512/
Хабр
GraphQL: сложность запросов
Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик в hh.ru из команды Talantix. В дивном мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь...
В этом видео автор рассказывает о представлении в отрицательных чисел в компьютере на примере типа byte. Показывает, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишет алгоритм для преобразования цветной фотографии в черно-белую.
https://youtu.be/WG0mS-o1zSA
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.
В этом видео я рассказываю о представлении в отрицательных чисел в компьютере на примере типа byte. Показываю, что можно получить, если забыть, что все целочисленные типы в языке программирования Java знаковые. В качестве практической части, пишем алгоритм…
KeyStore Explorer - Создание самоподписанных сертификатов
В данном ролике автор рассмотрит создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
https://youtu.be/ixK9CWfSdQ8
В данном ролике автор рассмотрит создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
https://youtu.be/ixK9CWfSdQ8
YouTube
KeyStore Explorer - Создание самоподписанных сертификатов
В данном ролике я рассмотрю создание самоподписанных сертификатов при помощи утилиты KeyStore Explorer.
Сайт: https://alexkosarev.name
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://yangx.top/+TZCuO38vG3oqu_Jq
#ssl #keystoreexplorer
Сайт: https://alexkosarev.name
Паблик в VK: https://vk.com/public218833461
Канал в Telegram: https://yangx.top/+TZCuO38vG3oqu_Jq
#ssl #keystoreexplorer
#вопросы_с_собеседований
Как получить коллекцию только для чтения?
При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
Как получить коллекцию только для чтения?
При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
#вопросы_с_собеседований
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
#вопросы_с_собеседований
Что такое литералы?
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” и 0b11...10 — литералы, a — переменная.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
Что такое литералы?
Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.
В классе на картинке “Hello world!” и 0b11...10 — литералы, a — переменная.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
Что такое UML?
Отличительной особенностью
UML
– это унифицированный графический язык моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. UML
призван поддерживать процесс моделирования на основе объектно-ориентированного подхода, организовывать взаимосвязь концептуальных и программных понятий, отражать проблемы масштабирования сложных систем.Отличительной особенностью
UML
является то, что словарь этого языка образуют графические элементы. Каждому графическому символу соответствует конкретная семантика, поэтому модель, созданная одним человеком, может однозначно быть понята другим человеком или программным средством, интерпретирующим UML
. Отсюда, в частности, следует, что модель системы, представленная на UML
, может автоматически быть переведена на объектно-ориентированный язык программирования, то есть, при наличии хорошего инструментального средства визуального моделирования, поддерживающего UML
, построив модель, мы получим и заготовку программного кода, соответствующего этой модели.Что вы подразумеваете под анонимным классом?
Анонимный внутренний класс в Java не имеет имени и создает только один объект.
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка слиянием через рекурсию
В этой статье мы освежим в памяти суть сортировки слиянием.
Смотреть статью
В этой статье мы освежим в памяти суть сортировки слиянием.
Смотреть статью
В серии коротких роликов "Spring по верхам" автор вкратце рассказывает о применении экосистемы Spring при разработке приложений на платформе Java.
https://youtu.be/Bg2c02XQ7bg
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Spring по верхам: Разработка REST-сервиса
В серии коротких роликов "Spring по верхам" я вкратце рассказываю о применении экосистемы Spring при разработке приложений на платформе Java.
Репозиторий проекта: https://github.com/alex-kosarev/showcase-spring-boot-3
Текстовая версия: https://alexkosa…
Репозиторий проекта: https://github.com/alex-kosarev/showcase-spring-boot-3
Текстовая версия: https://alexkosa…
💻 Изучаем Kotlin с нуля
Несмотря на свою молодость, Kotlin уже успел стать серьёзным и популярным языком программирования. И даже стал официальным языком разработки под Android, его рекомендует сам Google.
А всё потому что он очень удачно исправил многие неприятные моменты, которые были в Java и добавил огромное количество фишек, которые невероятно радуют разработчиков.
В этом плейлисте вы узнаете о всех базовых механизмах, которые есть как в Kotlin, так и в многих других языках программирования. А ближе к концу вы также научитесь использовать и фишки, которые предлагает только Kotlin.
1. Введение
[10:52]
2. Строковые шаблоны
[6:11]
3. Переменные: val vs var
[8:53]
4. Типы данных в Kotlin
[10:33]
5. Функции
[5:57]
6. NullPointerException и null-safety
[8:03]
7. Работа с классами и их свойствами
[12:34]
8. Пакеты, импортирование методов и классов
[11:44]
Несмотря на свою молодость, Kotlin уже успел стать серьёзным и популярным языком программирования. И даже стал официальным языком разработки под Android, его рекомендует сам Google.
А всё потому что он очень удачно исправил многие неприятные моменты, которые были в Java и добавил огромное количество фишек, которые невероятно радуют разработчиков.
В этом плейлисте вы узнаете о всех базовых механизмах, которые есть как в Kotlin, так и в многих других языках программирования. А ближе к концу вы также научитесь использовать и фишки, которые предлагает только Kotlin.
1. Введение
[10:52]
2. Строковые шаблоны
[6:11]
3. Переменные: val vs var
[8:53]
4. Типы данных в Kotlin
[10:33]
5. Функции
[5:57]
6. NullPointerException и null-safety
[8:03]
7. Работа с классами и их свойствами
[12:34]
8. Пакеты, импортирование методов и классов
[11:44]
YouTube
Kotlin: Урок 0. Введение
Стань Android-разработчиком: https://goo.gl/tr57tS.
Поспеши, действуют приятные скидки!
Сайт: http://devcolibri.com
Вконтакте: https://vk.com/devcolibri
Telegram: https://telegram.me/dcolibri
Twitter: https://twitter.com/devcolibri
Facebook: https://ww…
Поспеши, действуют приятные скидки!
Сайт: http://devcolibri.com
Вконтакте: https://vk.com/devcolibri
Telegram: https://telegram.me/dcolibri
Twitter: https://twitter.com/devcolibri
Facebook: https://ww…
Инкапсуляция
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
Один день из жизни JVM-инженера
Можно разрабатывать на Java, а можно разрабатывать Java. Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина.
Вроде бы те и другие существуют в одной Java-экосистеме, но задачи совершенно разные.
Чем он вообще занимается? Почему JVM-инженеры всё так медленно делают? На каком языке стоит писать рантайм, а на каком компилятор? Как «папка бога» в Windows привела к неожиданным последствиям? Может ли «обычный джавист» стать JVM-инженером?
https://habr.com/ru/companies/jugru/articles/719614/
Можно разрабатывать на Java, а можно разрабатывать Java. Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина.
Вроде бы те и другие существуют в одной Java-экосистеме, но задачи совершенно разные.
Чем он вообще занимается? Почему JVM-инженеры всё так медленно делают? На каком языке стоит писать рантайм, а на каком компилятор? Как «папка бога» в Windows привела к неожиданным последствиям? Может ли «обычный джавист» стать JVM-инженером?
https://habr.com/ru/companies/jugru/articles/719614/
Хабр
Один день из жизни JVM-инженера
Можно разрабатывать на Java, а можно разрабатывать Java . Есть люди, чей код исполняет виртуальная машина — а есть люди, чей код и есть виртуальная машина . Вроде бы те и другие существуют в одной...
#Вопросы_с_собеседования
Что такое «абстракция»?
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
Что такое «абстракция»?
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования.
https://habr.com/ru/articles/732434/
https://habr.com/ru/articles/732434/
Хабр
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования
Цель настоящей статьи - изучить лямбда функции: чем они отличаются от обычных функций и изучить, как они реализованы в С++, Python 3 и Java. На протяжении этой статьи я буду использовать godbolt.org ,...