전체 글 (338) 썸네일형 리스트형 01. 26 TIL 1. 코딩 테스트 입문 인덱스 바꾸기 : 새로 배운 기능 StringBuilder 클래스의 SetCharAt 메서드, Collection 클래스의 Swap 메서드, String 클래스의 Join 메서드 2. 테스트 코드 통합 테스트와 단위 테스트 Mock 객체 생성과 활용 강의 중 만난 오류 : Jwt 토큰 값이 Null이다 -> 로그 : JwtUtil이 noArgConstructor를 가지고 있어야 한다? 코드 스니펫을 그대로 따라해도 발생하는 오류 1) JwtUtil에 기본 생성자 어노테이션을 추가하고 기존의 @RequiredConstructor를 삭제후 테스트 실행 -> Key argument cant be null + 로그에서 오류에 break point를 설정할 수 있어 편리하게 디버깅 -> s.. 테스트 코드(2) 출처 : 내일배움캠프 유닛(단위) 테스트 : 메서드 단위로 테스트를 수행 통합 테스트 : 어플리케이션의 전체 동작이 정상적으로 동작하는지 수행 F.I.R.S.T 원칙 Fast : 단위 테스트는 빨라야 한다. Independent : 단위 테스트는 각각의 테스트가 연관되지 않고, 고립되어야 한다. 즉 독립적 이어야 한다. Repeatable : 단위테스트는 반복 가능해야한다. 반복적으로 테스트를 시행해도, 결과는 같아야 한다. Self-validating : 자체적으로 테스트 결과가 도출되야한다. (개발자가 print 찍어서 비교하는게 아니고 자동으로 수행되며 성공/실패 의 결과가 나오는 것) Timely : 단위 테스트는 실제 코드보다 먼저 구현해야한다. (TDD일 경우에만 해당) Given-When-T.. 01. 25 TIL 1. 심화 프로젝트 발표 추가기능 구현 : 개인적으로 해볼 것 검색 기능 키워드 검색 : 페이징 목록 조회를 할때 검색 키워드를 입력해 검색하는 기능을 추가해보세요. 판매자 검색 : 페이징 목록 조회를 할때 판매자명으로 검색하는 기능을 추가해보세요. 포인트 기능 포인트 조회 : 고객과 판매자는 포인트를 가진다. (최초 회원가입시 기본포인트 제공) 상품 포인트 가격 : 상품들이 모두 포인트 가격을 가진다. 포인트 결재 : 고객은 판매자의 상품을 구매할때 가격만큼 포인트가 차감된다. 포인트 수신 : 판매자는 고객이 구매한 상품판매가 완료되면 포인트를 수신한다. 포인트 추가 : 운영자는 고객 또는 판매자에게 포인트를 추가해준다. 고객-판매자 대화 기능 대화방 생성 : 판매가 시작될때 대화방이 생성된다. 대화 .. SQL : 인덱스 출처 : 내일배움캠프 인덱스를 붙이면, 균형 트리 노드가 생성되어 빠른 탐색이 가능하다 인덱스는 각 열에 붙일 수 있다. 인덱스의 장단점 - Select 문으로 검색하는 속도가 매우 빨라진다 - 인덱스도 공간을 차지하므로 DB 안 추가 공간이 필요하다. - 데이터 변경 작업(INSERT, UPDATE, DELETE)가 자주 일어나면 오히려 성능 저하가 발생할 수 있다. 인덱스의 종류 - 자동 생성 인덱스 클러스터형 인덱스 : 어떤 열을 기본 키로 설정한 경우 자동으로 클러스터형 인덱스가 생성(데이터 정렬 O) 보조 인덱스 : 어떤 열을 고유 키로 설정하면 자동으로 보조 인덱스가 생성(데이터 정렬 X) - 수동 생성 인덱스 : 보조 인덱스 인덱스 생성 CREATE [UNIQUE] INDEX 인덱스_이름 O.. 01. 16 ~ 01. 20/ 12주 차 WIL 심화 프로젝트 진행 주차! 1. 심화 프로젝트 그동안 배운 내용을 보다 적극적으로 활용할 수 있던 시간이었다. 특히 나 같은 경우엔 페이징 처리를 바탕으로 각종 조회 메서드 작성에 대해 통찰을 얻을 수 있었고, 클린 코드의 중요성과 핵심만을 말할 수 있는 능력의 중요성에 대해 깨달았다. 2. 시퀀스 다이어그램 실무에서 많이 쓰인다는 시퀀스 다이어그램에 친숙해지고자 공부하는 시간을 많이 가졌다. 결과로 보다 친숙해지고, 실무에 투입되었을 때 당황하는 것을 좀 줄일 수 있을 것으로 기대한다. 3. 자바 복습 자바의 강력한 강점인 객체지향 프로그래밍과, 이를 구성하는 4가지의 장점에 대해 복습하는 시간을 가졌다. 자바가 확실히 처음에 접하기엔 좀 어려운 언어이지만, 이해하고 나면 꽤 든든한 논리구조를 가지고 .. 심화 프로젝트 간 어려웠던 페이징 처리 페이징 처리를 하기 전 설계를 리스트로 반환하는 방식으로 했지만, 추후 페이징 처리라는 말의 의미는 페이징 타입으로 반환하는 것이라는 것을 알게 되었고, 이에 맞춘 재설계 및 코드 재작성 단계를 거쳤다. 관리자 권한으로 접근할 수 있는 전체 판매자목록 조회 메서드 이를 통해 페이징 처리, 람다, Enum을 통한 권한 설정에 대해 보다 더 익숙해질 수 있었다. 트러블 슈팅 1. 참고 출처 : 스택 오버플로우 https://stackoverflow.com/questions/39036771/how-to-map-pageobjectentity-to-pageobjectdto-in-spring-data-rest 페이지네이션 https://hudi.blog/spring-data-jpa-pagination/ 람다 htt.. 01. 23 심화 프로젝트/ 시퀀스 다이어그램 그리기 1. 심화 프로젝트 페이징 처리 기본 완료 : 검색기능을 추가할 수 있을까? 구매 요청서 응답 DTO를 반환할 때 거래 상태 값이 출력될 수 있도록 하기 개별 판매상품 조회에서 구매 요청이 없을 경우 조회하는 방법 2. 시퀀스 다이어그램 그리기 https://brownbears.tistory.com/511 [UML] 시퀀스 다이어그램 (Sequence Diagram) 시퀀스 다이어그램은 특정 행동이 어떠한 순서로 어떤 객체와 어떻게 상호작용을 하는지 표현하는 행위 다이어그램입니다. 현재 존재하는 시스템이 어떠한 시나리오로 움직이고 있는지를 나타 brownbears.tistory.com 맡았던 기능인 조회기능에 대한 시퀀스 다이어그램 작성해보기 01. 20 심화 프로젝트/ 코딩 테스트 입문 1. 심화 프로젝트 페이징 구현 중 DB에 날리는 쿼리문을 작성하면서 부딪히는 문제들 쿼리문에 대해 공부하기 포스트맨 메서드 정리 머지를 통한 프로젝트 중간 점검 및 회의 중요한 포인트 : 인증/인가에서 UserDetailsImpl은 하나만 만들 수 있다. ~ UserRoleEnum은 하나만 가질 수 있다? 계속되는 페이징과의 싸움.. 어떻게 반환해야 되는 걸까? 판매자 권한 승인 수정 2. 코딩 테스트 입문 외계행성의 나이 : 아스키코드를 본격 처음으로 활용해봤다 이전 1 ··· 23 24 25 26 27 28 29 ··· 43 다음