본문 바로가기

분류 전체보기28

스프링으로 배우는 MSA (1) - Spring Cloud Netflix Eureka MSA를 만들 때 사용할 언어는 자바를 사용할 것이다. 프레임워크는 스프링부트를 이용하며, 무에서 유를 만드는 것이 아닌 OSS를 이용하여, 만들 예정이다. 이름에서 익숙한 단어가 있다. 바로 넷플릭스인데, 우리가 흔히 사용하는 OTT인 넷플릭스가 맞다. 이 오픈소스는 넷플릭스에서 개발하였으며, 모든 코드가 공개되어있다. (깃허브에 검색) 그 중 오늘은 유레카에 대해 설명하고 실습하려고한다. 먼저 시작하기 전에 재밌는 사실을 알게 되었다. GPT한테 왜 이름이 유레카냐고 물어봤더니 이런 대답이 왔다. 결론은 애플리케이션을 등록하면 다른 서비스들이 해당 서비스를 "발견"하므로 이름을 이렇게 지은 것으로 추정한다고 하는데, 얼추 맞는것 같다. ㅋㅋㅋㅋ 그럼 이름에서 부터 벌써 이 유레카가 무엇을 하는지 짐작.. 2023. 6. 23.
MSA (MicroServiceArchitecture) 개념 정리 M - Micro S - Service A - Architecture 오늘은 MSA에 대해 개념을 적으려고 합니다. 일단 MSA를 알기 이전에 모놀리식부터 설명하려고 합니다. 모놀리식 아키텍처는 소프트웨어의 모든 구성 요소가 한 프로젝트에 통합되어있는 서비스입니다. 소규모에 적합한 아키텍처입니다. 하지만 어느정도 규모가 커지면 이는 유지보수하는데 어려움이 생기며, 다음과 같은 문제점이 발생합니다. 부분 장애가 전체 서비스의 장애로 확대될 수 있음 전체 시스템 구조 파악이 어려움 서비스 변경이 어렵고, 수정 시 영향도 파악이 힘듦 빌드 시간 및 테스트, 배포 시간 증가 이런 점을 보완 하고자 MSA가 등장 했습니다. MSA는 느슨하게 결합된 서비스들의 모임입니다. 서비스 지향 아키텍처의 일종입니다. 좌측에.. 2023. 6. 22.
[KaKaoLogin RestAPI] oAuth2.0 + SpringBoot - (1) 오늘은 카카오톡을 이용한 SNS로그인을 하려고합니다. 먼저 카카오톡 개발자센터에서 어플리케이션을 등록해주어야합니다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 여기로 가셔서 로그인해주세요 그 다음 내 애플리케이션을 선택 해주세요. 지금 테스트하실 홈페이지의 URL을 적어주시고 저장을 눌러주세요 저는 Localhost_Test로 만들었습니다. 그럼 이 페이지를 마주하게 되시는데요 저희가 사용할 건 RESTAPI 입니다. 그리고 카카오 로그인에 들어가셔서 모두 활성화 해주신다음에 Redire.. 2022. 8. 19.
[java] multipart/form-data를 이용한 파일업로드/다운로드 전체 소스 https://github.com/Darren4641/Semtle_web GitHub - Darren4641/Semtle_web: www.semtle-cuk.site [컴퓨터정보공학부 학회 셈틀쟁이 공식 홈페이지] www.semtle-cuk.site [컴퓨터정보공학부 학회 셈틀쟁이 공식 홈페이지]. Contribute to Darren4641/Semtle_web development by creating an account on GitHub. github.com 안녕하세요 저번 포스팅에이해 이번에는 파일업로드/다운로드를 알아보려고하는데요. 저희 학회는 이제 스터디모임이있는데 스터디장이 스터디관련 파일을 올려주면, 학회원들은 해당 파일을 이용하여 과제 및 참고 자료로 이용할 수 있도록 제작하였습.. 2022. 8. 19.
[MVC Model 2] JSP & Servlet 이용한 학회 홈페이지 제작 프로젝트 기간 저희 홈페이지의 경우 제가 다니는 대학교에서 학회장을 맡고있는데 이 학회에 여러 행사와 책대여 등의 시스템이있는데, 이를 카카오톡 단체채팅방에서 다 이루어지고있기에 불편함을 느꼇습니다. 책 대여를 할때에는 카톡방에 책이름/대여일자/이름 이런식으로 카톡방에 올리기 때문에 매우 불편하며 관리가 힘든 상황이였습니다. 또한 학부 행사일정을 카톡으로 공지하였어도 새로운 공지사항이 올라올때마다 기존 공지가 묻히기 때문에 사람들이 잘 모르는 상황도 생겼었습니다. 이에 불편함을 느껴 22년도에 학회장을 맡고서 임원이 되기 전에 해당 프로젝트를 시작하게 되었습니다. Front 1명 & Back 1명으로 해당 프로젝트를 간단하게 제작하였습니다. MVC 1 Pattern으로 제작하려고했으나, 이 기회에 MVC.. 2022. 8. 19.
[Spring Security] + [JWT] + [RefreshToken] 스프링 시큐리티 JWT 로그인 적용기 오늘은 저번 포스팅에서 했던 Security + JWT로 로그인을 구현했습니다. 이번에는 RefreshToken을 이용하려고 하는데요 이 RefreshToken을 이용하는 이유를 설명하겠습니다. 먼저 저희가 로그인 하면 AccessToken을 발급받게 됩니다. 이 AccessToken은 유효시간이 짧습니다. 저번 코드에서는 30분이었는데 이번 코드에서는 실습을 위해 2분으로 설정했습니다. 이렇게 AccessToken의 유효시간은 짧아서 매 30분마다 로그인을 다시 해야 하는데요 이런 불편함을 해결하고자 RefreshToken을 사용하게 됩니다. 기본적인 로직을 설명드리겠습니다. 1. 사용자가 로그인시 AccessToken, RefreshToken을 발급합니다. 이 두 Token은 Front 측에서 Loc.. 2022. 8. 18.