til

1. 몽고db - 스프링 스프링에서 mongodb atlas 연결 1. mongodb atlas 에서 connect my application에서 java와 버전 선택후 url 가져오기 2. mongodb atlas 에서 해당 클러스터 db connection, network connection에서 권한과 ip주소 잘 설정하기 3. 스프링 application.properties 잘 설정 후 나의 경우에는 깃헙 secrets에 잘 업데이트 하고 배포하기 코드 // build.gradle // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-mongodb implementation group: 'org...
미루던 til 한번에 몰아쓰기... 1. 지연 로딩 관련 에러 게시글 - 댓글 org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.innovation.stockstock.entity.Post.comments, could not initialize proxy - no Session 양방향 1:N 연관관계인 상황에서 모두 지연로딩으로 설정하니 게시글을 통해 댓글을 조회할 때 (게시글 상세조회) 트랜잭션이 끝나고 나서 댓글 프록시 객체가 초기화 시도하여 댓글 정보를 불러오지 못하는 문제가 생김 게시글에서 즉시 로딩 전략을 사용해 바로 가져올 수도 있지만, 대부분의 경우 댓글 정보는 필요가 ..
1. ResponseEntity 사용 // 7주차 응답 형식 ResponseEntity.ok().body("200 응답 바디 메세지"); ResponseEntity.badrequest().body("400 응답 바디 메세지"); // body() 안에는 미리 설정했던 ResponseDto나 적절한 String으로된 메세지를 담았다 // JwtAuthenticationEntryPoint class HttpServletResponse response; response.setStatus(400) // 추가 2. Leetcode DFS 589번 class Solution: def preorder(self, root: 'Node') -> List[int]: if root is None: # 예외 처리 return..
인텔리제이 force push 활성화 File > Settings > Version Control > Git > Push > Protected branches: main으로 설정된 것을 지우면 main 브랜치에 force push 가능 (브랜치 보호를 풀었다가 force push 한 이후 다시 보호 설정해주는 것이 좋을 것 같다)
언젠가부터 너무 적당히만 공부하는 것 같다. Git 공부, TDD, 코테 문제 등 할게 많은데도 사리면서 하는게 많이 느껴지는데, 좀 반전시키고자 오늘은 코테문제 하나 풀고 마무리하려고한다 ㅎ.. 또 다른 분위기 반전으로 김영한님의 JPA 기본 강의를 구매해서 다음주부터 들을 예정이기 때문에 또 열심히 달리게 되는 계기가 되지 않을까 싶다. 1. Spring 과제에 스케줄러를 구현해보았다 매일 오전 1시에 댓글 갯수가 0개인 게시글을 모두 삭제해주는 로직을 만들어야 했다 먼저 애플리케이션에 @EnableScheduling으로 인식하게 해주고 @EnableScheduling @EnableJpaAuditing @SpringBootApplication public class IntermediateApplica..
1. Spring Spring 주특기 마지막 주차에 예상치 못하게 팀플을 하게 되었는데 괜찮은 것 같다. 이번 기회에 많이 익숙치 않은 깃과 협업을 좀 더 연습하면 좋을 것 같다. GitHub Desktop에서 원격에 있는 repo 불러오기 -> clone repository IntelliJ에서 원격에 이미 만들어져 있는 repo 불러오기 -> get from version control (새로 생성은 share project on Github -> commit directory) find action (ctrl + shift + A) AWS S3 서비스를 이용해 게시글을 작성할 때 이미지를 업로드하고, 응답으로 이미지 url을 받는 기능을 배정받았다 https://devlog-wjdrbs96.tisto..
이노베이션 캠프 4주차를 수행하면서 배운 것 중 유용한 것을 정리한다. 스프링 어노테이션이 얼마나 큰 역할을 하는지 더욱 알게된 한 주였다. 1. MySql 먼저 오늘 배포하기 전에 H2에서 RDS MySql로 바꾸었을 때 JPA - Field 'id' doesn't have a default value 이런 에러가 자꾸나서 찾아본 결과 JPA와 DB의 save() 관련 sql문 차이가 있어 따로 설정해주어야 되는 부분이있었다. // User @GeneratedValue(strategy = GenerationType.IDENTITY) @Id private Long id; 유저 엔티티의 DB id값 설정에서 원래 GenerationType.AUTO에서 GenerationType.IDENTITY로 바꿨었는데..
새로운 개념들이 본격적으로 쏟아지기 시작하는 것 같다. 19일차부터 코드치고, 성질내고 하면서 계속 TIL도 안쓰고 코테 문제풀이도 안하다가 나름 여유가 생겨서 간단하게 적어보려 한다. 금요일에 학습자료를 활용해서 스프링 시큐리티를 이용한 회원가입, OAuth를 따라치며 배웠고, 그 다음날부터 JWT관련해서 엄청나게 헤맸다. 어제까지 계속 샘플 JWT코드로 내가 원하는대로 작동하게끔 시도했지만 계속 실패해서 그냥 동작하게끔 일단 세팅해놓고 오늘부터 회원 관련한 게시판, 댓글 등의 기능을 다 구현했다. 댓글 엔티티와 게시글 엔티티 사이의 DB 연관관계에서 막히는가 했지만 스프링 어노테이션의 엄청난 힘을 다시 한번 느끼면서 잘 극복했고, 예외처리까지 거의 마무리된 것 같다. 아직 refresh token 검..
1. Spring 코드를 개선하고 재배포할때 계속 8080포트가 이미 사용중이라는 에러가 떠서 git bash에서 제거해준 뒤 다시 배포하는데 성공했다 맨위 id에 해당하는 프로세스 종료했다 ps -ef | grep java kill -9 [process_id] 스프링 MVC의 내부 동작에 대해 좀 더 깊게 알게 되었고, 이는 17일차 TIL에 한꺼번에 작성해놓았다 테스트코드도 연습삼아 짜봤는데, 스프링 데이터 JPA를 사용하면서 단위테스트는 잘 되지 않아서 일단 통합 테스트로 진행해보았다. 서비스 계층의 게시글 등록에 대한 테스트 딱 한개만 진행했고, 단위 테스트로도 할 수 있는지 좀 더 공부해야 할 것 같다 17일차 TIL에 설명했던 것 중 Enum 사용과 ExceptionDto 요소 확장은 오늘 진..
다음날 쓰는 늦은 TIL이다. 이 날은 엄청 여유롭게 공부하다가 늦은 시간 피드백 받고 부랴부랴 다시 공부했던 날이다 ㅎ.. 1. Spring MVC 1. DispatcherServlet ↔ Handlermapping: 요청을 받은 프론트 컨트롤러가 Handlermapping를 통해 어떤 컨트롤러의 어떤 함수를 써야하는지 알게된다 (Handlermapping에 api path와 컨트롤러 함수가 매핑되어있음) 2. DispatcherServlet ↔ Controller: 해당하는 컨트롤러에 클라이언트의 요청(+Model)을 넘겨주어 컨트롤러는 그 요청을 처리하여 Model과 View 데이터를 넘겨준다 3. DispatcherServlet ↔ ViewResolver: 전달받은 Model과 View를 View..
hjkim0502
'til' 태그의 글 목록