본문 바로가기

Coding65

Spring - REST API의 한계, GraphQL 하이브리드 아키텍처로 극복하기 (VisiDoc) 이전 ShopSphere 온라인 쇼핑몰 프로젝트를 진행하며 저는 Spring Boot 기반의 RESTful API를 중심으로 백엔드 시스템을 설계하고 개발했습니다. 상품, 주문, 회원 등 명확한 도메인을 자원(Resource)으로 정의하고 HTTP 메서드로 상태를 다루는 REST API는 매우 좋은 도구였습니다. 하지만 프로젝트의 기능이 많아지면서, 한 가지 고민이 생겼습니다. 바로 '데이터 비효율', 특히 오버페칭(Over-fetching) 문제였습니다. 예를 들어, 장바구니 목록 페이지에서는 각 상품의 판매자를 출력할 때, 판매자 이름이나 회사명만 필요한데, 판매자의 상세 정보를 모두 담고 있는 '판매자 전화번호', '판매자 id' 등 당장 필요 없는 데이터까지 클라이언트로 전송되는 비효율이 발생했.. 2025. 11. 4.
Spring - 공유 DB 데이터 무결성을 위한 Native SQL 활용 전략 (VisiDoc) https://github.com/ZaRi1l/3thproject-back GitHub - ZaRi1l/3thproject-back: 3번째 프로젝트3번째 프로젝트. Contribute to ZaRi1l/3thproject-back development by creating an account on GitHub.github.com 지난 포스팅에서는 두 개의 다른 데이터베이스를 연동하고, 특히 여러 팀이 함께 사용하는 Oracle DB의 데이터를 보호하기 위해 Multi-Datasource 아키텍처를 설계하고 구축하는 과정을 다뤘습니다. read-only 커넥션 설정과 패키지 분리를 통해 1차적인 안전장치를 마련했지만, 이것만으로는 충분하지 않습니다. 개발자의 작은 실수가 치명적인 결과로 이어질 수 있는 .. 2025. 10. 8.
Spring - Multi-Datasource 아키텍처 구축 (VisiDoc) https://github.com/ZaRi1l/3thproject-back GitHub - ZaRi1l/3thproject-back: 3번째 프로젝트3번째 프로젝트. Contribute to ZaRi1l/3thproject-back development by creating an account on GitHub.github.com 이번에 visidoc프로젝트를 진행하면서 2가지 요구사항이 있었습니다. 2개의 다른 DB 연결이 필요했습니다. (학교내 Oracle DB, 아마존 EC2의 PostgreSQL DB)여러 팀이 함께 사용하는 학교 공용 Oracle DB의 데이터는 절대 수정되거나 영향을 받아서는 안 됐습니다. 이 두 가지 과제를 해결하기 위해, 저는 Spring Boot 환경에서 Multi-Dat.. 2025. 10. 1.
Linux - 프로그램 설치 (rpm) [2022년 11월 26일 학습 기록]제 예전 블로그에 있던 내용을 이전한 포스트입니다. 이제 rpm에 대해 알아보자!!rpm(redhat package manager):패키지를 이용한 프로그램/서비스 관리 redhat 기반의 리눅스: rpm 명령어 사용debian 기반의 리눅스: dpkg 명령어 사용 형식명령어옵션패키지명설명rpm-ivh패키지명-버전.아키텍처.rpm설치rpm-qa설치된 패키지들 확인rpm-qa | grep패키지명(검색할 이름)설치된 패키지들 중에서 찾기rpm-e패키지명(-버전.아키텍처)삭제 우선 패키지의 파일 형식을 봐보자!!vim이라는 이름을 가지 패키지 파일을 검색했다.vim-common-7.4.629-7.el7.x86_64을 분석해보도록 하자!!vim-common7.4.629-7... 2025. 9. 30.