Spring28 [도착 알리미 SUFY] 6. 일정 시각마다 특정 작업 수행 로직 구현하기 이제 알림 정보를 DB에 저장하는 것까지 완료했다.이제 실시간 지하철 위치 정보를 주기적으로 확인하면서, alarm 테이블에 저장된 칼럼들을 돌며 해당 목적지 역에 접근하는 열차가 있을 때마다 특정 작업(알림 전송)을 실행해주면 된다. 즉 우리와 같은 경우에는 15초 마다 한 번씩 REST API의 URI로 Http 요청을 보내서, 실시간 지하철 정보를 받아온 후 다음 로직을 작성하면 될 것...스프링에서 주기적으로 특정 작업을 하기 위해서는, 해당 함수에 @Scheduled 어노테이션을 붙여주면 된다. 우선 메인 클래스에 @EnableScheduling 어노테이션을 붙여 주자.@SpringBootApplication@EnableSchedulingpublic class SubwayNotifyApplica.. 2024. 2. 16. [도착 알리미 SUFY] 5. 알림 정보를 DB에 등록하기 저번 포스팅에 이어서 이제 지하철을 선택하고, 선택한 지하철과 도착 정보를 DB에 저장하는 로직을 구현할 것이다. 저번 포스팅의 Step 3에 이어서, Step 4에서는 나의 목적지 역을 선택하는 단계이다. 사실 Step 4 역시 Step 2처럼 역을 선택하는 단계이기 때문에, Step 2의 코드를 거의 복사해서 동일하게 써주면 된다. Step 4. 목적지 역을 선택해 주세요. 선택하신 열차가 목적지 전역을 출발하면, 카카오톡으로 알림이 전송됩니다. /////////////////////////////////////////////////////////////// // Step 4 function searchTo(stnName) { const stationContainer = document.getElem.. 2024. 2. 15. [Spring] 내가 보려고 만든 GET 요청과 POST 요청 정리 GET: 단순히 정보 요청. 요청 데이터를 그냥 사용할 수 있는 경우. POST: 정보를 서버에 넘겨 서버 측에서 그 정보를 처리할 때. 요청 데이터를 JSON으로 보내서 서버에서 사용하기 용이하게 Body로 만들어 보냄. 코드를 짜면서 GET이나 POST나 둘 다 데이터를 클라이언트에서 서버로 넘겨서 로직을 작성할 수 있도록 하는 동일한 기능을 하는 것 같아서... 조금 찾아 봤다. GET은 그냥 서버에 정보 요청할 때 쓰고, POST는 클라이언트가 넘긴 정보를 서버에서 처리할 때 사용하는 듯? 2024. 2. 15. [도착 알리미 SUFY] 4. 내가 탑승할 지하철 선택하기 사실 되게 고민이었던 게... 로그인을 완료하고 인덱스 페이지로 이동시킨 후 인덱스 페이지 디자인을 어떻게 해야할 지 굉장히 고민이었다. 내가 디자인 쪽을 잘 아는 것도 아니니... 인덱스를 어떻게 꾸며야 할 지 굉장히 고민이었다. 그런데 "디자이너가 지고 개발자가 이긴 제품은 항상 성능이 좋다"라는 말이 있지 않나?? 예를 들면 동성 클리너 같은 거... 진짜 겉보기에는 뭔 70년대 물티슈같이 생겼는데 막상 써보니까 성능이 되게 좋았음 ㅋㅋ 여튼 그래서 그냥 인덱스 페이지에는 별 거 안 넣었다. 지하철 탑승 버튼이랑 로그아웃 단 두 개... ㅋㅋㅋㅋ 이게 인덱스 화면인데, 로그아웃은 그냥 말 그대로 로그아웃이다. 도착 알리미 설정 버튼을 누르면 다음 단계로 향한다! Step 1에서는 탑승할 지하철 노선.. 2024. 2. 13. [도착 알리미 SUFY] 3. 카카오 로그인 구현 및 jwt토큰 (2) (1)에 이어서, 이번에는 클라이언트에서 받은 토큰을 검증하는 로직을 만들어 보겠다. 사실 이걸 어떻게 구현해야 할 지 되게 고민이 많았는데... 웹페이지를 이동할 때마다 GET요청을 보내서 토큰의 만료 여부를 확인하는 방식으로 짜려고 한다. 훨씬 더 효율적인 방법이 있을 것 같아서 카카오 API 설명을 열심히 둘러봤는데 나는 모르겠더라....ㅜㅜ 일단 토큰들과 만료 시간을 헤더로 받는 GET 컨트롤러를 만들어 주었다. @GetMapping("/tokenVerify") public int tokenVerify(@RequestHeader("Authorization") String accessToken, @RequestHeader("Refresh-Token".. 2024. 2. 6. [도착 알리미 SUFY] 2. 카카오 로그인 구현 및 jwt토큰 (1) SUFY의 기본적인 흐름이 지하철이 종착역에 다다르면 카카오톡으로 알림을 보내는 서비스이기 때문에, 카카오 로그인을 사용하고 굳이 다른 로그인 로직을 구현하지 않기로 했다. 사실 카카오 로그인 자체는 OAuth2 라이브러리를 사용하면 크게 어렵지 않게 구현할 수 있다. 문제는 Jwt토큰을 발급하고 클라이언트에 전달하는 과정이 좀 복잡했었는데... 저번에 페이스북 로그인을 구현하면서 한 번 겪어봤던 문제이기 때문에 이번에는 아마 나름대로 쉽게 구현할 수 있을 듯? 여튼 일단 OAuth2와 Spring Security, JWT를 build.gradle에 추가해 주었다. // Spring Security, JWT implementation 'org.springframework.b.. 2024. 2. 6. 이전 1 2 3 4 5 다음 반응형