Rumos

[Spring/Database] Spring JPA와 Spring Data JPA

✅ 🏝️ Fairy-Tale Island 🏝️ 리팩토링! Spring Database 접근 방식 Spring에서 데이터베이스에 접근하는 방식들을 알아본다. ORM 이전의 접근 방법들과 단점을 알아보고, 이를 보완하기 위해 등장한 ORM의 개념과 Spring에서 사용하는 Java ORM 기술을 알아본다. #1 [Database] ORM 정의, 등장...

[Database] ORM 정의, 등장 배경, 장단점

✅ 🏝️ Fairy-Tale Island 🏝️ 리팩토링! 2월에 개발을 할 때, 어떤 것은 Repository 인터페이스에 선언만 하고 사용할 수 있고, 어떤 것은 그것만으로 불충분해서 쿼리를 작성해야 하는 경우가 있었다. JPA의 장점이라고 하는 인터페이스 선언만으로 사용할 수 있는 것에 대해서 흐릿하게 아는 상태에서 JPA를 사용하다보니, 혹시 ...

[Spring] Entity, DTO, DAO (feat. 관심사의 분리)

✅ 🏝️ Fairy-Tale Island 🏝️ 리팩토링! 기획을 2023년 12월 말부터 2024년 1월 중순까지 하고, 2024년 2월에 부랴부랴 개발하느라 디테일한 부분들을 모르고 넘어갔다… 개발하면서도 부족함을 느꼈는데, 인턴십을 하면서 관심사의 분리의 중요성을 크게 느껴 내 코드를 두고 볼 수 없었다. 성공적인 리팩토링을 위해서, Entity...

[Sequelize] Unmanaged/Managed Transaction과 주의사항

인턴으로 참여하는 프로젝트에서 SvelteKit / Svelte로 웹 애플리케이션 개발을 하고 있다. 데이터베이스는 MariaDB, 스토리지는 Supabase storage, ORM은 Sequelize를 사용해서 풀스택 개발을 한다. 하나의 화면에도 여러 레포지토리에 데이터를 저장하는데, 이 작업들이 시작부터 끝까지 완결성 있게 이루어지지 않으면 큰일...

[Supabase] supabase-db 컨테이너에서 storage-bucket 확인하기

인턴십을 진행하면서 데이터베이스는 MariaDB, 스토리지는 Supabase를 사용하고 있다. (회사에서 이전에 진행했던 프로젝트에서 Supabase 스토리지를 cloud를 이용해서 개발자가 모두 공동 데이터베이스에 접근할 수 있도록 설정한 후 개발했다고 한다. 이 방식이 모두의 데이터베이스가 동기화 된다는 점에서 좋았으나 A와 B가 이용하고 있는 테...

[BOJ/C++] 14502번 연구소

문제 [백준/C++] 14502번 연구소 문제 해석 연구소는 빈 칸과 벽으로 이루어져 있다. 이곳에 2개 이상의 바이러스가 존재하는데, 바이러스는 상하좌우 인접한 빈 칸으로 퍼져나간다. 벽을 딱 3개 세워서 바이러스가 퍼지지 않게 막고, 바이러스가 퍼지지 않은 안전 영역의 최댓값을 구하는 문제이다. 아이디어 빈 칸에는 전부 벽을 세울 수 있다...