장생농 (138) 썸네일형 리스트형 (업데이트 중인)스프링부트 - 어드민 페이지 프로젝트(2) 고객 관리만 있는 페이지에서 주문, 상품, 파트너 관리 페이지 추가 얻은 교훈 : html 에서 객체의 필드를 사용할 때는, snake_case를 사용해야 한다. 삽질 - 오타를 조심하자. 정상적인 화면 현재 겪고 있는 문제... 분명 상태까지는 잘 갖고 오는데 왜 나머진 보이지가 않는가??... -> 단순 오타였던 것 같다. js 파일, html 파일을 삭제하고 다시 만드니까 잘된다. -> 아침 수정. 오타가 아니라 변수 이름이 달랐다. html 파일에는 snake case로 작성해야 했다. 그런데 camel case로 작성해서 오타가 났다. 교훈 : 오타를 조심하자. 간단한 파일이라면 다시 만들어보자. 만약 그렇게 해서 정상으로 돌아온거라면 오타문제니까. 엉터리 정리 - MockMvc 테스트 강의를 들으며 공부를 하던 중 mock mvc 라는 것을 알았다. 사용법은 다른 블로그에 좋은 글들이 많기 때문에 여긴 그냥 개념만... MockMvc를 사용하면 테스트 코드에서 컨트롤러에게 요청해서 결과를 바로 알 수 있다. 전에는 postman 같은 것을 사용해 직접 body 에 json 값을 넣어 post 요청을 했었는데 mock mvc 테스트 코드를 사용하면 테스트 코드만 실행하면 결과까지 다 알 수 있다. -> 시간이 매우 절약된다. @BeforeEach가 붙은 메소드는 각 테스트가 실행되기 전에 먼저 수행되는 메소드다. 저 메소드가 수행되면, mockMvc가 빌드되고 테스트 메소드는 그 객체로 테스트를 수행한다. 자세한 글: wedul.site/131 (업데이트 중인)스프링부트 - 어드민 페이지 프로젝트(1) 패스트캠퍼스 강의를 들으며 만든 어드민 페이지. 계속 관리 예정. 아직 이 두 페이지가 전부인데 점점 늘릴 예정. DFS / BFS 정리 출처, 자세한 내용 : youtu.be/7C9RgOcvkvo DFS Depth First Search, 깊이 우선 탐색은 인접된 노드들을 깊이 우선으로 탐색하는 방법이다. BFS Breadth First Search, 너비 우선 탐색은 인접된 노드들을 너비 우선으로 탐색하는 방법이다. DFS는 스택을 사용해 구현한다. 파이썬은 일반 list를 선언해 사용하면 된다. -> 보통 재귀함수와 같이 사용한다. 1. 탐색 시작 노드를 스택에 넣고 방문 처리한다. 2. 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문 처리한다. -> 만약 방문하지 않은 인접 노드가 여러개라면 제시된 기준으로 선택한다. -> 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다.. 엉터리 정리 - DAO, DTO, VO, Entity dao, dto, vo, entity에 대해서는 많은 정리가 있다. 그래서 간단하게만 정리하기로 한다. DAO data access object -> 실제 DB에 접근하는 객체. -> 서비스와 DB 사이에서 데이터를 옮기는 역할을 한다. 쿼리를 날려 데이터를 가져오고 저장한다. -> JpaRepository 객체들이 그 역할을 한다. -> db와 통신할 때 사용하는 것. DTO data transfer object -> 계층간 데이터 교환을 위한 객체. -> DB에서 얻은 데이터를 컨트롤러나 서비스 로직에서 사용하기 위한 객체. -> DB에서 꺼낸 데이터를 DTO로 바꿔 서비스 로직, 컨트롤러 사용한다. VO value object -> VO는 DTO와 같은 개념이지만 읽기 전용이다. Entity -> .. 페이징 처리하기 게시판이 구현된 사이트는 특정 개수대로 게시글을 나눠 페이지 별로 보여준다. jpa를 이용하면 이런 페이징 처리를 비교적 간단히 할 수 있다. 몇개씩 노출시킬 지, 어떤 요소를 기준으로 정렬할 것인지, 오름차순인지, 내림차순이지도 정할 수있다. 우선 컨트롤러에서 페이지 요청을 처리하는 메소드를 만든다. 해당 메소드는 데이터를 리스트 형태로 만들어 여러 데이터를 반환한다. 페이징처리를 위해 Pagable이란 객체에 @PageableDefault 어노테이션을 붙여 매개값으로 전달한다. Pagable은 정렬 기준, 정렬 방법, 노출 개수 등의 정보를 담고 있다. 페이징 설정 정보가 담긴 객체를 JpaRepository의 findAll()메소드에 매개값을 넣어주면, 데이터들을 Page 객체에 담아 리턴한다. 그.. 엉터리 정리 - 하이버네이트 JPA로 CRUD를 수행하다 보면, 콘솔 창을 통해 하이버네이트 라는 것이 작동하는 것을 알 수 있다. Jpa는 인터페이스이고 그것을 구현하는 것은 하이버네이트다. 이전 1 ··· 4 5 6 7 8 9 10 ··· 18 다음