전체 글 (187) 썸네일형 리스트형 [Spring] Spring Security + 카카오 OAuth2 로그인 구현 카카오 로그인 동작 구현 시연 영상 카카오 OAuth2 로그인 Setting https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 위 링크는 카카오 로그인 공식문서 카카오 OAuth2 로그인의 흐름 및 카카오 로그인을 구현할 때 필수적으로 지켜야할 규약 등을 볼 수 있다. API Key 받기 https://developers.kakao.com/console/app 카카오계정 accounts.kakao.com 카카오 로그인 후 애플리케이션을.. [Spring] Spring Security + 구글 OAuth2 로그인 + Youtube Data V3 API 활용 구글 OAuth2 로그인 세팅 https://console.cloud.google.com/ Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 위 사이트로 이동 후 프로젝트 생성 만들기 선택 API 및 서비스 선택 메뉴바에서 OAuth 동의 화면 선택 외부 선택 만들기 선택 앱 정보에서 : 앱 이름, 사용자 지원 이메일 승인된 도메인: 만약 배포를 했을 경우 배포된 url을 넣어주면 된다고 함 (localhost:8080 의 경우 안해주어도 된다) 개발자 연락처 정보 기입 후 저장 후 계속 저장 후 계속 이후로 다 저장 후 계속을 누르고 메뉴바에서 사용자 인증 정보로 이동 메뉴 바에서 사용자 인증 정보 선택 사용자 인증 정보 페이지에서 +사용자 인.. [Spring] 화상 채팅 구현하기 (ZEGOCLOUD API 활용 O, WebRTC X, Feat.Thymeleaf) ZEGOCLOUD https://www.zegocloud.com/ Voice & Video Chat API for Real-Time Interaction- ZEGOCLOUD High availability and rapid scalability 99.99% of uptime and the capability to scale out in seconds to handle tens of millions of concurrent stream subscriptions. Rich developer resources Useful code snippets, open-source sample projects, and best practice www.zegocloud.com 해당 사이트에서 화상 채팅, 라이브 스트림 등을.. [Spring] 스프링 스케쥴 작업 적용 방법 (Feat. @EnableScheduling, @Scheduled) @EnableScheduling Springboot의 실행파일에 위 어노테이션을 걸어주어야 @Scheduled 사용이 가능 하다. @EnableScheduling @SpringBootApplication public class PracApplication { public static void main(String[] args) { SpringApplication.run(PracApplication.class, args); } } @Scheduled 위 어노테이션은 스케줄러를 지정해주기 위한 어노테이션으로 지정한 메소드의 스케줄러를 지정 해 줄 수 있다. 그냥 원할때 실행 되게끔 만들 수 있다는 뜻 위 어노테이션을 사용하기 위해서는 메소드의 리턴타입이 없어야 한다. (void) 메소드의 매개변수를 사용 불.. [Spring] Naver OAuth2 로그인 + Spring Security + Naver 검색 API 활용 외부 로그인 (OAuth2)를 프로젝트에 활용해보기 위해서 NAVER OAuth2 로그인을 구현해 보고자 하였다. 프로젝트 내 네이버 로그인 동작 Naver OAuth2 로그인 설정하기 https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers developers.naver.com 위 주소로 이동 => 로그인이 되어있다면 밑의 화면이 뜰 것임 원하는 정보를 선택하면 된다. (본인은 회원이름 + 연락처 이메일 주소 만 선택) 환경 추가를 통해 PC웹을 선택 서비스URL에 http://localhost:8080 를 추가 Callback URL 에는 http://localhost:8080/login/oauth2/code/naver 를 추가 해.. [Spring] OpenAI API를 활용하여 ChatBot만들기 구현한 챗봇 동작 Spring에서 챗봇 만들기 본인은 프로젝트 => 개발자 커뮤니티를 구상, 구현 하던 중 챗봇을 만들어보고싶다는 생각이 들어서 OPENAI API를 사용하여 챗봇을 만들어보고자 하였다. 완성작은 위 동영상 확인 Spring Boot Framework : 3.2.0 JAVA : 17 Lombok 우선 해당 ChatBot은 chatGPT에 요청을 보내면 답변이 오는 방식인데 이것을 토대로 데이터베이스에 저장해놓고 다음에 또 불러올 수 있도록 구현하였음 OPENAI API Key 발급 받기 https://www.baeldung.com/spring-boot-chatgpt-api-openai https://platform.openai.com/docs/api-reference/chat/create.. [자바/기본] String 클래스/ StringBuilder / StringBuffer / StringTokenizer String이란? 문자열이라고 불리는 클래스이다 문자열이란 char형 변수가 이어진 형태 (char[]), 따라서 String은 기본 자료형이 아닌 클래스 이다. String의 특징 불변성 (immutable) && 공유성 : 자바에서 String은 불변 즉, 변하지 않는다. 처음 만들어지는 String의 값은 저장이 되어있고, 그 값에 변경을 줄 때, 새로운 값으로 저장이 되고 그 값을 가르키게 된다 (불변성). 또한, 변경을 준 값이 이미 메모리에 저장되어있을 때, 그 값의 주소값을 가르키게 된다(공유성). public class Main { public static void main(String[] args){ String str1 = "Hey"; // Hey라는 값이 저장 System.out.pr.. [백준 11659] 구간 합 구하기 4(Feat.Python) 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 풀이 위 문제를 보고 본인은 기본적인 방법을 떠올렸음, 파이썬 슬라이싱 문법을 사용하여 입력 받는 i, j 로 하나씩 더해가면 어떨까 생각하였음 => 하지만 위 방법으로 구현했을 시 문제에서 원하는 시간을 초과 # 해당코드는 시간초과가 되는 코드 import sys input = sys.stdin.readline N, K = map(int, input().split()) data = list(map(int, input().split())) ans = [] count = 0 for _ in range(K): count = 0 i, j = map(int, input().split()) for k in range(i.. 이전 1 2 3 4 5 6 7 ··· 24 다음