[React, Spring Boot] 카카오 로그인 구현
Spring Boot로 RESTful API를 사용한 OAuth 카카오 로그인을 구현하자. 📌 개발 환경 JDK: 21 Java: 21 Spring Boot: 3.4.4 📌 Kakao Developer https://developers.kakao.com/console/app 새로운 애플리케이션을 추가한다. ‘애플리케이션 추가하기’ 버튼...
Spring Boot로 RESTful API를 사용한 OAuth 카카오 로그인을 구현하자. 📌 개발 환경 JDK: 21 Java: 21 Spring Boot: 3.4.4 📌 Kakao Developer https://developers.kakao.com/console/app 새로운 애플리케이션을 추가한다. ‘애플리케이션 추가하기’ 버튼...
📌 문제 https://www.acmicpc.net/problem/12100 📌 설명 보드의 크기와 이동 횟수가 충분히 작으므로 백트래킹으로 해결할 수 있다. 까다로웠던 부분은 상, 하, 좌, 우로 불록을 이동시키는 것이었다. 처음에는 모든 이동 방향에 대한 움직임을 일일히 작성했는데, 코드가 매우 길어졌다 .. 따라서 블록 움직임에 대한 코드는...
📌 JVM이란? JVM(Java Virtual Machine) 은 자바 애플리케이션을 실행하기 위한 가상 머신으로 자바 바이트코드(.class)를 운영 체제와 하드웨어에 독립적으로 실행할 수 있도록 하는 소프트웨어 계층이다. 즉, JVM이 설치된 OS에서는 별도의 작업 없이 자바로 작성된 프로그램(.java)을 실행할 수 있다. 📌 동작 방식 ...
📌 RESTful API란? REST(Representational State Transfer 는 자원을 이름으로 구분하여 자원의 상태를 주고받는 소프트웨어 아키텍처 스타일이다. REST는 웹에서 다루는 모든 데이터를 자원으로 보며, 각 자원은 고유한 URI로 식별한다. 자원을 주고받을 때, 자원 그 자체가 아니라 JSON, XML과 같은 자원...
📌 개요 Polling, Long Polling, SSE, WebSocket를 사용하여 채팅 기능을 구현하자. 명시된 기술들의 구현 방식에 초점을 맞추어 작성되었다. Polling은 클라이언트가 주기적으로 서버에 요청을 보내고, 서버는 클라이언트의 요청에 대한 응답을 리턴하는 방법이다. Long polling은 클라이언트가 서버에 요청을 보낸 후...
📌 문제 https://www.acmicpc.net/problem/17298 📌 설명 수열의 각 원소에 대하여 오른쪽에 있으면서 현재 원소보다 큰 수 중 가장 왼쪽에 있는 수(오큰수)를 찾는 문제이다. 이중 for문으로 풀 수 있으나 TLE이 발생한다. 더 효율적으로 찾는 방법을 구상해야 하는데, 스택을 사용한다. 📌 코드 #include ...
📌 OAuth 2.0이란? OAuth 2.0 은 사용자가 자신의 리소스에 대한 접근 권한을 third-party 웹 또는 애플리케이션에 부여할 수 있도록 설계된 권한 부여 프레임워크이다. 사용자는 OAuth 2.0을 통해 아이디, 비밀번호와 같은 로그인 정보를 공유하지 않으면서 third-party 웹 또는 애플리케이션이 특정 작업을 수행할 수 ...
📌 문제 https://www.acmicpc.net/problem/1613 📌 설명 주어진 두 수의 전후 관계를 판별하는 문제이다. 대충 문제를 보고 위상정렬이겠거니 하고 풀었지만 WA가 나왔다. 위상정렬 풀이의 반례는 비연결 그래프 상황이다. 1->3, 2->4에서 3, 4의 전후 관계는 판별할 수 없다. 그렇다면 Union-Fin...
📌 문제 https://www.acmicpc.net/problem/11657 📌 설명 음의 가중치를 가지는 간선에서 최단 경로를 구하는 문제이므로 다익스트라는 사용할 수 없으며, 벨만-포드나 플로이드-워셜 알고리즘을 사용해야 한다. 단, 몇 가지 고려해야 하는 점이 있다. 먼저 출발지와 도착지가 같은 버스가 여러 개 존재할 수 있다. 이는 예제...
📌 Bean이란? Bean 은 스프링 프레임워크에서 IoC(Inversion of Control) 컨테이너에 의해 관리되는 객체를 말한다. Spring Boot의 특징 중 하나는IoC(Inversion of Control)이다. IoC는 객체의 생성 및 제어권, 생명주기 관리 등을 개발자가 아닌 Spring Boot Framework에게 맡기...