Back-end28 [SpringBoot-JPA 활용] 도메인 모델 패턴 vs 트랜잭션 스크립트 패턴 지금까지 보통 웹개발을 하면서 서비스 레이어에서 대부분의 비즈니스 로직을 처리 했던 기억 밖에 없었는데, 이번에 JPA 강의를 들으면서 한가지 새로 배운 개념이 있어서 정리해보려 한다. 바로 도메인 모델 패턴이라는 것인데 해당 패턴에서는 복잡한 비즈니스 로직을 서비스에서 처리하는 것이 아닌 도메인 즉, 엔티티에 작성을 하고 서비스는 로직 수행을 엔티티에 위임하는 방식으로 설계하는 방법이다. JPA 등의 ORM을 사용할 때 유지보수 측면에서 더욱 유용한 패턴이라고 하는데, 처음 접했을 때는 상당히 낯설어서 적응하려면 시간이 조금 걸릴 것 같다. 강의에서는 주문을 수행하는 엔티티에 비즈니스 로직과 조회 로직 등이 들어갔는데, 이러한 복잡한 로직을 엔티티에 작성하는 이유는 엔티티가 각 데이터를 가지고 있는 엔.. 2023. 3. 2. [리눅스마스터 2급] RAID RAID는 Redundant Array of Independent Disks의 약자로, 여러 개의 하드디스크를 묶어서 하나의 논리적인 저장장치로 사용하는 기술이다. RAID를 사용하면 데이터를 안전하게 보관할 수 있고, 더 나은 성능을 얻을 수 있다. RAID는 크게 소프트웨어 RAID와 하드웨어 RAID로 나눌 수 있다. 소프트웨어 RAID는 운영체제에서 제공하는 소프트웨어를 이용해서 RAID를 구성하는 방식이고 하드웨어 RAID는 별도의 RAID 컨트롤러를 이용해서 RAID를 구성하는 방식이다. RAID는 다양한 방식으로 구성될 수 있다. 그 중에서도 가장 대표적인 방식은 다음과 같다. (시험에 자주 나오는 방식) RAID 0 (Stripe) RAID 0은 두 개 이상의 디스크에 데이터를 나누어 저장.. 2023. 2. 28. [리눅스마스터2] ip와 서브넷마스크 리눅스 마스터2 문제를 풀다보면 네트워크 관련 지식을 많이 요하는 것 같다. 그 중 기본이라 할 수 있는 ip와 서브넷마스크에 대해서 정리하려 한다. 우리가 인터넷에 접속하여 사용하는 ip는 보통 isp(인터넷 서비스 공급자) 업체에서 공인ip를 받아 사용하는 사설ip이다. isp -> 공유기(라우터) -> 내 pc 이런 형태로 ip주소가 뿌려진다고 보면 될 것 같다. 그래서 서로 다른 네트워크상에 있다면 ip주소가 같은 경우도 발생할 수 있다. 사용중인 pc의 ip 주소를 보면 대부분 아래 3개의 주소대역에 속해 있을 것이다. (지금 글을 쓰고 있는 필자의 ip 주소는 클래스 B 내에 속해 있다.) 기본적으로 클래스별 IP 대역은 다음과 같다. 클래스 A: 10.0.0.0 ~ 10.255.255.255.. 2023. 2. 27. [리눅스마스터2] nice와 renice 리눅스에는 프로세스 우선순위를 조정하기 위한 명령어로 nice와 renice를 제공한다. nice는 프로세스 명과 함께 사용하고 renice는 프로세스 id(PID)와 함께 사용한다. 우선순위는 -19 ~ 20 까지 총 40단계가 제공되고 값이 낮을수록 높은 우선순위를 배정받는다. 우선순위가 높을수록 더 많이, 더 오래 cpu를 점유할 수 있다. * NI와 PRI 리눅스는 기본적으로 PRI를 바탕으로 우선순위를 자동계산한다. 다만 NI를 통해 사용자가 입력한 값이 있다면 PRI위에 덮어씌워 우선순위를 재산정한다. 2023. 2. 26. 이전 1 2 3 4 5 6 7 다음