전체 글 (32) 썸네일형 리스트형 [리펙토링]인덱스로 쿼리 실행시간 줄이기 내가 하고 있는 프로젝트는 소셜로그인을 진행하고 클라이언트로 Json 을 넘겨주는 과정에서 단순 성공/실패 만의 정보를 넘겨주는 것이 아니라, 굉장히 많은 정보를 넘겨주고 있다.실행 로직은 잠시 설명해보자면,1. 깃허브 소셜로그인을 진행한다.2. 넘겨받은 깃허브 id 로 우리 데이터베이스를 순회하며, 해당 깃허브 아이디를 가진 유저가 있는지 찾는다.3. 있다면 엑세스/리프레시 토큰을 반환하고, 없다면 빈 값으로 응답한다. 데이터베이스를 mySQL 을 사용하고 있는데, 일반적으로 인덱스를 생성하지 않았을 때에는 primary 로 지정해두었던 id 값이 자동으로 인덱스 적용되어 검색할 때 사용하곤 한다. 그치만 마음에 걸렸던 부분은 나는 member_id 로 검색하는 것이 아니라 String 값은 githu.. Spring 서버 HTTPS 로 배포하기 지금까지 배포하고 사용하고 있던 서버는 http 였는데, 소켓 통신을 시작하면서부터 프론트와 쿠키로 정보들을 주고받으려면 https로 변경해야한다고 해서 변경하는 작업을 진행해보겠습니다..! 가비아에서 도메인 이름 사기 먼저, 가비아로 가서 도메인을 구매해줍니다!원하는 도메인 이름을 검색하셔서 원하는 가격의 도메인 을 구매해줍니다. 저는 1900원짜리 도메인을 구매해보았습니다.. 호호 DNS 설정하기 도메인 이름을 구매했다면 DNS 를 설정해보겠습니다.`가비아 홈페이지` -> `My가비아` -> `DNS 관리툴` 로 이동합니다. 그러면 구매한 도메인이 들어있는 것을 확인할 수 있습니다!오른쪽에 있는 `설정`을 누르고, `레코드 수정` 을 눌러줍니다. 값/위치에는 AWS EC2 IP 주소를 넣어주시면 됩니.. WebRTC offer 와 answer 가 뭐지 WebRTC 에 대해서 구현하려고 여러 블로그를 살펴보다가 offer 와 answer 라는 개념이 나오는데.. 너무 헷갈려서 한번 정리를 해보려고 합니다! 먼저 간단하게 다시 말해서 WebRTC 란 ?Web Real - Time Communication 의 약자로, 말 그대로 브라우저 간 실시간 음성, 영상, 데이터 통신을 가능하게 하는 기술입니다. webRTC 의 피어 간 연결 설정 과정을 이해하기 위해서는 "offer" 와 "answer" 에 대한 이해가 필수적입니다. WebRTC 에서 클라이언트가 서로 통신하기 위해서는 세가지 주요 과정을 거치게됩니다.1. 신호 교환(Signal Exchange) : 연결에 필요한 정보를 교환합니다.2. 네트워크 설정(NAT Traversal) : 피어가 서로의 I.. Mediasoup 초기 시작 세팅하기 지금 졸작에서 진행하고 있는 프로젝트에서 화면 공유 기능이 필요해서 WebRTC 를 사용해야했습니다!WebRTC 를 사용하기 위해서 백엔드에서는 미디어 서버라는 것을 구축해야하는데요.저는 미디어 서버들 중에서도 MediaSoup 이라는 것을 사용하기로 했습니다.먼저, WebRTC 가 무엇인지부터 설명하겠습니다. WebRTC 는 뭐야? WebRTC(Web Real-Time Communication)는 브라우저 간에 실시간 통신을 가능하게 하는 오픈 소스 기술입니다.이 기술은 사용자들이 별도의 플러그인이나 소프트웨어 설치 없이 웹 브라우저 또는 모바일 앱에서 직접 음성, 비디오 및 데이터 스트림을 주고받을 수 있게 해줍니다. WebRTC는 주로 화상 통화, 화면 공유, 파일 전송 등의 실시간 통신 기능을 구.. 서버 배포 후 카카오 로그인 먹통현상.. 서버 배포는 성공적으로 마쳐서, 로컬에서는 제대로 돌아가길래 이제 머지 후 테스트를 해볼 때 갑자기 잘 되던 json 반환에 문제가 생기기 시작했따...리다이렉트 주소도 여러번 확인하고, securityConfig 에 주소를 안열어둔건지, 서버가 죽은건지, 도커 이미지가 업데이트가 안되는건지,,, 계속 계속 확인했는데, 모든게 다 정상인데 403 에러가 뜨는 문제가 발생했다... 403 에러면 권한이 없다는건데 그래서 securityConfig 에 문제가 있나 싶어 한참을 들여다봤다. 터미널로 도커 로그를 살펴보니까 CLIENT_ID 에 대한 환경변수 주입이 안되었다고해서, 이 부분도 무한번 수정했다... 그래도 오류에 변화는 없었다..!! (후에 보니까 환경변수 주입 부분은 application.yml.. 소셜로그인에서 레디스(Redis) 적용하기 https://jsilver720.tistory.com/26 스프링으로 깃허브(GitHub) 소셜로그인저는 졸업프로젝트에서 깃허브를 이용해 소셜로그인을 진행하는데요. 오늘은 그 과정에 대해서 살펴보겠습니다.초기 설정 과정먼저, 브라우저 창에 www.github.com/settings 를 입력해줍니다. Gjsilver720.tistory.com제 이전 포스트에서는 깃허브 소셜로그인 하는 방법에 대해서 코드와 함께 말씀드렸는데요.이번에는 찐 마무리를 위해 레디스에 대해서 설명하겠습니다. 로그인을 하고 나면, 보통 JWT 토큰을 발급합니다. access Token, refresh Token 이렇게 보통 두 종류의 토큰을 함께 발급해줍니다. JWT 는 왜 사용할까요??? JWT 토큰은 유저의 신원이나 권한.. 스프링으로 깃허브(GitHub) 소셜로그인 저는 졸업프로젝트에서 깃허브를 이용해 소셜로그인을 진행하는데요. 오늘은 그 과정에 대해서 살펴보겠습니다.초기 설정 과정먼저, 브라우저 창에 www.github.com/settings 를 입력해줍니다. GitHub: Let’s build from hereGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...github.com 그리고 왼쪽에서 OAuth Apps 를 누르고 오른쪽 위에 있는 New OAu.. [백준/2938번/java] - 설탕 배달 문제를 읽고 딱 든 생각은 최소의 갯수를 구해야하니까 5로 먼저 나누어야겠다고 생각했습니다. 그래서 처음으로 그려본 전체적인 코드의 모습은 아래 사진과 같았습니다! 공통으로 계산하는 부분도 있어서 이 부분은 메소드로 빼고 사용해야겠다~ 라고 생각하고 구현했는데..import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int count = 0; int five = N / 5; if(five == 0){ Syste.. 이전 1 2 3 4 다음 목록 더보기