다음은 저희 웹 서비스의 시스템 아키텍쳐입니다.EC2 인스턴스 안에 Spring boot 서버와 Flask 서버가 동시에 있습니다. Flask는 AI 용도의 서버로 Dalle3 API와, Konlpy 라이브러리를 이용한 AI 서버라고 보시면 될 것 같습니다.Spring
HTTP는 Stateless(무상태성) 하다!→ 서버는 이전 요청과 현재 요청의 관계가 없다고 판단한다.요청이 들어온 url을 junsu:qwer1234@ 파싱 후 Base64라는 인코더를 이용해서 인코딩을 한 후에 http request를 전달 (이 부분은 클라이언트
JWT 인증 방식으로 로그인/로그아웃을 할 때 Redis를 블랙리스트로 사용을 하였다. Redis의 In-Memory DB를 사용하여 RDBMS보다 더 빠르게 조회가 가능하고, 토큰들의 만료시간을 설정하여 저장할 수 있기 때문이다.세션/쿠키 방식을 사용하지 않은 이유는
이전 게시물에서 Redis를 Master와 Slave로 구성을 했을 때 Master가 죽게되면 read가 가능해지고 다른 작업들은 모두 실행되지 않았다. 그러면 결국 근본적인 문제가 해결되지 않은 것이다.Cluster로 여러대의 Master를 구성시켜 놓으면 처음 Ma
다음은 DiaryController에서 일기를 등록하는 createDiary를 테스트하는 코드를 작성한 것이다.Controller 테스트 예제에서 Service에 MockBean으로 설정을 해놓길레 따라했지만 @Mock으로 해놓으니깐이런 에러가 발생했다.@WebMvcT
DiaryController 다음과 같이 사용자가 일기에 대한 CRUD를 실행하는 Controller 메서드에는 @AuthenticationPrincipal UserDetail user 이 매개 변수로 붙여져 있습니다. Spring Security + JWT를 이용한
다음은 DiaryController에서 사용자가 작성한 일기를 삭제하는 메서드이다.일기를 삭제할 때도 인증된 사용자인지 확인하기 위해 @AuthenticationPrincipal UserDetail user 이 부분이 들어가 있다.@WithCustomMockUser은
CI가 없을 시 : 개발자들은 일명 머지데이라는 날을 통해 모든 분기 소스코드를 병합해야 했다. 굉장히 많은 수작업이 동반되었고 결과적으로 많은 리소스를 낭비하게 됨개발자들이 코드를 병합할 때 개발자의 실수로 에러가 발생하는 코드를 병합하는 과정이 반복이 된다면, 에러
UNITHON은 IT 커뮤니티 구성원들의 즐거운 성장과 교류를 목표로 하는 해커톤이다. 나는 친구가 UNITHON이라는 해커톤을 알려주어 아무런 생각 없이 신청을 해보았다. 사실 아무런 생각 없이 신청을 한 이유는, 지원했을 때 내가 될 것이라는 생각도 크지 않았고 '