전체 글 372

이미지 파일

(맥락) 파일 업로드 & 이미지 등록 - (스트럭쳐) M ItemImg -> Item (LAZY) ItemImgDto ItemFormDto ItemController 아이템폼 뷰 프로퍼티 + 컨피겨 파일서비스 : upload + delete ItemImgRepository ItemImgService ItemService - (semiflow 20) 아이템이미지 엔티티 내부에 업데이트이미지 메소드가 들어간다 modelMapper : 서로 다른 클래스의 값을 필드이름,자료형이 같으면 getter setter를 통해 복사 후 객체 반환 modelMappe는 의존성 추가해서 사용 엔티티를 넣어서 DTO를 반환한다. 아이템 자체를 반환하기도 한다 ItemImgDto 내에 ModleMapper static으로 객체..

카테고리 없음 2024.04.13

Auditing

(맥락) 등록시간, 수정시간, 등록자, 수정자 자동 공급 --- (스트럭쳐) config에 AuditorAwareImpl config에 AuditConfig 생성 -> AuditorAwareImpl @Bean으로 추가 BaseTimeEntity : 시간만 BaseEntity : 위 상속후 등록자 / 수정자도 추가 Member에 BaseEntity extends 후 기존 없애기 + @withMockUser로 테스트 오더아이템, 카트. 카트아이템, 아이템, 오더 모두 상속 수정 ---- (semiflow 20) implements AuditorAware @EnableJpaAuditing -> 활성화 @EntityListenr(value = {AuditingEntityListener.class}) @Mappe..

카테고리 없음 2024.04.13

매핑

------------------------(맥락)---------------------- : DB 테이블에서 외래키를 통해 연관관계 -> 엔티티 버전의 매핑 : 성능 저하는 데이터를 저장,수정시 아니라 조회할떄 일어난다 -> LAZY를 통해 최적화 : 뒤늦게 생성된 것이 먼저 생성된것에 참조로 걸쇠 건다. 사용을 편리하게 하기 위해 원본에서도 참조 후 cascade, orpahn 설정 멤버는 양방향 x, 오더만 ------------------------(스트럭쳐 : 일어나는곳)---------------------- 단방향 1:1 1 카트 -> 1 멤버 (일방적 참조) - 단방향 M:1 멤버 카트 - M 카트아이템 -> 1카트 -> 1멤버 - M 카트아이템 -> (특정) 아이템 M 오더아이템 -> (..

카테고리 없음 2024.04.13

코테 리인덱싱

(문제) 인덱스 (필요 : 싱글) String이 있을때 1개씩 char가 필요할떄 : split / substring / String regex 전환 Char 숫자 그대로 int로 활용 Char 영어를 offset으로 활용 ArrayList을 array로 ArrayList를 array로 char를 정렬 가능 array를 list로 (필요 -> 체인) (질문) Idx에 접근하는게 나을까? value에 접근하는게 나을까? for / enhanced for / while? 하나만 순회하나 여러개를 동시에 순회하나? L을 구하는게 나을까 ab 양 거리를 구하는게 나을까? 필요하고 끝까지 가는것인가? 한번쓰고 버리는것인가? 보존? 비보존? 갱신? 배열에 넣어서 구하나 아니면 바로 구하나? sP + CVOP + l..

카테고리 없음 2024.04.13

코딩테스트 입문 / 진료 순서 정하기

주의 1 : 결과는 76-24-3으로 정렬이 아니라 첫번째는 1번, 두번째는 1번, 세번째는 2번 인덱스는 고정시켜두고 순위를 작성한다 주의 2 : 순위이므로 0부터 시작하는 idx+1 v로 정렬시키고, i에 따른 3 1 2를 순위로 줄 세우고, 그 순위만 챙겨서 다시 되돌리기 순위로 줄 세웠다면, 갱신된 sorted배열의 idx는 순위가 된다. 그럼 value는 필요없어짐 import java.util.Arrays; class Solution { public int[] solution(int[] emergency) { int L = emergency.length; // value기준 순위 얻기 Node[] sorted = new Node[L]; for (int i = 0; i < L; i++) { so..

카테고리 없음 2024.04.13

RESTful API

마이크로서비스 아키텍쳐에는 애플리케이션 기능을 RESTful API로 노출하는것이 일반적이다 - 1. 스프링부트로 RESTful APi를 설계하고 구축하는 방법 2. 응답 데이터 규격, HTTP 응답코드 등 API 사용자에게 필요한 정보를 문서화하여 제공하는 방법 3. API를 테스트하기위해 단위 테스트를 작성하는 방법 4. RESTful API에 보안을 적용하여 보호하는 방법 - REST 아키텍쳐 스타일을 따르는 API REpresentational State Transefer 클라이언트가 서버에 있는 자원을 요청하면 서버는 해당 자원의 상태를 규격에 맞게 표현한 정보를 반환한다 Represntation : 상태 정보 : JSON / 단순 문자열 / HTML 등 여러가지 형식 중 특히 JSON - 스프..

카테고리 없음 2024.04.11

코딩 기초 트레이닝 / 빈 배열에 추가, 삭제하기

기존 배열을 갱신하는 것인가? 아니면 새 배열에 편하게 작성하는 것인가 배열 원소가 계속 변경되므로 arrayList를 사용하는게 좋겠다 idx에 접근할 수 있는 for? value에 접근할 수 있는 enhanced? while? -> flag와 arr 두개에 동시 사용해야 하니까 일반 for문으로 하는게 좋겠다 마지막에 int[] 형식으로 출력해야 하므로, list를 array에 변경하는 작업이 필요하겠군 그런데 Integer는 int가 아니므로 수동 변환을 해야겠다 list.add는 0번 index에 추가된다. 어떻게 뒤에 추가하는가? 1 - size로 접근해서 size, size+1에 추가한다 2 - 그런데 제거할때도 똑같이 매번 size를 도출해내야 하므로 앞 뒤를 바꿔서 그냥 앞에 넣어버리고 마..

카테고리 없음 2024.04.11

2회차 : 아이템

모델매퍼 및 querydsl 잊지말기 위치가 잘못됨 2.3.9로 잘 녹아들어감 실행 후 target에 QEntity 넣어주지 않았나? 아니면 경로 문제일수도 있음 exception도 빠짐없이 넣어주고 Queryresults import도 누락 plugin에도 넣어줘야 하는걸 까먹음 우측상단 maven -> compile도 해줘야함 보통은 reLoad까지만 먼저 코드를 작성하고 뒤늦게 추가해서 그런가? 코드 주석처리 후 재실행 해보기 ItemRepositoryCustomImpl 삭제처리 후 재컴파일 QDomain 생성 확인 preference랑은 다르다 target 디렉토리 이하 Q도메인 exclude되어 있는것 확인 -> 디렉토리 클릭 후 mark as를 클릭해줘야 한다 정상 작동 확인 run은 무조건 ..

카테고리 없음 2024.04.10