Sparta/What I Learned 97

23.1.30

시큐리티 심화 마저 듣기 WebSecurityConfig @Configuration @EnableWebSecurity // 스프링 Security 지원을 가능하게 함 @EnableGlobalMethodSecurity(securedEnabled = true) // @Secured 어노테이션 활성화 public class WebSecurityConfig { private final UserDetailsServiceImpl userDetailsService; @Bean // 비밀번호 암호화 기능 등록 public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Bean public WebSecurityCustomizer we..

23.1.29

기억났다. 내 금요일 TIL이 왜 부실한지,,,,,,, 두통 때문에 오지게 머리가 울려서 계속 약먹고 쪽잠잤다가 일어나서 보고보고 했는데 계속 자다 깨다 자다 깨다하면서 보니까 이게 될 리가 있나,,,ㅎㅎㅎㅎㅎ 알바도 진짜 조퇴하고 싶었는데 내가 조퇴하면 정말 매장에 일할 사람이 없어서 ,,,, 그리고 남은 ㅇ사람들한테 미안해서 억지로 했다,,,, 대신 휴식시간을 좀 많이 가지고,,,,,ㅜㅜㅜㅜ 코로나 후유증인가?? 평생을 두통을 모르고 살았는데 요 근래 들어서 두통이 한 번 오기 시작하면 진짜 머리가 깨질 것처럼 엄청 심하게 오고 약도 안 듣는다ㅠㅠㅠㅠㅠㅠㅠ 우리 다들 아프지 말아요... 아프니까 공부가 안 돼,,,,

23.1.27

알잘딱깔센 프론트 엔드 만들어 보기 prefilght WebSecurityConfig : HTTPMethod .OPTION 을 전부 퍼밋올 해준다! 헤더에 토큰값을 꺼내서 프로필 조회 : 파라미터가 필요 갯유저미에서 포스트맨 가져오고, 강의 내용 중간중간 내가 처음 보는 구간들을 냅다 찍어서 일단 기록하기! 여기에 중간에 엄청 중요한 부분이 있었는데 이건 주말에,,,, 내가 시간이 난다면 다시 보고 정리해보기 (근ㄷㅔ 시간이 날까,,,,,,?? 알바가,,,, 말잇못,,,,,,,) https://velog.io/@allnight5/WIL23-01-250127 우리 조장님 벨로그인데 내가 따로 찾아보면서 공부하면 좋을 내용들이 많아서 일단 링크로 냅다 가져왔다ㅋㅋㅋㅋㅋㅋ 분명 한게 많았는데 금욜날 기록된게 ..

23.1.26

새 프로젝트 돌입 전 이론 수업 유닛 테스트에 대해 이론 수업이 진행됐다. ✅ 단위 테스트 & 통합 테스트 단위 테스트 : 메서드 하나하나 개별적으로 테스트함 통합 테스트 : 어플리케이션이 정상적으로 동작하는지 테스트함. (controller, repository, service ... 전부 실행. 즉 우리가 포스트맨으로 했던 것들!) ✅ F.I.R.S.T 원칙 Fast : 단위 테스트는 빨라야 한다. Independent : 단위 테스트는 각각의 테스트가 연관되지 않고, 고립되어야 한다. 즉 독립적 이어야 한다. Repeatable : 단위테스트는 반복 가능해야한다. 반복적으로 테스트를 시행해도, 결과는 같아야 한다. Self-validating : 자체적으로 테스트 결과가 도출되야한다. (개발자가 p..

23.1.25

프로젝트 발표 다양한 조들이 너무나 각양각색으로 멋있게 프로젝트를 구현하셨었다. 진짜 보면서 코드를 이렇게 땄구나 저렇게 썼구나 많이 배울 수 있었고, 나는 솔직히 다된 밥에 숟가락 얹었을 뿐이라 만족스러웠던 코드를 말하기 좀 애매했지만 난 또 슈.퍼.관.종 이라 내 자랑을 했다. promote 부분 내가 다 해냈다고 ㅋㅋㅋㅋㅋㅋㅋㅋ(물론 아님 나중에 코천들이 손 보긴했음) 그래도 이렇게 해낸 것 자체가 넘 뿌듯했는데 이 마음을 알아주고 튜터님이 피드백 해주실 때 이런 자신감 좋다고 해주셨닼ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ헤헤헤헤헤ㅔㅎㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 사랑해요 튜터님! 암튼 자신감 가지고 코..

23.1.24

연휴 때 나오기로 했는데,,, 본가를 가다보니,,,, 어쩌다 보니 ,,,,,,,큼큼,,,,, 결국 동균쓰 혼자 했다는 슬픈 사연에 무릎을 꿇,,,,,,,,😱😭😥 암튼 연휴 내내 완성된 코드를 보는데 진짜 이 프로젝트를 통해서 내가 많이 성장했구나 라고 느꼈다. 지난 플젝때는 시큐리티 부분은 단 1도 이해 못하고 혼자 어리버리 까면서 이번 플젝도 그냥 버스타겠구나,,, 비행기 타겠구나,,, 라고 생각했었는데 코드도 잘 짜는데 설명도 잘해주는 멋진 조원(동균쓰 짱!🥹)을 만나게 되어 시큐리티 부분 뿐만 아니라 다른 코드들 자체를 다 이해할 수 있게 해주셨다. 그리고 우리의 스파르타 조장님,,,,,, 조장님이 하드하게 굴려준 덕분에 뭐라도 한 줄 더 쓸 수 있었다. 지금 당장 코드를 들여다 보지 않아도 이번에..

23.1.20

프로젝트 5일차 대대적으로 수정이 들어갔다. API 작성하면서 ERD를 충분히 고민했어야했는데 빨리 코드를 작성하고 싶어서 하면서 수정하죠! 라고 했던 내 입을 그 때로 돌아가서 때리고 싶었다. 이거 하나 수정했는데 저거 전부 다 고쳐야하고, 근데 기껏 고쳐놨더니 에러 뜨고, 근데 또 아직 구현할 것은 산더미이고,,,,,,같은 조원인 동균님과 효근님이 진짜 미친듯이 열코하셨다ㅠㅠ 도움이 되고자 했는데 결국 이도저도 아니게 만든거 같았다..... 개미 똥꾸멍만큼이라도 도움이 되셨을까,,,? 하면서 자괴감도 들고 했지만 잘하는 조원들의 코드를 보면서 내가 더 성장했던 밑거름이 될 수 있어서 너무 좋았다. (미안해요 동균쓰,,, 효근쓰,,,,,😥) @PreAuthorize, @Builder 이번 플젝을 통해 ..

23.1.19

프로젝트 4일차 분명 이미지 구현이 쉬울 줄 알았는데 HTML 쓰지 않고, DB 거치지 않고 저장하려고 하니까 완전 맨 땅에 헤딩하는 기분이다. 물론 뛰어난 대원들도 있어 도움을 받긴 했는데 내 걸로 소화하지 못해서 코드를 짜지 못하는 범인의 이 괴로움을 천재들은 알랑가몰라~!!!!! 😭😭😭 암튼 천재만재 대원님의 도움을 받아 이미지 구현을 어찌저찌 도움을 받았는데 문제는 이게 뭐가 뭔지 모르겠어서 그냥 손 놓고 넋도 놓고 다 놓고 있었는데 우리의 머찐 조장님이 구현을 뙇! 해놨다. 근데 진짜 괴로운건,,,, 설명을 들었는데 이게 대체 무슨 말이지,,,??? 그냥 멘붕,,,, 그러던 중 우리 조장님이 구현한 코드를 가져와봤다! 이제 정리하면서 뜯어보고 씹어보고 소화시켜야지😱 [UserService] Mu..

23.1.18

프로젝트 3일차 구현해야 하는 필수 조건들 중 프로필 빼고는 거의 다 구현했다. 코드를 구현하면서 @PreAuthorize("hasRole('BUYER')") 요 놈을 새로 배웠다. 이놈은 우리가 이번에 구현할 홈페이지에서 BUYER 와 SELLER , ADMIN 이렇게 3개의 Enum을 구분해두었는데 특정 url에 저걸 걸어두면 BUYER가 아니면 작성, 수정, 삭제가 안되게 해둔다던지 SELLER가 아니면 목록 조회가 안되게끔 설정해 둘 수 있다. 저 어노테이션을 쓰기 위해서는 WebSecurityConfig 부분에서 @EnableGlobalMethodSecurity(prePostEnabled = true) 이렇게 걸어줘야한다!!! 궁금해서 따로 더 찾아봤는데 권한을 줘서 사전에 차단 시키려면 @Pr..

23.1.17

찐 시작 어제는 노션으로 API 정리하고 ERD 짜고,,,, 어떻게 구현 할 것인지 이야기를 하는데 대부분 썼다면 오늘은 어제 이야기한 대로 파트를 나눠서 맡은 부분을 구현하는데 할애하였다. 나는 User 부분을 맡았는데 기본적인 signup, login 부분은 전부 조장님이 구현을 빠르게 해놨고, 나는 그것을 그저 낼름 가져다가 먹었다 🐱 User에서 이번에 특별하게 구현할 기능은 구매자에서 판매자로 등급 변경을 신청하고, 판매자의 판매품 전체 목록과 판매자 전체 목록을 가져와 페이징 하는 것이다. 등급 변경을 어떻게 구현할까 고민하다가 Dto 이용해서 username 가져오고,,, 인증된 유저의 값을 가져와서 이렇게 저렇게 샤샤샥 요리하는 걸루~~!~! 페이징은 지난 숙련강의때 들은거랑 나머지 공부때..