본문 바로가기

전체 글

(74)
[TIL] 나의 서른 아홉번째 회고록 Today Error 팀 프로젝트 마무리 단계에서 로그인 체크, 권한 설정을 좀 더 편하게 할 수 있는 방법이 없을까?라는 의문이 들었다. 분명 Spring에서 제공하는 도구가 있을 것이야..! 그러던 중 같은 클래스의 동기가 @PreAuthorize 을 말하는 것을 얼핏! 듣게되었다. 어..?뭐지 저건? 싶어서 얼른 검색해서 알아보았다. 역시나 Spring Security에서 Annotation 형태로 Class, Method 레벨 단위로 권한별 접근제어 기능을 제공한다는 것!! 그의 예시로 @Secured, @PostAuthorize, @PreAuthorize 이렇게 세가지의 Annotation을 통해 계정 접근을 편하게 만들어준다고 한다. 해당 Annotation들의 자세한 내용은 아래에서 자세하게..
[TIL] 나의 서른 여덟번째 회고록 Today Error 게시글 작성하고 DB를 확인해보았더니 DB에 저장되는 id값이 1이 아닌 2부터 count 되는 것을 알았다. 음.? 왜그러지? Post.java(Entity)를 확인 해보니 Post의 id값을 GenerationType.Auto로 설정한 것..! IDENTITY랑 Auto랑은 무슨 차이가 있는거지? 싶어서 찾아봤다. GenerationType.Auto GenerationType.Auto는 SEQUENCE 전략으로 굳이 INSERT 쿼리가 DB에 나가지 않아도 id 값을 알 수 있으므로 AUTO 일 땐 INSERT 쿼리가 나가지 않음. GenerationType.IDENTITY 엔티티를 영속화할 때 id 값을 알아야 하므로 즉시 INSERT 쿼리가 발생 됨. 시퀀스 전략과 IDENT..
[TIL] 나의 서른 일곱번째 회고록 Today Error Git error : has no tracked branch 해당 오류를 해결하기 위해서 Choose upstream branch를 선택하고 branch를 master로 하니 오류가 해결 되었다. 이번 프로젝트를 하면서 깃의 흐름을 파악하는 것이 중요하다는 것을 깨달았다. 사실 Git bash를 통해 명령어를 사용하는 것이 익숙하지 않아서 생각지도 못한 error를 자주 만나게 된다. 협업을 위해서 사용하는 도구인 만큼 익숙해지도록 계속해서 사용해봐야겠다. 1일 1개념 ★ Git 기초 명령어 ★ 1. git remote add origin [git repository url 붙여넣기] Repository를 세팅한 프로젝트에 연결해서 다른 Local에서도 사용 할 수 있도록 해주는 명..
[TIL] 나의 서른 여섯번째 회고록 Today Error 1) 의도 : Spring Security 프레임워크를 사용하여 로그인 기능을 구현하였다. 2) 에러 발견 : maxRedirects url 포워딩이 너무 많이 된다는 말같다. 왼쪽의 사진과 같이 member테이블 select가 지속적으로 이루어지고 있는 것을 console로 확인. 무엇이 문제인지 알 수 없어 Class내에 자문을 구할 수 있는 팀원? 단원에게 물어보았고, 해결을 할 수 없어 튜터님께 직접 여쭤보았다. 3) 에러의 원인 : SecurityConfig.java파일에 formLongin().loginPage().permitAll() 해당 부분에서 error발생 시 error 포워딩 처리를 해주지 않아서 그런 것 같다고 말씀해주셨다. 말씀해주신 대로 failureUrl(..
[WIL] WIL 일곱번째 회고록 이번주는 나를 달래는 시간을 많이 가졌다. 이전에 스파르타코딩클럽에 들어오기 전 다른 교육을 통해서 두번의 큰 프로젝트를 진행하면서 조금 지쳐있던 상태였던 것 같다. 직전에 교육을 받고 왔기 때문에 더 잘해야된다는 압박감을 주었던 건지 코딩을 즐기면서 하기보다는 시간에 쫓겨 하고 있다는 생각이 들때가 있어서 자주 지쳤다. 그래서 이번주는 힘들어하는 나 자신에게 주문을 걸었다. 교육과정에서 꼭 잘해야만 하는 것은 아니지 않을까..? 라는 생각을 했다. 해당 교육을 통해서 내가 진짜로 가져가는 몇개만 있어도 성공한 것이 아닐까? 다음주 부터 팀 프로젝트에 들어가는데 그 전에 여태 배운 개념정리만이라도 제대로 알고가야겠다는 다짐을 했다. 잘하면 너무 좋지만 그게 부담이 되기 때문에 나는 내가 맡은 역할이라도 ..
[TIL] 나의 서른 다섯번째 회고록 세번째 개인 프로젝트로 Spring Security를 사용하여 로그인을 구현하려고 한다. 그 전에 개인적으로 Session과 Token방식 이렇게 두가지만 사용해보았는데 확실히 Spring boot는 지원해주는 프레임워크가 다양하고 편하다는 생각이 들었다. 그러나 프레임워크가 제대로 동작하기 위해서 짝지어놓은 기능?들을 처음부터 제대로 알고 있지 않으면 매번 사용 할때마다 어떻게 해야하는지 찾아보면서 기능을 구현할 수 있을 것 같다(처음 접하기엔 복잡하다는 말) 이번에 Spring Security를 배우면서 Filter와 Remember Me방식도 함께 알게되었다. RemeberMe방식은 스프링 시큐리티에서 자동 로그인 기능을 쉽게 구현하는 서비스라고 생각하면 된다. 이번 프로젝트를 진행하면서 프론트단을..
[TIL] 나의 서른 네번째 회고록 오늘은 강민철 튜터님이 TIL을 왜 작성해야하는지에 대해서 강의해주셨다. 당일에 배운 내용을 스스로 정리하는 힘을 길러야 결국 정리한 내용이 진짜 내것이 된다는 것을 안다. TIL을 작성하면서 가장 중요하게 가져가야하는 마인드는 첫번째도 내 생각을 쓰기 두번째도 내 생각을 쓰기 세번째도 내 생각을 쓰기 지금 작성하던 TIL보다 앞으로는 내가 느꼈던 점을 세세하게 써야겠다는 생각이 들었다.
[TIL] 나의 서른 세번째 회고록 - 회원가입/로그인(인증/인가) - 게시판 생성, 수정, 삭제, 조회 - 댓글 생성, 수정, 삭제, 조회 지금까지 개인프로젝트를 구현시킨 기능들이다. 이번 프로젝트를 만들면서 인증/인가(jwt)와 DTO 중요성을 배웠다. 그 중에서도 결합도를 낮추기 위해서 직접 Entity에 접근하지 않기 위해 DTO만들어서 접근하였다. 그러나 Request할때 Response할때 모두 DTO파일을 따로 만들어주려고 하니 프로젝트에 파일이 효율적이기 못하게 늘어나는 것 같다는 생각이 들어서 어떻게 하면 각 기능마다 1개의 DTO로 Request와 Reponse를 사용할 수 있을까를 고민했다. 그렇다면 어떤 방법으로 DTO를 관리해야 할까? DTO를 Inner Static Class로 관리 DTO 패키지 내 클래스 파일들..