Pull to refresh
32
0
Зеленый Андрей Сергеевич @Green21

User

Send message

JPA Entity. Загрузи меня не полностью

Level of difficultyEasy
Reading time16 min
Views5.2K

JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по частичной загрузке сущностей. 

Команда Spring АйО подготовила статью, в которой рассмотрела имеющиеся в Spring Data JPA инструменты для частичной загрузки сущностей, а также разобрала их особенности и corner-кейсы.

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments11

Микросервисы для тех, кто прикидывается разработчиком. Часть 1

Level of difficultyEasy
Reading time6 min
Views19K

«Скажите, какие основные преимущества микросервисов и почему?». Вероятно, это самых популярный вопрос последних 6–10 лет на любом собеседовании для бэкенд разработчика. Каким-то чудом он даже обогнал: «Назовите три принципа ООП» и «Чем отличается класс от объекта».

Читать далее
Total votes 18: ↑14 and ↓4+16
Comments13

Реактивное программирование со Spring, часть 2 Project Reactor

Reading time15 min
Views72K

Это вторая часть серии заметок о реактивном программировании, в которой представлен обзор Project Reactor, реактивной библиотеки, основанной на спецификации Reactive Streams.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments1

Реактивное программирование со Spring, часть 1 Введение

Reading time7 min
Views41K

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

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments0

Flyway + Spring Boot: настройка и написание миграций баз данных

Level of difficultyEasy
Reading time11 min
Views2.1K

Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!

В этом гайде я расскажу как подключить и настроить Flyway в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы базы данных вместе с Amplicode!

Читать далее
Total votes 14: ↑14 and ↓0+16
Comments3

10 книг по Python: как для новичков, так и для профи

Reading time5 min
Views47K

Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня. Собственно, эту подборку мы и подготовили в расчёте на специалистов с разным опытом и багажом знаний. Книги постарались упорядочить по возрастанию уровня сложности, с указанием плюсов и минусов (если они есть). Итак, поехали!

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments5

Как я улучшил производительность JSON-парсера в два раза

Level of difficultyMedium
Reading time6 min
Views13K

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

Читать далее
Total votes 13: ↑13 and ↓0+21
Comments17

Сумма степеней натурального ряда. Часть 1

Level of difficultyMedium
Reading time4 min
Views11K

Вам наверняка известна история о математике Карле Гауссе. Когда ему было восемь лет, учитель задал его классу задачу посчитать сумму всех натуральных чисел от 1 до 100. Пока остальные дети трудились над последовательным сложением, Гаусс нашел простое и изящное решение. Он заметил, что числа можно сгруппировать в 50 пар с одинаковой суммой и мгновенно получил ответ 50\cdot 101 = 5050.

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

В этой статье мы рассмотрим графический метод нахождения формул для суммы степеней натурального ряда.

Читать далее
Total votes 76: ↑75 and ↓1+87
Comments35

Как расширить JPA для работы с PostgreSQL

Level of difficultyMedium
Reading time4 min
Views5.5K

Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments8

Переезд на Spring Boot 3.0 c версии 2.0: какие сложности могут возникнуть

Level of difficultyMedium
Reading time6 min
Views4.7K

Привет, Хабр! Я Артем Киреев, ИТ‑инженер в СберТехе. Мы с командой занимаемся развитием продукта из состава Platform V Synapse — децентрализованной платформы для задач интеграции. Мы стремимся поддерживать актуальность стека, на котором разрабатываем наши продукты, и регулярно отслеживаем все изменения. Обратившись к таблице поддерживаемых версий на официальном сайте Spring, мы обнаружили, что версии Spring Boot ниже 3.0 больше не поддерживаются. Поэтому мы решили, что нужно перевести проект на последнюю из существующих версий. На момент написания статьи это Spring Boot 3.2.

В ходе миграции я столкнулся с рядом проблем, решение которых не всегда было очевидным. Цель этой статьи — помочь читателям быстрее и проще решить ошибки, с которыми столкнулся я сам.

Читать далее
Total votes 24: ↑20 and ↓4+22
Comments1

Настройка Git сервера с нуля

Level of difficultyEasy
Reading time12 min
Views12K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее
Total votes 28: ↑25 and ↓3+24
Comments21

Spring Boot 3.2: замените свой RestTemplate на RestClient

Level of difficultyEasy
Reading time4 min
Views9.1K

Эта статья по Spring Boot 3.2 посвящена надстройке над  WebClient, которая называется RestClient и представляет собой более интуитивный и современный подход взаимодействия с RESTful сервисами.

В мире Spring Boot отправка HTTP запросов к внешним сервисам является весьма распространенной задачей. Традиционно при достижении этой цели разработчики полагались на  RestTemplate. Однако, по мере развития Spring Framework, на свет появился новый и более мощный способ обработки HTTP запросов: так называемый  WebClient. Spring Boot 3.2 представил нам надстройку над  WebClient, которая получила название RestClient. 

RestClient предлагает нам более современные и интуитивно понятные способы взаимодействия с RESTful сервисами. 

Читать далее
Total votes 19: ↑19 and ↓0+20
Comments7

Почти все, что вы хотели бы знать про Docker

Level of difficultyEasy
Reading time11 min
Views54K

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

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

Читать далее
Total votes 65: ↑60 and ↓5+65
Comments57

Лучшие библиотеки Python для Data Science в 2024 году

Level of difficultyEasy
Reading time10 min
Views12K

Python — один из самых распространенных языков программирования в Data Science (третье место в опросе разработчиков StackOverflow). Популярность языка обусловлена наличием множества пакетов, которые можно использовать для решения различных задач в области науки о данных, включая машинное обучение, предварительную обработку данных, анализ данных и их визуализацию.

Новичку в этой области может быть сложно понять, с чего начать, особенно при таком обилии ресурсов — в Python имеется более 100 000 встроенных библиотек, и выучить их все просто невозможно. Именно поэтому в этой статье мы рассмотрим 8 самых полезных библиотек Python для Data Science.

Читать далее
Total votes 14: ↑8 and ↓6+2
Comments5

CI/CD заказывали? Или простое, но подробное руководство по настройке CI/CD под несколько iOS проектов

Level of difficultyEasy
Reading time29 min
Views5.9K

Привет, меня зовут Дмитрий, и я iOS разработчик в компании Triada. В этой статье я расскажу, как настроить CI/CD для вашего iOS приложения, и приведу пошаговую инструкцию, как сделать это правильно с первого раза – чтобы не пришлось переделывать.

Мы настроим CI/CD для iOS проекта с репозиторием на GitLab с использованием Fastlane. Сборки будем отправлять в Testflight и в Firebase, если он у вас используется.

Читать далее
Total votes 4: ↑4 and ↓0+5
Comments10

Быстрое вычисление степени

Level of difficultyMedium
Reading time15 min
Views11K

В статье описан процесс разработки алгоритма функции вычисления любой степени положительного числа, использующего «магическую константу». Приведены результаты её сравнения с исходной функцией вычисления обратного квадратного корня, а также со стандартной функцией вычисления степени Math.Pow.

Читать далее
Total votes 17: ↑16 and ↓1+19
Comments8

Мои мысли о Python in Excel

Level of difficultyEasy
Reading time12 min
Views15K

22 августа 2023 года компания Microsoft выпустила предварительную версию «Python in Excel». Я разработчик xlwings и автор книги O’Reilly Python for Excel, поэтому мне, разумеется, стало интересно её потестировать. Не следует судить книгу по обложке, поэтому я решил углубиться в изучение и записать обучающий курс LinkedIn Python in Excel: Working with pandas DataFrames. Параллельно я обнаружил много багов и других проблем, после чего отправил отчёты о них в GitHub. На текущий момент они уже или были разрешены, или хотя бы подтверждены/прокомментированы, и это потрясающе. Мне остаётся лишь мечтать, чтобы столь же легко можно было бы сообщать о багах в мире Office.js и VBA.

Так что же я думаю о Python in Excel?

Читать далее
Total votes 13: ↑13 and ↓0+22
Comments8

Основы TypeScript

Reading time22 min
Views9.8K
image Привет, Хаброжители!

TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript.

«Основы TypeScript» — это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
Читать дальше →
Total votes 12: ↑11 and ↓1+16
Comments7

19:43, еще не завтракал…

Reading time9 min
Views16K

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

Да, на работе надо работать, но … разве таким способом? У автора статьи тоже был период работы с утра и до победного. Но был ли от этого толк? 

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

Читать далее
Total votes 20: ↑18 and ↓2+18
Comments29

Катастрофа с Hibernate 6.5 при обновлении на Spring Boot 3.3.0

Level of difficultyEasy
Reading time2 min
Views8.7K

Обновившись до Spring Boot 3.3.0 (конкретно до Hibernate 6.5), мы столкнулись со 100% загрузкой процессора на БД из-за небольшого изменения в SQL коде, сгенерированного Hibernate после преобразования JPQL в SQL.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments12

Information

Rating
4,283-rd
Location
Краснодар, Краснодарский край, Россия
Works in
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Technical Support Engineer
Senior
Web
Restful WebServices
RESTful API
FullStack
NestJS
Vue.js
TypeScript
TypeORM
C#
Python