목록전체 글 (71)
엘라의 개발 스케치 Note

To-do 알고리즘 문제 풀기 및 스터디 플러스 주차 복습 과제 작성: 게시글 삭제 API 스프링 심화 개선 과제 작성: Repository 테스트 코드 작성 TIL 참고 링크 : https://crazykim2.tistory.com/566 LinkedList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속 데이터가 연속된 위치에 저장되지 않고 모든 데이터가 데이터 부분과 주소 부분을 별도로 가지고 있음 데이터는 포인터와 주소를 사용하여 연결, 데이터부분과 주소부분이 나눠져있어서 선으로 연결된 형태로 이어져있음 // 선언 - 타입 설정 안할 수도 있음 LinkedList list = new LinkedList(); // 값 추가 list...

To-do 알고리즘 문제 풀기 플러스 주차 복습 과제 작성: 게시글 수정 API 스프링 심화 개선 과제 작성: Service 테스트 코드 작성 TIL 잘못된 코드 StringBuilder sb = new StringBuilder("1234"); StringBuilder sbReverse = sb.reverse(); // sb = "4321" // sbReverse = "4321" 올바른 코드 StringBuilder sb = new StringBuilder("1234"); // reverse 한 값 만들기 Strin..

To-do 알고리즘 스터디 문제 풀기 및 발표 자료 정리 플러스 주차 복습 과제 작성: 게시글 조회 API 스프링 심화 개선 과제 작성: Controller 테스트 코드 작성하기 TIL 선택 정렬? * 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 1. 주어진 리스트 중에 최소값을 찾는다. 2. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. * 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 O(n2) 만큼의 시간이 걸린다. * 선택 정렬은 알고리즘이 단순하며 사용할 수 있는 메모리가 제한적인 경우에 사용시 성능 상의 이점이 있다..

To-do AOP 및 어노테이션 적용 공부 -> 스터디 발표 자료 정리 마무리 뚜까패 스터디 - 'AOP 및 어노테이션 적용' 발표 TIL [ 오늘의 목표: Spring AOP를 통해 새로운 애너테이션 정의해 구현하기 ] 1. Spring AOP 복습하기 1) AOP 개념 소개 * AOP? - Aspect-oriendted Programming (AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법 cf) OOP: Object-Oriented Programming. 객체 지향 프로그래밍 - 흩어진 관심사 ⇒ AOP를 적용하면? * AOP 주요 개념 - Aspect: 부가기능 모듈 - Target: 적용되는 대상 ..

To-do 플러스 주차 복습 과제 작성: 게시글 작성 API 스프링 심화 개선 과제 작성: Pageable 을 사용하여 페이징 및 정렬 기능 만들기 알고리즘 스터디 AOP 및 어노테이션 적용 공부 -> 스터디 발표 자료 정리 TIL 1. PageDto 만들기 @RequiredArgsConstructor @AllArgsConstructor @Builder public class PageDto { private final Integer currentPage; private final Integer size; private String sortBy; public Pageable toPageable() { if (Objects.isNull(sortB..

To-do 플러스 주차 복습 과제 재작성: 회원가입, 로그인 API 재작성 알고리즘 문제 풀기 플러스 주차 복습 과제 작성: 전체 게시글 목록 조회 API 스프링 심화 개선 과제 작성: QueryDSL 을 사용하여 검색 기능 만들기 TIL Query DSL 작성 중 query.where 절 and 조건을 or 조건으로 만들기 ? 게시글 제목, 내용을 Keyword 로 검색하는 기능을 구현하고자 했으나 게시글이 반환되지 않는 문제 발생 @Component @RequiredArgsConstructor public class PostRepositoryQueryImpl implements PostRepositoryQuery { private final JPAQueryFactory jpaQueryFactory; ..

Facts 스프링 숙련 강의 복습 및 개인과제 lv.2, lv.3 작성 및 제출 뉴스피드 프로젝트 작성 보충 강의 수강 알고리즘 공부 및 그룹스터디 자바의 정석 공부 Feelings 코드를 하나씩 작성해가고 생각한대로 코드가 작동되는게 신기하고 재밌긴한데 되는 대로 만들어서 이게 맞는 방법인지를 몰라 혼란스럽다.. 개인과제 해설 들으면서 코드가 맞는지 비교하고 더 좋은 코드를 공부해야겠다! Findings [ 과제 및 프로젝트 작성 중 문제 해결 ] password Encoder no bean 문제 해결: password Encoder 가 담긴 config에 @EnableWebSecurity 빠트리지 않기! Response Body에 Response가 반환되지 않는다면? 메소드에 @ResponseBody..

To-do 뉴스피드 프로젝트 회의 및 작성 스프링 보충 강의 알고리즘 공부 및 그룹스터디 TIL 댓글 좋아요 기능 구현하기(댓글 db를 Put 하여 좋아요 수가 1씩 늘어나는 방법으로 구현) ? 아래 방법으로 코드를 작성하니 ResponseBody에는 좋아요수가 +1이 되지만 실제 DB에서는 좋아요 수가 추가되지 않음 @Service (생략) // 선택한 댓글 좋아요 추가 public CommentResponseDto commentLike(Long id, User user) { findComment(id).updateLikes(countLikes(id) + 1); CommentResponseDto commentResponseDto = new CommentResponseDto(findComment(id))..

To-do 알고리즘 공부 스프링 개인과제 lv.3 확인 및 제출 TIL List -> ArrayList, LinkedList, Vector [특징] 1. 순서 보장: List는 요소들을 특정한 순서로 저장. 저장된 순서대로 요소에 접근 가능. 요소의 순서는 추가한 순서를 유지 2. 인덱스 접근: List는 요소들을 인덱스로 접근할 수 있음. 인덱스는 0부터 시작하여 요소의 위치 나타냄 3. 중복 허용: List는 동일한 값을 중복해서 저장할 수 있음. 따라서 리스트에는 동일한 값의 요소가 여러 개 포함될 수 있음 [활용] 1. 순차적인 데이터 저장: 데이터를 순차적으로 저장하고, 순서에 따라 접근하고자 할 때 2. 검색 및 접근: 인덱스를 사용하여 특정 위치의 요소에 접근하거나 검색할 때 3. 순회 및 ..

To-do 알고리즘 공부 및 그룹스터디 스프링 보충 강의 스프링 개인과제 lv.2 확인 및 제출 스프링 개인과제 lv.3 작성 TIL 선택한 게시글과 함께 모든 댓글 조회하기 ? 선택한 게시글과 함께 관련된 모든 댓글을 ResponseBody에 반환해야하는데 어떤식으로 반환하는게 좋을지 고민이 많았음 Try 1. Dto를 하나로 합쳐서 만들기 위해 시도 -> 이미 만들어진 게시글과 댓글 dto가 있는데 반복을 위해 하나 더 만드는 것은 중복된 코드를 하나 더 만든다는 생각이 들어 다른 방법을 고민함 ! Try 2. 서비스 단에서 해당 게시글에 대한 댓글을 List로 담은 뒤 List를 만들어 해당 게시글(PostResponseDto)과 댓글들(List)을 Response 하는 것으로 처리함 // 1. 선..