분류 전체보기
-
10월 17일 화요일 TIL 회고록카테고리 없음 2023. 10. 18. 02:14
개인 사정으로 인해 그동안 작성을 하지 못했다 ㅠㅠ.. 이제라도 다시 열심히 작성해야겠다.. 지금은 구글링을 해서 OAuth2 API를 구현하고 있다. 현재 발생하는 에러.. API를 테스트하려고 스프링을 실행하려고 하면 아래와 같은 오류가 나온다. consider defining a bean of type 'org.springframework.security.oauth2.client.registration.clientregistrationrepository' in your configuration. 구글링을 해서 해결 방법들을 정리해보았다. 1. application.properties 설정 application.properties에 아래 코드를 기입해주면 된다. spring.profiles.inclu..
-
10월 6일 금요일 TIL 회고록카테고리 없음 2023. 10. 7. 02:27
카카오 OAuth 서비스 등록해보기 (1) 어제는 OAuth에 대해서 간단히 알아보았다면 이제 내 개인프로젝트에 적용해보는 시간이 다가왔다! 먼저 카카오 디벨로퍼스 사이트에서 OAuth를 등록해보자! 여기를 클릭하면 카카오 디벨로퍼스 사이트로 들어갈 수 있다. 사이트에 들어갔으면 오른쪽 위에 내 애플리케이션을 클릭한다. 애플리케이션 추가하기 버튼을 누른 후 앱 이름과 사업자명을 입력하고 저장한다. 요약 정보 화면을 보면 앱 키 리스트가 있는 것을 확인할 수 있다. 나는 REST API로 이용할 예정이기 때문에 REST API 키 (client-id)를 복사해둔다. 이 후, 왼쪽 탭의 동의항목으로 이동한다. 동의항목 탭에 들어왔으면 닉네임 부분에서 설정 버튼을 누른다. 동의 항목에서 닉네임을 필수 동의로 ..
-
10월 5일 목요일 TIL 회고록카테고리 없음 2023. 10. 6. 01:45
OAuth(OAuth2.0) 이란 무엇일까? OAuth는 Open Authorization의 줄임말로 보안 위임 액세스(Secure Delegated Access) 개방형 표준(Open Standard) 이다. Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공한다. 현재 OAuth 1.0, OAuth 2.0 두 버전이 존재한다. Open Standard 많은 사람들이 OAuth를 API라고 생각하는데 OAuth는 개방형 표준(Open Standard) 이다. 개방형 표준이라하면 기술 표준이 문서가 공개되어 있으며 사용이 자유로운 것을 뜻하는데 OAuth는 이러한 표준인 것이다. 그래서 누구나 만들 수 있고 활용할 수 있으며 ..
-
10월 4일 수요일 TIL 회고록카테고리 없음 2023. 10. 5. 00:46
SSE를 사용한 실시간 알림 기능 개발 설정 Springboot의 경우 따로 의존성 추가는 필요없다. Spring Framework 4.2부터 SSE 통신을 지원하는 SseEmitter 클래스를 이용해 구현할 계획이다. 구현에 앞서서 요구사항을 말로 풀어봤다. 로그인 된 사용자만 이벤트를 받으면 되므로 로그인 된 사용자만 서버와 연결되도록 한다. (연결 == 구독) 로그인 된 사용자는 loginId, username, 권한 등이 포함된 토큰을 localStorage에 갖는다. 페이지가 로드되었을 때 localStorage에 토큰이 있다면 토큰을 쿼리스트링으로 전달하면서 서버와 연결한다. ex) http://localhost:8080/sub?token= 어떤 게시글에 댓글이 달렸을 때 서버는 해당 게시글의..
-
9월 25일 월요일 TIL 회고록카테고리 없음 2023. 9. 25. 22:17
개인 프로젝트 알림 기능 구현해보기 -1 개인 프로젝트에 알림 기능을 구현해보기 전 이론 정리 댓글이나 좋아요 알림은 유저의 요청 없이도 실시간으로 서버의 변경 사항을 웹 브라우저에 갱신해줘야 하는 서비스이다. 하지만 전통적인 Client-Server 모델의 HTTP 통신에서는 이런 기능을 구현하기가 어렵다. 클라이언트의 요청이 있어야만 서버가 응답을 할 수 있기 때문이다. HTTP 기반으로 해당 문제를 해결하려면 다음과 같은 방식들이 있다. 실시간 통신의 방법 Polling 일정 주기를 가지고 서버의 API를 호출하는 방법이다. 예를 들어, 클라이언트에서 5초마다 한 번씩 알림 목록을 호출한다면, 업데이트 내역이 5초마다 갱신되며 변경 사항을 적용할 수 있다. 이 방식은 기본적인 HTTP 통신을 기반으..
-
9월 21일 목요일 TIL 회고록카테고리 없음 2023. 9. 22. 01:57
백준 2480번 주사위 세개 문제, 입력, 출력, 예제 입력 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int one = sc.nextInt(); int two = sc.nextInt(); int three = sc.nextInt(); int bigInt = 0; if (one > two && one > three) { bigInt = one; } else if (two > one && two > three) { bigInt = two; } else if (three > one && three > two) { bigInt ..
-
9월 20일 수요일 TIL 회고록카테고리 없음 2023. 9. 21. 02:14
백준 2884번 알람 시계 문제, 입력, 출력, 예제 입력 풀이 import java.util.Scanner; public class baekjoonCoding { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int h = sc.nextInt(); int m = sc.nextInt(); int newH = 0; int newM = 0; int alarm = 15; // 60 - 45 == 15 if (m + alarm 1) { newH = h - 1; newM = m + alarm; System.out.println(newH); System.out.println(newM); } else i..
-
9월 20일 화요일 TIL 회고록카테고리 없음 2023. 9. 20. 01:04
웹 스코프 웹 환경에만 동작하는 스코프 스프링이 해당 스코프의 종료 시점까지 관리하며, 종료 메서드도 호출한다. 종류 request : HTTP 요청이 들어오고 나갈때까지 유지되는 스코프로 각각의 요청마다 별도의 빈 인스턴스가 생성 및 관리된다. session : HTTP Session과 동일한 생명주기를 가진다. application : 서블릿 컨텍스트(ServletContext)와 동일한 생명주기를 가지는 스코프이다. websocket : 웹소켓과 동일한 생명주기를 가지는 스코프이다. 네 종류 모두 범위는 다르지만 동작 방식은 비슷하기에 대표적으로 Request 웹 스코프를 가지고 학습하였다. request 스코프 예제 만들기 실제로 예제를 만들어보면서 학습하였다. 만들어볼 웹 스코프 범위의 빈은 로..