OAuth 인증을 중개해주는 매커니즘. 보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 프로토콜이다. 즉, 사용자가 이미 사용하고 있는 서비스로 다른 서비스에 인증을 할 수 있도록 중개해주는것. 이미 사용자 정보를 가지고 있는 웹서비스가 사용자의 인증을 대신해주고, 접근 권한에 대한 토큰을 발급한 후 이를 이용해 서버에서 인증이 가능해지는것이다. 예시로는 소셜 로그인을 들 수 있다.(카카오로 로그인, 네이버로 로그인...) OAuth 작동 매커니즘 OAuth의 주체 Resource Owner 사용자. Resource는 사용자의 이름, 전화번호 등의 정보를 뜻한다. Resource Server & Authorization Server Resource Server : 이미..
study
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEbtcQ%2Fbtr2IwhwpAS%2FzH4o1fn8MuPwfAcrjtkOT1%2Fimg.png)
1. Hashing 가장 많이 쓰이는 암호화 방식 중의 하나. 다른 암호화 방식들은 복호화가 가능하지만, 해싱은 암호화만 가능하다.(단방향 암호화 방식) 해시 함수(Hash Function)를 사용하여 암호화를 진행함. 해시 함수의 특징 항상 같은 길이의 문자열을 리턴 서로 다른 문자열에 동일한 해시 함수를 사용하면 반드시 다른 결과값이 리턴 동일한 문자열에 동일한 해시 함수를 사용하면 항상 같은 결과값이 리턴 해싱의 목적 데이터 자체를 사용하는 것이 아니라 동일한 값의 데이터를 사용하고 있는지의 여부를 확인하는 것. 정확한 값을 알지 못해도 해싱한 값이 일치한다면 정확한 데이터를 입력했다는 것을 알 수 있다. => 민감한 데이터를 다루는 상황에서 데이터 유출의 위험성은 줄이고, 데이터의 유효성은 검증할..
문제 설명 PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 spell과 dic의 원소는 알파벳 소문자로만 이루어져있습니다. 2 ≤ spell의 크기 ≤ 10 spell의 원소의 길이는 1입니다. 1 ≤ dic의 크기 ≤ 10 1 ≤ dic의 원소의 길이 ≤ 10 spell의 원소를 모두 사용해 단어를 만들어야 합니다. spell의 원소를 모두 사용해 만들 수 있는 단어는 dic에 두 개 이상 존재하지 않습니다...
문제 설명 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 sides의 원소는 자연수입니다. sides의 길이는 2입니다. 1 ≤ sides의 원소 ≤ 1,000 입출력 예 sides result [1, 2] 1 [3, 6] 5 [11, 7] 13 입출력 예 설명 입출력 예 #1 두 변이 1, 2 인 경우 삼각형을 완성시키려면 나머지 한 변이 2여야 합니다. 따라서 1을 return합니다. 입출력 예 #2 가장 긴 변이 6인 경우 될 ..
1. Cookie 서버가 웹 브라우저(클라이언트)에 정보를 저장하고 불러올 수 있는 수단. 서버는 클라이언트의 쿠키를 이용해 데이터를 가져올 수 있음. 해당되는 도메인에 쿠키가 존재할 경우, 웹 브라우저는 도메인에게 http 요청시 쿠키를 함께 전달한다. 쿠키를 이용한다 => 서버에서 클라이언트에 쿠키를 전송 / 클라이언트에서 서버로 쿠키를 다시 전송 쿠키의 사용 예시) 장기간 저장해야하는 옵션을 클라이언트에 저장하기 적합. 장바구니, 30일 동안 로그인 상태 유지, 테마, 로그인/로그아웃을 위한 인증정보... 쿠키의 특징 서버가 클라이언트에 특정 데이터를 저장할 수 있음 단 데이터를 저장한 이후 특정 조건이 만족되어야만 서버가 클라이언트에서 데이터를 가져올 수 있음 조건들은 쿠키 옵션으로 작성한다 쿠키..
보호되어 있는 글입니다.
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVgAOj%2Fbtr2wuD6gmd%2FXXoPkkaUnIKgbsaGC4W9uK%2Fimg.jpg)
1. TCP / IP 1) 회선교환 방식 vs 패킷교환 방식 회선교환 방식 통신 회선을 설정하여 데이터를 교환하는 방식 연결하려는 회선이 다른 회선과 연결중인 경우 현재 연결된 회선과의 연결이 끝나야만 연결할 수 있음 (여러개의 회선을 동시에 연결할수 없음) 특정 회선이 끊어질 경우 처음부터 다시 연결해야함 패킷교환 방식 패킷이라는 단위로 데이터를 잘게 나누어 전송하는 방식 특정 회선이 전용선으로 할당되지 않음으로 빠르고 효율적으로 데이터 전송이 가능 현재의 IP 기반 네트워크는 미 국방성에서 1969년 진행했던 아르파넷(ARPANET) 프로젝트에서 시작됨. 당시 냉전시대에서 핵전쟁을 대비하기 위해 추진되었고, 이때 패킷교환 방식으로 네트워크를 구축했다. => 현재의 인터넷 통신 방식의 기반이 됨 2) ..
문제 설명 my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요. 제한사항 연산자는 +, -만 존재합니다. 문자열의 시작과 끝에는 공백이 없습니다. 0으로 시작하는 숫자는 주어지지 않습니다. 잘못된 수식은 주어지지 않습니다. 5 ≤ my_string의 길이 ≤ 100 my_string을 계산한 결과값은 1 이상 100,000 이하입니다. my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다. 계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다. my_string에는 연산자가 적어도 하나 포함되어 있습니다. return type 은 정..
문제 설명 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_str의 길이 ≤ 100 1 ≤ n ≤ my_str의 길이 my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다. 입출력 예 my_str n result "abc1Addfggg4556b" 6 ["abc1Ad", "dfggg4", "556b"] "abcdef123" 3 ["abc", "def", "123"] 입출력 예 설명 입출력 예 #1 "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다. 입출력 예 #2 "abcdef1..
문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ s의 길이 ≤ 200 -1,000