분류 전체보기

Spring Boot 자체 이메일 전송을 선택한 이유AWS의 관리형 서비스인 SES를 사용할지 아니면 Spring Boot에서 자체적으로 이메일 전송을 할지 고민이 많았었는데, 결과적으로는 자체적으로 이메일 전송을 하는 것으로 결정했다. 그 이유는 SES를 사용하려면 사용자가 최초 한 번은 “보안 인증”이라는 것을 해야 하는데, 이런 추가적인 과정이 사용자들에게 약간 불편할 수 있겠다는 생각이 들었다. 그리고 내 서비스에는 OAuth로 소셜 로그인을 하기 때문에 사용자의 이메일 정보가 잘못될 가능성이 없어 자체 이메일 전송을 선택했다.build.gradle에 종속성 설정메일을 보내기 위해서 spring-boot-starter-mail 종속성을 추가했고, 서버 단에서 간단하게 이메일에 들어갈 html을 파..
TIL - @Scheduled 어노테이션에 대해이메일 기능을 구현하면서 매일 일정한 시간에 메일을 보내줘야 하는 일이 생겼다. 찾아보니까 스프링 부트에 있는 @Scheduled 어노테이션을 사용하면 아주 간단하게 구현할 수 있다고 해서 해당 어노테이션을 사용해 구현해보았는데, 아주 간단하고 편리해서 이 어노테이션에 대해서 좀 더 알아보았다.Step1 - build.gradle 종속성우선 이 기능은 Springboot Starter에 기본적으로 내장되어 있는 기능이다. 다른 라이브러리를 추가할 필요 없이 처음 프로젝트를 시작했을 때 필수적으로 포함되어 있을 Springboot Starter가 build.gradle에 잘 포함되어 있는지만 보면 된다.dependencies { implementation 'o..
· 🤖AIML
멀티 프로세싱 도입 계기지금 다니는 랩실에서 몇 십만개나 되는 파일에서 feature를 추출해야 하는 일이 있었는데, linear하게 그냥 차례대로 처리하다보니 너무 오래 걸렸다. 사실 몇 시간 정도만 걸렸으면 딱히 멀티 프로세싱 생각을 못했을 것 같은데, 1~2일 지켜보면서 파일 처리 속도를 계산해보니 거의 일주일이 걸리는 걸로 결론이 나서 도저히 안되겠다 싶어서 멀티 프로세싱을 도입했다.파일이 몇 십만 개라는 점, 우리 랩실 서버에는 CPU가 64개나 있다는 점을 고려하면 진짜 무조건 멀티 프로세싱을 도입했어야 하는 건데, 도대체 이 생각을 왜 못했지? 싶어서 너무 후회스러웠다. AIML에서 파일 전처리하고 feature 추출하는 상황 및 환경이 멀티 프로세싱을 딱 쓰기 좋은 단계인데, 앞으로는 이런..
TIL - FilterExceptionHandler에 대해서기술적 문제 상황지금 진행하는 졸업 프로젝트에서는 OAuth 로그인과 JWT 토큰을 적극 활용하고 있다. 우리 서비스, NESS에서는 많은 API에서 ChatGPT를 사용하고 있는 만큼, 회원가입/로그인을 하지 않은 사용자가 우리 서비스를 쓰지 못하게 막아야 했다. 따라서 프로젝트의 초기부터 JWT 토큰 로직을 도입했는데 그만큼 JWT 토큰 관련해서 발생하는 에러 처리를 하는 부분이 필수적이었다.참고로, JWT는 "JSON Web Token"의 약자로, 정보를 안전하게 전달하기 위한 표준 방법 중 하나이다. 이 토큰은 JSON 형식으로 데이터를 표현하며 정보를 안전하게 전달하기 위해 서명(signature)이나 클래임(claim) 등이 암호화되어..
푼 문제 2406번: 안정적인 네트워크 첫째 줄에 두 정수 n(1 ≤ n ≤ 1,000), m(0 ≤ m ≤ 10,000)이 주어진다. n은 컴퓨터의 개수이며, m은 연결되어 있는 지사 컴퓨터들의 쌍의 개수이다. 다음 m개의 줄에는 두 정수 x, y가 주어진다. 이는 서 www.acmicpc.net 문제 설명 한 회사는 본사와 지사의 컴퓨터들을 연결하는 네트워크 시설을 보유하고 있다. 각 지사에는 네트워크용 컴퓨터가 한 대씩 있으며, 이들은 본사의 메인 컴퓨터와 직접 연결되어 있다. 몇몇 지사들끼리 연결되어 있는 경우도 있다. 네트워크 시설에서는 두 컴퓨터가 직접 연결되어 있지 않더라도 다른 컴퓨터들을 경유하여 연결될 수 있다. 예를 들어 1, 2번 컴퓨터가 직접 연결되어 있고, 1, 3번 컴퓨터가 직접..
Developer Cathy
'분류 전체보기' 카테고리의 글 목록 (2 Page)