TIL
2023.11.14 TIL
오늘 한 것 스프링 강의 듣기 알고리즘 스터디 스프링 강의 오늘은 Http Client인 Rest Template과 JPA 연관관계 종류에 대해 강의를 듣고 배웠다. Rest Template을 통해 외부 API 서버와 통신해 데이터를 가져오고 자신의 서버에서 가공처리하는 과정을 배웠고 JPA의 1:1, 1:N, N:1 N:M 관계에 대해 어떻게 엔티티를 정의하고 연관관계를 맺는지 배웠다. Spring 기본 CRUD, JWT를 이용한 인증/인가처리, 외부 API 통신, JPA 를 배웠으니 이제 숙련과제를 할 때가 됐나보다. 알고리즘 스터디 오늘도 내배캠 기준 LV4 두 문제를 풀고 서로의 풀이를 공유하는 시간을 가졌다. 이번에는 그래도 두 문제 중 한 문제는 풀어서 다행이라는 생각이 들었는데, 서로 공유하..
2023.11.13 TIL
오늘 한 것 스프링 강의 듣기 알고리즘 스터디 스프링 강의 클라이언트에서 요청 데이터를 받을 때, 유효성 검증을 편하게 도와주는 Validatoin 관련해서 강의를 들었다. 기본적으로 제공하는 유효성 검증 어노테이션들과, 커스텀으로 만들어 검증하는 법을 배웠다. 입력값에 대한 검증은 서버에서 할 필요없이 클라이언트에서 하면 되지않나 생각했지만 찾아보니 클라이언트, 서버 이중으로 검증하는게 더 좋다고한다. Validation 관련해서 공부하고 정리하였으니 참고하면 좋을 것 같습니다. https://mocha-coding.tistory.com/30 [Spring] 유효성 검증 - Validation Validation이란? 로직을 처리하기 위해 필요한 데이터 ( 사용자 또는 다른 서버의 request 등 )..
2023.11.10 TIL
오늘 한 것 스프링 강의 듣기 내배캠 특강 듣기 스프링 강의 오늘은 SpringSecurity 주제의 강의를 들었다. SpringSecurity는 어제 들었던 인증/인가에 대해 Spring서버에서 개발하기 쉽게 많은 기능을 제공해주는 프레임워크다. SpringSecurity의 proxy filter로 시큐리티만의 필터모음(Filter Chain)을 실행하게된다. 시큐리티는 기본적으로 세션 인증을 기반으로 동작하므로 jwt 인증을 위해선 필터의 중간에 jwt 인증/인가를 위한 필터를 커스텀해서 세션 인증을 담당하는 필터의 전 순서에 넣어준다. + 시큐리티의 동작원리, 다양한 시큐리티 필터의 역할 강의를 듣기전에 혼자 설정하고 구현할 정도로만 공부했는데, 강의를 들으면서 튜터님의 설명이 좋아 시큐리티가 어떤..
2023.11.09 TIL
오늘 한 것 스프링 강의 듣기 알고리즘 스터디 스프링 강의 오늘은 인증과 인가가 무엇인지와 웹 어플리케이션에서 인증을 처리하는데 어떤 방식이 있는지에 대해 강의를 들었다. 웹 어플리케이션 인증 방식은 세 가지가 있는데, 쿠키 - Client(브라우저)에서 사용자의 인증정보를 가지고있음. 세션 - 서버의 세션저장소 (DB가 될수도있고, 인 메모리 저장소가 될 수 도있다. 구현하기나름) JWT(토큰) - Client(브라우저)에서 사용자 정보, 암호화 정보 등을 조합한 암호화된 토큰을 가지고있음 (쿠키 또는 헤더) 인증 방식이 있다. 각 인증 방식별 처리 흐름과, 장단점등을 블로그로 정리하면서 복습해봐야겠다. 알고리즘 스터디 오늘 배정받은 알고리즘 스터디 팀원들과 앞으로 어떤식으로 스터디를 진행할 지 ..
2023.11.08 TIL
오늘 한 것 스프링 챌린지반 특강 Spring 챌린지반 특강 오늘 스프링 챌린지반 특강은 스프링이 무엇인지 어떤 특징을 가지고 있는지에 대해 배웠습니다. 배운 내용을 정리하여 포스팅 해놓았으니 참고하실분은 참고하시면 좋을 것 같습니다~ https://mocha-coding.tistory.com/33 [Spring] 스프링(Spring)이란? Spring이란? 엔터프라이즈용 Java 애플리케이션을 간편하게 만들게 해주는 도구 스프링이 등장하기 이전에는 비즈니스 로직을 구현하기 위해 기술 자체에 대한 공부를 추가적으로 해야만 했습니 mocha-coding.tistory.com
2023.11.07 TIL
오늘 한 것 개인 프로젝트 개인프로젝트 SSE 방식으로 알림 기능을 구현했는데, 오늘 회의를 통해 앱 푸시와 알림은 다르다는 것을 알게되었다.. 생각해보니 SSE 구독을 위해선 앱을 켜야 되는데, 보통 앱을 안켜도 푸쉬알림이 온다. 앱 푸쉬는 구글의 FCM으로 구현 가능하다고 하니, 내일 일어나서 알아봐야겠다. 결론: 1. 알림 기능 만들어놓은게 무쓸모가 되었음.. 그래도 공부하고 구현이 가능하니 나중에 웹 개발할 때 요긴하게 써먹어야겠다. 2. FCM 구현 가자!
2023.11.06 TIL
오늘 한 것 개인 프로젝트 개인프로젝트 어제에 이어서 구현하던 알림기능을 다 만들었다. 다양한 통신 방식 (폴링, 웹소켓 SSE(Server-Sent-Event) 중 SSE 방식으로 통신하는 것을 채택했고 Spring에서는 seeEmitter API를 통해 편리하게 구현할 수 있게 제공해서 해당 API를 이용하여 구현하였다. Server -> Client 통신 방식에 관련해서는 https://velog.io/@dev_jazziron/Polling-Long-Polling-SSE-WebSocket Polling / Long Polling / SSE / WebSocket 클라이언트가 http request를 서버로 계속 보내서 이벤트 내용을 전달 받는 방식클라이언트가 계속적으로 request를 보내기 때문에..
2023.11.03 TIL
오늘 한 것 Spring 강의 듣기 Spring 개인 과제 강의듣기 Spring 주차가 되면서 Spring 강의를 듣게 되었다. 이미 이해하고 있던 것들도 있지만 어렴풋이 이해했던 것들을 다시 정리할 수 있는 시간이 된 것같다. 개인과제 간단한 익명 게시판을 만드는 과제를 받았다. 어느정도 Spring에 대한 지식은 있지만 테스트 코드 작성에 익숙치 않으므로 이번에는 테스트 주도 개발 방식(TDD)으로 구현을 해보려고한다. 이번에도 과제 구현 과정을 포스팅할 예정이다!