본문 바로가기

728x90

분류 전체보기

(326)
01. 03 코딩 테스트 입문/ 팀 프로젝트/ 개인 과제 수행 1. 코딩 테스트 입문 짝수 홀수의 개수 : 풀이 중 정말 센스있다고 생각한 풀이 class Solution { public int[] solution(int[] num_list) { int[] answer = new int[2]; for(int i = 0; i < num_list.length; i++) answer[num_list[i] % 2]++; return answer; } } 최댓값 만들기(1) 2. 팀 프로젝트 코드 구현을 통한 흐름 파악 역할 분담 : 프로젝트 프로젝트 내부에서 : 댓글 기능 구현 CommentController CommentService Comment CommentLike 3. 개인 과제 수행 JwtAuthFilter 구성 분석 및 공부 스프링 시큐리티 아키텍처에 대한 공문..
01. 02 개인 과제 수행/ 팀 프로젝트/ 코딩 테스트 입문/ 자바 기초 수업 1. 개인 과제 수행 삭제 기능 구현 중 만난 예외 : Referential integrity constraint violation JPA 관점에서 고아 객체 제거 기능 활용한 자식 엔티티 제거 구현 DB 관점에서 -> 참조 키가 바라보고 있는 기본 키의 테이블이 삭제될 경우 FK 키의 테이블이 삭제되는 테이블 속성을 추가한다. Spring Security를 적용한 백엔드 서버 구축 실습 시작 1) WebSecurityConfig 2) JwtAuthFilter 생성 및 사용 메서드, 어노테이션의 선언위치 공부 등 2. 팀 프로젝트 주말 간 UML 작성을 통해 프로젝트를 구체화했고, 오늘은 이를 바탕으로 코드구현을 위한 회의와 협업 시간을 가졌다. 코드 리뷰를 통한 스터디 및 코드 흐름 파악 3. 코딩 테..
게시판의 댓글을 포함하고 있는 게시물을 댓글 삭제 없이 게시물만 삭제하는 경우, 예외 Referential integrity constraint violation : 2) SQL 부모(게시물) -> 자식(댓글) 관계로 DB가 설정되어있을 때, 부모 엔티티를 지울 때 남겨지는 자식 엔티티가 있다면 그 자식 엔티티를 고아 객체로 본다. 이를 그대로 둘 경우 Referential integrity constraint violation SQL 예외가 발생한다. DB 관점에서 Cascade 속성을 사용하여 이 예외에 대응할 수 있다. 1. 테이블 생성 시 CREATE TABLE 참조 테이블 ( ... CONSTRAINT 참조키 FOREIGN KEY(기본키) REFERENCES 기본 테이블(키본키) ON DELETE CASCADE ... ) 2. ALTER TABLE AlTER TABLE 참조 테이블이름 ADD CONSTRAINT 참조키 FOREIGN KEY(기본키) REFERENCES 기..
게시판의 댓글을 포함하고 있는 게시물을 댓글 삭제 없이 게시물만 삭제하는 경우, 예외 Referential integrity constraint violation : 1) JPA 부모(게시물) -> 자식(댓글) 관계로 DB가 설정되어있을 때, 부모 엔티티를 지울 때 남겨지는 자식 엔티티가 있다면 그 자식 엔티티를 고아 객체로 본다. 이를 그대로 둘 경우 Referential integrity constraint violation SQL 예외가 발생한다. 이를 해결하는 방법 중 하나로 고아 객체 제거 기능을 활용할 수 있다. @OneToMany(mappedBy = "post", orphanRemoval = true) private List commentList = new ArrayList(); 출처 : 자바 ORM 표준 JPA 프로그래밍 고아 객체 제거는 참조가 제거된 엔티티는 다른 곳에서도 참조하지 않는 고아 객체로 보고 삭제하는 기능이다. 그러므로 참조하는 곳이 하나일 경우에만..
12. 26 ~ 12. 30/ 9주 차 WIL 스프링 심화 강의를 마치고, 본격적으로 중간 프로젝트 돌입! 1. 스프링 심화 강의 + 심화 강의 실습 주로 시큐리티, 보안에 관련된 내용이 주를 이루었던 강의였다. 그 이론의 양이 매우 방대하지만, 차분하게 놓고 생각해봤을 때, 사용을 위해 필수적으로 알아야하는 부분만 추려보면 그렇게 많은 양은 아니다. 다만 이 필수 동작원리를 코드로, 말로 설명할 수 있을 때 주니어 개발자가 될 수 있을 것이다. 2. 프로젝트: 블로그를 위한 백엔드 서버 실습 + JWT ~ 수정/삭제 기능 구현 심화 강의를 소화하기에 바뻐 진행을 많이 하진 못했다. 다음 주에 진행될 중간 팀 프로젝트와 같이 만들어 나가면서 구현 실습을 더 해보고 내 것으로 만드는 시간을 많이 가져야겠다. 3. CS 특강 : 캐시 캐시 강의를 수강했..
12. 30 코딩 테스트 입문/ 팀 프로젝트 SA/ 개인 과제 수행/ CS 특강 1. 코딩 테스트 입문 점의 위치 구하기 2. 팀 프로젝트 SA ERD 작성하기, 팀 프로젝트 SA 작성 -> 주말 동안 미비한 강의 내용 복습 후 월요일부터 프로젝트 시작 예정 -> 식별자 vs 비식별자 연관관계 설정 차이 (속성, 인조 키 vs 자연 키) 식별자 vs 비식별자 식별자는 그 키로 인해서 테이블의 값을 특정할 수 있어야 한다. ? ~ 공부해야 이해할 수 있는 내용 3. 개인 과제 수행 포스트맨 전역변수 설정방법과 JWT 토큰을 전역변수에 할당하여 보다 간편한 포스트맨 진행 댓글 수정/ 삭제 기능 구현 주말 간 해볼 것 : 스프링 시큐리티를 사용한 블로그 구현하기 4. CS 특강 캐시 - 캐시 힛이 많을 수록(캐시에 저장된 데이터가 많을수록) 데이터 연산이 정확해진다. - 캐시에 저장하는 ..
Spring 프로젝트 Check-list ✅ Spring / Api [ ] controller, service, repository를 잘 분리하였는지 [ ] dto를 잘 사용하고 있는지 [ ] api의 request와 response는 적절한지 [ ] query param, path param, body를 잘 사용하고 잇는지 [ ] restful api 설계규칙에 부합하는지 ✅ JPA [ ] 엔티티 Column들의 제약조건을 잘 설정했는지(nullable, unique 등) [ ] 엔티티 사이에 적절한 연관관계를 설정했는지(1:N/1:1/N:N, 양방향/단방향 등) [ ] 트랜젝션 단위를 잘 설정했는지, @Transactional이 필요한 곳에 사용되었는지 ✅ Java [ ] 변수와 메서드의 네이밍은 적절한지 [ ] 변수와 상수를 적절하게 사용..
12. 29 코딩 테스트 입문/ 스프링 심화 강의/ 자바 기초 수업 1. 코딩 테스트 입문 - 양꼬치 : 코딩 문제라기 보다는 계산식을 잘 세우면 풀리는 문제, 또한 다른 사람의 풀이를 통해 객체 지향에 대해 좀 더 배워볼 수 있었다. - 머쓱이보다 키 큰 사람 2. 스프링 심화 강의 1) Exception 스프링 예외처리 방법 1) 컨트롤러에 Try-catch 문을 추가 2) 컨트롤러 클래스에 예외처리 추가 3) 글로벌 예외처리 : @ContollerAdvice @RestControllerAdvice -> @ControllerAdvice + @ResponseBody 핵심 : 관심사를 분리하자 2) Transactional 더 이상 쪼갤 수 없는 최소단위의 작업 하나의 최소 단위의 작업에 여러가지 데이터 변경을 넣으면, 모두 저장되거나, 아무 것도 저장되지 않거나를 보장..

728x90