본문 바로가기

전체 글35

<캡슐화> JPA 엔티티 생성시 Setter를 지양하는이유 JPA 엔티티 생성시  setter 메서드를 지양해야 하는 이유는 객체 지향 프로그래밍의 원칙 중 하나인 캡슐화와 깊은 관련이 있습니다. JPA 엔티티는 데이터베이스 테이블과 매핑되는 객체로, 데이터의 상태와 비즈니스 로직을 담습니다. 엔티티에서 setter를 무분별하게 사용하는 것은 다음과 같은 문제를 초래할 수 있습니다.캡슐화 원칙 위반 setter 메서드를 통해 엔티티의 상태를 쉽게 변경할 수 있게 하면, 객체의 내부 상태가 외부에서 쉽게 조작될 수 있습니다. 이렇게 되면 엔티티의 데이터 무결성을 유지하기가 어렵고, 예기치 않은 상태 변경이 발생할 수 있습니다. 엔티티의 데이터를 수정할 때는 반드시 해당 수정이 비즈니스 로직에 부합하는지 확인해야 하는데, setter는 이러한 검증 과정을 우회합니다.. 2024. 9. 24.
MSA 기반 물류관리 및 배송시스템 프로젝트를 마치며... 물류 관리 및 배송 시스템을 위한 MSA 기반 플랫폼 개발나는 Security 파트와 User파트를 맡았다.  프로젝트를 마치며 튜터님께 피드백이 온것들을 정리해보겠습니다. 인프라설계서  MSA 서비스 중 Object Service 는 서비스 명을 보고도 해당 서비스가 어떤 역할을 할지를 유추할 수 있는 이름으로 변경하시면 좋습니다. 대면피드백때도 말씀드린 내용인데요! Object Service 의 root 에그리거트 이름을 따라가면 좋습니다 :)  더보기Object라는 서비스 명이 직관적이지가 않다는 피드백을 받았습니다. Object안에 Hub관리 도메인들이 있었기에, Hub Service로 이름을 수정하는 방향을 생각했다.   *Gateway 에서 Auth 서비스를 호출할 때에 localhost 로 .. 2024. 9. 24.
Gateway 에 관하여 내가 프로젝트를 진행하면서 해야할것 나는 팀프로젝트에서 auth, user, gateway파트를 맡았다.gateway를 빠르게 시작했어야했는데 auth에서 인증/인가 필터를 모두 구현하고, user파트까지 구현한 이후 gateway를 구현하게되었다. **강의를 들으며 정리한 내용**Spring Cloud Gateway필터링 필터의 종류 Global Filter : 모든 요청에 대해 작동하는 필터 Gateway Filter : 특정 라우트에만 적용되는 필터 필터 구현 필터를 구현하려면 GlobalFilter 또는 GatewayFilter 인터페이스를 구현하가고, filter 메서드를 오버라이드 해야합니다. 필터 주요 객체 Mono 리액티브 프로그래밍에서 0또는 1개의 데이터를 비동기적으로 처리합니다. Mono는 아무 데이터도 반환하지 않음 .. 2024. 9. 13.
git 특강 정리해보기 Git 특강을 들으며 정리한내용!!메모장으로 뒤죽박죽 정리한거라.. 참고할것!  Git이란? 코드변경점 기록 (버전관리도구) Github 이란 ? 온라인 백업, 공유, 협업 (온라인 코드저장소) 1. 코드 관리를 시작하는 명령어 ( 프로젝트 시작전 딱 한번만 입력하면 된다.) 여러번입력해도 문제가 되진 않음 git init - 정확한 프로젝트 폴더(경로)에서 입력해야 한다. 잘못하면 데스크탑 전체 파일, 폴더가 다 기록된다. 하기전에 경로확인필수 pwd로 확인가능! 경로입력하고 git init ls -a : 현재 모든파일에서 숨김파일이던 모든 파일 알려줌 .git에서 코드변경을 git에서 추적합니다. 2. 코드를 저장하는 명령어 git add & commit git add 파일명 git commit -m.. 2024. 9. 11.