▶ 목차 펼치기
이진수 더하기, 치킨 쿠폰, 로그인 성공, 등수 매기기, 특정 정렬
개발프로젝트 서비스를 이용하려면 로그인 기능이 필요합니다. 하루한냥 서비스의 자체 로그인회원가입 기능을 완성했습니다. 이후의 태스크는 카카오 소셜 로그인을 이루어지는 것입니다. 백엔드 처리가 필요해서 이 부분은 멘토님이 맡아주셨습니다. 나는 카카오 디벨로퍼스 공식 문서와 백엔드에서 만든 API를 참고해 REST API 형식으로 카카오 소셜 로그인을 구현했다. 에 회원가입로그인하고 내 애플리케이션에 들어가 새로운 애플리케이션을 추가합니다. 앱을 추가하면 앱 키가 발급됩니다.
왼쪽의 설정 메뉴에서 카카오 로그인을 클릭하면 카카오 로그인을 활성화할 수 있어요. 하루한냥 프로젝트에서는 이메일 ID와 비밀번호, 닉네임을 사용하기 때문에 카카오 로그인으로 서비스를 시작할 때 닉네임만 필수로 받아오도록 설정했다.
Selenium 라이브러리를 사용하여 WebDriver 띄우기
일단 python에서 selenium 라이브러리를 사용하여 webdriver를 띄워주었습니다. import selenium.webdriver as webdriverfrom selenium.webdriver.chrome.service import Servicefrom webdrivermanager.chrome import ChromeDriverManagerfrom selenium.webdriver.common.by import Bydriver webdriver.ChromeserviceServiceChromeDriverManager.installurl url addressdriver.geturl
제가 실행한 코드는 다음과 같습니다.
문제 설명
머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 idpw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메모를 return하도록 solution 함수를 완성해주세요.
아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다. 로그인이 실패했을 때 아이디가 일치하는 회원이 없습니다.면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없습니다.면 “wrong pw”를 return 합니다.
제한 사항회원들의 아이디는 문자열입니다. 회원들의 아이디는 알파벳 소문자와 숫자로만 이루어져 있습니다. 회원들의 패스워드는 숫자로 구성된 문자열입니다. 회원들의 비밀번호는 같을 수 있지만 아이디는 같을 수 없습니다. idpw의 길이는 2입니다.
번외 자바스크립트 SDK 사용하기
자바스크립트 SDK를 사용할 경우 파일을 참고하면 됩니다. 나는 처음에 이 방안으로 구현했는데 이렇게 처리할 경우 KakaoTalk이라는 한 단계를 더 거쳐야 하기 때문에 좀 더 간편한 REST API 방식으로 교체하게 되었습니다. 교체하기 전까지의 코드를 조금 남겨봅니다.
index.html 파일의 에 아래의 script를 추가해 SDK를 설치합니다. Kakao.init()에 들어갈 자바스크립트 키는 내 애플리케이션의 앱 키에서 가져오면 됩니다.
풀이 설명
sort를 사용해서 풀이하였습니다. 우선, sort는 return 값이 1양수일 경우, 순서를 바꿔주고 1음수일 경우, 현재 순서를 유지합니다. 이를 이용하여 비교할 두 값이 n과 가까울수록 앞에 위치하도록 하고, 만약 두 거리가 같다면, 큰 수를 앞으로 가도록 해주었다. 만약 next prev에서 next가 prev 보다. 크다면 계산 값은 양수가 되기 때문에 두 위치를 바꿔 next가 앞에 오게 됩니다.
쿠키 생성 로직
Cookie idCookie new CookiememberId, String.valueOfloginMember.getId response.addCookieidCookie
로그인에 성공하면 쿠키를 생성하고 HttpServletResponse 에 담는다. 쿠키 이름은 memberId 이고, 값은 회원의 id를담아둔다. 웹브라우저는종료전까지회원의 id를서버에계속보내줄것입니다. 크롬 브라우저를 통하여 HTTP 응답 헤더에 쿠키가 추가된 것을 확인할 수 있어요.
로그인 하지 않은 사용자도 홈에 접근할 수 있으므로 required false 를 사용합니다. 로그인 쿠키( memberId )가 없는 사용자는 과거 home 으로 보낸다. 추가로 로그인 쿠키가 있어도 회원이 없으면 home 으로 보낸다. 로그인 쿠키 memberId 가 있는 사용자는 로그인 사용자 전용 홈 화면인 loginHome 으로 보낸다.
자주 묻는 질문
Selenium 라이브러리를 사용하여 WebDriver
일단 python에서 selenium 라이브러리를 사용하여 webdriver를 띄워주었습니다 더 알고싶으시면 본문을 클릭해주세요.
문제 설명
머쓱이는 프로그래머스에 로그인하려고 합니다 궁금한 사항은 본문을 참고하시기 바랍니다.
문제 설명
자바스크립트 SDK를 사용할 경우 파일을 참고하면 됩니다 궁금한 내용은 본문을 참고하시기 바랍니다.
'생활정보' 카테고리의 다른 글
깻잎장아찌 만드는법 비율이 중요 (0) | 2023.08.01 |
---|---|
의료 보험 적용 기준과 청구방법은 (0) | 2023.08.01 |
마이크로소프트 윈도우 10 11 무료 다운로드 설치 방법 windows 11 (0) | 2023.08.01 |
연말정산 환급금 조회 방법, 얼마를 돌려받을까 with 국세청 홈택스와 손택스 (0) | 2023.08.01 |
서울 소공동 명동 알폰스 무하 전 더 골든 에이지 미디어아트 전시, 주차 정보 (0) | 2023.08.01 |
영업기획팀의 주요과업과 필요역량에 대하여 (0) | 2023.08.01 |
연말정산 부양가족의 신용카드 소득공제 여부 (공제율 최대 80%) (0) | 2023.08.01 |
효율 떨어진 네이버 검색광고 이렇게만 해보세요 ROAS 1,500% 달성합니다 (0) | 2023.08.01 |