본문 바로가기

전체 글50

[ERROR] Google API를 통한 Oauth2 로그인 구현 시 403 Forbidden 에러 1. 의문점(에러) 구글에서 제공해주는 API를 이용해 구글 로그인을 구현했지만 403 Forbidden에러가 발생하였다. 403 Forbidden에러란? 400번대 에러는 클라이언트 쪽에서 오류가 났음을 알려주는 HTTP 상태 코드이다. 403 에러는 클라이언트의 요청이 서버에 잘 전달되었지만 서버가 클라이언트의 접근을 막을 때 반환하는 에러이다. 즉, 서버나 서버에 있는 파일에 접근 권한이 없을 때 발생한다. 2. 해결 방법 1. https://console.cloud.google.com/ 에 접속한다. (클라이언트ID와 보안 비밀번호를 발급받은 구글 클라우드 플랫폼) 2. 좌측의 API 및 서비스 - 라이브러리에 들어간다. - 나는 기본으로 고정이 되어있어 바로 보이는데, 만일 해당 메뉴가 보이지 .. 2022. 3. 6.
Servlet과 JSP Servlet과 JSP 더 공부 후 조금 더 자세하게 추가할 예정 간단 정리 역할의 차이일 뿐 기능적인 차이는 없다.(하는 일은 동일) servlet : java코드 안에 html코드 JSP : html코드 안에 java코드 1) Servlet servlet을 발전시킨 것이 spring 구분 servlet spring Annotation @WebServlet @Controller + @RequestMapping Mapping 클래스 단위 메서드 단위, 때문에 하나의 클래스에 여러개의 매핑 가능 상속 HttpServlet상속 상속 안받음 (자바는 단일상속이기 때문에 상속을 안받는 것이 좋다. 이런점이 spring에서 개선이 된 것) 메서드명 Override된 init(), service(), destroy.. 2022. 3. 1.
[프로그래머스 Lv.1 / Java] 없는 숫자 더하기 [문제] 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예 numbersresult [1,2,3,4,6,7,8,0] 14 [5,8,4,0,6,7,9] 6 입출력 예 설명 입출력 예 #1 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다. 입출력 예 #2 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다. [풀이] c.. 2022. 2. 15.
[GIT] git 토큰 만료 되었을 때 재발급 받기. GitBash에서 토큰 변경하기 git을 사용하고 나서 토큰 재발급을 두 번째 경험하게 되었다. 첫 번째 재발급 땐 이게 맞나? 잘못되면 어쩌지 하면서 겁을 잔뜩 먹고 토큰을 재발급받았던 게 생각난다. 이번 두 번째 재발급은 그래도 한 번 해봤다고 구글링 하면서 휙휙 바꿨다. 또 까먹고 다음 재발급 때 구글링을 할 게 뻔하니 기록해두려고 한다! 일단 토큰이 만료되기 전에 github에서 안내 메일이 온다. 나는 3일전과 당일, 두 번의 메일이 왔다. 미리 재발급을 했어도 됐지만 당일까지 모른 척(?)을 하고 결국 만료 다음날 푸쉬가 안되자 재발급을 받았다ㅎㅎ 1. github에서 온 메일을 잘 보면 링크를 하나 준다. 링크를 클릭하면 바로 토큰을 갱신할 수 있게 된다. 2. 비밀번호를 입력하면 아래와 같은 페이지가 뜬다. 난 이미 토큰.. 2022. 2. 15.
스프링 컨트롤러 메서드의 반환타입(String, void, ModelAndView) 컨트롤러 메서드의 반환 타입에는 여러 가지가 올 수 있는데, 오늘은 String, void, ModelAndview를 공부해보자. 1. String º 반환타입이 String 이면 return 값으로는 jsp파일명을 적어준다. º 나머지 경로와 확장자는 써줄 필요가 없다. - why? servlet-context.xml 파일에서 view의 경로를 지정해주는 부분이 있다. - 프로젝트 파일 - src - main - webapp - WEB-INF - spring - appServlet - servlet-context.xml - prefix(접두사)와, suffix(접미사)를 지정해주면 따로 경로와 확장자를 지정해주지 않아도 자동으로 붙게 된다. 자동으로 설정이 되어있음. 원하는 대로 바꿔도 된다. º 이 .. 2022. 2. 14.
[프로그래머스 Lv.1 / Java] 완주하지 못한 선수 [문제] 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 ● 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. ● completion의 길이는 participant의 길이보다 1 작습니다. ● 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. ● 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion r.. 2022. 2. 13.