목록컴공 (5)
관심쟁이 영호

이번에는 주문취소에 대해서 살펴볼 예정이다. 주문취소를 보는 이유는 DB에서 값을 가져와서 데이터를 변경해주는 작업이기 때문이다. 여기서 문제가 있다. 만약, 물품이 10개가 있다. A라는 사람이 1개의 물품을 주문함과 동시에 B라는 사람이 10개의 물품을 주문할 수도 있다. 이렇게 된다면, DB에도 문제가 생기고 결제서비스와 같은 직접 돈과 연관되어 있는 문제면 엄청난 파장이 생길 것이다. 어쨌든 살펴보자. 홈화면에서 "주문 내역"을 눌러준다. 그러면 위와같은 페이지가 나온다. 페이지에 해당하는 매핑 컨트롤러로 가보자! 페이지는 "http://localhost:8080/orders" 이다. // OrderController.class @Controller @RequiredArgsConstructor p..

이전 포스팅에서는 회원 도메인을 완성했고, 테스트까지 완료했다. 이번 포스팅에서는 상품 도메인을 할 예정이다. 1. 상품 도메인 기능 및 개발 순서 (1) 기능 - 상품 등록 - 상품 목록 조회 - 상품 수정 (2) 순서 상품 엔티티 개발(비즈니스 로직 추가) -> 상품 리포지토리 개발 -> 상품 서비스 개발, 상품 기능 테스트 이렇게 될 예정이다. 2. 구현 시작. (1) ItemRepository 생성 // ItemRepository.class @Repository @RequiredArgsConstructor public class ItemRepository { private final EntityManager em; public void save(Item item){ if(item.getId() =..

Context란? 어떠한 대상에 대한 모든 정보를 가지고 있는 것이 Context다. 그럼 영속성 Context란? 영원히 저장해야하는 Context를 말한다. Spring에서의 영속성 Context는 이렇게 이해할 수 있다. 자바를 이용해서 데이터를 조회하거나 입력할 때, 직접적으로 DB에 요청하는 것이 아니다. 중간에 영속성 컨텍스트라는 것이 있고, 영속성 컨텍스트에 호출을 하게 되면 영속성 컨텍스트가 DB에 직접가서 받아오거나 입력한다. 왜 필요한걸까? 1. 트랜잭션을 지켜 "쓰기 지연"을 제공한다. 이 말은 어떠한 값을 입력할 때, Insert가 따로 동작하면 모든 것을 한번에 처리할 수 있도록 도와준다는 말이다. 모종의 이유로 따로 동작하다가 1개는 insert되고, 다른 하나는 insert가 ..
우선, 이야기하기 전에 나는 컴퓨터 공학과에 재학 중인 4학년 학생이다. 혹시나 앞으로 컴퓨터 공학과 전공을 생각하고 있거나, 재학 중이거나, 편입 및 전과를 생각한다면 이 글을 보고 참고하면 좋을 것 같다. 왜냐하면, 시간을 되돌린다면 이 글처럼 나는 행동하고 싶으니까. 우선 컴퓨터에 대한 선입견이 있다면 한번 읽어보면 좋을 이야기를 적어보겠다. 1. 컴퓨터는 어려운 것이 아니다. 위 글 보고 "니 따위가?", "거짓말 치네~"라고 생각할 수 있다. 근데 솔직히 이야기해서 대학교 4학년 과정 동안 배우는 공부이다. 입문 단계에서는 너무나 어렵고 힘들지만, 어느 정도의 경지에 오르게 되면(무언가 만들고 싶은 프로그램을 허접한 수준이라도 만들 수 있는 경지) "산이 높을 뿐이지, 오르지 못할 것 같진 않다..

1. Frame Work? 스프링은 프레임 워크라는 말이 있다. 그럼 여기서 프레임 워크란 무엇인가? Frame(틀) + Work(일)이다. 어떠한 프로젝트를 할 때, 하나의 틀을 만들어놓고 그 틀을 벗어나지 않게 프로젝트를 진행하라는 의미에서 프레임워크를 만들었다. 2. Frame Work가 왜 필요한가? 대학교 수준이나, 개인 프로젝트 수준에서는 많이 필요없을 수가 있다. 하지만 실무에 나가면 프레임워크가 엄청나게 필요하다. 이유는, 무수히 많은 코드들이 있고 각 코드들이 맡은 역할이 다르기 때문이다. 내 옆사람이 짜놓은 코드를 참고하여 코드를 작성해야 하는 경우도 아주 많고, 내 코드를 다른 누군가가 볼 경우도 아주 많다. 아니다. 그냥 무조건 봐야한다. 옆사람이 코드를 작성해놓았는데, 코드를 너무..